линейные алгоритмы, ветвления, циклы

Download Report

Transcript линейные алгоритмы, ветвления, циклы

Алгоритмизация и
программирование
(10 класс)
Определение алгоритма
Алгоритм – понятное и точное предписание
(инструкция) исполнителю выполнить
конечную последовательность действий
(команд), приводящую от исходных данных к
искомому результату.
Программа – это алгоритм, записанный на языке
исполнителя (технического устройства).
У каждого исполнителя имеется свой перечень
команд, которые он может исполнять. Эти команды
называются системой команд исполнителя (СКИ).
Свойства алгоритма
•
•
•
•
•
•
Понятность
Дискретность
Определенность (точность)
Результативность
Массовость
Корректность (правильные результаты при различных
исходных данных)
• Детерминированность (повтор результата при повторе
исходных данных)
• Эффективность (эффективное использование ресурсов)
Формы записи алгоритма
1. Вербальная (словесная) – на естественном языке
2. Формализованная
• на алгоритмическом языке (АЯ)
• на графическом языке (блок-схема)
3. Формальная – на языке программирования (программа)
Примеры исполнителей
Среда исполнителя
3 3 2 3 3 2 4 1
Ответ: 4 1 4 4
Самостоятельно: В5 (стр. 44)
Примеры исполнителей
Исполнитель «Удвоитель»
Исполнитель может выполнить 2 команды:
1. Умножь на 2
2. Прибавь 3
Написать алгоритм получения из 2 числа 28.
Исполнитель «Кузнечик» (дома)
Исполнитель может выполнить 2 команды:
1. «Вперед N»
2. «Назад M»
Исполнитель выполнил 50 команд, из которых «Назад 2» на 12
больше, чем «Вперед 3». На какую одну команду можно заменить
эту программу, чтобы Кузнечик оказался в той же точке, что и после
выполнения данной программы?
Примеры исполнителей (дома)
Примеры исполнителей (из ЕГЭ)
У исполнителя Кузнечик две команды:
1. прибавь 3,
2. вычти 2.
Первая из них увеличивает число на экране на 3, вторая – уменьшает его
на 2 (отрицательные числа допускаются).
Программа для Кузнечика – это последовательность команд. Сколько
различных чисел можно получить из числа 1 с помощью программы,
которая содержит ровно 5 команд?
Примеры исполнителей (дома)
У исполнителя Утроитель две команды, которым присвоены номера:
1. прибавь 1,
2. умножь на 3.
Первая из них увеличивает число на экране на 1, вторая – утраивает его.
Программа для Утроителя – это последовательность команд.
Сколько есть программ, которые число 1 преобразуют в число 29?
Ответ обоснуйте.
Примеры исполнителей
Примеры исполнителей
Сколько клеток лабиринта соответствуют требованию, что, выполнив
предложенную программу, РОБОТ уцелеет и остановится в той же клетке,
с которой он начал движение?
Примеры исполнителей (дома)
Примеры исполнителей (дома)
Базовые алгоритмические
структуры
1. Линейная (следование) – последовательность действий,
следующих одно за другим без каких-либо условий
2. Ветвление – разделение алгоритма на два пути (две ветви) по
некоторому условию с дальнейшим выходом на общее продолжение
3. Цикл – повторение некоторой группы действий исходя из
определенного условия
Пример линейного алгоритма (из ЕГЭ)
Автомат получает на вход два трехзначных числа. По этим числам
строится новое число по следующим правилам.
1. Вычисляются три числа – сумма старших разрядов заданных
трехзначных чисел, сумма средних разрядов этих чисел, сумма
младших разрядов.
2. Полученные три числа записываются друг за другом в порядке
убывания (без разделителей).
Пример. Исходные трехзначные числа: 835, 196. Поразрядные суммы: 9, 12,
11. Результат: 12119
Определите, какое из следующих чисел может быть результатом работы
автомата.
1) 151303
2) 161410
3) 191615
4) 121613
Следование
(линейный алгоритм)
Ветвление
Если <условие>
то <серия команд 1>
иначе <серия команд 2>
кон
Паскаль
If <условие>
then begin<операторы1>end
else begin<операторы2>end;
Цикл с предусловием
Цикл с постусловием
Цикл с параметром
Структура программы в
Паскале
Program имя программы;
Uses
имя модуля;
Label
имя метки;
Const
имя константы = значение константы;
Type
имя типа = значение типа;
Var
имя переменной : тип;
{объявление процедур и функций программиста}
Begin
Основная программа
end.
Типы данных в Паскале
1. Целочисленный тип данных
Типы данных в Паскале
2. Вещественный тип данных
Типы данных в Паскале
3. Символьный и логический типы данных
Основные арифметические операции в Паскале
Стандартные функции в Паскале
Решение задач
С = 33
Решение задач
Решение задач
Задача 1.
Вычислить периметр и площадь прямоугольного
треугольника по заданным длинам двум катетам a и b.
Решение задач
Задача 2.
Дана величина A, выражающая размер в сантиметрах.
Представить данную величину в метрах и сантиметрах. Например,
120 см представить в виде 1 м 20 см.
Домашнее задание
Семакин И. Г.
Информатика и ИКТ 10 класс
§ 1.7.1
Задачник-практикум 1.
задачи
№ 28, 37
стр. 225,
стр. 125-130
§ 4.4.1
Дополнительно:
№ 28
стр. 227
Решение задач
Решение задач
Решение задач
Решение задач
Решение задач
Решение задач
Решение задач
Решение задач
Решение задач
По данной блок-схеме составить программу на языке Паскаль
Решение задач
Решение задач
Задачник-практикум 1.
Задача № 12
Задачи №
55
стр. 229-232
стр. 230
If
(x > 0) and (y > x – 6) and
((sqr(x) + (sqr(y) < 36)
then Writeln(«Принадлежит»
else Writeln(«Не принадлежит»);
Домашнее задание
Задачник-практикум 1.
§ 4.4
Задачи №
Самостоятельная работа
55
стр. 229-232
Практическая работа в Pascal
Задача 1
Практическая работа в Pascal
Задача 2. Написать программу вычисления суммы N чисел, вводимых с
клавиатуры.
Дополнительно:
Задача 2. С клавиатуры вводятся длины трёх отрезков: а, b и с. Определить,
может ли существовать треугольник со сторонами, равными данным
отрезкам. Если да, то какой? (равносторонний, равнобедренный,
прямоугольный)
Задача 3. Определить, является ли трёхзначное (четырехзначное,
пятизначное) число, вводимое с клавиатуры палиндромом?
Задача 4. Написать программу, которая проверяет, является ли целое число,
вводимое с клавиатуры, простым.