Вход

создание программы циклической структуры. Работы с массивами.

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 288145
Дата создания 03 октября 2014
Страниц 35
Мы сможем обработать ваш заказ 24 мая в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 250руб.
КУПИТЬ

Описание

Из проведенной работы можно сделать вывод, что отсутствие циклов привело бы к определенным затруднениям, память программы оказалась бы загружена, не говоря уже о трудоемкости и быстродействии программы.
В ходе работы были рассмотрены циклы начиная с арифметического, заканчивая итерационным циклом, делимый в свою очередь делится на:
- цикл for (цикл «для» со счетчиком, в котором значения должны обладать порядковым типом, т.к. значение переменной цикла увеличивается или уменьшается на единицу при каждом его прохождении);
- цикл while-do (цикл «до» с предусловием, который выполняется до тех пор, пока выражение имеет истинное значение (true), но стоит выражению принять ложное значение (false), как произойдет переход к следующему оператору);
- цикл repeat-until (цикл с постусловием «пока» обла ...

Содержание

Введение 3
Глава 1. Языки программирования высокого уровня 5
Глава 2. Решение циклических алгоритмов 9
Глава 3. Работа с массивами 24
Заключение 35
Список использованной литературы 37

Введение

В своей повседневной жизни мы довольно часто сталкиваемся с повторяющимися действиями, тратим на них большое количество времени и сил, но сделать проще или вовсе отменить эти действия зачастую не получается. Однако с началом появления разнообразных языков программирования, стало возможным описание и упрощение любых действий, например, чтобы предотвратить часто повторяющиеся действия следует использовать циклические алгоритмы. Из вышесказанного ясно, что актуальность избранной темы заключается в необходимости упрощения повторяющихся действий на примере повседневной деятельности применив средства программирования. Объектом исследования в данной курсовой являются возможности языков высокого уровня в работе с циклами и массивами. В данной курсовой работе будут изучены все возможные варианты циклических алгоритмов, и будет продемонстрирована работа с массивами на языке высокого уровня Pascal.
На данный момент существует великое множество различных языков программирования, ход развития которых шел вместе с ходом развития вычислительной техники. Язык Pascal разрабатывался для обучения программированию, однако ввиду легкости изучения и наглядности написанных на нем программ он получил широкое распространение и дальнейшее развитие. Сегодня, Pascal считается одним из самых используемых языков во всем мире.
Целью в данной работе является решение задач прямо связанных с применением циклов — когда нужно применить ту или иную форму циклической структуры, чтобы не возникло ошибок и алгоритм был эффективен. Для ее достижения выделим основные задачи:
- Классификация основных языков программирования, описание особенностей их построения, достоинства и недостатки языков, этапы разработки программ и основные критерии оценки их качества.
- Основные принципы организации алгоритмов циклических структур. Примеры организации циклических структур в различных языках программирования высокого уровня, выполнение сравнительного анализа и выделение особенностей их построения.
- Классификация массивов по различным категориям построения, их достоинства и недостатки. Организация работы с массивами статического и динамического типов в различных языках программирования высокого уровня, сравнительный анализ и выделение особенности их построения.

Алгоритм действий и их повторения позволит изобразить программу понятным для других пользователей языком.
Основные пособия к данной работе. В книге С. Немнюгина «TurboPascal» разбираются основные вопросы по программированию в среде Pascal, уделяется пристальное внимание основным понятиям, подробно изображается работа с процедурами, операциями над строками, в том числе и работа с массивами, а также работа с множествами, системное программирование, программирование графики, рекурсивные алгоритмы и введение в обьектно-ориентированное программирование. Также, в своей книге «TurboPascal. Наиболее полное руководство» В. Фаронов дает детальное изложение всех конструкций языка, приводит многочисленные примеры программ написанные доступным языком и с использованием различных приемов программирования. Хорошо расписаны все виды циклических алгоритмов с приведением множества примеров, что предоставляет возможность свободно ориентироваться в большом потоке информации и выбрать именно то, что нужно для решения поставленной в курсовой работе цели.

Фрагмент работы для ознакомления

6. Отладка и тестирование программы. - устранение ошибок в программе. Тестирование позволяет вести их поиск и, в конечном счете, убедиться в том, что полностью отлаженная программа дает правильный результат.Глава 2. Решение циклических алгоритмовЧасто у нас возникает необходимость в повторении какой-либо последовательности действий определенное количество раз. К примеру, при составлении алгоритма приготовления земляничного варенья, где есть действие «положить одну ст. ложку сахара», мы сталкиваемся с необходимостью выполнения операции «положить одну ст. ложку сахара» 10 раз. Таким образом алгоритм принимает следующий вид:положить в емкость одну ст. ложку сахара;положить в емкость одну ст. ложку сахара;положить в емкость одну ст. ложку сахара;положить в емкость одну ст. ложку сахара;положить в емкость одну ст. ложку сахара;положить в емкость одну ст. ложку сахара;положить в емкость одну ст. ложку сахара;положить в емкость одну ст. ложку сахара;положить в емкость одну ст. ложку сахара;положить в емкость одну ст. ложку сахара;Реализуя такую запись, мы тратим много личного времени и памяти программы. Чтобы это предотвратить, следует сократить алгоритм, применив циклы, после чего он будет выглядеть следующим образом:В кастрюле 0 ст. ложек сахараДобавить в кастрюлю одну ст. ложку сахараВ случае, если в кастрюле ложек сахара меньше 10, то применяем п. 2Схематично данный алгоритм показан на рисунке 1.1426680165600Рис. 1 — Схема алгоритма 2361602124000Различие циклов заключается в том, известно ли нам количество повторений, в том случае, если известно, тогда такой цикл будет арифметическим, а если нет, то перед нами предстанет итерационный цикл. Последние, в свою очередь в языке Паскаль делятся на два вида алгоритмических циклов: первый, это конструкция while-do (цикл с предусловием); а второй, это repeat-until (цикл с постусловием). Рассмотрим эти виды более подробнее. Рис. 2 — Циклический алгоритм.Циклический (итеративный) алгоритм имеет следующий синтаксис:for <счетчик>:=<начальное значение> to <конечное значение> do <оператор>;for <счетчик цикла>:=<начальное значение> downto <конечное значение> do <оператор>;Цикл будет исполняться до тех пор, пока показатель счетчика не выйдет за заданный диапазон. Каждая итерация цикла увеличивает показатель счетчика на единицу (to) или уменьшает на единицу (downto). Можно использовать значение счетчика, например, для расчетов осуществляемых внутри цикла. Когда последнее значение вышло за пределы счетчика цикла, его сохранения не происходит. Цикл прекращает свое действие тогда, когда на очередной итерации, показатель счетчика вышел за установленные пределы значений цикла. Также при указании в начальном значении индекса большего, чем в конечном, такой цикл работать не будет.center102240Рис. 3 — Итеративный циклСинтаксис итеративного (цикла с предусловием) имеет такой вид:repeat<операторы>until (условие);Цикл будет исполняется до тех пор, пока условие является ложным (false). Как только условие примет значение истина (true), выполнение цикла будет прервано. Если условие является истинным изначально, тогда цикл выполнится один раз. Следует обратить внимание на то, что конструкция repeat-until выполняет роль операторных скобок, что позволяет размещать внутри нее более одного оператора.164520381600Рис. 4 — Цикл с постусловиемОператоры break и continue вызываются внутри циклов. Break выполняет прерывание выполнения цикла и затем передает управление следующему после цикла оператору. Continue осуществляет прерывание текущей итерации цикла, после чего передает управление следующей итерации цикла (repeat-until), или условию, предшествующему этой итерации (for, while-do). Следует отметить, что при использовании оператора break, для выхода из цикла for, счетчик цикла не портится.322704048888036720160200 Рис. 5 — Цикл с оператором break Рис. 6 — Цикл с оператором continueКогда требуется выполнение одного цикла внутри другого, понадобится конструкция с вложенными циклами (см. рисунок 7). Допускается вложение любых типов циклов и любое их количество друг в друге.278640114480Рис. 7 — Вложенные циклыРассмотрев блок-схемы и основные принципы циклических алгоритмов, переходим к созданию программ с их применением.Ниже представлен пример цикла на языке C:while(условие){ оператор;}...продолжение...илиwhile(условие){операторы; ... }...продолжение...Пример цикла:int x;x = 10;While (x > 0) { Printf ("x=%d\n", x);x = x - 1;} printf("Конец.\n");printf("x стало равно %d.\n", x);/* печатает 0 */Цикл for ("для каждого") Этот цикл является просто иной записью одного из вариантов цикла while. Он служит обычно для выполнения определенного действия несколько раз, не "пока истинно условие", а "выполнить N-раз". У такого цикла есть "переменная цикла" или "счетчик повторений".int i;i = a; /* начальная инициализация */while(i < b){ тело_цикла;i += c; /* увеличение счетчика */}...продолжение...переписывается в видеint i;for(i=a; i < b; i += c) тело_цикла;Тело_цикла будет выполнено для значений iaa+ca+c+c...пока i < bВ простейшем случае:for(i=1; i <= N; i++)Printf ("i=%d\n", i)i означает "номер повторения".Цикл на языке С++Вычислим сумму всех целых чисел от 0 до 100. Для этого воспользуемся оператором цикла for:int sum = 0;int i;for (i = 1; i <= 100; i = i + 1)sum = sum + i; //Циклы в языке JavaОсновной оператор цикла в языке Java— оператор while — выглядит так:while (логВыр) операторЦиклические алгоритмы в различных языках программирования высокого уровня мы рассмотрели, теперь попробуем записать алгоритм используя цикл while-do в программу — интерпретатор программного кода Borland Turbo Pascal.Для организации ввода чисел нам понадобится переменная. Объявляем ее, и добавляем в окно программы следующую строку:var e:integer; Для подсчета произведения также понадобится своя переменная. Прописываем ее следующей строкой в коде:m:integer; В нашем случае цикл while-do требует счетчик. Прописываем новую переменную count. Как можно заметить, всем переменным присваивается тип данных — integer. Данный тип данных является целочисленным и служит для представления целых чисел.count:integer; Теперь проинициализируем счетчик. Для этого в программе прописываем:-73800829439count:=1;Результат записанных строк можно наблюдать на рисунке 8.Рис. 8 — Введение счетчика в программу.Создадим переменную, отвечающую за произведение чисел. Пропишем:m:=1;Переменная инициализируется не нулем, а единицей потому, что мы собираемся перемножать числа, а не складывать.Для организации цикла while-do вписываем в программу строку:while count<11 do Такое значение в качестве граничного результата выбрано для того, чтобы при невыполнении условия цикл больше не выполнялся. Нам нужно, чтобы цикл прекращал выполнение после 10-й итерации.Организуем операторные скобки, прописывая дополнительные строки:begin и окончание циклической составляющей:end;Программное обеспечение пишется для тех пользователей, которые хорошо разбираются в своей предметной области, в которой они применяют программу. В их список обязанностей не входит понимание, что и как реализовал в этой программе программист-разработчик. Поэтому прикладные программы должны обладать удобным интерфейсом, содержать подсказки, чтобы в случае возникновения вопросов у пользователя, они были максимально быстро решены. Подсказки должны быть легкими для понимания и изложены в краткой форме.Чтобы показать пользователю в программе, какие конкретно данные она требует для ввода с клавиатуры, прописываем новую строку:write('Введите ',count,'-ое значение:');Результат заданных строк мы видим на рисунке 9.21600102960Рис. 9 — Ввод данных с клавиатурыЗапросим переменную с клавиатуры. Для чего пропишем:readln(a);Далее, увеличиваем счетчик на 1:count:=count+1;Добавляем полученное значение к произведению:m:=m*a;Организуем вывод на экран строки с результатом. Прописываем:writeln('Произведение введенных чисел равняется: ',m);Проверим действие программы, выбрав пункт меню «Run» (либо ctrl+f9).Текст программы и ее запуск представлен на рисунке 1017280138960Рис. 10 — Запуск программыЗапускаем программу и вводим любые числа входящие в диапазон от 1 до 5.center102240Рис. 11 — Результат выданный программойТеперь попробуем создать алгоритм с вложенным циклом применив цикл for-to. Для этого запросим с клавиатуры 10 чисел и найдем их среднее арифметическое значение.Для организации цикла for-to необходимо объявить переменную-счетчик. Объявляем переменную прописав:var count:integer;Для запроса целочисленных данных от пользователя нужна переменная типа integer. Для этого сопоставляем переменную «a» c нужным типом:a:integer;Создадим новую переменную в которой будут суммироваться данные, вводимые пользователем.sum:integer;Переменная, отвечающая за суммирование, должна быть проинициализирована перед использованием, поэтому в качестве значения переменной устанавливаем - 0:sum:=0;7560105480Рис. 12 — Ввод элемента для суммированияСоздадим цикл для ввода 10-ти значений, которые буду вводиться пользователем. Пропишем в коде программы:for count:=1 to 10 doПри использовании в цикле нескольких операций, нужно ставить операторные скобки. Для этого пропишем:beginиend;Организуем ввод с клавиатуры очередного значения. Прописываем:readln(a);В результате наш алгоритм выглядит таким образом, см. рисунок 13.26640182880Рис. 13 — Ввод нового значениямиПрописываем новую строку, которая будет объяснять пользователю, что конкретно необходимо ввести с клавиатуры на запрос программы:write (‘Введите ‘, count, ‘-тое значение:’);Не забываем, что в каждой итерации цикла нужно прибавить новое значение к сумме:sum:=sum+a;Теперь осталось вывести результат на экран, прописываем:writeln (‘Ср. арифметическое = ’, sum/10);Запускаем как обычно пунктом меню «Run» либо нажатием комбинации клавиш ctrl+f9. Ниже представлен текст полной программы.center102240Рис. 14 — Полный текст программыПри запуске программы, пользователь должен будет ввести 10 значений.На рисунке ниже представлен результат нахождения среднего арифметического значения на основе введенных пользователем числовых данных. Отметим, что сумму среднего арифметического мы находили путем суммирования всех полученных значений и поделив на их количество (10) .0142920Рис. 15 — Результат нахождения среднего арифметического.Итак, были рассмотрены несколько вариантов написания программы с использованием циклов. Как можно увидеть из примеров, важно относится к написанию программы с должным вниманием, с упором на то, чтобы потенциальный пользователь мог без особых проблем с ней взаимодействовать.Глава 3. Работа с массивамиМассивы, как и циклы, - величайшее изобретение программирующего человечества. Массивы приходят на помощь тогда, когда приходится иметь дело с наборами однотипных и однородных данных.Такой набор, имеющий общее для всех своих элементов имя, и называется массивом. Тип «Массив» является представителем группы структурных типов Паскаля.Динамическим называется массив, размер которого может меняться во время исполнения программы.Пример динамического массива на С:byteArray : Array of BytemultiArray : Array of Array of stringПример динамического массива на С++:float *array1;int **array2;array1 = new float[10]; array2 = new int*[16]; for(int i = 0; i < 16; ++i)array2[i] = new int[8]; delete []array1; for(int i = 0; i < 16; ++i) delete []array2[i]; delete []array2;Гетерогенным называется массив, в разные элементы которого могут быть непосредственно записаны значения, относящиеся к различным типам данных. Массив, хранящий указатели на значения различных типов, не является гетерогенным, так как собственно хранящиеся в массиве данные относятся к единственному типу — типу «указатель».

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

1. С. Немнюгин — Turbo Pascal
2. В. Фаронов — TurboPascal. Наиболее полное руководство
3. Массивы в Турбо Паскаль: http://egeinf.gym5cheb.ru/p66aa1.html
4. Массивы в TurboPascal. Решение задач на массивы:
http://nsportal.ru/shkola/informatika-i-ikt/library/
massivy-v-turbo-pascal-reshenie-zadach-na-massivy
5. РубенкингН.Дж. Турбо Паскаль для Windows: в 2-х томах
6. О. Меженный — Самоучитель Turbo Pascal
7. Р. Сулейманов - Методика решения учебных задач средствами
программирования. Методическое пособие.
8. Н. Культин — Турбо Паскаль в задачах и примерах
9. С. Трофимов - Программирование на языке высокого уровня:
Рабочая программа дисциплины
10. Ю. Федоренко — Алгоритмы и программы на TurboPascal
11. Е. Шумова - Программирование на языке высокого уровня:
Методические указания к курсовой работе
12. В. Потопахин — Турбо Паскаль. Решение сложных задач
13. А. Пахомова - Методическое пособие «Программирование на языке
TurboPascal»
14. С. Окулов — Программирование в алгоритмах
15. УчебникTurbo Pascal 7.0: http://pascal.guti.ru/fornext.html
16. Ф. Меньшиков — Олимпиадные задачи по программированию
17. Программирование. Динамические списки Pascal:
http://www.pascal.helpov.net/index/dynamic_lists_pascal_programming
18. Исходный текст программ на Паскаль: http://www.pascal
-c.ru/ishod_pascal.php
19. Стандарт оформления кода:
ru.wikipedia.org/wiki/Стандарт_оформления_кода
20. 10 правил написания чистого кода: http://ruseller.com/lessons.php
?rub=28&id=1063
21. Работа с массивами в Pascal:
http://ed.tusur.ru/lit/edu/informatica/Lections_part2.pdf
22. Я. Гордон — Тонкости программирования на языке Паскаль
23. Методы сортировки массивов:
http://www.vzmakh.ru/info/pascal/modules/page14.html
24. Borland Pascal – Руководство пользователя:
citforum.ru/programming/bp70_ug/index.shtml‎
25. Обучение. Учебник по Паскалю:
pers.narod.ru/study/pascal.html









Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
© Рефератбанк, 2002 - 2022