Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и программирование small.doc
Скачиваний:
3
Добавлен:
02.09.2019
Размер:
160.26 Кб
Скачать

1. Алгоритмы, их типы и свойства. Формы записи алгоритмов

Алгоритм – это понятное и точное предписание исполнителю совершения определенных последовательных действий для достижения указанной цели.

Свойства алгоритма:

  • Дискретность – последовательность выполнения одного за другим отдельных законченных шагов.

  • Массовость – применимость к целому классу задач.

  • Определенность – однозначное толкование каждого шага.

  • Результативность – получение результата через конечное число шагов.

  • Формальность – способность любого исполнителя выполнить все шаги алгоритма, не понимая их смысла.

Например, инструкция по использованию утюга является алгоритмом, а инструкция как встретить и устроить в гостинице гостя фирмы не является алгоритмом (нет свойства массовости).

Существует теорема, доказывающая, что любой алгоритм есть комбинация трех базовых команд: следование, развилка (“если”), цикл.

Алгоритмы бывают сходящимися и расходящимися.

Сходящийся алгоритм в условиях приближенных вычислений на компьютере не накапливает погрешности в вычислениях и всегда приводит к верному конечному результату, в отличие от расходящегося алгоритма, который нельзя использовать для решения задач на компьютерах. Доказать сходимость алгоритма можно теоретически или практическим способом, производя большую серию пробных вычислений и сравнивая полученные результаты на компьютере с теоретическими расчетными данными.

Существуют алгоритмически неразрешимые задачи, для которых невозможно построить алгоритм их решения.

Пример. Задача определения эквивалентности двух программ (две различные программы вычисляют одну функцию) является алгоритмически неразрешимой.

Алгоритмический язык – это язык формализованной записи алгоритма.

Формы записи алгоритма:

1. Словесная форма

Пример описания алгоритма Евклида – нахождения наибольшего общего делителя двух чисел (НОД).

Шаг 1-й. Ввести два числа.

Шаг 2-й. Если числа равны, то взять первое и закончить выполнение алгоритма, иначе – перейти на следующий шаг.

Шаг 3-й. Определить большее число. Заменить большее число на разность большего и меньшего и перейти на шаг 2-й.

Достоинство – универсальность, недостаток – неформальность.

2. Блок – схема

Шаги алгоритма изображаются в виде специальных графических символов, которые связываются линиями передачи управления:

Начало, конец, прерывание

Ввод или вывод данных

Линейный процесс

Магнитный диск

Сортировка

Подпрограмма

Вывод на принтер

Проверка условия

Магнитная лента

Дисплей

Соединитель

Межстраничный соединитель

Блок‑схема алгоритма Евклида – нахождения НОД

Лист бумаги делится на колонки и строки. Строки нумеруются, а колонки обозначаются латинскими буквами. В одной ячейке (зоне) размещается один графический символ. Адрес зоны обозначается именем колонки и номером строки (B3). В соединителе указывается адрес зоны (куда или откуда передается управление). В межстраничном соединителе дополнительно указывается номер листа.

Достоинство: наглядность; недостаток: трудоемкость разработки.