Файл: Лабораторная работа 6 Использование циклов в языке С основной структурой, управляющей повторением, служит цикл с предусловием while.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.12.2023

Просмотров: 22

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Использование циклов
В языке С++ основной структурой, управляющей повторением, служит цикл с предусловием while (пока). Он имеет следующий формат
                             while (условие) оператор;
Условие всегда заключено в скобки, оно может быть произвольным выражением. Оператор while повторяет выполнение оператора следующего условия, до тех пор, пока это условие истинно. Если это условие не истинно с самого начала или становится не истинным в процессе выполнения данного оператора, то управление передается оператору, следующему за оператором цикла. Если повторяемая часть оператора содержит более одного оператора, то повторяемая группа операторов должна быть заключена в фигурные скобки, например:           
while(условие) {
   оператор_1;
   оператор_2;
   ....
   оператор_n;
}
Для описания условий в операторе while используются операции условия такие же, как и в операторе if . Приведенная ниже программа подсчитывает сумму цифр введенного числа N. Цикл while последовательно выделяет и суммирует цифру исходного числа, начиная с последней;
#include

main() {

int n,s,z;

s = 0;

cout << "Vvedite chislo: ";

cin >> n;

while(n!=0) {

z = n%10;

n=n/10;

s+=z;

}

cout<<"Symma cifr = "<< s << endl;

cin >> n;

}
где S+=N - означает S= S +N; N-=1 - означает N= N -1

Оператора for является самой популярной структурой для организации циклов. В общем случае его можно представить так :
for (выражение1; выражение2; выражение3) оператор;
В одной строке этот оператор определяет сразу три составляющие, отделяемые друг от друга точкой с запятой:

а) начальное значение параметра цикла (выражение1);

б) условие окончания цикла (выражение2);

в) выражение изменения параметра цикла (выражение3).

В следующей программе оператор for служит для вычисления и вывода факториала числа, не превосходящего m. Проверка k<=m происходит перед каждым (в том числе и перед первым)   выполнением тела цикла. Тело цикла выполняется, если проверочное выражение истинно. Затем следует изменение параметра: k++ этот оператор, также, формирует очередное число.
#include

main() {

int m, k, j=1,s;

cout<<"Vvedite m = ";

cin>>m;

s=1;

for(k=1;k<=m;k++) {

s=s*k;

}

cout<

cin>>s;

}
Как и в операторе while, тело цикла for может состоять из единственного оператора или из нескольких, заключенных в скобки.

В общем виде этот оператор можно записать следующим образом:
do
               
оператор;
         
while (условие);
Сначала выполняется "оператор", а затем вычисляется "условие". Если оно истинно, то снова выполняется "оператор", иначе циклический процесс заканчивается. Это так называемый цикл с постусловием: условие завершения цикла проверяется не в его начале, как это имеет место в операторах while и for, а в конце, уже после прохода по телу цикла. Как следствие, тело цикла обязательно выполняется по крайне мере один раз. Этот тип цикла встречается нечасто, но иногда бывает полезен.

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

, отладить ее, протестировать. В отчет включить текст программы, блок-схему, результаты ее работы.


  1. Дано целое число n, удовлетворяющее условию 0<n2109. Найти произведение отличных от нуля цифр данного числа.

  2. Дано целое число n, удовлетворяющее условию 0<n2109. Найти максимальную цифру в записи этого числа.

  3. С клавиатуры вводятся вещественные числа. Признак конца ввода – 0. Определить, является ли вводимая последовательность геометрической прогрессией.

  4. Дано целое неотрицательное число n, удовлетворяющее условию 0<n2109. Определить количество нулей, которыми заканчивается запись числа n. Вывести n в виде a10k, где a  целое, не содержащее нуля в конце записи числа; k - количество нулей в конце записи числа n. Например, 130000=13*104.

  5. С клавиатуры вводятся целые числа. Признак конца ввода – число 0. Определить число, следующее за последним из отрицательных чисел.

  6. Дано целое число n, удовлетворяющее условию 0<n2109. Найти cумму цифр числа n.

  7. Установить, четным или нечетным является число цифр в записи данного натурального числа. Если число цифр нечетно, вывести среднюю цифру.

  8. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить количество минимальных значений.

  9. Определить, является ли данное натуральное число простым числом.

  10. С клавиатуры вводятся символы. Признак конца ввода – точка. Определить максимальную длину подпоследовательности одинаковых следующих друг за другом символов.

  11. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить количество введенных нечетных чисел.

  12. С клавиатуры вводятся вещественные числа. Признак конца ввода – 0. Определить, является ли вводимая последовательность упорядоченной по возрастанию или убыванию.

  13. С клавиатуры вводятся вещественные числа. Признак конца ввода – 0. Определить, является ли вводимая последовательность арифметической прогрессией.

  14. С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить количество максимальных значений.