Презентация "Программирование разветвляющихся алгоритмов" 8 класс
Подписи к слайдам:
Повторим пройденный материал
1. Вещественный тип данных в Паскаль
Real
2. Какие значения примут a и b в результате выполнения программы: a:=3; b:=a+1; a:= b/2
b=4; a=2
3. Как называется функция модуля в Паскаль
abs(x)
4. Назовите оператор вывода в Паскаль.
write
5. Какое значение примет переменная Х после выполнения оператора Х:=16 mod 5?
1
Ключевые слова- условный оператор
- неполный условный оператор
- составной оператор
- вложенные ветвления
Условный оператор
Этот оператор используется для выполнения одного из двух возможных вариантов программы.
if логическое_условие
then оператор_1
else оператор_2;
если логическое_условие верно,
то выполняется оператор_1 ,
иначе оператор_2;
Перед else точка с запятой не ставится!
Формат неполного оператора ветвления:
if <логическое выражение> then <оператор>
Логическое выражение
- Простой формой логического выражения является операция отношения:
- < меньше,
- > больше,
- <= меньше или равно,
- >= больше или равно,
- = равно,
- <> не равно.
Сложные формы логических выражений составляются с использованием логических операций:
- not логическое отрицание (НЕ),
- and логическое умножение (И),
- or логическое сложение (ИЛИ),
- xor исключающее ИЛИ
- Порядок действий:
отрицание, умножение, сложение, операции отношений.
Запишем на языке Паскаль алгоритм определения принадлежности точки х отрезку [a,b].
var x,a,b:real;
begin
write (‘ введите a,b’);
readln(a,b);
write (‘ введите x’);
readln(x);
if (x>=a) and (x<=b) then
writeln (‘Точка принадлежит отрезку’)
else writeln (‘Точка не принадлежит отрезку’) ;
end.
Задача:
Дано целое число. Если оно является положительным то прибавить к нему 1, в противном случае вычесть из него два. Вывести полученное число.
var a:integer;
begin
readln(a);
if a>0 then a:=a+1 else
a:=a-2;
writeln(a)
end.
Задание для самостоятельного решения:
Допишите программу нахождения наибольшего их двух чисел.
Var a, ;
Begin
Writeln(‘ введите числа а и b’);
Readln( );
If a>b then else
Writeln(‘ );
End.
b,max:integer
max:= a
max:= b;
a, b
max=‘, max
Составной операторВ условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условии требуется выполнить последовательность из некоторых операторов, то их объединяют в один составной оператор.
Конструкция вида:
begin <последовательность операторов> end
называется составным оператором.
Пример: написать программу решения уравнения ax2+bx+c=0, a=0
var a, b, c, x, x1, x2, d : real;
Begin
writeln(' Введите коэффициенты a , b, c ');
readln(a, b, c);
d := sqr(b) - 4 * a * c;
if d < 0 then writeln('Квадратное уравнение не имеет корней’);
if d = 0 then
begin x := -b / (2 * a);
writeln(' Корень уравнения x= ‘, x)
end;
If d>0 then
begin x1 := (-b + sqrt(d)) / (2 * a);
x2 := (-b - sqrt(d)) / (2 * a);
writeln(‘Корни уравнения x1=‘, x1, ‘ ‘ ,’x2=‘, x2)
end;
end.
1
2
3
4
5
Описание переменных
Ввод переменных
Проверка условия
Составной оператор
6
7
8
9
10
11
12
13
14
15
16
Вложенные ветвления
If <условие> then
if <условие> then <оператор1>
else <оператор2>
Пример: Решение линейного уравнения: ax+b=0
var a,b,x:real;
begin
write (‘введите коэффициенты а, b’);
readln (a,b);
if a<>0 then
begin
x:=-b/a;
writeln(‘Корень уравнения х=‘, x)
end
else if b<>0 then writeln (‘Корней нет’)
else writeln (‘x-любое число’);
end.
Задача: Составить программу, которая по трем введенным вами числами определит, могут ли эти числа быть длинами сторон треугольника.
Var a,b,c:integer;
begin
readln (a,b,c);
if a>=b+c then writeln ('Нет’);
else if b>=a+c then writeln ('Нет’)
else if c<=a+b then writeln ('Нет’);
else writeln ('Да’);
end.
Не правильно
>
Задачи для самостоятельного решения:
1. Ввести число. Если оно неотрицательно, вычесть из него 10, в противном случае прибавить к нему 10.
2. Ввести два числа. Если их произведение отрицательно, умножить его на -2 и вывести на экран, в противном случае увеличить его в 3 раза и вывести на экран.
3. Ввести два числа. Если сумма этих чисел четная, найти произведение, в противном случае, найти частное этих чисел.
4. Ввести два числа. Вычесть из большего меньшее.
Program 1;
Var a:integer;
Begin
Readln (a);
If a>0 then a:=a-10 else a:=a+10;
Writeln (a);
End.
var a,b,d:integer;
begin
readln (a,b);
d:=a*b;
If d<0 then d:=d*(-2) else d:=d*3;
writeln (d);
end.
Program 3;
Var a,b:integer; d:real;
Begin
Readln (a,b);
d:=a+b;
If d mod 2=0 then d:=a*b else d:=a/b;
Writeln (d);
End.
Program 4;
var a,b,d:integer;
begin
readln (a,b);
If a>b then d:=a-b else d:=b-a;
writeln (d);
end.
Самое главное
- При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор:
- Для записи неполных ветвлений используется неполный условный оператор:
- Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид:
if <условие> then <оператор_1> else <оператор_2>
if <условие> then <оператор>
begin <последовательность операторов> end
Домашнее задание
- Параграф 3.4, выучить конспект
2. Написать программу для следующей задачи:
Являются ли треугольники равновеликими?
Спасибо за урок!
Информатика - еще материалы к урокам:
- Классный час "Особенности общения в сети Интернет"
- Тест по информатике "Математические основы информатики" 8 класс
- ОГЭ по информатике "Задание 10 Запись чисел в различных системах счисления"
- Презентация "Решение задач на кодирование графической информации"
- Методическая разработка "Понятие информационной безопасности. Компьютерные преступления"
- Входная контрольная работа по информатике в 10 классе