Данная структура используется также в неполной форме. В этом случае она реализуется следующим образом.

Бейсик SELECT CASE <выражение> CASE <условиe1> <оператор1> … CASE<условиeN> <операторN> ENDSELECT   IF<условие1>THEN <оператор1> ELSEIF<условие2>THEN <оператор2> … ELSEIF<условиеN>THEN <операторN> END IF
Паскаль сase <выражение> of <список констант1> : <оператор1> ; . . . <список константN> : <операторN> ; end ;
Си switch (<выражение>) case<константа1> : <оператор1> ; break; . . . case<константаN> : <операторN> ; break;

Структура «цикл с предусловием»

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

Данная структура используется также в неполной форме. В этом случае она реализуется следующим образом. - student2.ru где Р – логическое выражение (условие), S – оператор или группа операторов (тело цикла).

На языках программирования для ее реализации имеется оператор цикла с предусловием:

Бейсик Паскаль Си
DOWHILE<условие> <оператор> LOOP while<условие> do<оператор>; while (<условие>) <оператор>;  

Пример 4.4

Задача: Вводить целые числа, до тех пор, пока не будет введено отрицательное число. Определить сумму и количество введенных чисел.

Данная структура используется также в неполной форме. В этом случае она реализуется следующим образом. - student2.ru programchisla;

usescrt;

var k,s,n:integer;

Begin

clrscr;

k:=0;

s:=0;

write('Введитечисло - ');

readln(n);

while n>0 do

Begin

k:=k+1;

s:=s+n;

write(' Введитечисло - ');

readln(n);

end;

writeln('Сумма введенных чисел =',s);

writeln('Количество введенных чисел =',k);

readln;

end.

Структура «цикл с постусловием»

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

Данная структура используется также в неполной форме. В этом случае она реализуется следующим образом. - student2.ru где Р – логическое выражение (условие), S – оператор или группа операторов (тело цикла).

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

На Бейсике и Паскале структура реализуется так:

Бейсик Паскаль
DO <оператор> LOOPUNTIL<выражение> repeat< оператор > until< выражение > ;

Данная структура используется также в неполной форме. В этом случае она реализуется следующим образом. - student2.ru

Пример 4.5

Задача: Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12, … , 24 часа.

program amebs;

uses crt;

var k,v:integer;

Begin

clrscr;

k:=1;

v:=0;

writeln('ВремяКоличество');

Repeat

k:=k*2;

v:=v+3;

writeln(v:4,k:6)

until v=24;

readln;

end.

Данная структура используется также в неполной форме. В этом случае она реализуется следующим образом. - student2.ru Структура «цикл с параметром»

Структуру «цикл с параметром» рекомендуется использовать, когда заранее известно число повторений тела цикла. Она имеет вид:

где М — заголовок цикла, S — оператор или группа операторов (тело цикла).
В заголовке цикла инициализируется параметр цикла, т.е. ему присваивается начальное значение, указывается конечное значение параметра цикла, до достижения которого тело цикла будет повторяться, и шаг, который показывает, на сколько изменится параметр цикла после каждого выполнения тела цикла. На языках программирования данная структура реализуется следующим образом:



Бейсик FOR<параметр цикла> = <начальное значение параметра цикла>TO<конечное значение параметра цикла> [STEP<шаг>] <оператор> NEXT [<параметр цикла>]
Паскаль for<параметр цикла> := <начальное значение параметра цикла>to<конечное значение параметра цикла> do<оператор>; или for<параметр цикла> := <начальное значение параметра цикла>downto<конечное значение параметра цикла> do<оператор>;
Си for (<параметр цикла> = <начальное значение параметра цикла>; <условие выполнения цикла>; [<параметр цикла> = <параметр цикла>+<шаг>] ) <оператор>;

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

Пример 4.6

Задача: Вывести квадраты чисел от 1 до 10.

Данная структура используется также в неполной форме. В этом случае она реализуется следующим образом. - student2.ru program kvadrat;

uses crt;

var i, k:integer;

Begin

clrscr;

for i:=1 to 10 do

Begin

k:=i*i;

writeln('Kvadrat ',i:2,' = ',k )

end;

readln;

end.

Наши рекомендации