Здавалка
Главная | Обратная связь

Цель работы: научаться применять операторы цикла while do-while

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

Тема Операторы цикла while do-while.

Цель работы: научаться применять операторы цикла while do-while

Краткие теоретические сведения:

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

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

while (выражение) оператор

Оператор называют телом цикла.

При выполнении такого оператора сначала вычисляется значение выражения. Если оно равно 0, то оператор не выполняется и управление передается оператору, следующему за ним. Если значение выражения отлично от 0, то выполняется оператор, затем снова вычисляется выражение и т.д.

Возможно, что тело цикла не выполнится ни разу, если выражение сразу будет равно 0.

Пример 1:

char с;

while ( cin.get(c) ) cout<< c;

Здесь происходит копирование символов, включая пробельные, из потока cin (в данном случае из буфера клавиатуры) в поток cout (в данном случае на экран дисплея). Здесь функция get(c) (член класса) извлекает один символ из входного потока, включая пробельные символы. Возвращает ненулевое значение до тех пор, пока не достигнет конца файла (признак конца файла - ctrl-z).

Пример 2:

while (1) { операторы ... }//Это - бесконечный цикл.

Пример 3:

char c;

while (( c = cin.get (c)) = = ' ' || c = = '\n' || c = = '\t');

Этот оператор цикла пропускает при считывании из потока cin так называемые пробельные символы. Здесь get( ) - другая форма функции, считывающей из потока один символ. Она возвращает целое число - код символа, или число -1, если встретился признак конца файла.

Цикл с постусловием do-while

Этот оператор цикла проверяет условие окончания в конце, после каждого прохода через тело цикла; поэтому тело цикла всегда выполняется по крайней мере один раз.

Вид оператора:

do оператор while (выражение)

Сначала выполняется оператор, затем вычисляется выражение и, если оно отлично от нуля, то оператор выполняется снова и т.д.

Если выражение становится равно нулю, цикл завершается.

Такой цикл удобно, например, использовать при проверке вводимых пользователем данных:

int input=0;

int minvalue=10, maxvalue=150;

do { cout <<"Введите значение input \n"; cin >>input;

cout <<" input=" << input << "\n"; }

while ( input < minvalue || input > maxvalue );

 

Контрольные вопросы:

1. В каких случаях используется оператор цикла с параметром? Как он оформляется? Как он работает (что происходит при его выполнении)? На­рисуйте графическую схему выполнения.

2. Что такое "тело оператора цикла"?

3. Может ли тело оператора цикла с параметром не выполниться ни разу?

4. Как должен быть оформлен оператор цикла с параметром, чтобы тело цикла выполнялось при уменьшающихся значениях параметра цикла? Как он будет работать (что будет происходить при его выполнении)? Нарисуй­те графическую схему выполнения.

5. Чему равно количество повторений тела оператора цикла с параметром, если параметр цикла принимает:

а) все целые значения от 1 до 10?

б) все целые значения от a до b

в) все нечетные значения от 1 до 20?

г) все нечетные значения от 1 до n?

д) все значения от 10 до 100 с шагом 7?

е) все значения от 1,5 до 10,3 с шагом 0.4?

ж) все значения от а до b с шагом step?

6. Можно ли в теле цикла с параметром не использовать величину-параметр цикла?

7. Почему в программировании существует правило: нельзя изменять параметр цикла в теле цикла?

 

Вариант №1

1. Составить алгоритм и написать программу, которая печатает ряд чисел 20 в виде: 20 20 20 20 20 20 20 20 20 20 2. Составить алгоритм и написать программу, которая печатает "столбиком": все целые числа от 20 до 35; 3. Напечатать числа следующим образом: 10 10. 4 11 11.4 … 25 25.4 4. Напечатать таблицу умножения на 7: 1x7 = 7 2x7=14 … 9 х 7 = 63 5. Найти : · сумму всех целых чисел от 100 до 500; · произведение всех целых чисел от 8 до 15; · сумму кубов всех целых чисел от 20 до 40; 6. В области 10 районов. Заданы площади, засеваемые пшеницей (в гекта­рах), и средняя урожайность (в центнерах с гектара) в каждом районе. Определить количество пшеницы, собранное в области, и среднюю урожайность по области. 7. Составить программу возведения натурального числа в квадрат, учиты­вая следующую закономерность: 12=1 22 = 1 + 3 З2 = 1 + 3 + 5 42 =1 + 3 + 5 + 7 … n2= 1 + 3 + 5 + 7 + 9 + ... + (2n-1)

 

Вариант №2

1. Составить алгоритм и написать программу, которая печатает ряд чисел 15 в виде: 23 23 23 23 23…   2. Составить алгоритм и написать программу, которая печатает "столбиком": · квадраты всех целых чисел от 10 до b (значение b вводится с клавиату­ры;b≥10); 3. Напечатать числа следующим образом: 25 25.5 24.8 26 26.5 25.8 … 35 35.5 34.8 4. Напечатать таблицу умножения на 10: 1x10 = 10 2x10=20 … 9 х 10 = 90 5. Найти: · сумму всех целых чисел от а до 500 (значение а вводится с клавиату­ры; а < 500); · произведение всех целых чисел от а до 20 (значение а вводится с кла­виатуры; 1 ≤a≤20); сумму квадратов всех целых чисел от а до 50 (значение а вводится с клавиатуры; 0 ≤а ≤ 50); 6. Известен возраст (в годах в виде 14,5 лет и т. п.) каждого ученика двух классов. Определить средний возраст учеников каждого класса. В каж­дом классе учатся 20 человек. 7. Составить программу возведения натурального числа в третью степень, учитывая следующую закономерность: 13=1 23 = 3 + 5 33 = 7 + 9 + 11 43 = 13+ 15+ 17+19 53 = 21 + 23 + 25 + 27 + 29    

Вариант №3

1. Составить алгоритм и написать программу, которая печатает ряд чисел 123 в виде: 34 34 34 34 34 34… 2. Составить алгоритм и написать программу, которая печатает "столбиком": третьи степени всех целых чисел от а до 50 (значение а вводится с клавиатуры; а ≤ 50); 3. Напечатать числа следующим образом: 21 19.2 20 18.2 … 10 8.2 4. Напечатать таблицу умножения на 11: 1x11 = 11 2x11=22 … 9 х 11 = 99   5. Найти: · сумму всех целых чисел от -10 до b (значение b вводится с клавиату­ры; b> -10); · произведение всех целых чисел от 3 до b (значение b вводится с клавиатуры; 3 ≤b≤20); · сумму квадратов всех целых чисел от 1 до п (значение п вводится с клавиатуры; 1 ≤ п ≤ 100); 6. Известны результаты двух спортсменов-пятиборцев в каждом из пяти видов спорта в баллах. Определить сумму баллов, полученных каждым спортсменом. 7.  

Вариант №4

1. Составить алгоритм и написать программу, которая печатает ряд чисел 21 в виде: 54 54 54 54 54 … 2. Составить алгоритм и написать программу, которая печатает "столбиком": все целые числа от а до b (значения а и b вводятся с клавиатуры; b ≥ a). 3. Напечатать числа следующим образом: 45 44.5 44.2 44 43.5 43.2 … 25 24.5 24.2 4. Напечатать таблицу 2 в степени до 10: 20 = 1 21=2 … 210 = 1024 5. Найти: · сумму всех целых чисел от а до b (значения а и b вводятся с клавиа­туры; b>а); · произведение всех целых чисел от а до b (значения а и b вводятся с клавиатуры; b > a). · сумму квадратов всех целых чисел от а до b (значения а и b вводятся с клавиатуры; b > a). 6. Известны оценки двух учеников по четырем предметам. 7. Определить сумму оценок каждого ученика. Вычислить сумму 1! + 2! + 3! + ... +n!, k! = 1 • 2 -3 ... • k (значение n вводится с клавиатуры; 1 ≤ n ≤ 10). ·  

 

 





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.