Разработка программ циклической структуры c использованием оператора While в Scilab Теоретические сведения Циклический алгоритм – это алгоритм, который реализует повторение некоторых действий. Оператор цикла с предусловием Формат оператора цикла с предусловием: While End; Порядок работы оператора WHILE Сначала проверяется . Если оно равно TRUE (истина), то выполняется тело цикла, и снова проверяется . Так продолжается до тех пор, пока значение условия не станет равно FALSE (ложь), т.е. пока условие не нарушится. Если значение условия равно FALSE, то происходит выход из цикла и переход к следующему после While оператору.
Program prog1; Uses crt; var a: array [1..50] of integer; k, i: integer; begin clrscr; randomize; for i:=1 to 50 do begin a[i]:= random(41); write(a[i],' '); if a[i]=23 then inc(k); end; writeln;writeln; writeln('k = ',k); end.
Program prog2; Uses crt; var a: array [1..50] of integer; i: integer; begin clrscr; randomize; for i:=1 to 50 do begin a[i]:= random(41); write(a[i],' '); if (a[i] mod 5) =0 then a[i]:=-1; end; writeln;writeln; for i:=1 to 50 do write(a[i],' '); end.
Program prog3; Uses crt; var a: array [1..10] of integer; tmp, i: integer; begin clrscr; randomize; for i:=1 to 10 do begin a[i]:= random(41); write(a[i],' '); end; tmp:=a[2]; a[2]:=a[9]; a[9]:=tmp; writeln;writeln; for i:=1 to 10 do write(a[i],' '); end.
Program prog4; Uses crt; var a: array [1..100] of integer; n, i,k: integer; begin clrscr; randomize; write('N = '); readln(n); for i:=1 to n do begin a[i]:= random(41); write(a[i],' '); end; writeln;writeln; for i:=1 to n-1 do if ((a[i] mod 10)=2)and((a[i+1] mod 10)=2) then inc(k); writeln('k = ', k); end.
1. В каких случаях используется оператор цикла с параметром? Как он оформляется? Как он работает (что происходит при его выполнении)? Нарисуйте графическую схему выполнения.
2. Что такое "тело оператора цикла"?
3. Может ли тело оператора цикла с параметром не выполниться ни разу?
4. Как должен быть оформлен оператор цикла с параметром, чтобы тело цикла выполнялось при уменьшающихся значениях параметра цикла? Как он будет работать (что будет происходить при его выполнении)? Нарисуйте графическую схему выполнения.
5. Чему равно количество повторений тела оператора цикла с параметром, если параметр цикла принимает:
а) все целые значения от 1 до 10? б) все целые значения от a до b? в) все нечетные значения от 1 до 20?1 г) все нечетные значения от 1 до n?2 д) все значения от 10 до 100 с шагом 7?3 е) все значения от 1,5 до 10,3 с шагом 0,4?4 ж) все значения от a до b с шагом step?5
6. Можно ли в теле оператора цикла с параметром не использовать величину- параметр цикла?
7. Почему в программировании существует правило: нельзя изменять параметр цикла в теле оператора цикла? Правильно?
Uses crt;
var a: array [1..50] of integer;
k, i: integer;
begin
clrscr; randomize;
for i:=1 to 50 do
begin
a[i]:= random(41);
write(a[i],' ');
if a[i]=23 then inc(k);
end;
writeln;writeln; writeln('k = ',k);
end.
Program prog2;
Uses crt;
var a: array [1..50] of integer;
i: integer;
begin
clrscr; randomize;
for i:=1 to 50 do
begin
a[i]:= random(41);
write(a[i],' ');
if (a[i] mod 5) =0 then a[i]:=-1;
end;
writeln;writeln;
for i:=1 to 50 do
write(a[i],' ');
end.
Program prog3;
Uses crt;
var a: array [1..10] of integer;
tmp, i: integer;
begin
clrscr; randomize;
for i:=1 to 10 do
begin
a[i]:= random(41);
write(a[i],' ');
end;
tmp:=a[2];
a[2]:=a[9];
a[9]:=tmp;
writeln;writeln;
for i:=1 to 10 do
write(a[i],' ');
end.
Program prog4;
Uses crt;
var a: array [1..100] of integer;
n, i,k: integer;
begin
clrscr; randomize;
write('N = ');
readln(n);
for i:=1 to n do
begin
a[i]:= random(41);
write(a[i],' ');
end;
writeln;writeln;
for i:=1 to n-1 do
if ((a[i] mod 10)=2)and((a[i+1] mod 10)=2) then inc(k);
writeln('k = ', k);
end.
2. Что такое "тело оператора цикла"?
3. Может ли тело оператора цикла с параметром не выполниться ни разу?
4. Как должен быть оформлен оператор цикла с параметром, чтобы тело цикла выполнялось при уменьшающихся значениях параметра цикла? Как он будет работать (что будет происходить при его выполнении)? Нарисуйте графическую схему выполнения.
5. Чему равно количество повторений тела оператора цикла с параметром, если параметр цикла принимает:
а) все целые значения от 1 до 10?
б) все целые значения от a до b?
в) все нечетные значения от 1 до 20?1
г) все нечетные значения от 1 до n?2
д) все значения от 10 до 100 с шагом 7?3
е) все значения от 1,5 до 10,3 с шагом 0,4?4
ж) все значения от a до b с шагом step?5
6. Можно ли в теле оператора цикла с параметром не использовать величину- параметр цикла?
7. Почему в программировании существует правило: нельзя изменять параметр цикла в теле оператора цикла?
Правильно?