и num равны нулю. Цикл
Вначале величины sum и num равны нулю. Цикл разгрузки продолжается, пока выполняется неравенство sum < 100.
Программа 5
program store;
var sum,w:real;
num:integer;
begin
num:=0;sum:=0;
while sum<100
do
begin
writeln('введите вес груза машины');
readln(w);
sum:=sum+w;
if sum<=100 then num:=num+l
else writeln('груз уже не поместится')
end;
writeln('число разгруженных машин =',num;3)
end.
Оператор
цикла с постусловием имеет форму:
repeat <последовательность операторов>
until <логическое выражение>
Действие: выполняется последовательность операторов. Далее вычисляется значение логического выражения. Если оно равно true, то действие заканчивается, в противном случае снова выполняется последовательность операторов и т.д.
Решим предыдущую задачу, применяя цикл с постусловием. Цикл разгрузки заканчивается, если выполняется условие: sum > 100.
Программа 6
program store2;
var sum,w:real; man:integer;
begin
num: =0; sum: =0;
repeat
writeln('введите вес груза машины');
readln(w); sum:=sum+w;
if sum<=100 then num:=num+l .
else writeln('груз ухе не поместится')
until sum>=100;
writeln('количество разгруженных машин =',num:3)
end.
Оператор
цикла с
параметром предусматривает повторное выполнение некоторого оператора с одновременным изменением по правилу арифметической прогрессии значения управляющей переменной (параметра) этого цикла. Оператор цикла с параметром имеет две формы.
Форма
1:
for <параметр>:= <выражение
1> to <выражение 2> do <оператор>
Параметр, выражение 1, выражение 2 должны быть одного ординального типа;
Параметр в этом цикле возрастает. Действие эквивалентно действию следующего составного оператора:
begin
<параметр>:=<выражение 1>;
while <параметр> <= <выражение 2> do
begin
<оператор>;
<параметр>:=suсс(<параметр>)
end
end.
Если в этом описании отношение <= заменить на >= , а функцию succ на pred, то параметр в цикле будет убывать, в этом случае цикл с параметром принимает форму 2.
Форма 2:
for <параметр>:=<выражение 1> downto <выражение 2> do <оператор>
Пример: составим программу, по которой будет напечатана таблица перевода километров в мили (1 миля = 1,603 км). Параметром цикла можно считать целую величину k - количество километров. Пусть эта величина изменяется от 1 до 10 (с шагом 1, разумеется).
Программа 7
program mili;
const a=1.603;
b='км'; с='мили';
var k:integer; m:real;
begin
writeln(b:5,c:7); writeln;
for k:=l to 10 do
begin
m:=k/a; writeln(k:5,m:6:3)
end
end.
Запишем в этой программе цикл с параметром в форме 2:
for k:=10 downto 1 do
begin
m:=k/a; writeln(k:5,m:6:3)
end.
Тогда значения k в таблице будут убывать от 10 до 1 с шагом 1.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий