Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Цикл с предусловием



Формат оператора цикла с предусловием:

while (выражение) оператор;

Цикл повторяет свое выполнение, пока значение выражения отлично от нуля, т. е. заключенное в нем условие цикла истинно.

В качестве примера использования оператора цикла рассмот­рим программу вычисления факториала целого положительного числа N!. Сопоставим программу решения этой задачи, написан­ную на Паскале, с программой на Си.

Пример 7:


Программа на Паскале

Program Factorial

Var F: Longint; i,N:

Integer;

Begin write (‘N=’);

ReadLn (N);

F:=1; i:=1;

While i < N Do

Begin

F:=F*I;

i:=i+1

End;

WriteLn (N,’! =’, F)

End.

Программа на Си++

// Программа вычисления

факториала

#include <iostream.h>

void main ()

{ long int F;

int i, N;

cout<<”N=”; cin>>N;

F=i=1;

while (i<=N) F=F*i++;

cout<<”\n”<<N<<”!=”<<F;

}


Обратите внимание на операторы в теле цикла. Конечно, и в Си-программе можно было написать два оператора присваива­ния, объединив их фигурными скобками. Однако использован­ный способ записи более лаконичен и более характерен для Си. Этот же самый оператор можно было записать еще короче: F*=i++

При практическом использовании этой программы не следует забывать, что факториал - очень быстро растущая функция, и поэтому при определенных значениях N выйдет из диапазона, со­ответствующего типу long int. Задав для переменной F тип unsigned long, можно сдвинуть эту границу, но этого может оказаться недостаточно. Предлагаем в качестве самостоятельного задания исследовать предельные значения N для двух указанных типов переменной F.

Интересно свойство следующего оператора:

while (1);

Это бесконечный пустой цикл. Использование в качестве вы­ражения константы 1 приводит к тому, что условие повторения цикла все время остается истинным и работа цикла никогда не заканчивается. Тело в этом цикле представляет собой пустой опе­ратор. При исполнении такого оператора программа будет «топ­таться на месте».





Дата публикования: 2014-11-02; Прочитано: 341 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...