Поделитесь своими знаниями, ответьте на вопрос:
Задание 1 Во Сколько байт оперативной памяти будет занимать описанный массив? t: array [1..80] of boolean; Выберите один из 4 вариантов ответа: 1) 160 2) 10 3) 0 4) 80 Задание 2 Во Сколько элементов в описанном массиве? d: array [byte] of byte; Запишите число: Задание 3 Во Сколько байт занимает описанный массив? a: array [boolean] of real; Запишите число: Задание 4 Во Как называются ячейки оперативной памяти, в которых хранятся данные массива? Выберите один из 4 вариантов ответа: 1) Пункты массива 2) Строки 3) Индексы 4) Элементы массива Задание 5 Во Какие действия возможны над массивами, как над единым целым? Выберите несколько из 4 вариантов ответа: 1) Присваивание 2) Проверка неравенства 3) Сложение 4) Проверка равенства Задание 6 Во Как обратится к элементу массиваа с индексом 5? Запишите ответ: Задание 7 Во Как называется структурный тип данных, используемый для хранения пронумерованных величин одного типа? Выберите один из 4 вариантов ответа: 1) Регулярный тип 2) Комбинированный тип 3) Составной тип 4) Строковый тип Задание 8 Во Какие варианты описания элементов массива являются правильными? Выберите несколько из 4 вариантов ответа: 1) c: array [char] of 1..7; 2) m: array [integer] string; 3) t: array [real] of real; 4) a: array [1..2] of byte; Задание 9 Во Сколько байт оперативной памяти в среде PascalABC занимает описанный двумерный массив? a: array [1..50, 1..70] ofinteger; Выберите один из 4 вариантов ответа: 1) 7 000 2) 70 3) 3 500 4) 50 Задание 10 Во Какая величина в языке Pascalназывается массивом? Выберите один из 4 вариантов ответа: 1) Величина составного типа 2) Величина одного из числовых типов 3) Величина регулярного типа 4) Величина символьного типа
// Внимание! Если программа не работает, обновите версию!
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)