Упражнение №1 для обработки строк

Упражнение 1. Создайте приложение, предлагающее пользователю ввести строку, определяющее количество символов в ней и выводящее результат, согласуя окончание слова «символов» с числом символов, например, «В тексте 1 символ», «В тексте 32 символа», «В тексте 47 символов».

Создайте форму и разместите на ней компоненты: Editl, Labell, Label2, Buttonl. Задайте значения свойств Labell.Caption – «Введите текст», Label2.Caption – «В тексте», Buttonl.Caption – «Вычислить». Удалите текст Editl из соответствующего компонента. Выровняйте компоненты на форме.

Для вычисления количества символов во введенной строке и вывода результатов создайте процедуру обработчика события щелчка мышью на кнопке Buttonl. Выберите в окне Инспектора объектов объект Buttonl, затем на странице Событий произведите двойной щелчок мышью на пустом поле списка в событии OnClick. После этого в окне Редактора кода будет сгенерирована заготовка процедуры обработчика события procedure TForml.ButtonlClick (Sender: TObject);.

Введите в текст процедуры следующее описание переменных:

var
N : integer; {последняя цифра}
S : string; {изменяемое слово «символ»}

Для ознакомления со справкой Object Pascal о процедурах и функциях обработки строк введите в окне Редактора кода слово Length и нажмите F1. В списке Найденные разделы выберите тему Length function и нажмите кнопку Показать. В окне справки, прочитав информацию о применении функции Length, щелкните мышью по ссылке Example для просмотра примера. При помощи кнопки Назад в панели инструментов окна Delphi Help вернитесь в предыдущее окно. Для просмотра справочной информации о других процедурах и функциях обработки строк щелкните по ссылке See also (Смотри также). Выбирая в списке Найденные разделы нужную процедуру или функцию, щелкайте мышью на кнопке Показать для просмотра справки. После изучения справочной информации закройте окно справки. Введите в окне Редактора кода текст тела процедуры обработки текста:

begin
N:=Length(Editl.Text): {определить число символов}
Label2.Caption: = ‘В тексте ‘;
if N>20 then N:=N mod 10; {выделить последнюю цифру}
case N of {в зависимости от последней цифры}
1 : S;=’ символ’; {изменять окончание слова}
2..4 : S:-‘ символа’; 0.5..20 : S:-‘ символов’;
end;
Label 2.Caption:=Label2.Caption+IntToStr(Length(Editl.Text))+S; {вывести результат}
end;
Сохраните файлы проекта и программного модуля, откомпилируйте и запустите программу на выполнение. Проверьте работу приложения, задавая текст с разным количеством символов и проверяя правильность вывода результатов работы.

Упражнение 2. Создайте приложение, предлагающее пользователю ввести строку текста, а затем заменяющее символы в тексте и подсчитывающее количество замененных символов. Вариант замены символов должен определяться по положению соответствующего флажка CheckBox. Создайте форму, для свойства Caption задайте значение «Подсчет и замена символов». На форме разместите компоненты: Editl, Edit2, Edit3, CheckBoxl, CheckBox2, CheckBox3, Labell, Label2, Label3, Buttonl. Задайте значения свойств Labell.Caption – «Исходный текст на русском языке», Label2.Caption – «Измененный текст», Label3.Caption – «Число замен», CheckBoxl.Caption – «Подсчитать число замен», CheckBox2.Caption – «Заменить «а» на «б»», СпескВохЗ. Caption – «Заменить пробелы на тире», Buttonl.Caption – «Выполнить». Удалите текст Editl, Edit2, Edit3 из соответствующих компонентов. Выровняйте компоненты на форме.

Замену символов в тексте и подсчет количества замененных символов опишите в процедуре обработчика события щелчка мышью на кнопке Buttonl. Для создания процедуры обработчика события выберите в окне Инспектора объектов объект Buttonl, затем на странице События произведите двойной щелчок на пустом поле списка в событии OnClick. После этого в окне Редактора кода в заготовку процедуры обработчика события procedure TForml.ButtonlClick (Sender: TObject); введите следующее описание переменных:

var
var S : string; {строка текста}
N : byte; {количество замен символов}

С учетом вышесказанного тело процедуры может быть записано следующим образом:

N:=0; {обнулить число букв а}
Edit3.Text: = «;
Edit2.Text: = «;
S:=Editl.Text; {присвоить S значение текстовой строки}
if CheckBox2.Checked then {если включен флажок CheckBox2}
while PosCa’, S) > 0 do {если в строке найдена буква а}
begin
N:=N+1; {увеличить счетчик замен на 1}
S[Pos(‘a’. S)] := ‘б’; {заменить букву а буквой 6}
end;
if CheckBox3.Checked then
while PosC ‘, S) > 0 do {если в строке найден пробел}
begin
N:=N+1; {увеличить счетчик замен на 1}
S[PosC ‘, S)] := ‘-‘; {заменить пробел символом -}
End;
if CheckBoxl.Checked then Edit3.Text:=IntToStr(N); {вывод числа замен символов}
Edit2.Text:=S; {вывод измененного текста}
end;
Сохраните файлы проекта и программного модуля, откомпилируйте и запустите программу на выполнение. Проверьте работу приложения, задавая различный текст на русском языке с разным количеством букв «а» и пробелов. Проверьте правильность вывода результатов работы и закройте окно приложения.
Добавить комментарий