Алгоритмы и программы разветвлённой структуры.

advertisement
Логические выражения, так же, как и математические состоят из
операций
и
операндов.
Для записи лог. операций используются след. знаки:
< (меньше); > (больше); = (равно); <> (не равно);
>= (больше или равно);
<= (меньше или равно);
Примеры: c<b; a<>b; c>d;
Объектов, над которыми совершаются
логические операции
a<=0; a+2 >= d-c;
Логические выражения могут принимать только 2 значения: «Да» - «Нет» (или «Истина» - «Ложь»).
Для записи сложных лог. выражений в Паскале определены след. логические операции:
AND- логическое «и»; OR - логическое «или»; NOT - логическое «не»;
Задание
Запись на языке Паскаль
x принадлежит интервалу [a,b].
(x>=a) AND (x<=b)
x не принадлежит интервалу [a,b].
(x<a) OR (x>b)
Должны быть истинными
обе составные части
Достаточна истинность
одной из составных частей
Составным оператором называется последовательность произвольных операторов программы, заключенная в операторные скобки
begin … end.
begin
оператор 1;
…
оператор n;
end;
IF логическое выражение THEN оператор1 ELSE оператор2;
Сначала вычисляется значение логического выражения.
Если результат ИСТИНА, то выполняется оператор1, а оператор2 пропускается.
Если результат есть ЛОЖЬ, то выполняется оператор2, а оператор1 пропускается.
Операторы 1 и 2 могут быть простыми и составными.
IF T> = 100 THEN WRITE (‘ПАР’) ELSE WRITE (‘ВОДА’);
Y=
X , если X>=1
| X | , если X< 1
IF X > = 1 THEN Y:=X ELSE Y:=ABS(X);
В компьютер вводится число а – дальность выстрела.
Если оно находится в интервале от 28 до 36,
то напечатать текст ПОПАЛ, иначе – НЕ ПОПАЛ.
If ( а >28) and (а< 36)
then WriteLn (‘ПОПАЛ’)
else WriteLn (‘НЕ ПОПАЛ’);
Начало
Определить
минимальное
значение для двух
различных целых
чисел x, y.
x, y
Min:=x
Var x, y, min : integer;
Begin
Write (‘Ввод x и y = ’);
ReadLn (x,y);
If x<y then min:=x else min:=y;
WriteLn (‘min = ’,min)
End.
x<y
Min
Конец
Min:=y
В прихожей у принцессы – длинная очередь женихов. Принцессе
нравятся только голубоглазые юноши маленького роста.
Написать для принцессы программу, которая печатает
Вы подходите
тем, у кого цвет глаз голубой, и рост меньше 150 см.
Остальным программа говорит
До свидания!.
VAR rost : integer;
{Рост}
tsvet: string;
{Цвет}
BEGIN
WriteLn (‘Каков цвет Ваших глаз? ’);
ReadLn (tsvet);
WriteLn (‘Введите Ваш рост в сантиметрах ’);
ReadLn (rost);
If (tsvet =‘голубой’) AND (rost<150)
then WriteLn (‘Вы подходите!’)
else WriteLn (‘До свидания!’);
END.
ax2 + bx + c = 0
{Программа вычисления корней квадратного уравнения}
VAR A, B, C, D, X1, X2: real;
BEGIN
WriteLn (‘введите коэффициенты A,B,C квадратного ур-я’);
ReadLn (A,B,C);
D:= B*B - 4*A*C;
If D < 0 THEN WriteLn (‘Корней нет’)
ELSE
begin
X1:=(-B+SQRT(D))/(2*A);
X2:=(-B-SQRT(D))/(2*A);
WriteLn (‘X1=’,X1:8:3,’X2=’, X2:8:3)
end
END.
CASE N OF
k1, …, kn: оператор А;
...
m1, …, mn: оператор P;
ELSE оператор S
END;
Оператор выбора CASE .
Переменная N - ключ выбора (селектор).
k1, …, kn … m1, …, mn – списки констант выбора.
В процессе исполнения оператора CASE по очереди
сравнивается значение переменной N с константами
из списков выбора. Если N = k1, то выполняется
оператор А, если N = m2, то выполняется оператор P,
и т.д. Затем исполнение оператора CASE
завершается. Если же совпадающего значения так и
не нашлось, то выполняется оператор S,
стоящий после слова ELSE .
VAR Otmetka: integer;
BEGIN
WriteLn (‘Какую отметку ты получил по физике?’);
ReadLn (Otmetka);
CASE otmetka OF {Перевод: в случае если отметка равна…}
1,2: WriteLn (‘Кошмар!’);
3: WriteLn (‘Неважно!’);
4: WriteLn (‘Неплохо!’);
5: WriteLn (‘Молодец!’);
ELSE WriteLn (‘Таких отметок не бывает!’)
END
{Конец оператора CASE}
END.
Дана функция
x 3
2
x 4
2
Рассчитать ее значение, если подкоренное выражение
неотрицательно и знаменатель не равен 0. В этих случаях
на экране предусмотреть соответствующее сообщение.
Неразборчивой принцессе нравятся все маленькие юноши
независимо от цвета глаз и все голубоглазые независимо от
роста. Написать для принцессы программу, которая печатает
Вы подходите тем, у кого цвет глаз голубой или рост меньше
150 см.
Остальным программа говорит До свидания!.
Проанализировав возраст человека, напечатать кто он:
а) ребенок, если ему меньше 7 лет;
б) школьник, если ему от 7 до 16 лет (включительно);
в) студент, если ему больше 16 , но меньше 22 лет;
г) взрослый человек – от 22 и старше.
.
Написать программу, которая в зависимости от
ответа пользователя на заданный вопрос: «Чем
займемся – сложением или возведением в
квадрат?», выполняла указанное действие.
Написать программу, которая по введенной дате
некоторого месяца выдает сообщение о
соответствующем ей дне недели.
Календарь месяца:
Пн
7
14
21
28
Вт
1
8
15
22
29
Ср
2
9
16
23
30
Чт
3
10
17
24
31
Пт
4
11
18
25
Сб
5
12
19
26
Вс
6
13
20
27
Определить, попадает ли точка A(x,y) в заштрихованные
области:
2
3
2
1
1
3
2 A
1  sin ( A 2 )
F

sin A 2 A  cos 2 ( A)  A3
F CB
F
F
1,5  C 2  10
, при А=25
, при А=10, В=7, С=12.
2,5  10  A  B
A SIN (2 A)  COS 2 A  B C
A2  B 2  C 2
, при А=2, В=1, С=3
( X 2  Y 2 )  10
X 2 Y 2
(X  Y ) 
2
2
2 2
, при X=3, Y=-5
Download