Разработка программ циклической структуры с использованием оператора For в Scilab Теоретические сведения Циклический алгоритм – это алгоритм, который реализует повторение некоторых действий. Оператор цикла с параметром В случаях, когда число повторений известно заранее, удобно использовать оператор цикла с параметром. В этом цикле важную роль играет переменная-параметр, которая на каждом шаге цикла автоматически изменяет свое значение ровно на единицу. Поэтому переменную-параметр называют также счетчиком. Формат оператора цикла с параметром: For = : : ; End; Порядок работы оператора FOR При первом обращении к оператору цикла FOR вначале вычисляются выражения и и осуществляется присваивание = . После этого циклически повторяются следующие действия: 1. Проверяется условие 2. Если условие принимает значение TRUE (истина), то выполняется тело цикла, если условие принимает значение FALSE (ложь), то оператор FOR завершает работу, и происходит переход на оператор, следующий за циклом 3. Значение переменной-параметра изменяется на 1 шаг и далее с п.1. Блок-схема оператора For …to
procedure ReadFile(FileName:string); var f:text; s:string; i,k:integer; begin assign(f,FileName); reset(f); while not eof (f) do begin { пока не конец файла } readln (f, s); for i:= 1 to length(s) do begin k:=pos(s[i], alphabet); if k=1 then k=length(alphabet); {это приколы изза я} if k>1 then s[i]:=alphabet[k-1]; end; writeln(s); end; close(f); end;
if (N mod 2 = 0) and (N div 100 < 1) and (N > 9) then write('Данное число является четным двузначным') else if (N div 100 < 1) and (N > 9) then write ('Данное число не четное двузначное');
const alphabet="";
var FileName:string
procedure ReadFile(FileName:string);
var f:text;
s:string;
i,k:integer;
begin
assign(f,FileName);
reset(f);
while not eof (f) do begin { пока не конец файла }
readln (f, s);
for i:= 1 to length(s) do begin
k:=pos(s[i], alphabet);
if k=1 then k=length(alphabet); {это приколы изза я}
if k>1 then s[i]:=alphabet[k-1];
end;
writeln(s);
end;
close(f);
end;
Begin
read(FileName);
ReadFile;
readln;
End.
№1
Program z1;
var N:integer;
Begin
write ('Введите число N: ');
readln(N);
if (N mod 2 = 0) and (N div 100 < 1) and (N > 9) then write('Данное число является четным двузначным') else if (N div 100 < 1) and (N > 9) then write ('Данное число не четное двузначное');
end.
№2
Program z2;
var a, b, c, k:integer;
Begin
k:=0;
writeln ('Введите числа a, b и c: ');
readln(a,b,c);
if a<0 then k:=k+1;
if b<0 then k:=k+1;
if c<0 then k:=k+1;
write('Количество отрицательных чисел: ',k)
end.