Similar presentations:
Способы записи алгоритмов. Основы алгоритмизации
1.
СПОСОБЫ ЗАПИСИАЛГОРИТМОВ
ОСНОВЫ АЛГОРИТМИЗАЦИИ
2.
Марков А.А. (1903—1979) установил, чтоалгоритмы должны содержать предписания
двух видов:
1) функциональные операторы
направленные
на
непосредственное
информации;
-
предписания,
преобразование
2)
логические
операторы
предписания,
определяющие дальнейшее направление действий.
Именно эти операторы положены в основу большинства
способов записи алгоритмов.
3.
Основные способы записиалгоритма
Словесные
Графические
На алгоритмических
языках
Словесное
описание
Последовательность рисунков
Школьный
алгоритмический
язык
Построчная
запись
Структурограмма
Язык
программирования
Блок-схема
4.
Словесное описаниеСловесное описание - самая простая запись алгоритма в
виде набора высказываний на обычном разговорном языке.
Пример. Словесное описание алгоритма
нахождения наибольшего общего делителя
(НОД) пары целых чисел (алгоритм
Евклида).
Чтобы найти НОД двух чисел, составьте
таблицу из двух столбцов и назовите
столбцы X и Y. Запишите первое из
заданных чисел в столбец Х, а второе - в
столбец Y. Если данные числа не равны,
замените большее из них на результат
вычитания из большего числа меньшего.
Повторяйте такие замены до тех пор,
пока числа не окажутся равными, после чего
число из столбца Х считайте искомым
результатом.
5.
Построчная записьПравила построчной записи алгоритма
Каждое предписание записывается с новой строки
Предписание (шаги) алгоритма нумеруются
Исполнение алгоритма происходит в порядке
возрастания номеров шагов, начиная с первого,
если нет особых указаний
Кроме слов естественного языка предписания могут
содержать математические выражения и формулы.
6.
Построчная запись алгоритмаЕвклида
Построчная запись алгоритма Евклида
1. Начало.
2. Обозначить первое из заданных чисел Х, второе - Y.
3. Если Х = Y то перейти к п. 9.
4. Если X >Y , то перейти к п. 5, иначе перейти к п. 7.
5. Заменить X на X-Y.
6. Перейти к п. 3.
7. Заменить Y на Y-X
8. Перейти к п. 3.
9. Считать Х искомым результатом.
10. Конец.
7.
Графические способыСтруктурограмма
Последовательные картинки
8.
Блок-схемыВ блок-схеме предписания изображаются с помощью
различных геометрических фигур, а последовательность
выполнения шагов указывается с помощью линий.
Блок начала или конца алгоритма
Блок ввода или вывода данных
Блок обработки данных
Блок проверки условия
Блок пояснительных записей
9.
Запись алгоритма Евклида с помощьюблок-схемы
Начало
Ввод значений X и Y
X,Y
Да
Нет
X=Y
Да
X:=X-Y
НОД:=Х
НОД
Конец
Проверка равенства X и Y
X>Y
Нет
Y:=Y-X
Определение большего
из X и Y
Уменьшение большего числа
на величину меньшего
Определение НОД
Вывод НОД
10.
Алгоритмические языкиАлгоритмические
языки
формальные
предназначенные для записи алгоритмов.
языки,
Характеристики алгоритмического языка
Алфавит
Набор используемых символов
Синтаксис
Система правил образования
конструкций языка
Семантика
Система правил, определяющих
смысл и способ употребления
конструкций языка
11.
ОБЪЕКТЫ АЛГОРИТМОВОСНОВЫ АЛГОРИТМИЗАЦИИ
12.
ВеличиныАлгоритмы описывают последовательность действий над
некоторыми информационными объектами.
Величина
в
информатике
информационный объект.
–
это
отдельный
Информационный объект
Число
Символ
Строка
Величина
Постоянная
Переменная
Таблица
13.
Операции над величинами вПитоне
Операции над величинами
Арифметические
Отношения
Логические
+ (сложение)
- (вычитание)
* (умножение)
// (деление целое)
%(деление остаток)
< (меньше)
> (больше)
<= (не больше)
>= (не меньше)
== (равно)
И (конъюнкция)
ИЛИ (дизъюнкция)
НЕ (инверсия)
Операнды - объекты, над которыми выполняют операции.
14.
Типы величинТип величины в алгоритме
Целая
Числовой
Вещественная
Текстовый
Символьная
Литерная
Логический
ДА (ИСТИНА, TRUE, 1)
НЕТ (ЛОЖЬ, FALSE, 0)
Один
символ
Строка
символов
15.
Имя величиныИмя величины в алгоритме
Латинская
буква
A, B, M, AP
Латинская
буква и цифра
A1, B4, M2
Мнемоническое
имя
SUMMA, PLAN
16.
ВыраженияВыражение - языковая конструкция для вычисления
значения с помощью одного или нескольких операндов.
Выражения
Арифметические
Строковые
Логические
2 x 3
sqrt ( x )
Операция
сцепления (+).
А=`том`
`a`+А= `атом`
(X>5) и (X<10)
17.
Команда присваивания<имя переменной>= <выражение>
Свойства присваивания
Пока переменной не присвоено значение, она
остаётся неопределённой
Значение, присвоенное переменной, сохраняется
до следующего присваивания
Если переменной присваивается новое значение,
то предыдущее её значение теряется
18. АЛГОРИТМИЧЕСКАЯ КОНСТРУКЦИЯ «СЛЕДОВАНИЕ». ЛИНЕЙНЫЙ АЛГОРИТМ
ОСНОВЫ АЛГОРИТМИЗАЦИИ19. ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ -Запишите
20. ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ
Для записи любого алгоритма достаточноосновных алгоритмических конструкций:
✦ следования,
✦ ветвления,
✦ повторения.
(Э. Дейкстра)
Эдсгер Вибе Дейкстра (1930–2002). Выдающийся
нидерландский учёный, идеи которого оказали огромное
влияние на развитие компьютерной индустрии.
трёх
21. СЛЕДОВАНИЕ- Запишите
Следование - алгоритмическая конструкция, отображающаяестественный, последовательный порядок действий.
Алгоритмы, в которых используется только структура
«следование», называются линейными алгоритмами.
Действие 1
Действие 2
Алгоритмическая конструкция «следование»
22.
ЛИНЕЙНЫЙ АЛГОРИТМПРИГОТОВЛЕНИЯ ОТВАРА ШИПОВНИКА
Начало
Столовую ложку сушёных плодов
шиповника измельчить в ступке
Залить стаканом кипячёной воды
Кипятить 10 минут на слабом огне
Охладить
Процедить
Конец
23.
ОГРАНИЧЕННОСТЬ ЛИНЕЙНЫХ АЛГОРИТМОВСКИ исполнителя Робот: вверх, вниз, влево, вправо и закрасить.
алг узор
нач
закрасить
Особенность линейных алгоритмов в
вправо
том, что их исполнитель не может
вправо
уклониться от выполнения ни одной
закрасить
из последовательно идущих
вниз
команд, даже если очевидно, что
влево
очередное действие бессмысленно.
закрасить
Однако исполнитель всё равно
вверх
попытается его выполнить, потому
влево
что «не умеет» различать такие
кон
ситуации.
24. ОШИБКИ В АЛГОРИТМАХ
СИНТАКСИЧЕСКИЕвлева
в лево
ЛОГИЧЕСКИЕ
При выполнении
алгоритма может
возникнуть отказ,
если исполнитель не
может выполнить
некоторую команду
Алгоритм может
быть завершён, но
результат его
работы не будет
соответствовать
поставленной
задаче
25. Практика. один человек за компьютером учительским=1 задание. Другие помогают с телефонами
Чтобы проверить работу программы нажимаем на «Старт».Перед этим установите скорость на черепаху.
Чтобы дублировать блок необходимо нажать на него правой
кнопкой мыши и выбрать из списка дублировать.
26. Практика. один человек за компьютером учительским=1 задание. Другие помогают с телефонами
Чтобы попробовать еще раз нажимаем сброс27. Практика. один человек за компьютером учительским=1 задание. Другие помогают с телефонами
Значение в окошках можно изменять для этого необходимокликнуть 2 раза левой кнопкой мыши по окошку.
Можно вписать, можно выбрать по кругу (в случае градусов)
Чтобы сохранить- нажать в любое место рабочей области
informatics