Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Наиболее употребительный тип инструкции цикла. Существует несколько форм таких инструкций и в языке 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!