- •Лабораторна робота № 1
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота № 2
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №3
- •Теоретичні відомості.
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №4
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №5
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №6
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №7
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №8
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №9
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №10
- •Теоретичні відомості.
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №11
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №12
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №13
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №14
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №15
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
Лабораторна робота №4
Тема: Розгалужені алгоритми і програми на алгоритмічній мові Pascal .
Мета: Формування умінь створення розгалужених алгоритмів і програм на алгоритмічній мові високого рівня Pascal .
1. Теоретичні відомості
Розгалуження – це алгоритмічна конструкція , де перевіряється умова і залежно від її істинності чи хибності виконується та чи інша серія команд. Команди розгалуження мають такі різновиди:
- умовна команда (повна чи неповна форма);
- команда безумовного переходу;
- команда вибору.
Повна форма умовної команди розгалуження IF має вид:
IF <логічний вираз> THEN <серія команд 1> ELSE <серія команд 2>;
Дія команди.
Якщо значення логічного виразу істинне, то виконується серія команд 1, якщо хибне, то виконується серія команд 2.
Коротка форма умовної команди розгалуження IF має вид:
IF <логічний вираз> THEN <серія команд >;
Дія команди.
Якщо значення логічного виразу істинне, то виконується серія команд в одному рядку програми, якщо хибне, то серія команд ігнорується, і виконується наступний після IF рядок програми.
Команда безумовного переходу змінює послідовність виконання інших команд програми шляхом переходу до виконання команди, що має мітку (позначку):
GOTO <мітка>;
Мітку треба заздалегідь оголосити на початку програми в розділі label .
Команда вибору має вигляд
case <вираз> of
<список значень 1>:<команда 1>;
…
<список значень n>:<команда n>
else <команда n+1>
end;
Структура розгалуженої програми складається з введення аргументу, формування умови розгалуження, розрахунку в кожній вітці значення функції відповідно до умови задачі, виведення значення аргументу і обчислення значення функції.
При складанні програм з розгалуженням необхідно:
- скласти графічний алгоритм;
- ідентифікувати змінні;
- скласти програму, в якій передбачити введення аргумента і виведення значення обчисленої функції в кожній вітці алгоритму;
- розв’язати задачу на ЕОМ в діалоговому режимі.
Задачу слід розв’язати для двох значень аргумента, які вказані в умові задачі, що дає можливість тестувати алгоритм.
2. Хід роботи
2.1. Постановка задачі
Скласти графічний алгоритм і програми для обчислення функції
Значення сталих величин: a=1.326; b=0.967.
Задачу розв’язати для двох значень аргумента: х=1.627 і х=0.291.
Графічний алгоритм наведений на рис. 1 .
2.3. Таблиця ідентифікації змінних
-
Змінна
a
b
x
Ідентифікатор
A
B
X
Y
так ні
так
Рис. 2. Графічний алгоритм
2.4. Програма мовою Pascal та результати обчислень
Program розгалуження;
Const
a=1.326;
b=0.967;
Var
x,y:real;
Begin
write('Введіть аргумент: ');
read(x);
if x>a*b then begin y:=exp(1/3*ln(abs(x-a)))*b;
writeln('x=',x:6:3,' y=',y:6:3)
end else
if (x>=b) and (x<b/a) then begin y:=exp(3*ln(abs(x-a)))/2;
writeln('x=',x:6:3,' y=',y:6:3)
end else write('Система розвязку немає');
end.
Введіть аргумент: 1.627
х=1.627 y=0.648
Введіть аргумент: 0.291
Система розв’язку немає