Алгоритм и его формальное исполнение. Свойства алгоритмов. Составитель: Пискунова Е.С. МБОУ «СОШ 65»
«Алгоритм – это строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.» (Н.Д. Угринович)
Понятие «алгоритм» появилось в Европе в XII веке, когда на латынь была переведена книга математика Мухаммеда ибн Муса ал- Хорезми, жившего в годах. Значение слова алгоритм очень схоже со значением слов рецепт, процесс, метод, способ.
Массовость Дискретность Свойства алгоритма: Дискретность Дискретность (прерывность, раздельность) – разбиение алгоритма на шаги Детерминированность Детерминированность Детерминированность (определённость) – каждое действие должно быть строго и недвусмысленно определено Точность Конечность, результативность Массовость - Массовость - алгоритм не составляется для решения одной частной задачи, полезнее составить алгоритм для решения класса задач. Точность – запись алгоритма должна быть такой, чтобы на каждом шаге его выполнения было известно, какую команду надо выполнять следующей. Конечность, результативность Конечность, результативность – алгоритм составляется для достижения результата и этот результат должен быть получен за конечное количество шагов.
- язык программирования (этот способ записи алгоритма абсолютно формализован). Пример. Определение чётности введенного числа. BASICPascal INPUT Введите целое число; X A$=четное IF X MOD 2<>0 THEN A$=не+A$ PRINT Введенное число, A$ Var x: Integer; Str: String; Begin Write(Введите целое число); ReadLn(x); If x Mod 2 <> 0 Then Str:=не+Str; WriteLn(Введенное число, Str); End.
При описании любого языка используются следующие понятия: - алфавит (множество простейших знаков, которые могут быть использованы в текстах этого языка); - синтаксис – набор правил, определяющих возможные сочетания из букв языка. - семантика – это набор правил, определяющих значение (смысл) отдельных конструкций языка.
Графическая форма. начало/конец подпрограмма действие, операция присваивания условие ветвления условие цикла ввод/вывод
Типы алгоритмических структур. Линейный алгоритм начало конец Действие 1 Действие 2 Действие N
Алгоритмическая структура Условие Действие 2Действие 1 Да Нет «ветвление» разветвляющийся алгоритм
Действие Условие Да Нет Алгоритмическая структура
«выбор» Условие 1 Действие 2 Действие 1 Условие 2 Действие 3 Алгоритмическая структура
«цикл» Цикл со счётчиком Тело цикла Да Нет организация счётчика Алгоритмическая структура
Цикл с предусловием Условие Тело цикла Да Нет Алгоритмическая структура
Цикл с постусловием Условие Тело цикла Да Нет Алгоритмическая структура
Задание Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды: Вперед n, где n - целое число, вызывающая передвижение черепашки на n шагов в направлении движения. Направо m, где m - целое число, вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори 5 [Команда 1 Команда 2] означает, что последовательность команд в скобках выполняется 5 раз. Черепашке был дан для исполнения следующий алгоритм: Повтори 5 [вперед 10 направо 72] Какая фигура появится на экране? 1) Незамкнутая ломаная линия 2) Правильный треугольник 3) Квадрат 4) Правильный пятиугольник.