Информатика 8 клас. дано к 3 заданию : В електронній таблиці наведено дані продажу за рік накопичувачів на жорстких магнітних дисках у деякому комп'ютерному магазині
Program dfg;vars:real;o,k:integer;f,w,r,e:array[1..10] of integer;i,t,x,g,h,j,u,y,l,d:integer;beginh:=0;d:=0;o:=1;k:=1;write('массив1= ');writeln(); for x:=1 to 4 do begin for i:=1 to 4 do beginr[i]:=random(10);write(r[i]);e[i]:=o*r[i];o:=o*10;u:=0+e[i];
if r[i]=0 thenh:= h+1; if r[i]=1 thend:=d+1; end;writeln(); end;writeln(); writeln();write('массив2=');writeln();randomize; for x:=1 to 4 do begin for i:=1 to 4 do beginr[i]:=random(10);write(r[i]);e[i]:=o*r[i];o:=o*10;u:=0+e[i];
if r[i]=0 thenh:= h+1; if r[i]=1 thend:=d+1; end;writeln(); end;writeln();writeln('нули = ',h);writeln('единицы = ',d);
// PascalABC.NET 3.3.5, сборка 1644 от 23.03.2018 // Внимание! Если программа не работает, обновите версию!
function aToDec(n:string;k:integer):string; // Перевод из системы по основанию k в десятичную begin var s:='0123456789ABCDEF'; Result:=''; var PointPos:=Pos('.',n); if PointPos>0 then begin // есть дробная часть var sFracPart:=n[PointPos+1:]; var r:=0.0; var p:=k; foreach var c in sFracPart do begin r+=(Pos(c,s)-1)/p; p*=k; end; Result:=r.ToString[2:] end else PointPos:=n.Length+1; var pa:=1; n:=n[:PointPos]; var p:=0; foreach var c in n.Reverse do begin p+=pa*(Pos(c,s)-1); pa*=k end; Result:=p.ToString+Result end;
function DecToa(n:string;k:integer):string; // Перевод из десятичной системы в систему по основанию k begin var s:='0123456789ABCDEF'; Result:=''; var PointPos:=Pos('.',n); var IntPart:integer; if PointPos>0 then begin // есть дробная часть var FracPart:=Frac(n.ToReal); var m:=0; while True do begin var r:=FracPart*k; Result+=s[Trunc(r)+1]; FracPart:=Frac(r); m+=1; if (m=15) or (FracPart=0) then break end; IntPart:=n[:PointPos].ToInteger; end else IntPart:=n.ToInteger; if Result<>'' then Result:='.'+Result; while IntPart>0 do begin Result:=s[IntPart mod k+1]+Result; IntPart:=IntPart div k end; if Result='' then Result:='0'; if Result[1]='.' then Result:='0'+Result end;
function AtoB(s:string;A,B:integer):string; // Перевод из системы по основанию A в систему по основанию B begin if A=10 then Result:=DecToa(s,B) else if B=10 then Result:=aToDec(s,A) else Result:=DecToa(aToDec(s,A),B) end;
begin var n:=ReadlnString('Какое число перевести?'); var (a,b):=ReadInteger2('Исходное и результирующее основания:'); Writeln(n,'(',a,') = ',AtoB(n,a,b),'(',b,')'); end.
Пример Какое число перевести? 345.653 Исходное и результирующее основания: 8 16 345.653(8) = E5.D58(16)
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку