Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
23-04-2013_14-19-08 / ГОСЫ-информатика и программирование.doc
Скачиваний:
30
Добавлен:
13.05.2015
Размер:
162.3 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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