
- •1.Скорочені теоретичні відомості
- •2. Хід роботи:
- •3. Висновок
- •Скорочені теоретичні відомості
- •2. Хід роботи:
- •3. Висновок
- •2. Хід роботи:
- •3. Висновок
- •1. Скорочені теоретичні відомості
- •Хід роботи:
- •3. Висновок
- •1. Скорочені теоретичні відомості
- •Var им’я_масиву : array of тип_елементів;
- •3. Висновок
- •Скорочені теоретичні відомості
- •Хід роботи:
- •3. Висновок
- •Скорочені теоретичні відомості
- •Хід роботи:
- •3. Висновок
- •Скорочені теоретичні відомості
- •Хід роботи:
- •3. Висновок
- •Скорочені теоретичні відомості
- •Хід роботи:
- •3. Висновок
- •Скорочені теоретичні відомості Властивості форми
- •Події форми
- •2. Хід роботи:
- •3. Висновок
- •1. Скорочені теоретичні відомості
- •2. Хід роботи:
- •3. Висновок
- •Скорочені теоретичні відомості
- •Хід роботи:
- •3. Висновок
- •1. Скорочені теоретичні відомості
- •Хід роботи:
- •3. Висновок
- •Скорочені теоретичні відомості Компоненти Label, Panel, StaticText
- •Хід роботи:
- •3. Висновок
- •Скорочені теоретичні відомості
- •Символы маски
- •Хід роботи:
- •3. Висновок
- •1. Скорочені теоретичні відомості
- •Компонент ListBox (стр. Standard палітри компонентів)
- •2. Хід роботи:
- •3. Висновок
- •Властивості компонента Tlmage
- •2.Хід роботи:
- •3. Висновок
- •Скорочені теоретичні відомості
- •If ім'я компонента-діалога.Execute
- •Хід роботи:
- •3. Висновок
- •2.Хід роботи:
- •3. Висновок
- •2.Хід роботи:
- •3. Висновок
Var им’я_масиву : array of тип_елементів;
Приклад,
var a:array of integer;
Перед тим як використовувати масив, необхідно задавати его розмір процедурою
procedure SetLength(var S; NewLength: Integer);
Наприклад, SetLength(A,10); виділяє для масиву А місто в пам’яті під 10 елементів и задає нулеві значення всіх елементів.
Індекси динамічного масиву – завжди цілі числа,які починаються з нуля
Видалити з пам’яті динамічний масив можна, встановивши нулеву довжину. Для нашого приклада SetLength(A,0)
Приклад. Знайти добуток елементів, кратних 5, масиву випадкових цілих чисел. Розмір масиву визначає користувач.
procedure TForm1.Button1Click(Sender: TObject);
var d:array of integer;
p,i,kol:integer;
begin
randomize;
p:=1;
kol:=strtoint(trim(Edit1.Text));
SetLength(d,kol);
for i:=0 to kol-1 do
begin
d[i]:=random(11);
p:=p*d[i]
end;
Edit2.Text:=inttostr(p);
end;
ХІД РОБОТИ:
постанова задачі;
проектування форми;
складання програми;
налагодження програми;
обробка результатів.
3. Висновок
ЛАБОРАТОРНЕ ЗАНЯТТЯ №_6____
Модуль (тема): побудова та налагодження програм обробки рядків
Мета: навчитися складати та налагоджувати програми обробки рядків
Оснащення: персональний комп’ютер, середовище програмування Delphi
План проведення лабораторного заняття:
опитування;
виконання роботи за індивідуальними завданнями.
Питання для вхідного контролю:
Як здійснюється опис рядкового типу та рядкових змінних?
Як виконується об'єднання рядків?
Які стандартні процедури використовуються для обробки рядків?
Які стандартні функції використовуються для обробки рядків?
Домашнє завдання:
Л2, стор. 135 - 143
Інструкція проведення лабораторної роботи
МЕТА РОБОТИ: навчитися складати програми обробки рядків.
НЕОБХІДНЕ ОБЛАДНАННЯ: 1) Комп’ютер IBM PC/AT
Скорочені теоретичні відомості
Рядок - це послідовність символів, обмежена апострофами. Для опису даних рядкового типу використовується зарезервоване слово string.
Синтаксис опису рядкового типу:
Var <1дентифікатор>: string [максимальна довжина рядка];
Приклади визначення рядкових змінних.
Var
Address = string; {довжина рядка 255 символів}
Processor — string [20]; Book: string [80];
Для рядкових даних визначена операція конкатенації (+), яка об'єднує декілька рядків в один результуючий рядок. Довжина j результуючого рядка не повинна перевищувати 255 символів.
Для рядкових даних визначені також операції відношення ] (=, <>, >, <, >=, <=), які виконують порівняння двох рядкових операндів і мають пріоритет більш низький, ніж операція конкатенації, тобто спочатку завжди виконуються всі операції об'єднання і лише потім реалізуються операції відношення. Рядки є рівними, якщо мають однакову довжину та у її межах відповідні символи однакові. Коротший рядок менший більш довгого. Якщо довжини порівнюваних рядків рівні, відбувається по елементне порівняння символів цих рядків з урахуванням лексикографічної упорядкованості значень стандартного символьного типу.
Результат виконання операцій відношення з рядковими операндами має логічний тип і набуває значення True, якщо вираз істинний, і False, якщо вираз хибний.
Для присвоювання рядковій змінній результату рядкового виразу використовується оператор присвоювання. Якщо значення змінної після виконання оператора присвоювання перевищує по довжині максимально допустиму при описі величину, всі зайві символи справа відкидаються.
Допускається змішування в одному виразі операндів рядкового та символьного типу. Якщо символьній змінній присвоюється значення рядкового типу, довжина рядка має бути рівною одиниці.
До окремих символів рядка можна звернутися за номером (індексом) даного символу в рядку. Індекс записується в квадратних дужках зразу за ідентифікатором рядкової змінної або константи. Наприклад, вираз Stl17] забезпечить доступ до сьомого символу значення змінної Stl. Запис Stl [0] надає доступ до нульового байта, який вміщує значення поточної довжини рядка. Для обробки рядкових даних використовуються стандартні процедури і функції.
Стандартні процедури обробки рядків
Процедура Insert
Вставляє підрядок в рядок символів. Синтаксис процедури:
Insert (Stl, St2, Index); де Stl—підрядок, що вставляється;
St2— рядок, що вміщує вставлений підрядок; Index- позиція в рядку St2, куди вставляється підрядок St1 ;
Процедура Delete
Видаляє підрядок з рядка символів. Синтаксис процедури:
Delete (St, Index, Count); де St—рядок, з якого видаляється підрядок;
Index—позиція в рядку St, з якої починається знищуваний підрядок;
Count- кількість символів у знищуваному підрядку.
Ставдартні функції обробки рядків
Функція Length
Обчислює довжину рядка символів. Результат має цілочисельний тип.
Синтаксис функції:
Length (St);
Функція Pos
Виконує пошук підрядка в рядку символів. Результат має цілочисельний тип і дорівнює індексу першого символу розшукуваного підрядка в рядку символів. Синтаксис функції:
Pos(FmdSt,St); де FindSt- розшукуваний підрядок;
St - рядок, у якому виконується пошук підрядка
Функція Copy
Виділяє підрядок в рядку символів.
Синтаксис функції:
Copy(St, Index, Count);
де St— рядок, у якому виконується виділення підрядка; Index— номер символу рядка, з якого починається підрядок; і Count— кількість символів підрядка. Функція Copy повертає виділений у рядку St підрядок, що! вміщує Count символів, починаючи з символу з номером Index.
Функція Concat
Об'єднує рядки символів в один загальний рядок. Синтаксис функції:
Concat (St], St2,..., Stn);
де Stl, St2,..., Stn — рядки, що об'єднуються в один загальний рядок;
Приклад
Розробити програму обробки тексту, яка замінює букву 'м' у текcті на букву ' н'.
В циклі функція Pos виконує пошук символу 'м' і повертає номер позиції знайденого символу. Потім функцією Delete виконується видалення символу у визначеній позиції та вставка символу заміни 'н' у цій же позиції.
Program Replace;
Var
Txt: string; {Рядок для обробки}
і: integer;
Begin
Writeln ('Введіть рядок тексту:');
Readln (Txt);
while Pos ('м', Txt) >0 do begin
і := Pos ('м', Txt);
Delete (Txt, i, 1);
Insert ch', Txt J);
end;
Writeln ('Новий рядок тексту:', Txt);
End.