C++ лаб6 (6). Лабораторная работа 6 Использование циклов в языке С основной структурой, управляющей повторением, служит цикл с предусловием while
Скачать 42 Kb.
|
Лабораторная работа № 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. Определить количество максимальных значений. |