АЛГОРИТМИЧЕСКАЯ КОНСТРУКЦИЯ «СЛЕДОВАНИЕ». ЛИНЕЙНЫЙ АЛГОРИТМ
ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ -Запишите
ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ
СЛЕДОВАНИЕ- Запишите
ОШИБКИ В АЛГОРИТМАХ
Практика. один человек за компьютером учительским=1 задание. Другие помогают с телефонами
Практика. один человек за компьютером учительским=1 задание. Другие помогают с телефонами
Практика. один человек за компьютером учительским=1 задание. Другие помогают с телефонами
Практика. один человек за компьютером учительским=1 задание. Другие помогают с телефонами
Практика. один человек за компьютером учительским=1 задание. Другие помогают с телефонами
2.66M
Категория: ИнформатикаИнформатика

Способы записи алгоритмов. Основы алгоритмизации

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 раза левой кнопкой мыши по окошку.
Можно вписать, можно выбрать по кругу (в случае градусов)
Чтобы сохранить- нажать в любое место рабочей области

28. Практика. один человек за компьютером учительским=1 задание. Другие помогают с телефонами

В 7 задании квадрат черный, залит желтым

29. Практика. один человек за компьютером учительским=1 задание. Другие помогают с телефонами

https://kpolyakov.spb.ru/school/blockly/turtle_linear.html?level=2
English     Русский Правила