Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
PAGE 4
Практична робота №7.
Обробка помилок.
Мета: навчитися працювати з рядками в об’єктно-орієнтовному програмуванні та застосовувати оператор циклу з параметрами.
Для мов програмування характерні не лише можливості роботи з числовою інформацією, але і з строковою. Для роботи з числами ми використали два основні типи даних : Integer(цілий) і Real(речовий).Например, var a: integer; b: real;
Для роботи з рядками необхідно використати тип даних string(var s: string). Відмінною рисою цього типу даних є те, що ми можемо звернутися як до рядка цілком, так і посимвольно, тобто до кожної букви окремо. Для цього нам необхідно використати оператор циклу.
Цикл - багатократне повторення послідовності дій з деякої умови. Відомі три типи циклічних алгоритмічних структур, але при роботі з рядками використовуватимемо одну з них - цикл з параметром. Він має дві форми запису :
For <параметр>:=<поч. значення> to <кін. значення> do <тіло циклу>;
For <параметр>:=<кін. значення> downto <поч. значення> do <тіло циклу>;
Цикл повторюється доки значення параметра лежить в інтервалі між початковим і кінцевим значеннями параметра. Причому ці вирази(початкового і кінцевого значення) обчислюються тільки один раз на початку виконання циклу. Параметр обов'язково має бути цілого типу.
У першому варіанті при кожному повторенні циклу значення параметра змінюється на наступне значення в цьому типі (для цілого типу - збільшується на 1). Поняття крок. У другому варіанті при кожному повторенні циклу значення параметра змінюється на попереднє значення параметра(для цілого типу - зменшується на одиницю).
При роботі з рядком запишемо оператор циклу таким чином: for i:=1 to length(s) do(звернення до символів від першого до останнього в рядку s). Крім того, використовуються наступні процедури і функції :
1. Функція length(s) визначає довжину рядка. Результат - ціле число 0...255
Приклад: даний рядок, підрахувати кількість цифр в рядку.
var s: string; k: integer;
k:=length(s);
Приклад: s:='рогатка'; Delete(s,5,3) => рога
S1-що, S2-куди, Pos-з якої позиції
Приклад: S1:='свет'; Insert(s1,'o',2) => 'совет'
Приклад: S:='пароход'; t:=copy(s,1,3) => 'пар'
Приклад: Concat ('к','о','т') => 'кот'
Приклад: pos ('cd','abcdf') => 3
Розглянемо алгоритм рішення задачі, в якій треба підрахувати кількість входжень символу " а" в рядок. Використаємо компоненти класів TEdit і TMemo для введення рядка і виведення результату.
Var s: string;
i, k: integer;
Procedure TForm1.Button1Click(Sender: TObject);
Begin
s:=edit1.text; //ввод строки
For i:=1 to length(s) do //идем по строке
If s[i]=’a’ then k:=k+1; {якщо i-ий символ а, тоді збільшуй лічильник k}
Memo1.text:=IntToStr(k) //вивод результату
End;
Нехай форма буде виглядати наступним чином:
Завдання для самостійної роботи: