Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОКП.doc
Скачиваний:
13
Добавлен:
01.04.2014
Размер:
267.78 Кб
Скачать

Министерство образования республики Беларусь

Учреждение образования

«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»

Институт информационных технологий

Специальность_________________________________

КОНТРОЛЬНАЯ РАБОТА

По курсу_____________________________________

Вариант №_____

Студент-заочник___ курса

Группы №______________

ФИО __________________

_______________________

Адрес__________________

_______________________

Тел. ___________________

Минск, 2010

  1. Определение алгоритма.

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

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

Основными свойствами алгоритма являются:

I. Дискретность

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

II. Определённость

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

Можно сказать, что в алгоритме не должны присутствовать не определённые слова: немного, чуть-чуть, слегка и т. д.

III. Результативность (или конечность)

Третье свойство - результативность алгоритма. Это свойство подразумевает, что каждый шаг (и алгоритм в целом) после своего завершения даёт среду, в которой все имеющиеся объекты однозначно определены. Если это по каким - либо причинам невозможно, то алгоритм должен сообщать, что решение задачи не существует.

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

IV. Понятность

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

V. Массовость

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

3.Способы описания алгоритма.

Существуют следующие способы записи алгоритмов: на естественном языке, на псевдокоде, графические в виде схем-программ, на языках программирования.

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

Недостатки записи алгоритмов на естественном языке состоят в громоздкости записи, ненаглядности, неточности и многозначности.

Иногда используют полуформальный язык с ограниченным словарём (часто на основе английского языка), промежуточный между естественным языком и языком программирования. Такой язык называется псевдокодом.

Псевдокод – это язык со свободным синтаксисом, близким к естественному языку или языкам программирования, обладающий свойствами:

- краткости записи алгоритмов;

- понятности для ограниченного круга людей;

- естественности и простоты описания логики решения задачи;

- возможности использования собственных символьных конструкций;

- возможности представления алгоритма с произвольной степенью детализации.

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

Графическая запись алгоритмов в виде блок-схем (схем алгоритмов) характеризуется следующими свойствами:

- использованием графических символов, математических записей и записей на естественном языке;

- наглядностью;

- пониманием записи алгоритма любым человеком, знакомым с алгоритмами;

- возможностью представления алгоритма с произвольной степенью детализации;

- использованием простых правил описания последовательностей действий.

Для записи алгоритмов могут использоваться специальные искусственные языки, описания которых могут исполняться на ЭВМ. Такое предписание для ЭВМ рассматривается в качестве программы. Программа - это предписание ЭВМ на языке программирования, позволяющее решать требуемую задачу.

Языком программирования называется (формальный) язык, предназначенный для записи программ, исполняемых на ЭВМ. Синтаксис языка программирования – это набор правил построения конструкций языка. Семантика языка программирования – это совокупность значений (смысл) всех конструкций языка.

Запись алгоритмов на языке программирования характеризуется следующими свойствами:

- точность передачи содержания вычислений;

- понимание человеком-программистом;

- возможность применения ЭВМ для исполнения программы;

- формальность выполнения алгоритма;

- громоздкость записи;

- ненаглядность.

4. Базовые структуры схем алгоритма

Базовые структуры алгоритмов – определённый набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.

Различают три типа базовых структур:

  • Следование;

  • Ветвление;

  • Цикл;

Рисунок 1

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

Структура Ветвление обеспечивает выбор одной из двух альтернатив: если < условие 1 > то

< действие 1 >

иначе

< действие 2 >

конец

Существует сокращенная форма структуры Ветвление, которая позволяет выполнить действие или пропустить его:

если < условие > то < действие >

конец

Обобщением структуры Ветвление является Множественный выбор:

если Var = Const1 то < действие 1 >

если Var = Const2 то < действие 2 >

если Var = ConstN то < действие N >

конец

В зависимости от значения переменной Var выполняется одно из указанных действий, например, если Var = Const3, то выполняется < действие 3 >.

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

  • цикл «от до»;

  • цикл «пока»;

  • цикл «до»;

Цикл «от до» управляет повторением выполнения действия с помощью переменной цикла:

цикл от I:= N1 до N2

< действие >

конец

Здесь I - переменная цикла, N1, N2 - начальное и конечное значения переменной цикла, вычисляются один раз при входе в цикл. Переменная цикла пробегает все следующие друг за другом в порядке возрастания значения от начального до конечного. Изменение значения переменной цикла происходит автоматически после каждого выполнения действия, указанного внутри цикла. В зависимости от соотношения N1 и N2 цикл может не выполниться ни разу (N1>N2) или выполниться (N2-N1+1) раз.

В цикле «пока» управление внутри цикла осуществляется с помощью логического условия:

цикл пока < условие>

< действие >

конец

Выполнение действия повторяется до тех пор, пока истинно условие. Проверка условия осуществляется в начале цикла. Это означает, что действие может не выполниться ни разу. Чтобы такой цикл не был бесконечным, внутри цикла необходимо предусмотреть изменение значения условия с истинного на ложное.

Третий тип структуры цикл «до» имеет вид:

цикл

< действие > до < условие>

конец

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

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

В зависимости от применяемых базовых структур различают следующие типы алгоритмов:

  • линейные;

  • разветвляющиеся;

  • циклические.