Оператор цикла с постусловием do … while

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

Оператор цикла do...while имеет следующий синтаксис:

do

тело_цикла;

while (выражение-условие)

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

Схема выполнения оператора do...while следующая:

● выполняется тело_цикла;

● вычисляется выражение-условие;

● если значение выражения-условия равно нулю, то выполнение оператора do...while заканчивается и выполняется следующий по порядку оператор. Если значение выражения-условия не равно нулю, то выполнение оператора цикла do...while продолжается с пункта 1 (т.е. выполняется тело_цикла и все повторяется…).

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

Чтобы прервать выполнение цикла до того, как условие станет ложным, можно использовать оператор break.

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

Например:

int i, s;

i=2;

do {

printf("Добрый день!"); }

while(i < 5); /*цикл будет выполняться бесконечно*/

 

int i, s;

i=2;

do {

printf("Добрый день!");

i=i+1; }

while(i < 5); /*цикл будет выполнен 3 раза*/

 

Пример 1: Вычисления квадратов чисел от 1 до 9.

#include <stdio.h>

void main() {

int i, b;

i=1;

do {

b=i*i;

printf("\n %2d в квадрате = %3d", i, b);

i++; }

while (i<10);

}

Пример 2: Программа для печати фрагмента таблицы ASCII (от 32-го символа до 126-го).

#include <stdio.h>

void main() {

int number;

char character;

number = 32;

do {

character = number;

printf("Символ %c имеет код %d (дес.) или

%x (шестнд.)\n", character,character,character);

number++; }

while (number <= 126);

}

Пример 3: Вычислить S = 1 + 2 + 3 + 4 + … + n.

#include <iostream.h>

void main() {

int n,i,s=0;

cout<<"\nВведите n=";

cin>>n;

if(n<=0) {

cout<<"\n n<=0";

return;

}

i=1;

do {

s+=i;

i++; }

while (i<=n);

cout<<"\nS="<<s<<"\n";

}

Задания

1.Составьте программу для решения задачи. Дано число а (1 < а < 1,5). Из чисел напечатать те, которые не меньше а.

2.Составьте программу для решения задачи. Дана непустая последовательность целых чисел, оканчивающаяся числом 100. Определить, есть ли в последовательности число 77? Если имеются несколько таких чисел, то определить порядковый номер первого из них.

3.Составьте программу для решения задачи. Даны целые числа а и b (а > b). Определить результат целочисленного деления а на b, не используя стандартную операцию целочисленного деления.

4.Дано натуральное число. Найдите сумму его цифр.

Домашние задания

1.Наберите коды программ из Примеров 1, 2 и 3. Сохраните коды программ. Выполните компиляцию и запуск программ. Введите свои данные в качестве входных.

2.Составьте программу для решения задачи. Дано число а (1 < а < 1,5). Среди чисел найти первое, меньшее а.

3.Составьте программу для решения задачи. Дана последовательность натуральных чисел a1, a2, … a20. Определить, есть ли в последовательности хотя бы одно число, оканчивающее цифрой 7? В случае положительного ответа определить порядковый номер первого из них.

4.Составьте программу для решения задачи. Даны целые числа а и b (а > b). Определить результат остатка от деления а на b, не используя стандартную операцию вычисления остатка.









Дата добавления: 2015-02-16; просмотров: 866;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.