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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



True

 
 


While <логическое выражение> do <оператор>;

выход

 
 


False

 

Выполнение оператора заключается в следующем:

· пока значение логического выражения истинно - выполняется оператор в теле цикла;

· в случае ложного значения логического выражения осуществляется выход из цикла.

Так как истинность логического выражения проверяется в начале каждой итерации, цикл может не выполниться ни разу.

 

Пример

X:=1; { Y=0.256SinX,

While X<=10 do для всех X=1..10 с шагом 1 }

begin Y:=0.256*Sin(X);

X:=X+1

end; {два оператора в теле цикла объединены с помощью составного}

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

Repeat

<оператор 1>;<оператор 2>;...;<оператор N>

until < логическое выражение>;

выход

False True

Выполнение оператора заключается в следующем:

· если значение логического выражения ложно, то выполняется группа операторов внутри цикла;

· в случае истинного значения логического выражения осуществляется выход из цикла.

Поскольку проверка условия осуществляется в конце цикла, то цикл выполняется хотя бы один раз.

 

Пример

X:=1; { Y=0.256SinX,

Repeat для всех X=1..10 с шагом 1 }

Y:=0.256*Sin(X);

X:=X+1

until X>10;

Оператор цикла с параметром

Оператор цикла с параметром организует выполнение одного оператора в теле цикла заранее известное число раз. Существуют два варианта оператора.

 

For I:=N to M do <оператор>;

или

For I:=N downto M do <оператор>;

 

где I - параметр цикла, являющийся ординальной переменной;

N - выражение, определяющее начальное значение параметра цикла;

M - выражение, определяющее конечное значение параметра цикла.

Выполнение оператора заключается в следующем:

· пока параметр цикла не больше (в первом варианте) или не меньше (во втором варианте) конечного значения -выполняется очередная итерация;

· в противном случае осуществляется выход из цикла.

Следует отметить, что после выхода из цикла параметр цикла становится неопределенным, за исключением случая, когда выход из цикла был осуществлен с помощью оператора Goto.

Пример

For X:=1 to 10 do For X:=10 downto 1 do

Y:=0.256*Sin(X); или Y:=0.256*Sin(X);

{При необходимости размещения нескольких операторов в теле

цикла, их объединяют с помощью составного оператора}

For X:=1 to 10 do

begin Y:=0.256*Sin(X);

Writeln(X,Y) {вывод таблицы результатов}

end;

 

 

ОРГАНИЗАЦИЯ ВВОДА-ВЫВОДА

 

· Процедуры ввода

Read < список ввода>;

или

Readln < список ввода>;

Различие в выполнении процедур заключается в том, что процедура Readln включает переход на новую строку по окончании ввода. Использование Readln без параметров обеспечивает переход к новой строке.

Список ввода - представляет собой перечисленные через запятую имена переменных, которые в результате ввода получают определенные значения.

Пример

var A,B,C: real;

K,N: byte;

...

Read(A,B,C,K,N); {0.5 1.6 -19.1 6 4}

Процедуры вывода

Write < список вывода>;

или

Writeln < список вывода>;

Различие в выполнении процедур заключается в том, что процедура Writeln по окончании вывода обеспечивает переход на новую строку. Использование Writeln без параметров обеспечивает переход на новую строку.

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

Допускается бесформатный и форматный вывод.

Бесформатный вывод

При использовании бесформатного вывода данные выводятся на устройства вывода в форматах, обусловленных в среде Turbo-Pascal 7.0 системой умолчаний и типом данных.

Пример

var A,B: real;

I,N: integer;

C: char;

...

I:=0; N:=I+1;

A:=0.25; B:=Sqrt(A); C:=’#’;

Writeln(I,’ ‘,N); { 0 1}

Writeln(A,B); { 2.5000000000E-01 5.0000000000E-01}

Writeln(A,Sqrt(A)); { 2.5000000000E-01 5.0000000000E-01}

Writeln(N+5,C); { 6#}

Write(MaxInt); {32767-максимальное число типа integer}

Форматный вывод

При использовании форматного вывода каждый элемент списка может быть представлен в одной из следующих форм:

A:w

A:w:d

где A - элемент списка вывода;

w - целое положительное число, определяющее общую длину поля

вывода;

d - целое положительное число, определяющее длину дробной части

выводимого вещественного числа.

Пример

var A,B: real;

I,N: integer;

C: char;

...

I:=0; N:=I+1;

A:=0.25; B:=Sqrt(A); C:=’#’;

Writeln(A:5:2,B:6:2); { 0.25 0.50}

Writeln(‘I=’,I:4); {I= 0}

Writeln(C:4); { #}

Writeln(‘B=’,Sqrt(A):6:2); {B= 0.50}

Writeln(‘***************’); {***************}

Writeln(‘*A=’,A:4:2,’*B=’,B:4:2,’*’); {*A=0.25*B=0.50*}

Writeln(‘***************’); {***************}

 



Поделиться:


Последнее изменение этой страницы: 2016-12-13; просмотров: 182; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.225.234.234 (0.011 с.)