Слайд 1Программирование ветвлений
Презентация 10-15
Слайд 2Разветвляющийся алгоритм
Разветвляющимся называется такой алгоритм, в котором выбирается один из
нескольких возможных вариантов вычислительного процесса. Каждый подобный путь называется ветвью
алгоритма.
Признаком разветвляющегося алгоритма является наличие операций проверки условия.
Различают два вида условий - простые и составные.
Слайд 3Простые условия
Простым условием (отношением) называется выражение, составленное из двух арифметических
выражений или двух текстовых величин (иначе их еще называют операндами),
связанных одним из знаков:
< - меньше, чем...
> - больше, чем...
<= - меньше, чем... или равно
>= - больше, чем... или равно
<> - не равно
= - равно
Слайд 4Выражения, при подстановке в которые некоторых значений переменных, о нем
можно сказать истинно (верно) оно или ложно (неверно) называются булевыми
(логическими) выражениями.
Примечание. Название «булевые» произошло от имени математика Джорджа Буля, разработавшего в XIX веке булевую логику и алгебру логики.
Переменная, которая может принимать одно из двух значений: True (правда) или False (ложь), называется булевой (логической) переменной.
Простые условия
Слайд 5Пример
Например, простыми отношениями являются следующие:
x-y>10;
k
первые два отношения включают в себя переменные, поэтому о верности
этих отношений можно судить только при подстановке некоторых значений.
Слайд 6Составные условия
Логические операции, операции отношения и арифметические операции часто встречаются
в одном выражении. При этом отношения, стоящие слева и справа
от знака логической операции, должны быть заключены в скобки, поскольку логические операции имеют более высокий приоритет.
Слайд 7Составные условия
Принят следующий приоритет операций:
not
and, *, /, div, mod
or, +,
-
операции отношения
Логическую операцию and еще называют логическим умножением, а логическую
операцию or - логическим сложением.
Слайд 8Задание
Вычислите значения выражения:
а) sqr(x)+sqr(y)
= k div 5-1 при k=15;
в) t and (p mod
3=0) при t=true, p=101010;
г) (x*y<>0) and (y>x) при x=2, y=1;
д) (x*y<>0) or (y>x) при x=2, y=1;
е) a or (not b) при a=False, b=True;
Слайд 9Задание
2) Записать на Паскале отношение, истинное при выполнении указанного условия
и ложное в противном случае:
а) целое k делится на 7;
б)
точка (х, у) лежит вне круга радиуса R с центром в точке (1,0);
в) натуральное число N является квадратом натурального числа;
г) 0д) хотя бы одна из логических переменных а и b имеет значение True;
е) обе логические переменные а и b имеют значение True.
Слайд 10Задание
3) Записать на Паскале выражение, истинное при выполнении указанного условия
и ложное в противном случае:
а) х принадлежит отрезку [0, 1];
б)
х лежит вне отрезка [0, 1];
в) х принадлежит отрезку [2, 5] или [-1, 1];
г) х лежит вне отрезков [2, 5] и [-1, 1];
д) каждое из чисел х, у, z положительно;
ж) ни одно из чисел х, у, z не является положительным.
Слайд 11Полная форма конструкции условного оператора
if
then
else
Слайд 12Условный оператор работает
по следующему алгоритму
Сначала вычисляется значение логического выражения,
расположенного за служебным словом IF. Если его результат истина, выполняется
1>, расположенный после слова THEN, а действия после ELSE пропускаются; если результат ложь, то, наоборот, действия после слова THEN пропускаются, а после ELSE выполняется <оператор 2>.
Слайд 13Если в качестве оператора должна выполниться серия операторов, то они
заключаются в операторные скобки begin-end.
Конструкция begin ... end называется
составным оператором.
Составной оператор
Слайд 14Полная форма конструкции условного оператора
if
then
begin
оператор
1;
оператор 2;
...
end
else
begin
оператор 1;
оператор
2;
...
end;
Слайд 15Общие правила употребления точки с запятой
Каждое описание переменной и определение
константы заканчиваются точкой с запятой.
Каждый оператор в теле программы завершается
точкой с запятой, если сразу за ним не следуют зарезервированные слова end, else, until.
После определенных зарезервированных слов, таких, как then, else, var, const, begin, никогда не ставится точка с запятой.
Слайд 16Пример
Вывести на экран большее из двух неравных чисел.
program example1;
var x,
y: integer; {вводимые числа}
begin
writeln('Введите 2 числа '); {вводим два
целых числа через пробел}
readln(x, y);
if x>y
then
writeln (x); {если х больше y, то выводим х}
else
writeln (y); {иначе выводим y}
end.
Слайд 17Сокращенную (неполную) форму записи условного оператора
if
then
Тогда
если выражение, расположенное за служебным словом if в результате дает
истину, выполняются действия после слова then, в противном случае эти действия пропускаются.
Слайд 18Пример
Составить программу, которая, если введенное число отрицательное меняет его на
противоположное.
program chisla;
var x: integer; {вводимое число}
begin
writeln('Введите число '); {вводим
целое число}
readln(x);
if x<0
then
x:=-x;
writeln (x);
end.
Слайд 191. Если целое число М делится нацело на целое число
N, то вывести на экран частное от деления, в противном
случае вывести сообщение М на N нацело не делится.
2. Определить является ли введённое число чётным.
3. Вычислить значение функции: у =
4. Составьте программу, которая уменьшает первое введенное число в пять раз, если оно больше второго введенного числа по абсолютной величине.
Задание
Слайд 20Задание
5. Для данного значения х вычислить значение функции, которая определяется
следующим образом:
у =
6. Запишите условный оператор, в котором
значение переменной с вычисляется по формуле a+b, если а - нечетное и a*b, если а - четное.
Слайд 21Домашнее задание
§ 18, 19, 20, задания из презентации (написать программы
в тетради)