- •Лабораторна робота №1 «Cтрокові змінні в середовищі програмування Delphi»
- •3 Теоретичний матеріал
- •4 Варіанти завдань для виконання
- •Хід виконання практичної роботи
- •Питання до захисту :
- •Лабораторна робота №2 «Робота з чергою та стеком»
- •3 Теоретичний матеріал
- •4 Вихідні дані роботи
- •Хід виконання практичної роботи
- •Питання до захисту :
- •Лабораторна робота №3 «Розробка програми створення зв'язаного списку»
- •3 Теоретичний матеріал
- •4 Хід виконання практичної роботи
- •Питання до захисту :
- •Лабораторна робота №4
- •3 Теоретичний матеріал
- •4 Вихідні дані роботи
- •Хід виконання практичної роботи
- •Питання до захисту :
- •Лабораторна робота №5 «Побудова рекурсивних функцій»
- •3 Теоретичний матеріал
- •4 Вихідні дані роботи
- •5 Хід виконання практичної роботи
- •Питання до захисту :
- •Лабораторна робота №6 «Бінарне дерево пошуку»
- •3 Теоретичний матеріал
- •4 Вихідні дані роботи
- •5 Хід виконання практичної роботи
- •Питання до захисту :
- •Лабораторна робота №7 «Реалізація алгоритмів обмінних сортувань»
- •3 Теоретичний матеріал
- •4 Вихідні дані роботи
- •5 Хід виконання практичної роботи
- •Питання до захисту :
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ХАРКІВСЬКИЙ КОМП’ЮТЕРНО-ТЕХНОЛОГІЧНИЙ
КОЛЕДЖ НТУ «ХПІ»
Методичні рекомендації
щодо виконання лабораторних робіт
з дисципліни
«Алгоритми та структури даних»
Харків 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.
