Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_asd.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.37 Mб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ХАРКІВСЬКИЙ КОМП’ЮТЕРНО-ТЕХНОЛОГІЧНИЙ

КОЛЕДЖ НТУ «ХПІ»

Методичні рекомендації

щодо виконання лабораторних робіт

з дисципліни

«Алгоритми та структури даних»

Харків 2013

Методичні рекомендації щодо виконання лабораторних робіт з дисципліни «Алгоритми та структури даних» для студентів ХКТК НТУ «ХПІ» спеціальності: 5.05010301 «Розробка програмного забезпечення».

Розроблена викладачем Манєвою Р.І.

Розглянута і затверджена на засіданні циклової комісії компютерних та інформаційних дисциплін

Протокол № від « » 2013 р.

Голова комісії _________________ Р.І.Манєва

Заступник директора

з навчальної роботи _______________ І.І.Дідух

ЗМІСТ

Лабораторна робота №1……………………………………………..…4

Лабораторна робота №2………………………………………….....…14

Лабораторна робота №3…………………………………………....…23

Лабораторна робота №4…………………………………………....…29

Лабораторна робота №5………………………………………….……35

Лабораторна робота №6………………………………………….……42

Лабораторна робота №7……………………………………..…...……57

Лабораторна робота №1 «Cтрокові змінні в середовищі програмування Delphi»

1 Тема роботи: Використання строкових змінних в середовищі програмування Delphi.

2 Мета роботи: Навчитися принципам роботи зі рядковими змінними в середовищі програмування Delphi.

3 Теоретичний матеріал

3.1 Опис змінних рядкового типу

Для обробки текстів у середовищі програмування Delphi використовується тип STRING (рядок). Кількість символів в рядку-змінної задається оголошенням типу STRING [N], де значення N може бути будь константою порядкового типу, що не перевищує 255.

Оголошення типу STRING [N] вказує, що число символів в рядку-змінної може змінюватися в діапазоні від 1 до N. Якщо при описі типу кількість символів у рядку не вказано, то за замовчуванням довжина рядка приймається максимально можливої​​, тобто 255 символів.

Рядок у Delphi трактується як ланцюжок символів. До будь-якому символу в рядку можна звернутися так само, як до елементу символьного масиву типу ARRAY [1 .. N] OF CHAR. Над символами рядки можна здійснювати необхідні дії і, тим самим, змінювати зміст рядка, її довжину і т.д.

Приклад:

program pr1;

var st:string[6];

i:integer;

begin

st:='primer';

for i:=1 to 6 do

write(st[i], ' ');

end.

В результаті роботи даної програми на екран будуть роздруковані наступні значення:

p r i m e r

Таким чином, першим символом st [1] у змінній st є буква p, другим символом st [2] є r, третім - i і т.д.

До рядкам можна застосовувати операцію зчеплення:

program pr2;

var st: string [3];

begin

st: = 'a' 'b' 'c';

writeln (st);

end.

В результаті роботи запропонованої вище програми змінної st буде присвоєно значення 'abc'.

Допускається порівняння строкових змінних. Операції відносин =, <>,>, <,> =, <= виконуються над двома рядками посимвольно, зліва направо, з урахуванням внутрішньої кодування символів.

Приклади порівняння строкових змінних з результатом «Істина»:

'A' <'B'

'Delphi'> 'Turbo'

'2 '> '1'

3.2 Процедури і функції по роботі з рядками

Дії над рядками реалізуються в Delphi за допомогою наступних вбудованих процедур і функцій.

3.2.1 Функція Concat (S1 [, S2, ..., SN]): string - зчіплює (об'єднує) рядки S1, S2, ..., SN. Параметри, зазначені в квадратних дужках, не є обов'язковими.

Приклад використання функції:

program pr3;

var

S: string;

begin

S := Concat('ABC', 'D');

writeln(S); {ABCD}

end.

Тут і далі в фігурних дужках наводиться виведений на екран результат роботи програми.

3.2.2 Функція Copy (S: string; Index, Count: integer): string - копіює з рядка S кількість Count символів, починаючи з символу з номером Index.

Приклад:

program pr4;

var S: string;

begin

S: = 'ABCDEF';

S: = Copy (S, 2, 3);

writeln (S); {BCD}

end.

3.2.3 Функція Length (S: string): byte - визначає довжину рядка S.

Приклад використання функції:

program pr5;

var

S: string;

begin

s: = 'ABCD';

Writeln (Length (S)); {4}

end.

3.2.4 Функція Pos (SubS, S: string): byte - відшукує в рядку S перше входження підрядка SubS і визначає номер позиції, з якої вона починається. Якщо підрядок не знайдено, то видається 0.

Наприклад:

program pr6;

var S: string;

begin

S: = '123.5';

{Заміна всіх прогалин нулями}

while Pos ('', S)> 0 do

S [Pos ('', S)]: = '0 ';

writeln (S); {000123.5}

end.

3.2.5 Функція UpCase (C: char): char - перетворить рядкову латинську букву в прописну. Будь-які інші символи повертаються без перетворення.

Приклад:

program pr7;

var

s: string;

begin

s: = 'red';

s [1]: = UpCase (s [1]);

writeln (s); {Red}

end.

3.2.6 Процедура Delete (var S: string; Index, Count: integer) - видаляє кількість Count символів з рядка S, починаючи з символу з номером Index.

Приклад використання процедури:

program pr8;

var

s: string;

begin

s: = 'Іванов Петро';

Delete (s, 8,4);

writeln (s); {Іванов}

end.

3.2.7 Процедура Insert (SubS: string; var S: string; Index: integer) - вставляє підрядок SubS в рядок S, починаючи з символу з номером Index.

Приклад:

program pr9;

var

S: string;

begin

S: = 'Петро Іванов';

Insert ('Петрович', S, 6);

writeln (S); {Петро Петрович Іванов}

end.

3.2.8 Процедура Str (X [: Width [: Decimals]]; Var S: string) - перетворює число Х в рядок символів S. Параметри Width і Decimals задають формат перетворення (загальну ширину поля і кількість символів у дробовій частині відповідно).

Приклад:

program pr10;

var

S: string [12];

begin

Str (5461, S);

writeln ('Результат:' + S + 'бал'); {Результат: 5461 бал}

end.