Срешением, ! предлагаются 5 на абстрактном алгоритмическом языке. от вас требуются исчерпывающие конкретные ответы на все поставленные вопросы. программировать на компьютере ничего не следует. 1 есть ли смысл в следующем фрагменте программы? дать развернутые пояснения. real y=2.0,x=1.0,e=1.0; do{ e=e/2.0; y=x+e; }while(y< > 1.0) 2 разобраться в назначении и алгоритме программы. выявить ошибки. cоставить пример обращения к процедуре. провести разумную трассировку программы для конкретных данных. определить эффективность и надежность программы в общепринятом смысле. предложить улучшения алгоритма и программы. proc xx(y[],l,r) // заголовок процедуры { integer y[n],l,r,x,i,j,f,t,z; //описание типов переменных i=l; j=r; x=(l+r)/2; // три оператора присваивания do{ do{ f=0; if(y[i]y[x]) f=1; if(f< 0)i=i+1; } while(f< 0); do{ f=0; if(y[j]> y[x]) f=-1; if(y[j] if(f< 0)j=j+1; } while(f< 0); if(i< =j) {z=y[i]; y[i]=y[j]; y[j]=z; } } while(i< =j) if(l if(i } 3 есть ли смысл в следующем фрагменте программы? есть ли ошибки? пояснить. proc yy(x) // заголовок процедуры { integer x; if(x==1)return(1); if(x< > 1)return(x*yy(x-1)); } 4 сравнить два варианта программы: // 1-й вариант // 2-ой вариант real a,b,c,y; y=a+b+c; real a,b,c,y; y=c+b+a; 5 разобраться в назначении и алгоритме программы. выявить ошибки. составить пример обращения к процедуре. провести "разумную" трассировку. определить эффективность и надежность программы в общепринятом смысле. предложить улучшения алгоритма и программы. избавиться от goto. proc rr(u[],n) // заголовок процедуры { integer u[n],n,v1; c1,c2; //описание типов переменных c1=1; do{ m1: // m1 -это метка v1=rand()*n; // rand- процедура генерации вещественных // случайных чисел из интервала (0.0; 1.0) c2=1; do{ if(v1==u[c2]) goto m1; } while (c2< =n); u[c1]=v1; c1=c1+1; } while (c1< =n); } общие пояснения // -это комментарий; список параметров процедуры.; y[i]- i-ый элемент массива y; {} - блочный (составной) оператор, содержащий группу операторов; ==/ > /< =/< > - логические операции равно/ меньше/ больше/ меньше и равно/ не равно; do {} while(b) - циклически выполняется {}, пока b -истинно; остальное принимать по смыслу.
const
m: array[1..8, 1..8] of byte =
((0, 1, 1, 1, 0, 0, 0, 0),
(1, 0, 0, 0, 1, 0, 1, 0),
(1, 0, 0, 0, 1, 1, 0, 0),
(1, 0, 0, 0, 0, 1, 1, 0),
(0, 1, 1, 0, 0, 0, 0, 1),
(0, 0, 1, 1, 0, 0, 0, 1),
(0, 1, 0, 1, 0, 0, 0, 1),
(0, 0, 0, 0, 1, 1, 1, 0));
var
n, i, j, k: integer;
a: array[0..100, 1..8] of int64;
begin
read(n);
a[0, 1] := 1;
for k := 1 to n do
for i := 1 to 8 do
for j := 1 to 8 do
if m[i, j] = 1 then
a[k, i] := a[k, i] + a[k - 1, j];
write(a[n, 8]);
end.
const
IN_FILENAME = 'INPUT.txt';
OUT_FILENAME = 'OUTPUT.txt';
var
fileIn,fileOut: TextFile;
s,t: string;
begin
writeln('Загружаю входные данные...');
t := '';
AssignFile(fileIn, IN_FILENAME);
AssignFile(fileOut, OUT_FILENAME);
reset(fileIn);
while not eof(fileIn) do
begin
readln(fileIn, s);
if (s = '0') then
break
else
t := t + s;
end;
CloseFile(fileIn);
rewrite(fileOut);
writeln(fileOut, Length(t));
CloseFile(fileOut);
end.