Цикл выполняется до тех пор, пока выражение отлично от нуля, т. е. заключенное в нем условие цикла истинно. Выход из цикла происходит после того, как значение выражения станет ложным, иными словами равным нулю.
Рисунок 9 – Алгоритм цикла с постусловием
В качестве примера рассмотрим программу вычисления N!, в которой используется цикл с постусловием.
Пример 1.
// Программа вычисления факториала
#include <stdio.h>
#include <conio.h>
void main()
{long int F;
int i,N; printf("N=");
scanf(“%d”,&N);
F=i=1;
do F=F*I; i++;
while(i<=N);
printf("\n %d \n%d",N,F);
getch(); }
Пример 2.Вычислить и напечатать множество значений функции y=x2+b для x, изменяющегося от -10 до 10 с шагом 2.
Решение:
пусть b=5. Введем обозначения: x – переменная, отображающая значения аргумента x; y – переменная, отображающая значения функции y; b – константа b; dx – шаг изменения x. Переменная y вычисляется по известной формуле на интервале изменения переменной x с помощью оператора цикла do while.
Блок-схема алгоритма приведена на рисунке 10.
Программа:
#include <stdio.h>
#include <conio.h>
const int b=5;
void main()
{ float x,y,dx;
printf (“Введите x, dx”);
scanf(“%f%f”,&x,&dx);
do // начало цикла
y:=x*x+b;
printf("\n x=%f y=%f”,x,y);
x=x+dx;
while (X<=10) ; // конец цикла
getch();}
Результат выполнения программы:
Вводите x=-10.0, dx=20.0
-10.0 20.0
x=-10 y=105
x=10 y=105
x<=10
Начало
ввод x, dx
в=5
y:=x*x+b
Конец
x=x+dx
нет
да
>
вывод значений
x,y
Рисунок 10 – Блок схема алгоритма решения задачи из примера 2