Слайд 1Алгоритмические структуры
Решение задач
Искандарова А.Р.
учитель информатики
МБОУ СОШ №18 г.Уфа
Слайд 2Вопросы для повторения:
Назовите базовые алгоритмические структуры.
Следование, ветвление, цикл
Следование – это
…
линейная последовательность действий
Ветвление – это …
выбор одной из двух серий
действий с выходом на общее продолжение
Цикл – это …
повторение серии действий по условию
Слайд 3Задание 1
Нарисуйте блок-схемы и напишите на языке программирования Паскаль два
варианта алгоритма решения задачи: выбрать из двух числовых величин наибольшее
значение. Первый вариант – с полным ветвлением, второй вариант – с неполным ветвлением.
Слайд 4Полное ветвление
начало
ввод a, b
c:=a
a>b
нет
вывод c
конец
да
c:=b
Слайд 5Полное ветвление
начало
ввод a, b
c:=a
a>b
нет
вывод c
конец
да
c:=b
Program max1;
var a,b,c: integer;
begin
read(a,b);
if (a>b) then
c:=a
else c:=b;
writeln('Наибольшее число=',c);
end.
Слайд 6Неполное ветвление
начало
ввод a, b
c:=a
a>b
нет
вывод S
конец
да
c:=b
Слайд 7Неполное ветвление
начало
ввод a, b
c:=a
a>b
нет
вывод c
конец
да
c:=b
Program max2;
var a,b,c: integer;
begin
read(a,b);
c:=b;
if (a>b) then
c:=a;
writeln('Наибольшее число=',c);
end.
Слайд 8Задание 2
Нарисуйте блок-схемы и напишите на языке программирования Паскаль два
варианта алгоритма решения задачи: выбрать из трех числовых величин наименьшее
значение. Первый вариант – с вложенными ветвлениями, второй вариант – с последовательными ветвлениями.
Слайд 9Вложенные ветвления
начало
ввод a, b,c
d:=a
a
Слайд 10Вложенные ветвления
начало
ввод a, b,c
d:=a
a
if (a
else
if (b
else d:=c;
writeln('Наименьшее число=',d);
end.
+
+
+
-
-
Слайд 11Последовательные ветвления
начало
ввод a,b,c
d:=a
(a
Слайд 12Последовательные ветвления
начало
ввод a,b,c
d:=a
(a
(b
число=',d);
end.
Слайд 13Задание 3
Для данного натурального числа N требуется вычислить сумму: S=1+1/2+1/3+…+1/N.
Постройте блок-схемы и напишите программы, используя два варианта алгоритма: с
циклом-до и с циклом-пока.
Слайд 14Найти сумму S=1+1/2+1/3+…+1/N с циклом-до
начало
ввод N
S:=0
i:=1
S:=S+1/i
i:=i+1
i>N
нет
вывод S
конец
да
Слайд 15Найти сумму S=1+1/2+1/3+…+1/N с циклом-до
начало
ввод N
S:=0
i:=1
S:=S+1/i
i:=i+1
i>N
нет
вывод S
конец
да
var i, N: integer;
S: real;
begin
readln(N);
S:=0;
i:=1;
repeat
S:=S+1/i;
i:=i+1
until (i>N);
writeln('S=',S:5:3);
end.
Слайд 16Найти сумму S=1+1/2+1/3+…+1/N с циклом-пока
начало
ввод N
S:=0
i:=1
S:=S+1/i
i:=i+1
i
Слайд 17Найти сумму S=1+1/2+1/3+…+1/N с циклом-пока
начало
ввод N
S:=0
i:=1
S:=S+1/i
i:=i+1
i
S: real;
begin
readln(N);
S:=0;
i:=1;
while (i
Слайд 18Задание 4
Какую структуру будет иметь алгоритм решения следующей задачи?
Дано целое
положительное число N. Если N – четное, то вычислить N!=1·2·3·…·N.
Если N – нечетное, то вычислить сумму: 1+2+…+ N.
Составьте блок-схему алгоритма решения и опишите его на языке Паскаль.
Слайд 19Задание 4
начало
ввод N
i:=1; S:=0; P:=1
N mod 2=0
нет
вывод S
конец
да
i
20
да
нет
нет
Слайд 20Задание 4
var N, i, P, S: integer;
begin
read(N);
i:=1; P:=1; S:=0;
if (N
mod 2 = 0) then begin
while (i
P:=P*i; i:=i+1; end;
writeln(N,'!=',P);
end;
if (n mod 2 <> 0) then begin
while (i<=N) do begin
S:=S+i; i:=i+1; end;
writeln('1+2+...+',N,'=',S);
end;
end.
Слайд 21Использованная литература
Информатика. Базовый уровень: учебник для 10 класса / И.Г.
Семакин, Е.К. Хеннер, Т.Ю. Шеина. – М. : БИНОМ. Лаборатория
знаний, 2014.
Информатика. Задачник-практикум в 2 т. / Под ред. И.Г. Семакина, Е.К. Хеннера: Том 1. – М. : БИНОМ. Лаборатория знаний, 2012.