Обработка информации. Алгоритмы.

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