Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

Поиск

Алгоритмы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 
 


Начало, конец, прерывание Подпрограмма

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

Линейный процесс Проверка условия

Магнитный диск Магнитная лента

 

 
 


Сортировка Дисплей

 

 
 


Межстраничный

Соединитель соединитель

 

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

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

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

Псевдокоды

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

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

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

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

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

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

Конец делать

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

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

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

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

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

 

Билет 2



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 142; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.72.24 (0.006 с.)