ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЕНИЙ
Цель работы: научиться составлять программы на языке Pascal для программирования разветвлений.
Оборудование: персональный компьютер типа IBM PC с процессором не ниже Intel Pentium I.
Дидактический материал: плакаты, раздаточный материал.
Алгоритм линейной структуры
Алгоритм линейной структуры – алгоритм, в котором все действия выполняются последовательно.
Для реализации этого алгоритма в языке Pascal используются следую- щие операторы:
1. Составной оператор имеет вид:
где begin – начало, end – конец, Op1 – оператор 1-й, OpN – оператор
N-й.
Оператор означает, что надо выполнять оператор Op1, и т.д., … вы- полнять оператор OpN.
2. Оператор присваивания имеет вид:
где P – переменная, V – выражение.
Оператор означает, что переменной P присваивается значение выра- жения V .
3. Операторы ввода имеют вид:
где read – читать, readln – читать до новой строки (read-on-line), P1 –
переменная 1-я, PN – переменная N-я.
Оператор read позволяет последовательно вводить значения пере- менных P1 … PN, а оператор readln, кроме этого, позволяет дополнитель- но перевести курсор на новую строку.
4. Операторы вывода имеют вид:
где write – писать, writeln – писать до новой строки (write-on-line), V1
– выражение 1-е, VN – выражение N-е.
Оператор write позволяет последовательно выводить значения вы- ражений V1 … VN, а оператор writeln, кроме этого, позволяет дополни- тельно перевести курсор на новую строку.
Алгоритм разветвляющейся структуры
Алгоритм разветвляющейся структуры – алгоритм, в котором проис- ходит переход к одной из нескольких ветвей алгоритма или к далеко распо- ложенной части алгоритма.
Для реализации этого алгоритма в языке Pascal используются следую- щие операторы:
1. Оператор безусловного перехода имеет вид:
где goto – идти к, M – метка.
Оператор означает, что надо перейти к строке с меткой M .
Метка – обозначение строки в программе, отделяемое от программного кода двоеточием.
2. Оператор условного перехода имеет вид:
где if – если, then – то, else – иначе, U – условие, Op1 – оператор 1-
й, Op2 – оператор 2-й.
Оператор означает, что если условие U истинное, то выполнять опе- ратор Op1, иначе выполнять оператор Op2.
Условие – логическое выражение, которое может принимать одно из 2-х значений: истина или ложь.
3. Оператор варианта (или оператор выбора) имеет вид:
где case – в случае, of – из, else – иначе, end – конец, S – селектор,
Z1 – значение 1-е, ZN – значение N-е, Op1 – оператор 1-й, OpN – оператор N-й, Op0 – оператор 0-й.
Оператор означает, что в случае, если селектор S принимает значе- ние из списка Z1, то выполнять оператор Op1 … если селектор S принимает значение из списка ZN, то выполнять оператор OpN, иначе выполнять оператор Op0.
Селектор – выражение порядкового типа, которое может принимать од- но из многих значений.
Порядок выполнения
1. Зайти в Borland Pascal (или Pascal ABC).
2. Набрать текст программы для решения задачи № 1 и получить ответ (при
a = 3 и b = 5 ; a = 20 и b = 10 ).
3. Исправить программу так, чтобы она решала задачу без использования слова else.
4. Набрать текст программы для решения задачи № 2 и получить ответ (при
a = -1; a = 0 ; a = 10 ; a = 100 ).
5. Исправить программу так, чтобы она решала задачу без использования оператора case.
Примеры задач
Задача 1. Вычислить величину ìa - b , если a > b с = ï ab . í ïîab , если a £ b |
Program Lab6d; |
Var |
a,b,c:real; |
Begin |
writeln('Введи a,b'); |
read(a,b); |
if a>b |
then c:=(a-b)/(a*b) |
else c:=exp(b*ln(a)); |
writeln('c=',c:10:3); |
End. |
Задача 2. Вычислить величину ì2, a = 0 ï3, 1 £ a £ 10 c = í4, a = -1 или a = 11, ï ïî5, иначе где a и c – целые числа. |
Program Lab6e; |
Var a,c:integer; |
Begin |
read(a); |
case a of |
0: c:=2; |
1..10: c:=3; |
-1,11: c:=4 |
else c:=5 |
end; |
writeln(c); |
End. |
Дополнительное задание
1. Вычислить
ìsin 2 x + ea
y = í
при b £ 2;
îtg 0,57 × lg(b - 2)
при b > 2.
2. Вычислить С0
= 1 Ry
n
при
ì1,5 C ,
y = í
î1,3 C ,
если R £ 1; если R > 1.
ìsin ap ,
если 0 £ a £ 90;
3. Вычислить
za = A + Z , где
ï
A = í
180
a
ì gl 2
ï 12
,
ï0,7 + 0,35 ,
î 90
если a = b;
если 90 < a < 180.
4. Вычислить
M = í g(l - x)
ïî 6(l + a)
- g
6b
(l - x)3,
ì
если a < b,
где
x = l - .
ïbh,
ïp d 2
если j = 1;
5. Вычислить Q = mw
2gz0 , где w = í ,
ï 4
если j = 2;
ïa + b h,
если j = 3 или
j = 4.
ïî 2
ì1 n × cosnm ,
при x > y
6. Вычислить
ï + tg n, при x = y .
ï1 x
× sin n m,
при x < y
7. Найти
u = ì1,
î0,
если если
x Î[0;5]
x Ï[-1;10]
8. Найти
ì y = ax,
í
z = a ,
x
b
при
a = b;
ï y = bx,
î
z = ,
x
при
a ¹ b.
Контрольные вопросы
1. Что такое алгоритм линейной структуры? Перечислите операторы, реали- зующие этот алгоритм.
2. Что такое алгоритм разветвляющейся структуры? Перечислите операторы, реализующие этот алгоритм.
3. Какой вид имеют составной оператор и оператор присваивания, а также что они означают?
4. Какой вид имеют операторы ввода и вывода, а также что они означают?
5. Какой вид имеет оператор безусловного и условного перехода, а также что они означают?
6. Какой вид имеет оператор варианта и что он означает?
7. Что такое метка, условие и селектор? К каким типам данных относятся эти понятия?
8. Напишите, что означает каждая строка в вышеприведённых программах.
9. Напишите программу к одной из задач дополнительного задания.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.