Роль алгоритма в программировании

Автор работы: Пользователь скрыл имя, 25 Сентября 2011 в 12:21, курсовая работа

Описание

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

Изучить общие сведения об алгоритме
Описать свойства алгоритмов
Выявить понятие алгоритмического языка
Показать исполнение алгоритма
Рассмотреть использование алгоритма в языках программирования (Pascal, С++)

Содержание

Введение 3


История термина «алгоритм» 5
Общие сведения об алгоритме 13
Свойства алгоритмов 14
Понятие алгоритмического языка 16
Исполнение алгоритма 20
Использование алгоритма в языке программирования на примере
конструкции цикл-ДО

Turbo Pascal 23
С++ 24


Заключение 26

Список литературы

Работа состоит из  1 файл

курсовая информатика.doc

— 167.00 Кб (Скачать документ)

      Последовательность записи алгоритма:

АЛГ название алгоритма 

НАЧ

серия команд алгоритма 

КОН

Например, алгоритм, определяющий движение исполнителя-робота, может иметь вид:

АЛГ в_склад 

НАЧ

вперед

поворот на 90° направо

вперед 

КОН

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

       Очень часто при составлении алгоритмов возникает необходимость использования в качестве вспомогательного одного и того же алгоритма, который к тому же может быть весьма сложным и громоздким. Было бы нерационально, начиная работу, каждый раз заново составлять и запоминать такой алгоритм для его последующего использования. Поэтому в практике широко используют, так называемые, встроенные (или стандартные) вспомогательные алгоритмы, т.е. такие алгоритмы, которые постоянно имеются в распоряжении исполнителя. Обращение к таким алгоритмам осуществляется так же, как и к «обычным» вспомогательным алгоритмам. Алгоритм может содержать обращение к самому себе как вспомогательному и в этом случае его называют рекурсивным. Если команда обращения алгоритма к самому себе находится в самом алгоритме, то такую рекурсию называют прямой. Возможны случаи, когда рекурсивный вызов данного алгоритма происходит из вспомогательного алгоритма, к которому в данном алгоритме имеется обращение. Такая рекурсия называется косвенной.    Пример прямой рекурсии:

АЛГ движение

НАЧ

вперед

вперед

вправо

движение 

КОН

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

ЕСЛИ  условие ЕСЛИ условие ЕСЛИ край

ТО  серия 1 ТО серия ТО вправо

ИНАЧЕ серия2 ВСЕ ИНАЧЕ вперед

ВСЕ ВСЕ

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

ВЫБОР

ПРИ условие 1: серия 1

ПРИ условие 2: серия 2

ПРИ условие N: серия N

ИНАЧЕ серия N+1

ВСЕ

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

ПОКА  условие НЦ

НЦ  серия

Серия ДО условие

КЦ  КЦ

      В случае составления алгоритмов работы с величинами можно рассмотреть и другие возможные алгоритмические конструкции, например, цикл с параметром или выбор. Подробно эти конструкции будут рассматриваться при знакомстве с реальными языками программирования. [3, с.87]

    1. Исполнение  алгоритма

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

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

      Порядок работы с таблицей значений на примере имитации выполнения простого алгоритма, представленного в виде псевдокодов:

  1. Начало;
  2. Список данных:

    a, b, c – целый;

    х –  вещественный;

  1. Ввод (a, b, c);
  2. Вывод (a, b, c);
  3. Если (a>b) То
  4.    х:=2а – 3с;

    Иначе

  1.     х:=2b + 3с;

    Конец – Если 5;

  1. х:=х + с;
  2. Вывод (х);
  3. Конец.

Исходные  данные: 5, 4, 1

На каждом шаге выполнения алгоритма заполняется очередная строка таблицы № 1:

Шаги  алгоритма Переменные Условия Вывод
a b c x
3

4

5

6

7

8

5

5

5

5

5

5

4

4

4

4

4

4

1

1

1

1

1

1

 
 
 
7

8

8

 
 
5>4 да
 
541
 

      После ввода исходных данных а=5, b=4, с=1 и проверки условия а>b переменная х принимает значение 7, а потом меняет его на 8. На печать выводится последнее значение переменной, так как предыдущее стирается.

При работе с большими алгоритмами пользоваться предложенной таблицей становится неудобно. Таблица теряет наглядность, возрастает трудоемкость ее заполнения из-за необходимости многократного переписывания одних и тех же значений переменных. В этом случае целесообразно использовать таблицу, содержащую только три столбца: «Память», «Условие», «Вывод».     Заполнение таблицы № 2  проводиться последовательно, по мере имитации выполнения алгоритма в компьютере.  
 
 
 
 

Память Условие Вывод
а=5

b=4

c=1

x=7,8

5>4 да 541

8

 
  1. При появлении  в алгоритме имени переменной оно записывается в столбец «Память», имитируя выделение в ЭВМ соосветствующей  ячейки памяти с таким же именем.
  2. Первое значение, которое получит переменная, записывается в столбец «Память» в выделенную для нее строку. Например, если переменная а получит новое значение 7, то в строке а запись будет иметь вид: а=5,7. В памяти компьютера новое значение переменной будет записано на место старого.
  3. Столбцы «Условие» и «Вывод» заполняются по мере появления соответствующих предписаний в алгоритме.

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

      Всякий алгоритм составляется для конкретного исполнителя в рамках его системы команд. Исполнителем является комплекс ЭВМ + система программирования. Программист составляет программу на том языке, на который ориентирована система прграммирования. Компьютер с работающей системой программирования на Pascal называют Pascal -машиной, на Visual Basic называют Visual Basic- машиной и т. п. [1, с.35] 
 

    1. Использование алгоритма в языке  программирования на примере конструкции цикл-ДО
 

5.1 Turbo Pascal

      Цикл-ДО реализуется на языке  Turbo Pascal с помощью оператора Reperat и имеет следующий вид:

     Reperat оператор1; оператор2; ...; Until условие;

     Здесь условие – это логическое  выражение, определяющее условие  окончания цикла. В данной конструкции  операторы тела цикла, располагающиеся между словами  Reperat и Until, заключать в операторные скобки Begin...End необязательно.

      Работает цикл-ДО так: сначала  выполняются операторы тела цикла,  затем вычисляется значение логического  выражения, стоящего в условии.  Если условие False, то вновь выполняются операторы тела цикла, если же условие True, то цикл заканчивается.

      Если проверяемое условие принимает  значение True с самого начала, то операторы тела цикла выполняются только один раз. Если проверяемое условие никогда не принимает значение True, то операторы тела цикла будут выполнятся бесконесное число раз (зацикливание).

   

 Пример:

...х:=5;

     Reperat

          с:=с+1/х;

         х:=х-1;

     Until   х=0; ...

      В этом примере сначала выполняются  операторы с:=с+1/х и х:=х-1, а затем проверяется условие х=0. Если х не равно 0, то операторы тела цикла выполняются повторно, если же х=0, то управление прередается оператору, стоящему за Until х=0.

      Программа вычмсления суммы членов  бесконечного ряда s=1+1/2+1/3+...+1/i+... с точностью до s>е при использовании оператора Reperat будет выглядеть так:

Program Sum;

         Var   s,e:real;   i:integer;

Begin

         Read (e);   WriteLn (‘e=’,e);

         s:=0;   i:=1;

         Reperat

                    s:=s+1/I;

                    i:=i+i;

          Until   s>e;

         WriteLn (‘s=’, s);

End. [1, с.106]

5.2 С++

     Цикл-ДО реализуется в языке С++ с помощью оператора do-while и имеет следующий вид:

do   {операторы;}

while (условие);

     Работает цикл-ДО так: сначала  выполняются операторы тела цикла, затем вычисляется зачение выражения, стоящего в условии. Если условие истинно (любое ненулевое значение), то вновь выполняются операторы тела цикла; если же условие ложно (нуль), то цикл заканчивается.

      Если проверяемое условие ложно  с самого начала, то операторы  тела цикла выполняются только  один раз. Если проверяемое  условие никогда не принимает  значение «ложь» (нуль), то операторы  тела цикла будут выполнятся  бесконечное число раз (зацикливание).

Информация о работе Роль алгоритма в программировании