Вспомните и проверьте свои знания, используя свой конспект с записанными алгоритмами задач:
- Что такое ветвление в алгоритме?
- Как записывается условие в блок-схеме?
- Какие конструкции разветвляющегося алгоритма вы знаете?
Условный оператор.
Конструкция условного оператора на языке Паскаль:
IF < условие > THEN < оператор 1 > ( краткая форма )
IF < условие > THEN < оператор 1 > ELSE < оператор 2 > ( полная форма )
Обрати внимание, что
1. Перед оператором ELSE знак “;” никогда не ставится.
2. Условия могут быть сложные, например x+x*3, 14<2*x+13. Здесь могут даже встречаться арифметические действия.
3. Часто хотят, чтобы выполнялись или не выполнялись несколько операторов.
1. IF x<2 THEN
2. BEGIN
3. S1;
4. S2;
5. S3;
6. S4
7. END;
8. S5;
В этом примере имена с S1 по S5 символически обозначают операторы. Мы видим, что операторы c S1 по S4 объединены с помощью BEGIN и END. Здесь BEGIN и END, как бы, выполняют роль скобок. Если выполняется условие x<2, то выполняются и все эти операторы. Все операторы между BEGIN и END образуют так называемый составной оператор.
4. Составной оператор может сам тоже содержать другой составной оператор, или схематически это будет иметь вид BEGIN...BEGIN...END; ...END; ... или
BEGIN P1; P2; ...PK END, где P1, P2, ... PK - любые операторы.
Как частный случай: BEGIN P END
5. После THEN (или ELSE) может быть снова помещен оператор IF. Ставьте этот следующий оператор всегда между BEGIN и END. Это предотвратит путаницу.
Задача 1.
Вводятся годы рождения двух девочек. Определите старшую из них.
1. Program Year;
2. Var a,b:integer;
3. Begin
4. Writeln(’Введите годы рождения девочек: ’);
5. Readln(a,b);
6. If a=b Then Writeln(’Девочки ровесницы.’)
7. Else If a>b Then Writeln(’Вторая девочка старше.’)
8. Else Writeln(’Первая девочка старше.’);
9. End.
Задача 2.
Музыкальный диск стоит x рублей. У вас имеется a рублей. Хватит ли денег на покупку? В случае недостатка, определите, сколько денег надо добавить.
1. Program Disk;
2. Var x,a:real;
3. Begin
4. Write(’Введите вашу сумму денег: ’);
5. Readln(a);
6. Write(’Сколько стоит диск? ’);
7. Readln(x);
8. If a<x Then Writeln(’Вы не купите диск, Вам не хватает ’,x-a,’ рублей’)
9. Else Writeln(’Покупка состоялась’);
10.End.
Проверьте себя:
Запиши на Паскале алгоритмы, записанные у вас в тетради:
1. Введите количество лет ( с точностью до месяца ) двух мальчиков и определите кто из них младше.
2. Билет в кино стоит B рублей. Сможете ли вы посмотреть фильм, если у вас имеется D рублей.