Алгоритмические структуры Решение задач
Вопросы для повторения: Назовите базовые алгоритмические структуры. Следование, ветвление, цикл Следование – это … линейная последовательность действий Ветвление – это … выбор одной из двух серий действий с выходом на общее продолжение Цикл – это … повторение серии действий по условию
Задание 1 Нарисуйте блок-схемы и напишите на языке программирования Паскаль два варианта алгоритма решения задачи: выбрать из двух числовых величин наибольшее значение. Первый вариант – с полным ветвлением, второй вариант – с неполным ветвлением.
Полное ветвление начало ввод a, b c:=a a>b нет вывод c конец да c:=b
Полное ветвление начало ввод 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.
Неполное ветвление начало ввод a, b c:=a a>b нет вывод S конец да c:=b
Неполное ветвление начало ввод 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.
Задание 2 Нарисуйте блок-схемы и напишите на языке программирования Паскаль два варианта алгоритма решения задачи: выбрать из трех числовых величин наименьшее значение. Первый вариант – с вложенными ветвлениями, второй вариант – с последовательными ветвлениями.
Вложенные ветвления начало ввод a, b,c d:=a a
Вложенные ветвления начало ввод a, b,c d:=a a
Последовательные ветвления начало ввод a,b,c d:=a (a
Последовательные ветвления начало ввод a,b,c d:=a (a
Задание 3 Для данного натурального числа N требуется вычислить сумму: S=1+1/2+1/3+…+1/N. Постройте блок-схемы и напишите программы, используя два варианта алгоритма: с циклом-до и с циклом-пока.
Найти сумму S=1+1/2+1/3+…+1/N с циклом-до начало ввод N S:=0 i:=1 S:=S+1/i i:=i+1 i>N нет вывод S конец да
Найти сумму 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.
Найти сумму S=1+1/2+1/3+…+1/N с циклом-пока начало ввод N S:=0 i:=1 S:=S+1/i i:=i+1 i
Найти сумму S=1+1/2+1/3+…+1/N с циклом-пока начало ввод N S:=0 i:=1 S:=S+1/i i:=i+1 i
Задание 4 Какую структуру будет иметь алгоритм решения следующей задачи? Дано целое положительное число N. Если N – четное, то вычислить N!=1·2·3·…·N. Если N – нечетное, то вычислить сумму: 1+2+…+ N. Составьте блок-схему алгоритма решения и опишите его на языке Паскаль.
Задание 4 начало ввод N i:=1; S:=0; P:=1 N mod 2=0 нет вывод S конец да i
Задание 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
Использованная литература Информатика. Базовый уровень: учебник для 10 класса / И.Г. Семакин, Е.К. Хеннер, Т.Ю. Шеина. – М. : БИНОМ. Лаборатория знаний, 2014. Информатика. Задачник-практикум в 2 т. / Под ред. И.Г. Семакина, Е.К. Хеннера: Том 1. – М. : БИНОМ. Лаборатория знаний, 2012.