ЗАДАНИЕ. Напишите программу, которая удаляет начальные пробелы и преобразует строчные символы строки в прописные
Напишите программу, которая удаляет начальные пробелы и преобразует строчные символы строки в прописные. unit my_unit; interface function LTrim (st: string): string; {удаляет начальные пробелы} function Upper (st: string): string; {преобразует к верхнему регистру} implementation function LTrim (st: string): string; begin while (pos (‘ ‘, st)=1) and (length (st)> 0) do delete (st, 1, 1); LTrim: =st; end; function Upper (st: string): string; var buf: string; ln: integer; {длина исходной строки} c: string [1]; {обрабатываемый символ} i: integer; begin buf: =’ ‘; ln: =length (st); for i: =1to ln do begin c: =copy (st, i, 1); {выделить символ строки} case c[1] of ‘a’..’п’, ‘a’..’z’: buf: =buf+chr (ord (c[1])-31); ‘р’..’я’: buf: =buf+chr (ord (c[1])-80); else buf: =buf+c; end; end; Upper: =buf; end; end.
Задача для самостоятельного решения. Напишите программу, которая удаляет начальные пробелы и преобразует прописные символы строки в строчные. Лабораторная работа №10. Тема: «Разработка алгоритмов и программ обработки строк. Использование множеств для решения задач». Цель работы: получение навыков составления программ на языке Pascal для задач по обработке информации, представленной в виде строк и символов; программ получение навыков разработки и составления программ с использованием множеств.
Программные средства: система программирования Borland Pascal.
Вопросы для самоподготовки: 1. Понятие строки. Описание строки. 2. Операции со строками. 3. Стандартные процедуры и функции при работе со строками.
ЗАДАНИЕ 1 Подсчитайте количество букв “a” в заданной строковой переменной. Решение: Program Kol; Var b: string; i, k: integer; begin writeln (‘Введите строку’); readln (b); k: =0; for i: =1 to length (k) do if b[i]=’a’ then k: =k+1; writeln (k); readln end. ЗАДАНИЕ 2 Напишите программу, которая проверит, является ли введенное с клавиатуры строка целым числом? Решение: Program vkey; Var st: string [40]; { строка } n: integer; { номер проверяемого символа } begin writeln (‘Введите число и нажмите < Enter> ’); writeln (‘à ’); readln (st); n: =1; while (n< =Length (st)) and ((st[n]> =’0’) and (st[n]< =’9’)) do n: =n+1; write (‘Введенная строка’); if n< Length (st) then write (‘не’); writeln (‘является целым числом’); readln end. ЗАДАНИЕ 3 Напишите программу, которая в введенной с клавиатуре строке преобразует строчные буквы русского алфавита в прописные (учтите, что функция Up Case с символами русского алфавита не работает). Решение: Program simvol; Var st: string[80]; len: integer; i: integer; begin writeln (‘Введите строку текста и нажмите < Enter> ’); readln (st); len: =Length (st); for i: =1 to len do case st[i] of ‘a’..’n’: st[i]: =chr (ord (st[i])-32); ‘p’..’я’: st[i]: =chr (ord (st[i])-80) end; writeln (‘Строка преобразована к верному регистру: ’); writeln (st); readln end. Задание для самостоятельного решения: 1. Составить программу для определения, имеется ли в данном слове, часть равная заданному слову. 2. Дано слово. Получить слово, являющееся записью данного слова справа налево. 3. Написать программу, определения сколько раз в данной строке встречаются гласные буквы.
|