Создание программы циклической структуры. Работа с массивами
Негосударственное образовательное учреждение
высшего профессионального образования
Московский технологический институт «ВТУ»
Факультет Техники и современных технологий
Кафедра Информатики и автоматизации
КУРСОВАЯ РАБОТА
по дисциплине Программирование на языке высокого уровня
на тему
«Создание программы циклической структуры. Работа с массивами»
Уровень образования бакалавриат
Направление Информатика и вычислительная техника
Профиль Сети ЭВМ и телекоммуникации
Выполнил студент:
Форма обучения экстернат
Койсин Дмитрий Борисович
Караганда 2013г.
Введение
В обычной повседневной жизни повторяющиеся действия встречаются довольно часто, выполняя их, мы тратим время, а как то упростить эти действия не получается. В программировании, в отличии от повседневной жизни, существуют циклические алгоритмы, которые обеспечивают выполнение повторяющихся действий. Этим облегчается написание программ и сокращается объем кода. В данной курсовой работе я рассмотрю основные варианты циклических алгоритмов и исследую способы работы с ними.
В мире существует громадное количество языков программирования, но большинство из них различается только синтаксисом и методом компиляции. Циклические алгоритмы в них несут одинаковую смысловую нагрузку и практически не отличаются по методам применения. Поэтому для данной курсовой работы будет использоваться язык программирования С++, как наиболее распространенный и чаще всего используемый.
Цель и задачи
Циклические алгоритмы на языке С++
Довольно часто встречаются задачи требующие повторения определенных действий. Причем повторения происходят до достижения, какого либо условия, либо некоторое количество раз. Например, забивание гвоздя, бьем по гвоздю пока не будет забит - циклический алгоритм с условием или прикручиваем колесо к машине, где операция «прикрутить болт» встречается 6 раз - это циклический алгоритм со счетчиком. Цикл - многократное прохождение по одному и тому же коду программы. Циклы необходимы программисту для многократного выполнения одного и того же кода, пока истинно какое-то условие. Если условие всегда истинно, то такой цикл называется бесконечным, у такого цикла нет точки выхода.
В языке программирования С++ существуют такие циклы:
·цикл for
·цикл while <#"justify">Цикл for
Цикл со счетчиком позволяет выполнить один или несколько операторов определенное количество раз. Синтаксис данного цикла:
(начальная_инструкция; условие; выражение)
{
инструкции;
}
Семантика (смысл) цикла for такова, что сначала выполняется начальная_инструкция - она инициализует переменную, используемую в цикле. Затем проверяется условие. Если оно истинно, то выполняются инструкции, вычисляется выражение, и управление передается обратно в начало цикла for с той разницей, что начальная_инструкция уже не выполняется. Это продолжается до тех пор, пока условие не станет ложно, после чего управление передается следующей_инструкции. Каждый проход цикла называется итерацией цикла.
Начальной_инструкцией может быть просто объявление или же сложное выражение либо инструкция.
Цикл for является итерационной инструкцией, обычно используется с увеличивающейся либо уменьшающейся переменной. Например, в следующем коде инструкция for используется для сложения целых чисел от 1го до 10и:
rez=0;(int i=1; i<=10;++i)+=i;
Когда инструкция for начинает выполняться, управляющей переменной i задается начальное значение 1. Затем проверяется условие продолжения цикла i <= 10. Поскольку начальное значение i равно 1, это условие удовлетворяется, так что оператор тела инструкции суммирует к значению переменной rez, равному 0, значение счетчика i, равное 1. Затем управляющая переменная i увеличивается на единицу в выражении ++i и цикл опять начинается с проверки условия его продолжения. Поскольку значение i теперь 2, предельная величина не превышена, так что программа снова выполняет тело цикла. Этот процесс продолжается, пока управляющая переменная i не увеличится до 11 - это приведет к тому, что условие продолжения цикла нарушится и повторение прекратится. Выполнение программы продолжится с первого оператора, расположенного после цикла for.
Другой пример показывает, как оператор запятая может быть использован для инициализации более одной переменной.
(j = 0,i = 1; i <= 10; ++i)
j += i;
Основное назначение использования оператора запятая - помочь программисту использовать несколько выражений задания начальных значений и (или) несколько выражений приращения переменных. Например, в одной структуре for может быть несколько управляющих переменных, которым надо задавать начальное значение и которые надо изменять. Например:
(i=0,j=0;i<3,j<`4;i++,j+=2)<<i*j;
В цикле for может присутствовать локальное объявление переменной управления циклом, как в следующем примере.
for (int i = 0; i < N; ++i)+= i*i;
Целая переменная i теперь является объявленной в программе. Это может вносить путаницу, поэтому лучше объявлять все программные переменные в начале блока.
Любое или все выражения в инструкции for могут отсутствовать, но две точки с запятой должны быть обязательно. Если пропущена начальная_инструкция, то никакая инициализация в цикле for не выполняется. Если пропущено выражение, то не производится приращение, а в случае отсутствия условия не производится проверка. Есть специальное правило для тех случаев, когда пропущено условие; в такой ситуации компилятор будет считать условие выполненным всегда. Так, цикл for в следующем фрагменте бесконечен.
for (i = 1, rez = 0 ; ; rez += i++ )<< rez << endl;