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

5.3. Контрольні запитання з теми

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

  2. Яка максимально можлива довжина рядка символів і чому ?

  3. Як резервується пам'ять під змінну рядкового типу ?

  4. Чим відрізняється символьний тип даних від рядкового ?

  5. У чому відмінність рядка символів від масиву символів?

  6. Чим відрізняється загальна довжина рядка символів від біжучої довжини ?

  7. Які операції допустимі над рядковими даними?

  8. Перерахуйте основні процедури та функції для роботи з рядками символів.

  9. Напишіть приклад використання процедури copy.

  10. Напишіть приклад використання функції pos.

  11. Напишіть приклад використання процедури insert.

  12. Напишіть приклад використання процедури delete.

Лабораторна робота № 6

Тема:

Структуровані типи даних.

Мета:

Навчитись складати програми з використанням операцій над множинами.

6.1. Теоретичні відомості

6.1.1. Операції з даними перелічувального типу

Перелічувальний тип задається програмістом шляхом перелічення за порядком всієї множини його значень. Всі ці значення новоствореного типу подаються їх іменами (ідентифікаторами), які є константами типу. Перелiчувальний тип задається виразом:

Type <Iм'я типу> = (Список констант iдентифiкаторiв);

Перелічувальний тип впорядковує набір своїх констант в порядку їх зростання, тому до цих велечин можна застосувати операції відношення =, <, >, якщо обидва компоненти належать до одного типу. Результатом такого відношення є логічна величина Тrue, якщо відношення справджується, тa False, якщо відношення не справджується.

Для аргументів перелічувального типу можливе застосування стандартних функцій знаходження попереднього та наступного елементів. При цьому вірні співвідношення:

Рred (Vi)=Vi-1, i=2,3,...,N; Succ (Vi)=Vi+1, i=1,2,...,N-1,

де Vi – i-й елемент списку констант перелічувального типу.

Функція Оrd для аргумента перелічувального типу видає число, що є порядковим номером даного аргумента. При цьому порядковий номер першого елемента дорівнює 0, тобто існують співвідношення:

Оrd(V1)=0; Оrd(Vi)=Оrd(Рred(Vi))+1; i=2,3,...,n.

Характерною особливістю даних перелiчувального типу в мові PASCAL є те, що вони не можуть беcпосередньо вводитися з клавiатури в програму та виводитися на дисплей. Для цього використовуються спецiальнi прийоми з використанням оператора CASE, як видно на прикладі реалізації виведення змінної типу Season:

Var Season : (Winter, Spring, Summer, Autumn);

Begin

. . . . . . . . . . . . . . . .

Case Season of

Winter : Writeln( "Winter");

Spring : Writeln("Spring");

Summer : Writeln("Summer");

Autumn : Writeln("Autumn")

end;

Введення даних перелічувального типу з клавіатури комп'ютера здійсню-ється за допомогою спеціальним чином організованих меню.

Приклад:

Дано

Type Course = (Nord,Ost,Suid,West);

Command = (Forwar, Left, Right, Back);

Корабель йшов спочатку курсом C1, а потім курс було змінено згідно наказу Rule. Визначити C2 – новий курс корабля.

Program Ship;

Var H, L: Byte;

Course : (Nord, Ost, Suid, West);

Rule : (Forwar, Left, Right, Back);

Begin

Write('Задайте курс: Північ=1 Схід=2 Південь=3 Захід=4 ');

Readln(L);

Write('Введiть команду: Назад=1 Вліво=2 Вправо=3 Вперед=4 ');

Readln(H);

Case L of

1 : Course:=Nord;

2 : Course:=Ost;

3 : Course:=Suid;

4 : Course:=West

end;

Case H of

1 : Rule:=Back;

2 : Rule:=Left;

3 : Rule:=Right;

4 : Rule:=Forwar

end;

Case Course of

Nord : Case Rule of

Back : Course:=Suid;

Left : Course:=West;

Right : Course:=Ost;

Forwar: Course:=Nord

end;

Ost : Case Rule of

Back : Course:=West;

Left : Course:=Nord;

Right : Course:=Suid;

Forwar: Course:=Ost

end;

Suid : Case Rule of

Back : Course:=Nord;

Left : Course:=Ost;

Right : Course:=West;

Forwar: Course:=Suid

end;

West : Case Rule of

Back : Course:=Ost;

Left : Course:=Suid;

Right : Course:=Nord;

Forwar: Course:=West

end;

end;

Case Course of

Ost : Writeln('Kорабель змiнив курс на Схід');

Suid : Writeln('Kорабель змiнив курс на Південь');

Nord : Writeln('Kорабель змiнив курс на Північ');

West : Writeln('Kорабель змiнив курс на Захід')

end;

END.

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