Автор работы: Пользователь скрыл имя, 23 Марта 2013 в 17:55, курсовая работа
Цель и задачи. Выбрав именно эту работу для курсовой работы, перед нами ставиться задача, научиться работать с циклами, при каких условия необходимо применять тот или иной вид циклической структуры что бы избежать логической ошибки. Так как язык программирования основывается на определенных зарезервированных словах и символах, поставив цель и выучив которые, мы сможем создавать любые базы данных и пользоваться ими, используя законы программирования. Порядок действий и их повторения позволит писать программу понятным для других пользователей языком, при этом научимся высвобождать в памяти программы достаточно места.
Введение____________________________________________________
3
Циклические алгоритмы на языке Паскаль ____________________
5
Решение циклических алгоритмов___________________________
13
Работа с массивами________________________________________
22
Заключение_________________________________________________
32
Список использованной литературы_________________________
Негосударственное образовательное учреждение высшего профессионального образования Московский технологический институт «ВТУ» |
Факультет Техники и современных технологий
Кафедра Информатики и автоматизации
КУРСОВАЯ РАБОТА
по дисциплине Программирование на языке высокого уровня
на тему:
«Создание программы циклической структуры. Работа с массивами»
Уровень образования бакалавриат
Направление Информатика и вычислительная техника
Профиль (или магистерская программа) Сети ЭВМ и телекоммуникации
Выполнил (а):
Студент (ка) __2__ курса
Форма обучения заочная
Фельзинг Владимир Александрович
(ФИО полностью)
Москва 2011
Оглавление
Введение______________________ |
3 |
|
5 |
|
13 |
|
22 |
Заключение____________________ |
32 |
Список использованной
литературы____________________ |
34 |
Введение
Актуальность
выбранной темы для курсовой работы
как «Создание программы
К настоящему времени было создано множество различных языков программирования от самых примитивных до близких к естественному языку человека. По мере развития вычислительной техники возникали разные методики программирования, на каждом этапе создавался новый более эффективный подход.
Хотя Паскаль был разработан как язык для обучения программированию, но благодаря легкости в изучении и наглядности написанных на нем программ он впоследствии получил широкое развитие и в настоящее время считается одним из самых используемых языков.
Цель и задачи. Выбрав именно эту работу для курсовой работы, перед нами ставиться задача, научиться работать с циклами, при каких условия необходимо применять тот или иной вид циклической структуры что бы избежать логической ошибки. Так как язык программирования основывается на определенных зарезервированных словах и символах, поставив цель и выучив которые, мы сможем создавать любые базы данных и пользоваться ими, используя законы программирования. Порядок действий и их повторения позволит писать программу понятным для других пользователей языком, при этом научимся высвобождать в памяти программы достаточно места.
Обзор источников. Рассмотрим основные использованные источники.
Так Краснов С.В. в своей книге «Программирование на языке высокого уровня Turbo Pascal » рассматривает вопросы разработки программы[8,c.2], уделяя большое внимание основным понятиям, операторам ввода и вывода данных, составлению программ, реализующих ветвление, циклические процессы, работе с массивами, процедурами и записями. Понятия циклов и их основные условия применения, использования и ограничения, что позволяет безошибочно действовать при создании программы.
В своей книге «Программирование на языке Паскаль» Перминов О.Н. изложил детальное и формальное изложение всех конструкций языка[11,c.3], а приведенные примеры изложены доступным языком с использованием различных приемов программирования. Подробно расписаны циклические алгоритмы, все их разновидности с приведение подробных примеров, что позволяет свободно ориентироваться в большом потоке информации, выбрать для своей работе именно то, что нужно для достижения поставленной цели.
Достаточно часто необходимо не только выполнить какую-либо последовательность действий, но и повторить ее определенное число раз. Например, если мы составляем алгоритм приготовления какого-либо блюда, где есть операция «положить в кастрюлю 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
Иногда необходимо выполнение одного цикла внутри другого. Такая конструкция называется вложенными циклами (см. рисунок 8).
Допускается вложение любых типов циклов друг в друга[2,c.10], а также можно вкладывать неограниченное количество циклов.
Рис. 8. Один цикл внутри другого
Мы рассмотрели блок-схемы и принципы циклических алгоритмов, теперь необходимо составить программы с их применением.
Графическое отличие циклических алгоритмов мы рассмотрели, теперь попробуем создать алгоритм на примере цикла While-do.
Для организации ввода чисел необходима переменная. Объявим ее, добавив в окно программы [19]
var a:integer;
Для подсчета произведения также необходима переменная. Для того, чтобы объявить ее, добавим следующую строку
mult:integer;
В нашем случае для цикла while-do необходим счетчик. Объявим переменную count, для чего добавим в текст программы
count:integer;
Проинициализируем счетчик.[15] Для этого в программе появляется следующая строка
count:=1;
Результат занесенных с трок мы видим на рисунке 9.
Рис. 9. Введение счетчика в программу
Проинициализируем переменную, отвечающую за произведение чисел. Для этого введем строку
mult:=1;
Переменная инициализируется единицей, а не нулем,[9,c.203] т.к. мы будем перемножать числа, а не складывать.
Организуем цикл while-do. Для этого создадим в программе строку
while count<11 do
Значение "11" в качестве граничного результата выбрано в связи с тем, что при невыполнении условия цикл больше не выполняется. Нам необходимо прекращение выполнения цикла после 10-й итерации.
Организуем операторные скобки, для чего введем дополнительную строку в программу
begin
Введем окончание циклической составляющей
end;
Программы пишутся для пользователей, которые хорошо разбираются в своей предметной области, в которой они используют программу. Пользователи не обязаны понимать, что и как реализовал в этой программе разработчик. Поэтому прикладные программы должны иметь удобный для пользователя интерфейс, снабжаться удобными подсказками, как о запрашиваемых данных, так и о выведенных результатах. Эти подсказки должны быть лаконичны и понятны пользователю.
Необходимо показать пользователю, какие данные необходимо ввести с клавиатуры. Для этого в программу строку
write('Введите ',count,'-ое значение:');
Результат заданных строк мы видим на рисунке 10.
Рис. 10. Ввод данных с клавиатуры
Запросим переменную с клавиатуры. Для этого введем в строку ввода
readln(a);
Увеличим счетчик на 1[3,c.82]. Для этого введем с клавиатуры
count:=count+1;
Добавим полученное значение к произведению. Для этого введем с клавиатуры
mult:=mult*a;
Добавим вывод на экран строки результата. Для этого необходимо в программу добавить строку
writeln('Произведение чисел равно: ',mult);
Дошли до пункта проверки программы. Для запуска программы выберем пункт меню «Run» смотрите рисунок 11.
Рис. 11. Запуск программы
Запустим программу, введем произвольные числа в диапазоне от 1 до 5 и посмотрим результат на рисунке 12
Рис. 12. Результат программы
Аналогично изложенной программе, давайте создадим алгоритм со вложенным циклом используя цикл for-to.
Решим задачу: необходимо запросить с клавиатуры 10 чисел и найти их среднее арифметическое.
Для организации цикла for-to необходимо использование переменной-счетчика.[14,c.56] Объявим такую переменную. Для этого создадим строчку и добавим её в программу
var count:integer;
Начало написания программы смотрите на рисунке 13
Рис. 13. Введение счетчика в программу
Для запроса целочисленных данных от пользователя необходима переменная типа integer. Для этого введем строку программы
Информация о работе Создание программы циклической структуры. Работа с массивами