Файл: Лабораторная работа 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, а в конце, уже после прохода по телу цикла. Как следствие, тело цикла обязательно выполняется по крайне мере один раз. Этот тип цикла встречается нечасто, но иногда бывает полезен.
Индивидуальные задания:
В соответствии с заданным вариантом написать программу
, отладить ее, протестировать. В отчет включить текст программы, блок-схему, результаты ее работы.
-
Дано целое число n, удовлетворяющее условию 0<n2109. Найти произведение отличных от нуля цифр данного числа. -
Дано целое число n, удовлетворяющее условию 0<n2109. Найти максимальную цифру в записи этого числа. -
С клавиатуры вводятся вещественные числа. Признак конца ввода – 0. Определить, является ли вводимая последовательность геометрической прогрессией. -
Дано целое неотрицательное число n, удовлетворяющее условию 0<n2109. Определить количество нулей, которыми заканчивается запись числа n. Вывести n в виде a10k, где a целое, не содержащее нуля в конце записи числа; k - количество нулей в конце записи числа n. Например, 130000=13*104. -
С клавиатуры вводятся целые числа. Признак конца ввода – число 0. Определить число, следующее за последним из отрицательных чисел. -
Дано целое число n, удовлетворяющее условию 0<n2109. Найти cумму цифр числа n. -
Установить, четным или нечетным является число цифр в записи данного натурального числа. Если число цифр нечетно, вывести среднюю цифру. -
С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить количество минимальных значений. -
Определить, является ли данное натуральное число простым числом. -
С клавиатуры вводятся символы. Признак конца ввода – точка. Определить максимальную длину подпоследовательности одинаковых следующих друг за другом символов. -
С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить количество введенных нечетных чисел. -
С клавиатуры вводятся вещественные числа. Признак конца ввода – 0. Определить, является ли вводимая последовательность упорядоченной по возрастанию или убыванию. -
С клавиатуры вводятся вещественные числа. Признак конца ввода – 0. Определить, является ли вводимая последовательность арифметической прогрессией. -
С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить количество максимальных значений.