Var s:string; m,pk:real; a:array[1..20] of real; i,k,n:integer; begin Write('Введите число в системе счисления с основанием [2;16]: '); Readln(s); n:=Length(s); for i:=1 to n do begin if s[i] in ['0'..'9'] then a[i]:=Ord(s[i])-Ord('0') else if s[i] in ['A'..'F'] then a[i]:=Ord(s[i])-Ord('A')+10 else if s[i] in ['a'..'f'] then a[i]:=Ord(s[i])-Ord('a')+10 else begin Writeln('Символ ',s[i],' недопустим!'); Exit end end; Write('Введите основание системы счисления: '); Read(k); if (k<2) or (k>16) then begin Writeln('Такое значение недопустимо!'); Exit end; m:=a[n]; pk:=k; for i:=n-1 downto 1 do begin m:=m+a[i]*pk; pk:=pk*k end; Writeln('Десятичный эквивалент введенного числа равен ',m) end.
Тестовое решение Введите число в системе счисления с основанием [2;16]: 4e32Ca Введите основание системы счисления: 16 Десятичный эквивалент введенного числа равен 5124810
maltes
12.04.2023
1)var a:array[1..4,1..4] of integer; i,j,s:integer; begin for i:=1 to 4 do for j:=1 to 4 do readln(a[i,j]);
for i:=1 to 4 do begin writeln(); for j:=1 to 4 do begin write(a[i,j],' '); if (i+j>5) then s:=s+a[i,j]; end; end; writeln(); write(s); end.
2)var a:array[1..4,1..4] of integer; i,j,s:integer; begin for i:=1 to 4 do for j:=1 to 4 do readln(a[i,j]);
for i:=1 to 4 do begin writeln(); for j:=1 to 4 do begin write(a[i,j],' '); if (i>J) then s:=s+a[i,j]; end; end; writeln(); write(s); end.
dentob72
12.04.2023
var mas1, mas2: array[0..9] of integer; t, k, i, j: integer; begin readln(t); readln(k); for j := 0 to 1 do begin if (j = 1) then writeln(); for i := 0 to 9 do begin if(j = 0) then begin mas1[i] := random(100); write(mas1[i], ' '); if mas1[i] > t Then mas1[i] := mas1[i] + 4; end else begin mas2[i] := random(100); write(mas2[i], ' '); if mas2[i] > 10 * K Then mas2[i] := mas2[i] + K; end; end; for i := 0 to 9 do if (j = 0) then write(mas1[i]) else write(mas2[i]); writeln(); end; readln(); end.
s:string;
m,pk:real;
a:array[1..20] of real;
i,k,n:integer;
begin
Write('Введите число в системе счисления с основанием [2;16]: ');
Readln(s);
n:=Length(s);
for i:=1 to n do begin
if s[i] in ['0'..'9'] then a[i]:=Ord(s[i])-Ord('0')
else
if s[i] in ['A'..'F'] then a[i]:=Ord(s[i])-Ord('A')+10
else
if s[i] in ['a'..'f'] then a[i]:=Ord(s[i])-Ord('a')+10
else begin
Writeln('Символ ',s[i],' недопустим!');
Exit
end
end;
Write('Введите основание системы счисления: '); Read(k);
if (k<2) or (k>16) then begin
Writeln('Такое значение недопустимо!');
Exit
end;
m:=a[n];
pk:=k;
for i:=n-1 downto 1 do begin
m:=m+a[i]*pk;
pk:=pk*k
end;
Writeln('Десятичный эквивалент введенного числа равен ',m)
end.
Тестовое решение
Введите число в системе счисления с основанием [2;16]: 4e32Ca
Введите основание системы счисления: 16
Десятичный эквивалент введенного числа равен 5124810