| Негосударственное образовательное учреждение высшего профессионального образования Московский технологический институт «ВТУ» |
Факультет Техники и современных технологий
Кафедра Информатики и автоматизации
КУРСОВАЯ РАБОТА
по дисциплине Программирование на языке высокого уровня
на тему:
«Создание программы циклической структуры. Работа с массивами»
Уровень образования бакалавриат
Направление Информатика и вычислительная техника
Профиль (или магистерская программа) Сети ЭВМ и телекоммуникации
Выполнил (а):
Студент (ка) __2__ курса
Форма обучения заочная
Фельзинг Владимир Александрович
(ФИО полностью)
Москва 2011
Оглавление
Введение____________________________________________________ | 3 |
1. Циклические алгоритмы на языке Паскаль ____________________ | 5 |
2. Решение циклических алгоритмов___________________________ | 13 |
3. Работа с массивами________________________________________ | 22 |
Заключение_________________________________________________ | 32 |
Список использованной литературы____________________________ | 34 |
Введение
Актуальность выбранной темы для курсовой работы как «Создание программы циклической структуры. Работа с массивами» очень велика. В нашей повседневной жизни мы постоянно сталкиваемся с повторяющимися действиями, выполняя которые мы затрачиваем огромное количество времени, но упростить или отменить их зачастую просто не возможно. Однако век высоких технологий приносит свои плоды, теперь с помощью языка программирования возможно описать и тем более упростить любые действия в том числе нет необходимости описывать повторяющиеся действия шаг за шагом, достаточно использовать циклические алгоритмы. В этой курсовой работе нами будут исследованы все возможные варианты описания циклических алгоритмов и способы работы с ними.
К настоящему времени было создано множество различных языков программирования от самых примитивных до близких к естественному языку человека. По мере развития вычислительной техники возникали разные методики программирования, на каждом этапе создавался новый более эффективный подход.
Хотя Паскаль был разработан как язык для обучения программированию, но благодаря легкости в изучении и наглядности написанных на нем программ он впоследствии получил широкое развитие и в настоящее время считается одним из самых используемых языков.
Цель и задачи. Выбрав именно эту работу для курсовой работы, перед нами ставиться задача, научиться работать с циклами, при каких условия необходимо применять тот или иной вид циклической структуры что бы избежать логической ошибки. Так как язык программирования основывается на определенных зарезервированных словах и символах, поставив цель и выучив которые, мы сможем создавать любые базы данных и пользоваться ими, используя законы программирования. Порядок действий и их повторения позволит писать программу понятным для других пользователей языком, при этом научимся высвобождать в памяти программы достаточно места.
Обзор источников. Рассмотрим основные использованные источники.
Так Краснов С.В. в своей книге «Программирование на языке высокого уровня Turbo Pascal » рассматривает вопросы разработки программы[8,c.2], уделяя большое внимание основным понятиям, операторам ввода и вывода данных, составлению программ, реализующих ветвление, циклические процессы, работе с массивами, процедурами и записями. Понятия циклов и их основные условия применения, использования и ограничения, что позволяет безошибочно действовать при создании программы.
В своей книге «Программирование на языке Паскаль» Перминов О.Н. изложил детальное и формальное изложение всех конструкций языка[11,c.3], а приведенные примеры изложены доступным языком с использованием различных приемов программирования. Подробно расписаны циклические алгоритмы, все их разновидности с приведение подробных примеров, что позволяет свободно ориентироваться в большом потоке информации, выбрать для своей работе именно то, что нужно для достижения поставленной цели.
1. Циклические алгоритмы на языке Паскаль
Достаточно часто необходимо не только выполнить какую-либо последовательность действий, но и повторить ее определенное число раз. Например, если мы составляем алгоритм приготовления какого-либо блюда, где есть операция «положить в кастрюлю 10 ложек сахара», то мы можем столкнуться с тем, что нам необходимо выполнить операцию «положить в кастрюлю 1 ложку сахара» 10 раз подряд, т.е. наш алгоритм будет выглядеть следующим образом:
положить в кастрюлю 1 ложку сахара;
положить в кастрюлю 1 ложку сахара;
положить в кастрюлю 1 ложку сахара;
положить в кастрюлю 1 ложку сахара;
положить в кастрюлю 1 ложку сахара;
положить в кастрюлю 1 ложку сахара;
положить в кастрюлю 1 ложку сахара;
положить в кастрюлю 1 ложку сахара;
положить в кастрюлю 1 ложку сахара;
положить в кастрюлю 1 ложку сахара;
Такая запись не выгодна ни с точки зрения времени написания программы, ни с точки зрения расхода памяти. С использованием циклов алгоритм можно сократить, например, так:
В кастрюле 0 ложек сахара.
Положить в кастрюлю 1 ложку сахара.
Если в кастрюле меньше 10 ложек сахара, повторить п.2.
Схематично этот алгоритм представлен на рисунке 1.
Рис. 1. Схема алгоритма
Разобраться во всем разнообразии циклов не сложно, отличие лишь в том известно ли нам количество повторений, если да, то перед нами арифметический цикл [5]for (цикл «ДЛЯ», цикл со счетчиком), а если нет, то это итерационный цикл.В языке Pascal итерационные циклы подразделяются на два вида алгоритмических циклов:
цикл while-do (цикл «ДО», цикл с предусловием);
цикл repeat-until (цикл «ПОКА», цикл с постусловием).[6]
Подробнее эти виды циклов будут рассмотрены ниже.
Рис. 2. Циклический алгоритм
Данный цикл также называется итеративным. Блок-схема алгоритма цикла представлена на рисунке 2.
Синтаксис:
for <счетчик цикла>:=<начальное значение> to <конечное значение> do <оператор>;
for <счетчик цикла>:=<начальное значение> downto <конечное значение> do <оператор>;
Данный цикл исполняется до тех пор, пока переменная — счетчик цикла не выходит за заданные пределы.[4,c.40] При этом на каждой итерации цикла счетчик увеличивается на 1 (to) или уменьшается на 1 (downto). При этом возможно использование значения счетчика, например, для расчетов внутри цикла. За пределами цикла сохранение последнего значения счетчиком цикла не гарантируется.
Выход из цикла производится, если на очередной итерации значение счетчика цикла вышло за пределы диапазона значений цикла. Таким образом, если для цикла с to указать начальное значение больше конечного, то цикл не отработает ни разу.
Рис. 3. Итеративный цикл
Данный цикл называется также циклом с предусловием. Блок-схема алгоритма цикла представлена на рисунке 3.
Синтаксис:
while (условие) do <оператор>;
Данный цикл исполняется до тех пор, пока условие истинно. Как только условие становится ложным, выполнение цикла прерывается. Если условие ложно изначально[1], цикл не будет выполнен ни разу.
Рис. 4. Цикл с предисловием
Данный цикл называется также циклом с постусловием. Блок-схема алгоритма цикла показана на рисунке.
Синтаксис:
repeat
<операторы>
until (условие);
Данный цикл исполняется до тех пор, пока условие ложно. Как только условие становится истинным, выполнение цикла прерывается. Если условие истинно изначально, цикл будет выполнен один раз. Следует обратить внимание, что конструкция repeat-until выполняет роль операторных скобок, поэтому внутри нее возможно размещение нескольких операторов.
Рис. 5. Цикл с постусловием
Операторы break и continue вызываются внутри циклов.
Оператор break прерывает выполнение цикла и передает управление следующему за циклом оператору (см. рис. 6).
Оператор continue прерывает текущую итерацию цикла и передает управление следующей итерации цикла (repeat-until) [7,c.25], или условию, предшествующему этой итерации (for, while-do)(см. рис. 7).
Следует заметить, что при использовании break для выхода из цикла for счетчик цикла не портится.
Рис. 6. Цикл с оператором break
Рис. 7. Цикл с оператором continue