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

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



Наиболее употребительный тип инструкции цикла. Существует несколько форм таких инструкций и в языке C, и в языке Basic. Назовем их условно циклы while и циклы for.

Циклы while

C

Формат:

while (<условие>)<инструкция>;

Эквивалентная схема:

label: if (<условие>)<инструкция>; goto label;

...........................................................................

Замечания.

1. Тело цикла – 1 инструкция. Следовательно, при необходимости выполнения в теле нескольких действий нужно использовать составную инструкцию.

2. Для того, чтобы цикл когда-либо закончился (не произошло зацикливания), необходимо в теле цикла изменять переменные, входящие в условие.

3. Заметим, что задание начальных значений в инструкцию не входит. Следовательно, для этой цели необходимо использовать отдельные инструкции, расположив их перед инструкцией while.

4. Под эквивалентной схемой будем понимать сочетание инструкций присваивания, перехода, if, которое полностью реализует действия инструкции цикла в той же последовательности. Она облегчает понимание последовательности выполнения инструкции цикла.

Пример. Найти Sxn/n!,n=1,2,..., пока |un|>5e-6.

Рекуррентное соотношение: un/un-1=xn*(n-1)!/xn-1*n!=x/n àun=un-1*x/n

s=0;

u=n=1;

while (fabs (u)>5e-6){

u *= x/n;

s += u;

n++;

}

Basic

Формат:

do while <условие>

<инструкции>

loop

Пример. Тот же.

s=0: u=1: n=1

do while abs (u)>5e-6

u *= x/n

s += u

n += 1

Loop

Допустима другая разновидность этой инструкции:

do until <условие>

<инструкции>

loop

Она отличается тем, что цикл повторяется до тех пор, пока условие не примет значение true. Выбор разновидности определяется тем, какое условие(про-должения или прекращения цикла) легче сформулировать или короче записать.

Пример.

s=0: u=1: n=1

do until abs (u)<=5e-6

u *= x/n

s += u

n += 1

Loop

Есть еще 1 инструкция, более похожая на инструкцию языка C:

while <условие>

<инструкции>





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



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