Роль алгоритма в программировании
Курсовая работа, 25 Сентября 2011, автор: пользователь скрыл имя
Описание
Целью курсовой работы является определение роли алгоритма в программировании. Для достижения поставленной цели необходимо решить ряд задач:
Изучить общие сведения об алгоритме
Описать свойства алгоритмов
Выявить понятие алгоритмического языка
Показать исполнение алгоритма
Рассмотреть использование алгоритма в языках программирования (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]
- Исполнение алгоритма
Практическая реализация всех предусмотренных действий по получению результата для конкретных значений аргументов осуществляется в процессе исполнения алгоритма.
При исполнении алгоритма компьютером значения величин храняться в его памяти. При выполнении алгоритма человеком роль памяти играет таблица значений переменных. Такие таблицы широко используются, поскольку они помогают понять динамику выполнения алгоритмов различных типов. Следует отметить, что в прцессе работы значения переменных могут изменяться, однако в памяти остается только последнее вычесленное значение.
Порядок работы с таблицей значений на примере имитации выполнения простого алгоритма, представленного в виде псевдокодов:
- Начало;
- Список данных:
a, b, c – целый;
х – вещественный;
- Ввод (a, b, c);
- Вывод (a, b, c);
- Если (a>b) То
- х:=2а – 3с;
Иначе
- х:=2b + 3с;
Конец – Если 5;
- х:=х + с;
- Вывод (х);
- Конец.
Исходные данные: 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 |
- При появлении
в алгоритме имени переменной
оно записывается в столбец «Память»,
имитируя выделение в ЭВМ
соосветствующей ячейки памяти с таким же именем. - Первое значение, которое получит переменная, записывается в столбец «Память» в выделенную для нее строку. Например, если переменная а получит новое значение 7, то в строке а запись будет иметь вид: а=5,7. В памяти компьютера новое значение переменной будет записано на место старого.
- Столбцы «Условие» и «Вывод» заполняются по мере появления соответствующих предписаний в алгоритме.
Данной методикой пользуются на алгоритмическом уровне решения задачи с помощью ЭВМ – для проверки соответствия разработанного алгоритма заданным требованиям. Ее можно рекомендовать и для поиска ошибок в уже существующих алгоритмах, а также для анализа алгоритмов и программ, на которые документация имеется не в полном объеме.
Всякий алгоритм составляется для конкретного
исполнителя в рамках его системы команд.
Исполнителем является комплекс ЭВМ +
система программирования. Программист
составляет программу на том языке, на
который ориентирована система прграммирования.
Компьютер с работающей системой программирования
на Pascal называют Pascal -машиной, на Visual Basic
называют Visual Basic- машиной и т. п. [1, с.35]
- Использование алгоритма в языке программирования на примере конструкции цикл-ДО
5.1 Turbo Pascal
Цикл-ДО реализуется на языке Turbo Pascal с помощью оператора Reperat и имеет следующий вид:
Reperat оператор1; оператор2; ...; Until условие;
Здесь условие – это
Работает цикл-ДО так: сначала
выполняются операторы тела
Если проверяемое условие
Пример:
...х:=5;
Reperat
с:=с+1/х;
х:=х-1;
Until х=0; ...
В этом примере сначала
Программа вычмсления суммы
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 (условие);
Работает цикл-ДО так: сначала выполняются операторы тела цикла, затем вычисляется зачение выражения, стоящего в условии. Если условие истинно (любое ненулевое значение), то вновь выполняются операторы тела цикла; если же условие ложно (нуль), то цикл заканчивается.
Если проверяемое условие