Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники»




НазваниеРеспублики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники»
страница14/28
Дата публикации14.05.2014
Размер1.45 Mb.
ТипКонспект
literature-edu.ru > Лекции > Конспект
1   ...   10   11   12   13   14   15   16   17   ...   28

9.1. Понятие цикла


Практически все алгоритмы решения задач содержат циклически повторяемые участки. Цикл это одно из фундаментальных понятий программирования. Под циклом понимается организованное повторение некоторой последовательности операторов.

Для организации циклов используются специальные операторы.

Любой цикл состоит из кода цикла, т.е. тех операторов, которые выполняются несколько раз, начальных установок, модификации параметра цикла и проверки условия продолжения выполнения цикла.

Один проход цикла называется итерацией. Проверка условия выполняется на каждой итерации либо до кода цикла (с предусловием), либо после кода цикла (с постусловием).

Перечень разновидностей операторов цикла:

- оператор цикла с предусловием;

- оператор цикла с постусловием;

- оператор цикла с предусловием и коррекцией.

9.2. Оператор с предусловием while 


Общий вид:

while (выражение) код_цикла;

Если выражение в скобках - истина (не равно 0), то выполняется код_цикла. Это повторяется до тех пор, пока выражение не примет значение 0 (ложь). В этом случае выполняется оператор, следующий за while. Если выражение в скобках - ложно (равно 0), то цикл не выполнится ни разу.

Код_цикла может включать любое количество управляющих операторов, связанных с конструкцией while, взятых в фигурные скобки (блок), если их более одного. Среди этих операторов могут быть continue - переход к следующей итерации цикла и break - выход из цикла.

Например, необходимо сосчитать количество символов в строке. Предполагается, что входной поток настроен на начало строки. Тогда подсчет символов выполняется следующим образом:

char ch;

int count=0;

while (( ch=getchar())!='\n') count++;

Для выхода из цикла while при истинности выражения, как и для выхода из других циклов можно пользоваться оператором break.

Пример 1:

while (1) { // Организация бесконечного цикла

...

if (kbhit()&&(getch()==27)) break;

// Если нажата клавиша (результат работы функции kbhit()>0) и код ее равен 27 // (код клавиши “Esc”), то выходим из цикла

...

}

Пример 2:

...

while (!kbhit()); // Выполнять до тех пор, пока не нажата клавиша

...

9.3. Оператор цикла с постусловием do - while

Общий вид записи:

do код_цикла while (выражение);

Код_цикла будет выполняться до тех пор, пока «выражение» истинно. Все, что говорилось выше справедливо и здесь, за исключением того, данный цикл всегда выполняется хотя бы один раз, после чего проверяется, надо ли его выполнять еще раз.

9.4. Оператор цикла с предусловием и коррекцией for

Общий вид оператора:

for (выражение1; выражение2; выражение3) код_цикла;

Цикл for эквивалентен последовательности инструкций:

выражение1;

while (выражение2)

{

код_цикла ...

выражение3;

}

здесь выражение1 - инициация счетчика (начальное значение), выражение2 -условие продолжения счета, выражение3 - увеличение счетчика. Выражения 1,2 и 3 могут отсутствовать (пустые выражения), но символы «;» опускать нельзя.

Например, для суммирования первых N натуральных чисел можно записать:

sum = 0;

for ( i=1; i<=N; i++) sum+=i;

Операция «запятая» чаще всего используется в операторе for. Она позволяет включать в его спецификацию несколько инициализирующих выражений. Предыдущий пример можно записать в виде:

for ( sum=0 , i=1; i<=N; sum+= i , i++) ;

Оператор for имеет следующие возможности:

- можно вести подсчет с помощью символов, а не только чисел:

for (ch = 'a'; ch<='z'; ch++) ... ;

- можно проверить выполнение некоторого произвольного условия:

for (n = 0; s[i]>='0' && s[i]<'9'; i++) ... ;

или:

for (n = 1; n*n*n <=216; n++) ... ;

Первое выражение не обязательно должно инициализировать перемен­ную. Необходимо только помнить, что первое выражение вычисляется только один раз перед тем, как остальные части начнут выполняться.

for (printf(" вводить числа по порядку! \n"); num!=6;)

scanf("%d", & num);

printf(" последнее число - это то, что нужно.\n");

В этом фрагменте первое сообщение выводится на печать один раз, а затем осуществляется прием вводимых чисел, пока не поступит число 6.

Параметры, входящие в выражения, находящиеся в спецификации ци­кла можно изменять при выполнении операций в коде цикла.

Например:

for (n = 1; n<1000; n += delta) ... ;

Параметр delta можно менять в процессе выполнения цикла.

Использование условных выражений позволяет во многих случаях значительно упростить программу. Например:

for (i=0;i
printf("%6d%c",a[i],( (i%10==0) || (i==n-1) ) ? '\n' : ’ ‘);

В этом цикле печатаются n элементов массива а по 10 в строке, разделяя каждый столбец одним пробелом и заканчивая каждую строку (включая последнюю) одним символом перевода строки. Символ перевода строки записывается поле каждого десятого и n-го элементов. За всеми остальными - пробел.

10. Операторы передачи управления



Формально к операторам передачи управления относятся:

- оператор безусловного перехода goto;

- оператор перехода к следующему шагу (итерации) цикла continue;

- выход из цикла, либо оператора switch - break;

- оператор возврата из функции return.
1   ...   10   11   12   13   14   15   16   17   ...   28

Похожие:

Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники» iconРеспублики Беларусь Учреждение образования белорусский государственный...

Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники» iconРеспублики Беларусь Учреждение образования белорусский государственный...

Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники» iconРеспублики Беларусь Учреждение образования белорусский государственный...

Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники» iconГосударственное образовательное учреждение высшего профессионального...
...

Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники» icon27 июля 2011 г. N 194 о документах об образовании, приложениях к...
Овления Совета Министров Республики Беларусь от 19 июля 2011 г. N 969 "О делегировании полномочий Правительства Республики Беларусь...

Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники» iconМ инистерство здравоохранения республики беларусь уо «Гомельский...
Гомель, Республика Беларусь, приглашает студентов и молодых ученых Вашего вуза принять участие в III республиканской научно-практической...

Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники» iconЛабораторная работа №2 по дисциплине «Физика-1»
Томский государственный университет систем управления и радиоэлектроники (тусур) Факультет дистанционного обучения

Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники» iconОб утверждении Инструкции о порядке подготовки и выпуска учебных изданий и их использования
На основании части второй пункта 9 статьи 94 Кодекса Республики Беларусь об образовании Министерство образования Республики Беларусь...

Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники» iconМинистерства образования республики беларусь
О внесении изменений и дополнений в постановление Министерства образования Республики Беларусь от 26 февраля 2008 г. №16

Республики Беларусь Учреждение образования «белорусский государственный университет информатики и радиоэлектроники» iconПоложение о проведении республиканского конкурса программ объединений...
Планом работы Министерства образования Республики Беларусь на 2013 год, планом основных республиканских мероприятий учреждения образования...

Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции