Програмування розгалужених процесів 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Програмування розгалужених процесів



Мета роботи:

Ознайомитись з лінійними і розгалуженими алгоритмами, методами їх представлення і програмування на мові Паскаль.

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

ОПЕРАТОРИ РОЗГАЛУЖЕННЯ ПРОГРАМИ

Для реалізації розгалуження в програмах використовуються три оператори:

1) умовний оператор IF;

2) оператор вибору CASE;

3) оператор безумовного переходу GOTO.

УМОВНИЙ ОПЕРАТОР

Умовний оператор призначений для вибору однієї із двох можливих дій, в залежності від певної умови. Структура оператора IF

IF<логічний вираз>THEN<оператор1>[ELSE<оператор2>];

Спочатку обчислюється логічний вираз. Якщо значення виразу TRUE, то виконується "оператор 1", вказаний після слова THEN. Якщо результат FALSE, виконується "оператор 2", вказаний після службового слова ELSE.

Частина оператора із словом ELSE може бути відсутня. Тоді управління передається оператору, що стоїть після оператора EF.

Слід відзначити, що після службового слова IF і ELSE може виконуватись тільки один оператор. Якщо користувачеві необхідно виконати кілька операторів, то їх треба взяти в операторні дужки BEGIN і END, тобто зробити ці декілька операторів складеним оператором.

ОПЕРАТОР ВИБОРУ CASE

Часто виникає необхідність розгалуження програм не в двох, а в багатьох напрямках. Звичайно у цьому випадку можна використати умовний оператор EF, але такий засіб може бути дуже громіздким і ненаглядним. Зручніше використати оператор вибору (або варіанту).

Структура оператора CASE:

CASE <вираз> OF

<константа вибору 1>:<оператор 1>;

<константа вибору 2>:<оператор 2>;

<константа вибору n>:<оператор n>

else<оператор>

END;

Оператор CASE складається з <виразу> (селектора) і списку операторів, кожному з яких відповідає конкретне значення селектора. Тип селектора і тип константи вибору повинен співпадати. Селектором може бути вираз або змінна будь-якого простого дискретного типу, тобто INTEGER, CHAR, BOOLEAN, створеного Вами перелічуваного або інтервального типу. Селектор і константи вибору не можуть бутитипу REAL, оскільки дійсне число не представлене в пам'яті машини дискретно.

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

1. Обчислюється <вираз> (селектор).

2. Значення селектора порівнюється з <константамивибору>.Якщо селектор співпав з певною константою вибору,виконується оператор, що стоїть за нею.

3. Якщо селектор не співпав з жодною константою вибору,виконується оператор, що стоїть після слова OTHERWISE.

4. Після виконання вибраного варіанта управління передаєтьсяна службове слово END, тобто кінець оператора CASE.

He треба плутати константу вибору з міткою. Оскільки мітки впрограмі описуються в розділі LABEL, а константи виборуопису не потребують.

Слід пам'ятати, що в одному операторі CASE не може бутидвох однакових констант вибору.

ОПЕРАТОР БЕЗУМОВНОГО ПЕРЕХОДУ GOTO

Оператор безумовного переходу використовується, коли необхідно обійти деякий фрагмент програми. Структура оператора GOTO: ООТО<мітка>

<мітка>:<оператор>;

Мітка - це ціле число без знаку від 1 до 9999. Мітка обов'язково повинна бути описана в розділі опису міток. При використанні оператора GOTO слід пам'ятати такі правила:

1. Оператор GOTO і помічений оператор повинні знаходитись в
одному і тому ж блоці. Не допускається перехід всередину функцій
або процедур.

2. Перехід всередину складених операторів деколи може викликати
непередбачені результати. Тому використання оператора GOTO без
крайньої потреби не рекомендується.

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

1. Чи можна у вказівці розгалуження використовувати складені вказівки?

2. Як працює умовний оператор IFу ПАСКАЛІ?

3. Скільки форм має умовний оператор?

4. Які особливості застосування оператора переходу GOTO?

5. Класифікація операторів мови ПАСКАЛЬ?

6. Що таке складений оператор?

Лабораторне завдання.

1. Ознайомитись з правилами використання операторів розгалуження.

2. Одержати індивідуальне завдання.

3. Скласти блок-схему алгоритму і програму на ПАСКАЛІ дляобчислення заданої функції

4. Виконати обчислення по програмі.

Зміст звіту.

1. Мета роботи.

2. Короткий опис методів зображення алгоритмів обчислювальнихпроцесів та їхпрограмування на алгоритмічній мові ПАСКАЛЬ.

3. Блок-схема алгоритму для обчислення по індивідуальному завданню.

4. Текст програми.

5. Аналіз результатів, висновки.

Завдання 1

1. y=
Вводиться число. Вивести повідомлення: додатне чи від’ємне воно.
2. y=
Вводиться ціле число. Вивести повідомлення: парне чи непарне воно.
3. y=
Вводиться ціле число. Вивести повідомлення: чи є введене число непарним?
4.
Вводиться довільне число. Якщо воно додатне, то подвоїти, а якщо від’ємне, то потроїти.
5. y=
Знайти, чи належить зчитане значення проміжку, межі якого також зчитуються з клавіатури.
6. x1=-0.707; x2=1,5; x3=-3,5
Вводиться два довільних числа aіb. Якщо a>b, то обчислити їх добуток, якщо ж ні,то обчислити їх суму.
7. y=
Визначити, чи всі попередньо зчитані числа є додатними
8. y=
Визначити, чи всі попередньо зчитані числа є додатними, якщо вони додатні то подвоїти їх.
9.
Скласти програму, яка пропонує ввести два довільних числа та їх добуток, а потім повідомляє, чи правильно обчислений добуток, та вивести суму цих чисел.
10. y=
Вводяться числа. Вивести повідомлення: додатні чи від’ємні вони. Якщо числа додатні то знайти їх суму, якщо від’ємні – добуток.
11.
Вводиться число. Вивести повідомлення: додатне чи від’ємне воно.
12. y=
Вводиться ціле число. Вивести повідомлення: парне чи непарне воно.
13.
Перевірити, чи є зчитане значення кратним числу, яке також зчитане з клавіатури
14. y=
Перевірте, чи належить інтервалу число c, де a, b, c – довільні числа.
15. y=
Скласти програму, яка пропонує ввести два довільних числа та їх добуток, а потім повідомляє, чи правильно обчислений добуток.
16.
Вводиться ціле число. Вивести повідомлення: парне чи непарне воно.
17.
Вводиться ціле число. Вивести повідомлення: чи є введене число непарним?
18. y=
Визначити, чи всі попередньо зчитані числа є парними
19.
Вводиться два довільних числа aіb. Якщо a<b, то обчислити їх добуток, якщо ж ні,то обчислити їх різницю.
20. y=
Скласти програму, яка пропонує ввести два довільних числа та їх суму, а потім повідомляє, чи правильно обчислена сума.
21. y=
З трьох введених чисел знайти середнє.
22.
Визначити, чи всі попередньо зчитані числа є додатними.
23.
Вводиться число. Вивести повідомлення: додатне чи від’ємне воно.
24. y=
Вводиться довільне число. Якщо воно додатне, то подвоїти, а якщо від’ємне, то потроїти.
25.
Визначити, чи всі попередньо зчитані числа є парними
26.
Вводиться два довільних числа aіb. Якщо a<b, то обчислити їх різницю, якщо ж ні,то обчислити їх суму.
27.
Вводиться число. Вивести повідомлення: додатне чи від’ємне воно.
28. y=
Вводиться два довільних числа aіb. Якщо a<b, то обчислити їх добуток, якщо ж ні,то обчислити їх різницю.
29. y=
З двох введених чисел знайти менше.
30. y=
Вводяться коефіцієнти квадратного рівняння a, b, c(a≠0). Чи має воно корені?

Завдання2

Скласти програму, використавши оператор вибору. Придумати і задати вхідні дані так, щоб вибір був з 5-7 альтернатив.

1.Ввести номер студента зі списку, вивести його прізвище.

2.Є дані про автомобілі чотирьох моделей. Як вхідне дане ввести номер моделі і отримати характеристики: рік випуску і ціну.

3.Ввести номер поїзда, вивести назву пункту призначення.

4.Ввести першу букву назви країни, вивести назву її столиці.

5.Ввести номер дня тижня, вивести його назву.

6. Ввести номер трамвая, вивести назви його кінцевих зупинок.

7. Ввести першу букву назви країни, вивести континент.

8.Ввести номер місяця, вивести назву пори року.

9. Ввести номер студента зі списку, вивести його ім’я.

10. Ввести першу букву назви міста, вивести довідку про кількість населення.

11. Ввести номер місяця, вивести номер кварталу.

12.Ввести номер автобуса, вивести кількість зупинок його маршруту.

13. Ввести першу букву назви країни, вивести кількість міст цієї країни.

14.Ввести телефонний код міста, вивести назву міста.

15.Ввести номер дня тижня, вивести кількість пар в цей день.

16.Є дані про шість товарів, ввести числовий код одного з них, отримати ціну.

17. Ввести номер місяця, вивести кількість днів у ньому.

18.Ввести числовий код групи, вивести кількість студентів.

19.Ввести число з діапазону 0..5, вивести його написання англійською (чи іншою) мовою.

20. Ввести номер поїзда, вивести довідку про час відправлення.

21.Ввести першу букву назви річки, вивести довідку про її довжину.

22.Ввести числовий код сузір’я, вивести кількість зірок у ньому.

23.Ввести номер телефону одного з друзів, вивести його ім’я.

24.Ввести номер квартири в будинку, вивести кількість мешканців цієї квартири.

25.Ввести число з діапазону 5..9, вивести його значення словом.



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 610; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.165.246 (0.025 с.)