Разветвленный алгоритм
Паскаль
8 класс
Алгоритм – точное и ____________ предписание _________________ совершить определенную последовательность _______________ для получения __________________ за конечное ________________ __________.
Виды алгоритмов
начало программы
Действие 1
Действие 2
Действие 3
Вывод результата
Конец программы
Основные операторы
- Read (a); readln (a,b)
- Write (‘результат’, S);
- Writeln(‘результат’, S)
- X:=10; Z:= x*x+ sqrt (16)/ 2*x z=120?
Что выведет фрагмент ?
Begin
x:= sqrt (25);
y:= x+10;
x:= y mod 10 + y div 10;
y:= x mod 6;
Writeln(‘y=’, y);
Writeln (‘x =’, x);
end.
х=6 y=0
Написать программу
Вводится две стороны прямоугольного треугольника. Вычислить его периметр и площадь.
Var
a, b : integer;
c, P,S: real;
Begin
Read (a, b);
Пример решения
Var
a, b : integer;
C, P,S: real;
Begin
Read (a, b);
C:= SQRT (a*a + b*b);
P:= a + b + c;
S:= a*b/2;
Writeln (‘периметр=‘ , P);
Writeln (‘площадь=‘ , S);
end.
- Уровень «3» Что выведет программа?
3. Уровень «5» Что выведет программа?
Var
2 . Уровень «4» Чему равна переменная S на выходе из программы?
a, b : integer;
***Дополнительно:
Var
Var
a, b, S : integer;
S: real;
a, b,c, S : integer;
Напишите программу:
Begin
Водится целое двузначное число. Вывести сумму его цифр.
Begin
Begin
a:= 16; b:=4;
a:= 12; b:=4;
a:= 10; b:=47; c:=24;
a:=( a + b) mod 26 ;
a:= a + b ;
a:= a + b ;
b:= a mod b
с:= (c+ a) mod 10;
b:= a - b
S:= a +b / 2
S:= a+ b
Writeln (‘c = ‘ , c);
Writeln (‘S = ‘ , S);
Writeln (‘S =‘ , S);
end .
end.
end.
Проверочная работа (линейные алгоритмы)
«3» Вводится два числа. Вывести их сумму, произведение и частное.
«4» Вводится три числа, вывести их среднее арифметическое.
«5» Вводится трехзначное число. Вывести квадрат этого числа и сумму кубов его цифр.
Например : 123 2 1 3 +2 3 +3 3
Разветвляющиеся алгоритмы
Задача: Ввести два целых числа и вывести на экран наибольшее из них.
Идея решения: надо сравнить числа и вывести на экран первое число, если оно больше второго, или второе, если оно больше первого.
Особенность: действия исполнителя зависят от некоторых условий ( если … иначе … ).
Алгоритмы, в которых последовательность шагов зависит от выполнения некоторых условий, называются разветвляющимися.
b? max:= a; max:= b; вывод max конец 11 " width="640"
Вариант 1. Блок-схема
блок «решение»
начало
ввод a,b
полная форма ветвления
да
нет
a b?
max:= a;
max:= b;
вывод max
конец
11
Условный оператор
if then
begin
{что делать, если условие верно}
end
else
begin
{что делать, если условие неверно}
end;
Особенности:
- перед else НЕ ставится точка с запятой вторая часть ( else …) может отсутствовать (неполная форма) если в блоке один оператор, можно убрать слова begin и end
- перед else НЕ ставится точка с запятой
- вторая часть ( else …) может отсутствовать (неполная форма)
- если в блоке один оператор, можно убрать слова begin и end
11
11
a? max:= b; вывод max конец 11 13 " width="640"
Вариант 2. Блок-схема
начало
ввод a,b
неполная форма ветвления
max:= a;
да
нет
b a?
max:= b;
вывод max
конец
11
13
= 10) THEN … IF (а mod 2 = 0) THEN … IF (а mod 2 0) THEN … Запишите условие, которое проверяет, принадлежит ли точка Х отрезку [-5;5] _______________________ " width="640"
Примеры условий
- IF (а = b) THEN….
- IF (а or (а = 10) THEN …
- IF (а mod 2 = 0) THEN …
- IF (а mod 2 0) THEN …
- Запишите условие, которое проверяет, принадлежит ли точка Х отрезку [-5;5]
- _______________________
=4) and (xx≠7 IF (X 7) THEN X –отрицательное и четное X –кратно 5 и положительное IF (x writeln (‘отриц и четное’); IF (x mod 5=0)_____________ THEN writeln (‘кратно 5 и положительное’); Х- четное и положительное IF (x0 ) ? ( ? )THEN writeln (‘четное, положительное’); " width="640"
Логические выражения
Математическая запись
На языке программирования
4 ≤ x ≤ 7
IF (x=4) and (x
x≠7
IF (X 7) THEN
X –отрицательное и четное
X –кратно 5 и положительное
IF (x
writeln (‘отриц и четное’);
IF (x mod 5=0)_____________ THEN writeln (‘кратно 5 и положительное’);
Х- четное и положительное
IF (x0 ) ? ( ? )THEN
writeln (‘четное, положительное’);
10) then c:= a+b else c:= a-b; Ответ: с=35 " width="640"
Чему равно значение переменной с ?
a:=20; b:=5;
a:= a+b*2;
If (a – b 10) then
c:= a+b
else
c:= a-b;
Ответ: с=35
Задача : Вводится целое число, если оно четное, то вывести сообщение «Четное», в противном случае «Нечетное »
Var
Х: integer;
Begin
Readln(x);
IF х mod 2 = 0 THEN
Writeln ( x ,’-четное’)
ELSE
Writeln (x ,’-нечетное’);
end .
10) then c:= a+b else c:= a-b; С= 25 С= 35 " width="640"
Что выведет фрагмент программы?
a:=20; b:=5;
a:= a+b*2;
If (a – b 10) then
c:= a+b
else
c:= a-b;
С= 25
С= 35
Задание на ПК (условные алгоритмы )
«3» Вводится целое число, если оно четное, то вывести сообщение «- Четное», в противном случае «х- нечетное»
«4» Вводится 2 числа. Если первое больше второго, то вывести последнюю цифру первого числа.
«5» Вводится четырехзначное число. Если сумма первых двух цифр больше суммы последних двух цифр, то вывести квадратный корень из этого числа, иначе куб последней цифры.
Дополнительно:
Если введенное трехзначное число кратно 5, то вывести его среднюю цифру.
Домашнее задание
- Материал в тетради
- РТ №№120
Последовательное ветвление
IF (условие 1) THEN
Оператор 1
ELSE
Оператор 2;
IF (условие2) THEN
Оператор 3
ELSE
Оператор 4;
Вложенные условные операторы
IF (условие 1) THEN
IF (условие2) THEN
Оператор 1
ELSE
Оператор 2
ELSE
IF (условие3) THEN
Оператор 3
ELSE
Оператор 4;
Проверочная работа (IF)
«3» Вводится число х. Вывести ‘да’ , если оно четное и ‘нет’ в противном случае.
«4» Вводятся два различных числа. Если первое больше второго, то вывести их произведение, иначе вывести их частное.
«5» Вводится три числа, если сумма двух первых чисел четная, то вывести квадрат третьего числа, иначе вывести корень квадратный из третьего числа.
=0) «5» Заданы площади круга и квадрата. Определите, поместится ли квадрат в круге. " width="640"
Дополнительные задачи на условный оператор
«3»
- Определите, является ли заданное целое число А нечётным числом.
- Определите, имеется ли среди заданных целых чисел A , B , C хотя бы одно чётное.
- Даны три числа. Вывести те из них, которые принадлежат заданному отрезку [ a , b ].
«4»
Для заданных вещественных чисел a, b и c определите, имеет ли уравнение ax 2 + bx + c = 0 хотя бы одно вещественное решение. (D=0)
«5»
Заданы площади круга и квадрата. Определите, поместится ли квадрат в круге.

Разветвленный алгоритм в Паскале. 8 класс (179.34 KB)

