Язык программирования Pascal. Ветвление

Содержание

Слайд 2

Операции отношения =, , =, возвращают значение типа boolean (true или

Операции отношения =, <, >, <=, >=, <>

возвращают значение

типа boolean (true или false)
Выражение отношения – два выражения, связанных операцией отношения.
Семантика:
Вычисляются значения выражений;
Проверяется истинность отношения
Например:
a:=1; b:=2;c:=3;
2*a>=b+c
соответствует 2≥5 значение FALSE
Слайд 3

Условный оператор if…then…else полная форма Синтаксис: if then else ; Семантика:

Условный оператор if…then…else полная форма

Синтаксис:
if <логическое выражение>
then <оператор1> else <оператор2>;
Семантика:
1.

Вычисляется значение <логического выражения>
2. Если <логическое выражение> истинно (TRUE), то выполняется оператор1, иначе выполняется оператор2.

Пример:
If2. Дано целое число N.
Если оно положительное, то прибавить к нему 1; если отрицательно вычесть из него 2.
Вывести полученное число.

program if_2;
var n: integer;
begin
write ('введите целое число n=');
readln (n);
if n>0
then n:=n+1
else n:=n-2;
writeln ('n=',n);
end.

Слайд 4

Условный оператор if…then… краткая форма (обход) Синтаксис: if then ; Семантика:

Условный оператор if…then… краткая форма (обход)

Синтаксис:
if <логическое выражение> then <оператор1>;
Семантика:
1. Вычисляется значение

<логического выражения>
2. Если <логическое выражение> оказывается истинным (TRUE), то выполняется оператор1, иначе переход к следующему оператору.

Пример:
If6. Даны два числа. Вывести большее из них

program a_max_b;
var a,b,max : real;
begin
writeln ('введите числа a и b');
readln (a,b);
writeln ('a=',a,' b=',b);
max:=b;
if a>b then max:=a;
writeln ('max=',max);
end.

Слайд 5

Условный оператор Если в ветвях необходимо выполнить несколько операторов то используется

Условный оператор

Если в ветвях необходимо выполнить несколько операторов то используется составной

оператор (блок - begin…end).

Пример
If9. Даны две переменные A, B. Поместить в A меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.
program aib;
var a,b,v:real;
begin
writeln ('введите числа a и b');
readln(a,b);
writeln ('a=',a,' b=',b);
if a>b then begin v:=a; a:=b; b:=v; end;
writeln ('a=',a,' b=',b);
end.

Слайд 6

Решение задач на ветвление Задача 1. Дано целое число. Если оно

Решение задач на ветвление

Задача 1. Дано целое число. Если оно положительное,

то удвоить его; если отрицательное, то вычесть из него 2; если нулевое, то заменить его на 10. Вывести полученное число .
Задача 2. Даны три числа. Найти наименьшее из них.
Задача 3. Даны координаты точки, не лежащие на OX и OY. Определить номер координатной четверти для точки.
Задача 4. Для данного вещественного x найти значение функции f(х)
Задача 5. Для данного вещественного x найти значение функции f(х).
Задача 6. Программа проверки знания таблицы умножения. Использовать функцию Random(х).
Слайд 7

Решение задач на ветвление Задача 1. Дано целое число. Если оно

Решение задач на ветвление

Задача 1. Дано целое число. Если оно положительное,

то удвоить его; если отрицательное, то вычесть из него 2; если нулевое, то заменить его на 10. Вывести полученное число .

program if_2;
var
n: integer;
begin
write('введите целое число n=');
readln(n);
if n>0
then n:=2*n
else
begin
if n=0
then n:= n+10
else n:=n-2;
end;
writeln ('n=',n);
end.

Слайд 8

Решение задач на ветвление Задача 2. Даны три числа. Найти наименьшее

Решение задач на ветвление

Задача 2. Даны три числа.
Найти наименьшее из

них.

program if_2;
var x,y,z,min :real;
begin
writeln ('введите три числа x y z');
readln(x,y,z);
writeln ('x=',x,' y=',y,' z=',z);
min:=x;
if min>y then min:=y;
if min>z then min:=z;
writeln ('min=',min);
end.

Слайд 9

Решение задач на ветвление Задача 3. Даны координаты точки, не лежащие

Решение задач на ветвление

Задача 3. Даны координаты точки, не лежащие на

OX и OY. Определить номер координатной четверти для точки.

program XOY;
var x,y :real;
n: integer;
begin
writeln ('введите координаты точки x y');
readln(x,y);
writeln ('x=',x,' y=',y);
if x>0 then begin
if y>0 then n:=1
else n:=4;
end
else begin
if y>0 then n:=2
else n:=3;
end;
writeln ('четверть n=',n);
end.

Слайд 10

Решение задач на ветвление Задача 4. Для данного вещественного x найти

Решение задач на ветвление

Задача 4. Для данного вещественного x найти значение

функции f(х)

program f_sin ;
var
x,f: real;
begin
write('введите x=');
readln(x);
if x>0
then f:=2*sin(x)
else f:=6-x;
writeln ('f(',x,')=',f);
end.

Слайд 11

Решение задач на ветвление Задача 5. Для данного вещественного x найти

Решение задач на ветвление

Задача 5. Для данного вещественного x найти значение

функции f(х).

program finctian ;
var
x,f: real;
begin
write('введите x=');
readln(x);
if x<=0
then f:=-x
else begin if x>=2
then f:=4
else f:=x*x
end;
writeln ('f(',x,')=',f);
end.

Слайд 12

Логические операции and, or, not Логические операции - применяют к операндам

Логические операции and, or, not

Логические операции - применяют к операндам

типа boolean, они возвращают значение типа boolean
бинарные операции and, or и xor, унарная not,
Логическое выражение – имеют тип boolean.

Not - логическое отрицание
And – логическое умножение
Or - логическое сложение
Xor – или-не, строгое или.

Слайд 13

Вычисление составной функции По значению x вычислить значение составной функции y,

Вычисление составной функции

По значению x вычислить значение составной функции y, заданной

в виде графика
program calc_function_1;
var x, y : real;
begin
writeln(' Введите значение аргумента'); readln(x);
if x < -2 then y := 0;
if (x >= -2) and (x < -1) then y := -x - 2;
if (x >= -1) and (x < 1) then y := x;
if (x >= 1) and (x < 2) then y := -x + 2;
if x >= 2 then y := 0;
writeln('Для x = ', x, ' y = ', y);
end.
Слайд 14

Задачи на логические выражения If28. Дан номер года. Определить количество дней

Задачи на логические выражения

If28. Дан номер года. Определить количество дней в

этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).
If29. Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число», «положительное нечетное число» и т. д.
If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д.
Слайд 15

Задачи на логические выражения If28. Дан номер года. Определить количество дней

Задачи на логические выражения

If28. Дан номер года. Определить количество дней в

этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).

Дано:
N – год (integer)
Найти: число дней D
Делится на 4 → N mod 4 =0
Делится на 100 → N mod 100 =0
Не делится на 400 → N mod 400 <>0

(N mod 4=0) and not((N mod 100=0) and (N mod 400<>0))

program god;
var N,D:integer;
begin
writeln ('введите год');
readln (N);
D:=365;
if (N mod 4=0) and not ((N mod 100=0) and (N mod 400<>0)) then D:=366;
writeln('в году ', N, ' число дней=',D);
end.

Слайд 16

Задачи на логические выражения If29. Дано целое число. Вывести его строку-описание

Задачи на логические выражения

If29. Дано целое число. Вывести его строку-описание вида

«отрицательное четное число», «нулевое число», «положительное нечетное число» и т. д.
Дано: N – целое
Найти:словесное описание
Отрицательное четное
(N<0) and (N mod 2=0)
Отрицательное нечетное
(N<0) and (N mod 2<>0)
Нулевое
N=0
Положительное четное
(N>0) and (N mod 2=0)
Положительное нечетное
(N>0) and (N mod 2<>0)

program god;
var N:integer;
begin
write ('введите N=');
readln (N);
if (N<0) and(N mod 2=0) then writeln ('отрицательное четное');
if (N<0) and(N mod 2<>0)
then writeln ('отрицательное нечетное');
if (N=0)
then writeln ('нулевое');
if (N>0) and(N mod 2=0)
then writeln ('положительное четное');
if (N>0) and(N mod 2<>0)
then writeln ('положительное нечетное');
end.

Слайд 17

Задачи на логические выражения If30. Дано целое число, лежащее в диапазоне

Задачи на логические выражения

If30. Дано целое число, лежащее в диапазоне 1–999.

Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д.
Дано: N – целое (1-999)
Найти:словесное описание
Цифра четная
(N<10) and (N mod 2=0)
Цифра нечетная
(N<10) and (N mod 2<>0)
Двухзначное четное
(10Двухзначное нечетное
(100)
Трехзначное четное
(N>100) and (N mod 2=0)
Трехзначное нечетное
(N>100) and (N mod 2<>0)

program god;
var N:integer;
begin
write ('введите N=');
readln (N);
if (N<10) and(N mod 2=0) then writeln ('цифра четная');
if (N<10) and(N mod 2<>0) then writeln ('цифра нечетная');
if (10 if (100) then writeln ('двухзначное нечетное');
if (N>100) and (N mod 2=0) then writeln ('трехзначное четное');
if (N>100) and (N mod 2<>0) then writeln ('трехзначное нечетное');
end.