Автор работы: Пользователь скрыл имя, 21 Декабря 2013 в 06:23, курсовая работа
В обычной повседневной жизни повторяющиеся действия встречаются довольно часто, выполняя их, мы тратим время, а как то упростить эти действия не получается. В программировании, в отличии от повседневной жизни, существуют циклические алгоритмы, которые обеспечивают выполнение повторяющихся действий. Этим облегчается написание программ и сокращается объем кода. В данной курсовой работе я рассмотрю основные варианты циклических алгоритмов и исследую способы работы с ними.
В мире существует громадное количество языков программирования, но большинство из них различается только синтаксисом и методом компиляции.
Введение________________________________________3
Цели и задачи____________________________________3
Циклические алгоритмы ___________________________4
Цикл FOR_______________________________________5
Цикл WHILE____________________________________10
Цикл DO…WHILE _______________________________14
Специальные функции для циклов___________________18
Массивы________________________________________22
Двумерные массивы ______________________________27
Заключение _____________________________________33
Список литературы_______________________________34
Негосударственное образовательное учреждение высшего профессионального образования Московский технологический институт «ВТУ» |
Факультет Техники и современных технологий
Кафедра Информатики и автоматизации
КУРСОВАЯ РАБОТА
по дисциплине Программирование на языке высокого уровня
на тему:
«Создание программы циклической структуры. Работа с массивами»
Уровень образования бакалавриат
Направление Информатика и вычислительная техника
Профиль Сети ЭВМ и телекоммуникации
Выполнил студент:
Форма обучения экстернат
Койсин Дмитрий Борисович
Караганда 2013
Оглавление
Введение______________________
Цели и задачи_________________
Циклические алгоритмы ___________________________4
Цикл FOR______________________
Цикл WHILE_________________________
Цикл DO…WHILE ______________________________
Специальные функции для циклов___________________18
Массивы_______________________
Двумерные массивы ______________________________
Заключение ______________________________
Список литературы_____________
Введение
В обычной повседневной жизни повторяющиеся действия встречаются довольно часто, выполняя их, мы тратим время, а как то упростить эти действия не получается. В программировании, в отличии от повседневной жизни, существуют циклические алгоритмы, которые обеспечивают выполнение повторяющихся действий. Этим облегчается написание программ и сокращается объем кода. В данной курсовой работе я рассмотрю основные варианты циклических алгоритмов и исследую способы работы с ними.
В мире существует громадное количество языков программирования, но большинство из них различается только синтаксисом и методом компиляции. Циклические алгоритмы в них несут одинаковую смысловую нагрузку и практически не отличаются по методам применения. Поэтому для данной курсовой работы будет использоваться язык программирования С++, как наиболее распространенный и чаще всего используемый.
Цель и задачи
Выбрав эту тему
для курсовой работы, ставлю перед
собой задачу, рассмотреть методы
и условия применения
Циклические алгоритмы на языке С++
Довольно часто встречаются задачи требующие повторения определенных действий. Причем повторения происходят до достижения, какого либо условия, либо некоторое количество раз. Например, забивание гвоздя, бьем по гвоздю пока не будет забит – циклический алгоритм с условием или прикручиваем колесо к машине, где операция «прикрутить болт» встречается 6 раз – это циклический алгоритм со счетчиком. Цикл — многократное прохождение по одному и тому же коду программы. Циклы необходимы программисту для многократного выполнения одного и того же кода, пока истинно какое-то условие. Если условие всегда истинно, то такой цикл называется бесконечным, у такого цикла нет точки выхода.
В языке программирования С++ существуют такие циклы:
Цикл for
Цикл со счетчиком позволяет выполнить один или несколько операторов определенное количество раз. Синтаксис данного цикла:
for (начальная_инструкция; условие; выражение)
{
инструкции;
}
Семантика (смысл) цикла for такова,
что сначала выполняется
Начальной_инструкцией может быть просто объявление или же сложное выражение либо инструкция.
Цикл for является итерационной инструкцией, обычно используется с увеличивающейся либо уменьшающейся переменной. Например, в следующем коде инструкция for используется для сложения целых чисел от 1го до 10и:
rez=0;
for(int i=1; i<=10;++i)
rez+=i;
Когда инструкция for начинает
выполняться, управляющей переменной
i задается начальное значение 1. Затем
проверяется условие
Другой пример показывает, как оператор запятая может быть использован для инициализации более одной переменной.
for (j = 0,i = 1; i <= 10; ++i)
j += i;
Основное назначение использования оператора запятая — помочь программисту использовать несколько выражений задания начальных значений и (или) несколько выражений приращения переменных. Например, в одной структуре for может быть несколько управляющих переменных, которым надо задавать начальное значение и которые надо изменять. Например:
for(i=0,j=0;i<3,j<`4;i++,j+=2)
cout<<i*j;
Данный цикл проведет две итерации, после которых значение счетчика i станет равным 2, а значение счетчика j = 4. При этом условие для второго счетчик не выполняется (т.к. j строго должен быть меньше 4) и цикл будет прерван. На экране будет выведено 02.
В цикле for может присутствовать локальное объявление переменной управления циклом, как в следующем примере.
for (int i = 0; i < N; ++i)
rez+= i*i;
Целая переменная i теперь является
объявленной в программе. Это
может вносить путаницу, поэтому
лучше объявлять все
Любое или все выражения в инструкции for могут отсутствовать, но
две точки с
запятой должны быть обязательно. Если
пропущена начальная_
for (i = 1, rez = 0 ; ; rez += i++ )
cout << rez << endl;
Размещение точки с запятой сразу после правой закрывающей скобки заголовка for делает тело структуры пустым оператором. Обычно это логическая ошибка.
"Приращение” инструкции for может
быть отрицательным (в этом
случае в действительности
Если условие продолжения
Управляющая переменная иногда печатается или используется в вычислениях в теле инструкции for, но обычно это делается без изменений ее величины. Чаще управляющая переменная используется только для контроля числа повторений и никогда не упоминается в теле инструкции.
Хотя управляющая переменная может изменяться в теле цикла for, избегайте делать это, так как такая практика приводит к неявным, неочевидным ошибкам.
Давайте рассмотрим несколько вариантов применения цикла for:
a) Изменение управляющей переменной от 100 до 1 с шагом -1
(с уменьшением на 1).
for (int i = 100; i >= 1; i--)
Распространенная
ошибка при программировании, это
использование
b) Изменение управляющей переменной от 7 до 77 с шагом 7.
for (int i = 0; i <= 77; i += 7)
c) Изменение управляющей переменной от 20 до 2 с шагом -2.
for (int i = 20; i >= 2; i -= 2)
d) Изменение управляющей переменной в следующей последовательности:
2, 5, 8, 11, 14.
for (int j = 2;j <= 14; j += 3)
e) Изменение управляющей переменной в следующей последовательности:
99, 88, 77, 66, 55, 44, 33, 22, 11, 0.
for (int j = 99; j >= 0; j -= 11)
Ниже на рисунке 1 отображен исходный код программы, считающей сумму всех целых чисел от 1 до 1000.
Рисунок 1- цикл for
Если мы скомпилируем этот код и запустим программу, то она покажет нам ответ: 500500. Это и есть сумма всех целых чисел от 1 до 1000. Если считать это вручную, понадобится очень много времени и сил. Цикл выполнил всю рутинную работу за нас.
Заметьте, что конечное значение счетчика я задал нестрогим неравенством ( <= — меньше либо равно), поскольку, если бы я поставил знак меньше, то цикл произвел бы 999 итераций, т.е. на одну меньше, чем требуется. Это довольно важный момент, т.к. здесь часто допускают ошибки, особенно при работе с массивами. Значение шага цикла я задал равное единице. i++ — это тоже самое, что и i = i + 1.
Цикл while
Когда мы не знаем, сколько
итераций должен произвести цикл, нам
понадобится цикл while или do.
Оператор цикла while или цикл while - цикл, повторяющий одно и то же действие, пока условие продолжения цикла while остаётся истинным. Синтаксис цикла while в C++ выглядит следующим образом.
// форма записи цикла while
while
(/*условие продолжения цикла
{
/*блок операторов*/;
/*управление условием*/;
}
Условие продолжения цикла должно быть истинно - «true», как только условие стало ложным, выполняется выход из цикла. Вначале вычисляется выражение. Если результат отличен от нуля (true), тогда выполняется оператор и управление переходит обратно к началу цикла while. Это приводит к выполнению тела цикла while, а именно оператора, который будет выполняться до тех пор, пока выражение не станет равным нулю (false).
Фигурные скобки могут опускаться в том случае, если тело цикла — это один оператор. Но как правило в цикле выполняется несколько операторов, так как кроме выполнения полезного действия необходимо делать условие цикла while ложным, иначе цикл будет бесконечным, а это, в свою очередь, приведет к зависанию программы.
Если условие цикла ложно - управление передается следующему оператору. Таким образом, цикл может выполняться ноль или более раз.
Рассмотрим применение цикла while на примере движения автомобиля. На псевдокоде, то это будет так:
// Пока скорость движения автомобиля меньше 60 км/ч,
продолжать наращивать скорость.
Истинным условием
цикла, в данном случае, является скорость
автомобиля меньше 60 км/ч, а ложным —
скорость автомобиля больше или равно
60 км/ч. Повторение цикла будет продолжаться
до тех пор пока скорость автомобиля
не станет больше или равно 60 км/ч, после
наступления этого момента
1 int speed = 5; // начальная скорость автомобиля
2 while ( speed < 60 ) // заголовок цикла while
3 speed += 10; // тело цикла
Для начала в строке 1 была объявлена и инициализирована переменная speed. В строке 2 программа проверяет условие цикла while, 5 < 60 = true. Программа входит в цикл и выполняет оператор в строке 3. Теперь уже speed = 15. Опять выполняется проверка 15 < 60 = true. Условие истинно, значение в переменной изменяется, speed = 25. Таким образом, выполняются последовательные повторения цикла, переменная speed ещё принимает такие значения: 35, 45, 55, 65. Последнее изменение переменной speed приводит к тому, что условие в цикле while становится ложным 65 < 60 = false, и производится выход из цикла while. Таким образом, выполнилось 6 повторений, при этом speed = 65; - с таким значением переменной закончилась работа цикла while. Давайте запрограммируем эту задачу, и убедимся в достоверности всего выше сказанного (Рисунок 2).
Рисунок 2 – цикл while
Итак, в конце операторов цикла добавил переменную-счётчик, для подсчёта прохождений цикла. Тело цикла увеличилось, поэтому пришлось поставить фигурные скобочки. Результат работы программы (см. Рисунок 3).
Рисунок 3 – результат работы
Как я и говорил, всего 6 повторений цикла и после выхода из цикла while переменная speed = 65.
Рассмотрим еще один пример когда количество итераций нам не известно. Для этого примера используем игру «Отгадай число». Число будет загадывать компьютер, а мы отгадывать. На псевдокоде это будет так:
// Пока загаданное число
не угадано, продолжать
Используя генератор случайных чисел, компьютер загадает число от 1 до 10, включительно, пока мы не отгадаем число - выход из цикла не произойдет. На рисунке 4 отображен код игры.
Информация о работе Создание программы циклической структуры. Работа с массивами