Рефетека.ру / Информатика и програм-ие

Лабораторная работа: Операторы цикла в языке программирования Си++"

Лабораторная работа

"Операторы цикла в языке программирования Си++"


Цель работы: ознакомиться с циклическими алгоритмами и операторами, реализующими эти алгоритмы. Освоить особенности применения каждого оператора. Составить программы с использованием всех операторов цикла.


1. Теоретические сведения


Оператор цикла while

Описание: while (выражение) оператор;

Действие:

Выполняется оператор до тех пор, пока значение выражения в скобках истинно. Проверка значения выражения происходит перед каждым выполнением оператора. Когда значение выражения ложно, цикл while заканчивается. Если выражение ложно с самого начала, оператор не выполняется ни разу.

Комментарий:

Следует заметить, что после ключевого слова while и выражения, заключенного в круглые скобки, точка с запятой не ставится.

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

Пример:


/*Демонстрация цикла while*/

#include <stdio.h>

main( )

{

int i=1

while (getchar()!=’R’) i++;

/*оператор getchar() вводит любой символ с клавиатуры*/

printf("Символ R %d-й",i);

}


Приведенная программа позволяет определить порядковый номер первой введенной буквы R в последовательности символов. Она показывает использование цикла while, в теле которого всего одна инструкция (i++ - увеличение значения целого числа i на единицу). Если запустить эту программу на выполнение и ввести последовательность символов, например: abFk!Rgm, то на экране появится строка: Символ R 6-й.

Оператор цикла do-while

Описание: do оператор while (выражение);

Действие: В операторе do-while тело цикла выполняется по крайней мере один раз. Тело цикла будет выполняться до тех пор, пока выражение в скобках не примет ложное значение. Если оно ложно при входе в цикл, то его тело выполняется ровно один раз.

Комментарий: после слова while и выражения, заключенного в скобки, ставится точка с запятой. Если в теле цикла содержится более одной инструкции, то операторы цикла заключаются в фигурные скобки.

Пример:


/*Демонстрация цикла do-while */

#include <stdio.h>

main()

{

int i=0; /*i=0, а не единице*/

do i++; while (getchar()!=’R’);

printf("Символ R %d-й",i);

}

Программа, представленная выше, теперь написана с циклом do-while. Результат программы будет таким же.

Оператор цикла for

Описание: for (выражение 1; выражение 2; выражение 3) оператор;

Действие:

В круглых скобках содержится три выражения. Первое из них служит для инициализации счетчика. Она осуществляется только один раз – когда цикл for начинает выполняться. Второе выражение необходимо для проверки условия, которая осуществляется перед каждым возможным выполнением тела цикла. Когда выражение становится ложным, цикл завершается. Третье выражение вычисляется в конце каждого выполнения тела цикла, происходит приращение числа на шаг.

Комментарий: в операторе цикла for точка с запятой после закрывающейся круглой скобки не ставится. Любое из трех или все три выражения в операторе могут отсутствовать, однако разделяющие их точки с запятыми опускать нельзя. Если отсутствует выражение 2, имеем бесконечный цикл. Например:for (scanf("%d",&p);;p++) оператор;

В языке СИ предусмотрены две нетрадиционные операции: (++) – для увеличения на единицу и (--) – для уменьшения на единицу значения операнда. Операции ++ и -- можно записывать как перед операндом, так и после него. В первом случае (++n или --n) значение операнда (n) изменяется перед его использованием в соответствующем выражении, а во втором (n++ или n--) – после его использования.

Если отсутствуют выражения 1 и 3, цикл становится эквивалентным while. Например:for (;a<20;) оператор;

Каждое из выражений может состоять из нескольких выражений, объединенных операцией "запятая". Например: for(i=0, j=1; i<100; i++, j++) a[i]=b[j];

Тело цикла заключается в фигурные скобки, если в нем более одного оператора.

Пример:


/*демонстрация цикла for*/

#include <stdio.h>

main()

{int i,j=1,k;

for (i=1;i<=3;i++)

printf("Минск\t");

/*В цикле for три раза выполняется функция вывода*/

/*Здесь i-управляющая переменная цикла*/

printf("\nУкажите число повторений цикла\n");

scanf("%d",&k);

for (i=1;i<=k;i++)

{j*=i;

printf("%d",j);}

/*Здесь две инструкции (более одной), поэтому они заключаются в фигурные скобки*/

j=i;

printf("\n");

/*Переменной j присваивается значение 1 и осуществляется перевод курсора*/

/*В следующем цикле for выполняются те же действия, что и в предыдущем*/

for (i=1;i<=k;i++) printf("%d ", j*=i);

}


Результаты выполнения программы следующие:

Минск Минск Минск

Укажите число повторений цикла; 5

1 2 6 24 120

1 2 6 24 120

Оператор break

Описание:

Break используется для прекращения выполнения цикла из-за обнаружения ошибки, для организации дополнения к условию в заголовке цикла, для прекращения бесконечного цикла.

Пример:


while (st>0 && st<25)

{

if st==4||st==8||st==12)

break;

}


Работа цикла полностью прекращается, как только условие в операторе if становится истинным.

Оператор continue

Действие: Этот оператор может использоваться во всех трех типах циклов. Как и в случае оператора break, он приводит к изменению характера выполнения программы. Однако вместо завершения работы цикла наличие оператора continue вызывает пропуск "оставшейся" части итерации и переход к началу следующей.

Пример. Заменим в предыдущей программе оператор break на continue.


while (st>0 && st<25)

{

if (st==4||st==8||st==12)

continue;

}

При истинном условии в операторе if оператор continue вызывает пропуск идущих за ним операторов тела цикла и осуществляется переход к началу следующей итерации.


2. Задание


Задание взять из таблицы 1 и таблицы 2 согласно варианту.

Разработать блок-схемы алгоритма.

Написать и отладить программы.


Таблица 1

№ варианта Задание
1.

Операторы цикла в языке программирования Си++&amp;quot;

2.

Операторы цикла в языке программирования Си++&amp;quot;

3.

Операторы цикла в языке программирования Си++&amp;quot;

4.

Операторы цикла в языке программирования Си++&amp;quot;

5.

Операторы цикла в языке программирования Си++&amp;quot;

6.

Операторы цикла в языке программирования Си++&amp;quot;

7.

Операторы цикла в языке программирования Си++&amp;quot;

8.

Операторы цикла в языке программирования Си++&amp;quot;

9.

Операторы цикла в языке программирования Си++&amp;quot;

10.

Операторы цикла в языке программирования Си++&amp;quot;

11.

Операторы цикла в языке программирования Си++&amp;quot;

12.

Операторы цикла в языке программирования Си++&amp;quot;

13.

Операторы цикла в языке программирования Си++&amp;quot;

14.

Операторы цикла в языке программирования Си++&amp;quot;

15.

Операторы цикла в языке программирования Си++&amp;quot;

16.

Операторы цикла в языке программирования Си++&amp;quot;

17.

Операторы цикла в языке программирования Си++&amp;quot;

18.

Операторы цикла в языке программирования Си++&amp;quot;

19.

Операторы цикла в языке программирования Си++&amp;quot;

20.

Операторы цикла в языке программирования Си++&amp;quot;Операторы цикла в языке программирования Си++&amp;quot;

21.

Операторы цикла в языке программирования Си++&amp;quot;

22.

Операторы цикла в языке программирования Си++&amp;quot;

23

Операторы цикла в языке программирования Си++&amp;quot;Операторы цикла в языке программирования Си++&amp;quot;

24.

Операторы цикла в языке программирования Си++&amp;quot;

25.

Операторы цикла в языке программирования Си++&amp;quot;


Таблица 2

№ варианта Задание
1.

Операторы цикла в языке программирования Си++&amp;quot;

2.

Операторы цикла в языке программирования Си++&amp;quot;

3.

Операторы цикла в языке программирования Си++&amp;quot;

4.

Операторы цикла в языке программирования Си++&amp;quot;

5.

Операторы цикла в языке программирования Си++&amp;quot;Операторы цикла в языке программирования Си++&amp;quot;

6.

Операторы цикла в языке программирования Си++&amp;quot;

7.

Операторы цикла в языке программирования Си++&amp;quot;

8.

Операторы цикла в языке программирования Си++&amp;quot;

9.

Операторы цикла в языке программирования Си++&amp;quot;

10.

Операторы цикла в языке программирования Си++&amp;quot;

11.

Операторы цикла в языке программирования Си++&amp;quot;

12.

Операторы цикла в языке программирования Си++&amp;quot;

13.

Операторы цикла в языке программирования Си++&amp;quot;

14.

Операторы цикла в языке программирования Си++&amp;quot;

15.

Операторы цикла в языке программирования Си++&amp;quot;

16.

Операторы цикла в языке программирования Си++&amp;quot;

17.

Операторы цикла в языке программирования Си++&amp;quot;

18.

Операторы цикла в языке программирования Си++&amp;quot;

19.

Операторы цикла в языке программирования Си++&amp;quot;

20.

Операторы цикла в языке программирования Си++&amp;quot;Операторы цикла в языке программирования Си++&amp;quot;

21.

Операторы цикла в языке программирования Си++&amp;quot;

22.

Операторы цикла в языке программирования Си++&amp;quot;

23

Операторы цикла в языке программирования Си++&amp;quot;

24.

Операторы цикла в языке программирования Си++&amp;quot;

25.

Операторы цикла в языке программирования Си++&amp;quot;


Литература


Подбельский В.В. Язык Cu ++: Учебное пособие. - М.: Финансы и статистика,1995, - 560 с.

Страуструп Б. Язык программирования Сг ++. - М.: Радио и связь, 1991. - 352 стр.

Собоцинский В.В. Практический курс Turbo Cu ++. Основы объктно- ориентированного программирования. - М.: Свет, 1993. - 236 с.

Романов В.Ю. Программирование на языке Cu ++. Практический подход. - М.: Компьтер, 1993. - 160 с.

Уинер Р. Язык турбо Cu . - М.: Мир, 1991. - 384 с.

Юлин В.А., Булатова И.Р. Приглашение к Cu. - Мн.: Высш. Шк., 1990,- 224 с.

Котлинская Г.П., Галиновский О.И. Программирование на языке Cu. -Мн.: Высш. Шк., 1991. - 156 с.

Похожие работы:

  1. Позиционные системы счисления
  2. • "Звезды прелестные" в поэзии Пушкина и его современников
  3. • Словник слів іншомовного пожодження економічного ...
  4. • Формування маркетингової стратегії ЗАТ "Оболонь"
  5. • Краткий курс истории Московского троллейбуса
  6. • Охрана труда при работе на компьютере
  7. • Технология HTML
  8. • Публий Теренций Афр
  9. • Восточные славяне в древности
  10. • Решения задачи планирования производства симплекс ...
  11. • Меркантилизм и доктрина А. Смита
  12. • Латинский язык: Практические задания для студентов заочного ...
  13. • "Звезды прелестные" в поэзии Пушкина и его современников
  14. • "Звезды прелестные" в поэзии Пушкина и его современников
  15. • Основы латинского языка
  16. • Исследование уровня безопасности операционной системы Linux
  17. • Основы здорового образа жизни студента. Физическая культура в ...
  18. • Способы отрицания в современном немецком языке
  19. • Проект концептуального анализа развития туризма в ...
  20. • Changes and specimens of the English language
Рефетека ру refoteka@gmail.com