Алгоритмы
Слово «алгоритм» произошло от имени выдающегося математика средневекового Востока Мухаммеда аль-Хорезми, описавшего еще в IX веке правила выполнения вычислений с многозначными десятичными числами.
Алгоритм – набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий.
Алгоритм и СКИ
Совокупность всех команд языка исполнителя называется системой команд исполнителя алгоритмов – СКИ.
Алгоритм управления работой алгоритмической машины представляет собой конечную последовательность команд, посредством выполнения которой машина решает задачу обработки информации.
Дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
Свойства алгоритмов
Конечность (результативность) – алгоритм должен приводить к решению задачи за конечное число шагов.
Массовость – алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
Формальность (определенность) – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
Понятность для исполнителя – т.е. исполнитель алгоритма должен знать, как его выполнять.
Алгоритмические машины
«Машина Тьюринга» – универсальный исполнитель обработки любых символьных последовательностей в любом алфавите
Алан Тьюринг
(1912-1954)
Англия
Автоматическая обработка информации
Автомат – машина Поста.
Программа – алгоритм, записанный по строгим правилам языка команд исполнителя на языке программирования для данного исполнителя.
Эмиль Пост
(1897-1954),
США
Модель машины Поста
Каретка – считывающее устройство и процессор машины.
Возможные действия:
Назначение – производить преобразования на информационной ленте.
Задачи
Применимы ли программы к заданным состояниям машины Поста?
2. → 1
3. → 4
5. ← 1
6. → 7
8. !
9. → 4
… | • | • | … |
… | • | • | • | … |
… | • | • | … |
Дано несколько чисел. Удалить те, которые стоят на четных местах. Каретка находится над первой меткой первого числа.
На ленте машины Поста расположено n чисел, отделенных друг от друга свободной ячейкой. Каретка находится над крайней левой меткой первого числа. Определить количество чисел.
Дан массив меток. Каретка располагается где-то над массивом, но не над крайними метками. Стереть все метки, кроме крайних, и поставить каретку в исходное положение.
Задачи
Умный мячик
Исполнитель, который умеет составлять слова из букв, расположенных вдоль линейки.
Состав
Умный мячик состоит из:
линейки, вдоль которой прыгает «умный мячик»;
букв, расставленных над делениями линейки (символ «*» обозначает невидимую букву).
Текущее состояние «умного мячика» описывается буквами на линейке и положением «мячика» над ней.
Пример 2
ЭТО алг ПОКА НЕ а(-1)! КОНЕЦ
-3! +1! +1! алг +7! -4! алг ПОКА НЕ ш(+1)!.
-3! +1! +1! -1! +7! -4! -3! ПОКА НЕ ш (+1)!.
-3! +1! +1! -1! +7! -4! -3! +9 ?ш(!, +1!).
Что получится после выполнения программы:
-3! -2! +3! -1! +4! +2! -2! -5!.
-3! +1! +1! +3! -4!.
Задание 1
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.