Дайте развернутые ответы на вопросы: 1. Что такое цикл? Как записывается команда цикла? 2. Что такое условие цикла? 3. Что такое тело цикла? 4. В каком случае происходит зацикливание алгоритма? 5. Что такое блок-схема? 6. Из каких блоков составляются блок-схемы (как они изображаются и что обозначают)? Приведите примеры. 7. Что обозначают стрелки на блок-схемах? 8. Дан алгоритм в виде блок-схемы. Запишите его на алгоритмическом языке.
1.var max,min,i:integer; b:real; a:array[1..9]of integer; begin for i:=1 to 9 do begin while (a[i]<1) or (a[i]>6) do begin write(i,' оценка: '); readln(a[i]); end; if i=1 then begin max:=a[1]; min:=a[1]; end; if a[i]>max then max:=a[i]; if a[i]<min then min:=a[i]; b:=b+a[i]; end; b:=(b-min-max)/7; writeln('Зачетная оценка: ',b); end.
2. #include <stdafx.h> #include <stdio.h> #include <math.h> #include <stdlib.h> //for rand; int main() { int i, n,M[1]; printf("Vvedit N:"); scanf("%d",&n); for (i = 0; i < n; i++) { M[i] = rand()%10; } for (i = 0; i < n; i++) { printf("Array[%d] = %d\n", i, M[i]); } scanf("%d"); return 0; }
3. var
a:array[0..9] of integer; i,y,min:integer; begin randomize(); for i:=0 to 9 do begin y:= random(10); a[i]:= y; end; for i:=0 to 9 do write(a[i],' '); writeln(' - десять випадковых чисел'); min:=a[0]; for i:=1 to 9 do if a[i]<min then min:=a[i]; writeln(min, ' - минимальне число.');
procedure nod( var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real; ); var a:array[1..6] of real; i : integer; begin dv1:=100; tr1:=100; pt1:=100; for i:= low(a) to high (a) do begin readln(a[i]); repeat if( (a[i] mod 2) =0) then begin a[i]:=a[i]/2; dv:=dv+1; end else if( ( a[i] mod 3)=0) then begin a[i]:=a[i]/3; tr:=tr+1; end else if ( ( a[i] mod 5)=0) then begin a[i]:=a[i]/5; pt:=pt+1; end;
untill(a=1); if dvif trif ptdv:=0; tr:=0; pt:=0; end; if dv1>0 then dv2:=dv1*2 else dv2:=1; if tr1>0 then tr2:=tr1*3 else tr2:=1; if pt1>0 then pt2:=pt1*5 else pt2:=1; nod:=dv2*tr2*pt2; writeln(nod); end; begin nod( dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 ); end.
max,min,i:integer;
b:real;
a:array[1..9]of integer;
begin
for i:=1 to 9 do
begin
while (a[i]<1) or (a[i]>6) do
begin
write(i,' оценка: ');
readln(a[i]);
end;
if i=1 then
begin
max:=a[1];
min:=a[1];
end;
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
b:=b+a[i];
end;
b:=(b-min-max)/7;
writeln('Зачетная оценка: ',b);
end.
2. #include <stdafx.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h> //for rand;
int main()
{
int i, n,M[1];
printf("Vvedit N:");
scanf("%d",&n);
for (i = 0; i < n; i++)
{
M[i] = rand()%10;
}
for (i = 0; i < n; i++)
{
printf("Array[%d] = %d\n", i, M[i]);
}
scanf("%d");
return 0;
}
3. var
a:array[0..9] of integer;
i,y,min:integer;
begin
randomize();
for i:=0 to 9 do
begin
y:= random(10);
a[i]:= y;
end;
for i:=0 to 9 do write(a[i],' ');
writeln(' - десять випадковых чисел');
min:=a[0];
for i:=1 to 9 do
if a[i]<min then min:=a[i];
writeln(min, ' - минимальне число.');
end.