СПОСОБЫ ЗАПИСИ АЛГОРИТМОВ
Проверка пройденного на прошлом уроке:
Разбиение алгоритма на шаги –
Использование алгоритма для решения однотипных задач –
Получение правильного результата за конечное число шагов –
Каждый шаг алгоритма должен входить в СКИ и быть записан на понятном языке для исполнителя –
Строгая последовательность шагов –
Проверка ответов:
Разбиение алгоритма на шаги –
Использование алгоритма для решения однотипных задач –
Получение правильного результата за конечное число шагов –
Каждый шаг алгоритма должен входить в СКИ и быть записан на понятном языке для исполнителя –
Строгая последовательность
шагов –
дискретность
массовость
результативность
выполнимость
детерминированность
Ключевые слова
способов записи алгоритмов:
словесное описание
построчная запись
блок-схема
школьный алгоритмический язык
Основные способы записи алгоритма
Словесные
Графические
На алгоритмических языках
Словесное описание
Построчная запись
Последователь-ность рисунков
Структурограмма
Школьный алгоритмический
язык
Язык программирова-ния
Блок-схема
Словесное описание
Словесное описание - самая простая запись алгоритма в виде набора высказываний на обычном разговорном языке.
Пример. Словесное описание алгоритма нахождения наибольшего общего делителя (НОД) пары целых чисел (алгоритм Евклида).
Чтобы найти НОД двух чисел, составьте таблицу из двух столбцов и назовите столбцы X и Y. Запишите первое из заданных чисел в столбец Х, а второе - в столбец Y. Если данные числа не равны, замените большее из них на результат вычитания из большего числа меньшего.
Повторяйте такие замены до тех пор, пока числа не окажутся равными, после чего число из столбца Х считайте искомым результатом.
Построчная запись
Кроме слов естественного языка предписания могут содержать математические выражения и формулы.
Каждое предписание записывается с новой строки
Правила построчной записи алгоритма
Предписание (шаги) алгоритма нумеруются
Исполнение алгоритма происходит в порядке
возрастания номеров шагов, начиная с первого,
если нет особых указаний
Словесное описание
Словесное описание алгоритма нахождения наибольшего общего делителя (НОД) пары целых чисел (алгоритм Евклида).
Чтобы найти НОД двух чисел, составьте таблицу из двух столбцов и назовите столбцы X и Y. Запишите первое из заданных чисел в столбец Х, а второе - в столбец Y. Если данные числа не равны, замените большее из них на результат вычитания из большего числа меньшего.
Повторяйте такие замены до тех пор, пока числа не окажутся равными, после чего число из столбца Х считайте искомым результатом.
Построчная запись алгоритма Евклида
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. Конец.
Графические способы
Последовательные картинки
Графические способы
Структурограмма
Блок-схемы
В блок-схеме предписания изображаются с помощью различных геометрических фигур, а последовательность выполнения шагов указывается с помощью линий.
Блок начала или конца алгоритма
Блок ввода или вывода данных
Блок обработки данных
Блок проверки условия
Блок пояснительных записей
Ввод значений X и Y
Проверка равенства X и Y
Определение большего
из X и Y
Уменьшение большего числа на величину меньшего
Определение НОД
Вывод НОД
Да
Нет
Начало
X>Y
Конец
X,Y
X=Y
НОД:=Х
НОД
X:=X-Y
Y:=Y-X
Да
Нет
Запись алгоритма Евклида с помощью блок-схемы
Алгоритмические языки
Алгоритмические языки - формальные языки, предназначенные для записи алгоритмов.
Характеристики алгоритмического языка
Набор используемых символов
Система правил образования
конструкций языка
Система правил, определяющих
смысл и способ употребления
конструкций языка
Синтаксис
Семантика
Алфавит
Общий вид программы на школьном алгоритмическом языке:
алг <название алгоритма>
нач
<последовательность команд>
кон
Язык программирования
Запишите значение переменной s, полученное в результате работы следующей программы.
Var s,k: integer;
Begin
s := 0;
for k := 6 to 12 do
s := s+10;
writeln(s);
End.
Самое главное
Существуют различные способы записи алгоритмов:
словесное описание
построчная запись
блок-схема
школьный алгоритмический язык и другие.
Каждый из этих способов обладает своими достоинствами и недостатками.
Задание 1.
Черепашке был дан для исполнения следующий алгоритм: Повтори 360 [Вперёд 30 Направо 60]
Какая фигура появится на экране?
правильный 360-угольник
правильный треугольник
правильный шестиугольник
незамкнутая ломаная линия
Задание 1.
Черепашке был дан для исполнения следующий алгоритм: Повтори 360 [Вперёд 30 Направо 60]
Какая фигура появится на экране?
правильный треугольник
Задание 2.
Автомат получает на вход трёхзначное десятичное число. По полученному числу строится новое десятичное число по следующим правилам.
1. Вычисляются два числа – сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов заданного числа.
2. Полученные два числа записываются друг за другом в порядке невозрастания (без разделителей).
Пример. Исходное число: 277. Поразрядные суммы: 9, 14. Результат: 149.
Определите, сколько из приведённых ниже чисел могут получиться в результате работы автомата.
1616 169 163 1916 1619 316 916 116
Задание 2.
Задание 3.
У исполнителя Квадратор две команды, которым присвоены номера:
возведи в квадрат
2. вычти 2
Исполнитель работает только с натуральными числами.
Составьте алгоритм получения из числа 4 числа 142, содержащий не более 5 команд.
В ответе запишите только номера команд. Если таких алгоритмов более одного, то запишите любой из них.
Задание 3.
У исполнителя Квадратор две команды, которым присвоены номера:
возведи в квадрат
2. вычти 2
Исполнитель работает только с натуральными числами.
Составьте алгоритм получения из числа 4 числа 142, содержащий не более 5 команд.
В ответе запишите только номера команд. Если таких алгоритмов более одного, то запишите любой из них.
Ответ: 21121
Домашнее задание §3.2
Вопросы и задания после §3.2
Задание по ссылке http://kpolyakov.spb.ru/school/ogetest/b14.htm