Слайд 1
Алгоритмы с ветвящей структурой
Урок 30.
Слайд 2Цель: отработать навык составления программ с ветвящейся структурой.
Слайд 3Дана программа:
Program urok;
Var m, n, s, p: integer;
Begin
Read (m,n); s:=m+n; p:=m*n;
if m>n then begin m:=s; n:=p; end
else begin m:=p; n:=s; end;
Write ('m=', m, ‘n=',n);
End.
Для решения какой задачи она предназначена?
Слайд 4Какие структуры называются ветвлением?
Слайд 5Какие конструкции ветвления бывают?
Слайд 6Задание 1.
Составьте программу, определяющую, является ли число A кратным числу
В.
Слайд 7Решение:
Program primer;
Var a, b :integer;
Begin
Write('введите два числа');
Read(a,b);
If a mod b=0 then writeln('a кратно b')
else write
('а не кратно b');
End.
Слайд 8Задание 2.
Вводятся две четвертные оценки по математике и русскому языку.
Выведите на экран надпись «Молодец!», если их сумма больше или
равна 9, иначе надпись — «Подтянись!».
Слайд 9Решение:
Program primer;
Var a, b: integer;
Begin
Write('введите четвертные оценки по
математике и русскому языку');
Read(a,b);
If a+b>=9 then writeln('Молодец!') else writeln('Подтянись!');
End.
Использование
операторных скобок внутри условного оператора называется составным оператором.
Слайд 10Задание 3.
Составьте программу сортировки по возрастанию значений трех переменных:
А, В, С.
Слайд 11Решение:
Program Рг;
Var S1, S2, S3, С: Integer;
Begin
Writeln(' Введите
три числа');
Readln(S1,S2,S3);
If S1>S2 then begin C:=S1; S1:=S2; S2:=C; end;
{Меняем местами содержимое S1 и S2}
If S2>S3 then begin C:=S2; S2:=S3; S3:=C; end; {Меняем местами содержимое S2 и S3}
If S1>S2 then begin C:=S1; S1:=S2; S2:=C; end; {Меняем местами содержимое SI и S2}
Writeln('Числа в порядке возрастания:', S1,S2,S3)
End.
Слайд 12Задание 4.
Составьте программу решения линейного уравнения вида Ах —
В.
Слайд 13Решение:
Program linear_equation;
Var a, b: real;
Begin
Write('введите коэффициенты а и b:');
Readln(a, b);
If
a0 then write('x0',-b/a) Else
If b=0 then write('Kopeнь любое число')
Else write('Kopней
нет');
End.
Слайд 14Задание 5. Составьте программу решения квадратного уравнения.
Слайд 15Решение:
program kv;
var a,b,c,D,x1,x2:real;
begin
Read (a,b,c);
D:=b*b-4*a*c;
if D
D:=sqrt(D); x1:=(-b)/(2*a); Writeln('x=',x1);
else
begin
D:=sqrt(D);
xl:=(-b+D)/(2*a);
x2:=(-b-D)/(2*a);
Writeln('xl=',xl);
Write Ln('x2=',x2);
end;
end.
Слайд 16Домашнее задание
Дано: а, b, с- стороны предполагаемого треугольника. Требуется сравнить
длину каждого отрезка с суммой двух других. Если хотя бы
в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует.
Написать программу, определяющую по координатам точки, в какой четверти она находится.
Слайд 17Ответы:
1.var а, b, с: integer;
begin
write ('Длины сторон:');
readln (a,b,c);
if (a
and (b
Слайд 182. Var x, y: real;
begin
write('x='); read(x);
write('y='); readln(y);
write('Hoмep четверти координатной плоскости:');
if
(x>0) and (y>0) then writeln (‘I’)
Else if (x0)
then writeln('II')
else if (x<0) and (y<0) then writeln('III')
else
if (x>0) and (y<0) then writeln(‘IV')
else
writeln('-. Точка лежит на оси.');
readln
end.