Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Алгоритмы. Определение, основные типы (сходящиеся, линейные, циклические) и свойства. Формы записи алгоритмов с примерами



Алгоритмы. Определение, основные типы (сходящиеся, линейные, циклические) и свойства. Формы записи алгоритмов с примерами.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сортировка

Дисплей

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

соединитель

Рис. 1.1.1. Основные графические символы блок‑схем

 
   

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

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

3. Псевдокоды

Псевдокоды - полуформальный язык, в котором вводятся ключевые слова, имеющие однозначное толкование. Эти слова выделяются в тексте (цветом, толщиной, размером букв, шрифтом). За ключевым словом на естественном языке описывается шаг алгоритма.

Пример алгоритма Евклида

Алгоритм ‑ определение наибольшего общего делителя чисел А, В.

Ввод двух чисел A, B.

Делать пока А не равно В.

Если А>В То А=А-В Иначе В=В-А Конец если

Конец делать

Вывести значение А на печать.

Конец алгоритма

Достоинства: универсальность, возможность постепенной детализации, близость к программе (ключевые слова подобны командам).Недостаток: уступает по наглядности блок-схеме.

4. Метод HIPO (иерархия, ввод, обработка, вывод). Исполь­зуется для описания больших программных проектов. Проект состоит из оглавления, обзорных и детальных таблиц. В оглавлении указываются назначение проекта и список основных функций. Каждая функция в дальнейшем расписывается в виде иерархической системы обзорных таблиц. Каждой обзорной таблице присваивается код, который включает в себя код вышестоящей таблицы (через точку); таким образом, код показывает ветвь проекта (1.2, 1.2.1, 1.2.2). Детальные таблицы заканчивают описание всего проекта и являются терминальными таблицами в дереве обзорных таблиц. Детальная таблица состоит из трех колонок: входная информация, обработка и выходная информация.

Достоинства: структурность, возможность постепенной дета­лизации; недостаток: неудобна для малых проектов.





Дата публикования: 2014-12-11; Прочитано: 730 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...