Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Instruktsiyi_dlya_studengtiv.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
294.11 Кб
Скачать

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;

ХІД РОБОТИ:

  1. постанова задачі;

  2. проектування форми;

  3. складання програми;

  4. налагодження програми;

  5. обробка результатів.

3. Висновок

ЛАБОРАТОРНЕ ЗАНЯТТЯ №_6____

Модуль (тема): побудова та налагодження програм обробки рядків

Мета: навчитися складати та налагоджувати програми обробки рядків

Оснащення: персональний комп’ютер, середовище програмування Delphi

План проведення лабораторного заняття:

  • опитування;

  • виконання роботи за індивідуальними завданнями.

Питання для вхідного контролю:

  1. Як здійснюється опис рядкового типу та рядкових змінних?

  2. Як виконується об'єднання рядків?

  3. Які стандартні процедури використовуються для обробки рядків?

  4. Які стандартні функції використовуються для обробки рядків?

Домашнє завдання:

Л2, стор. 135 - 143

Інструкція проведення лабораторної роботи

МЕТА РОБОТИ: навчитися складати програми обробки рядків.

НЕОБХІДНЕ ОБЛАДНАННЯ: 1) Комп’ютер IBM PC/AT

  1. Скорочені теоретичні відомості

Рядок - це послідовність символів, обмежена апострофами. Для опису даних рядкового типу використовується зарезервова­не слово 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]