Var n_for_1, n_for_2 : integer;
number : real;
// 1 страница программы
procedure FirstListOfMenu;
begin
writeln('1. Перевод из битов...');
writeln('2. Перевод из байтов...');
writeln('3. Перевод из килобайтов...');
writeln('4. Перевод из мегабайтов...');
writeln('5. Перевод из гигабайтов...');
write('Ввод >> ');
end;
// 2 страница программы
procedure SecondListOfMenu;
begin
writeln('1_...в биты.');
writeln('2_...в байты.');
writeln('3_...в килобайты');
writeln('4_...в мегабайты');
writeln('5_...в гигабайты');
write('Ввод >> ');
end;// переводprocedure Translate(a, b : integer; value : real);
begin
case a of
1 : begin
case b of
1 : write('Вы переводите из битов в биты!');
2 : write(value : 0 : 2, ' bit = ', (value / 8) : 0 : 10, 'byte.');
3 : write(value : 0 : 2, ' bit = ', (value / 8 / 1024) : 0 : 10, 'kByte');
4 : write(value : 0 : 2, ' bit = ', (value / 8 / 1024 / 1024) : 0 : 10, 'mByte');
5 : write(value : 0 : 2, ' bit = ', (value / 8 / 1024 / 1024 / 1024) : 0 : 10, 'gByte');
else write('Выбран неверный режим!');
end;
end;
2 : begin
case b of
1 : write(value : 0 : 2, ' byte = ', (value * 8) : 0 : 10, 'bit.');
2 : write('Вы переводите из байтов в байты!');
3 : write(value : 0 : 2, ' byte = ', (value / 1024) : 0 : 10, 'kByte');
4 : write(value : 0 : 2, ' byte = ', (value / 1024 / 1024) : 0 : 10, 'mByte');
5 : write(value : 0 : 2, ' byte = ', (value / 1024 / 1024 / 1024) : 0 : 10, 'gByte');
else write('Выбран неверный режим!');
end;
end;
3 : begin
case b of
1 : write(value : 0 : 2, ' kbyte = ', (value * 8 * 1024) : 0 : 10, 'bit.');
2 : write(value : 0 : 2, ' kbyte = ', (value * 1024) : 0 : 10, 'byte');
3 : write('Вы переводите из килобайтов в килобайты!');
4 : write(value : 0 : 2, ' kbyte = ', (value / 1024) : 0 : 10, 'mByte');
5 : write(value : 0 : 2, ' kbyte = ', (value / 1024 / 1024) : 0 : 10, 'gByte');
else write('Выбран неверный режим!');
end;
end;
4 : begin
case b of
1 : write(value : 0 : 2, ' mbyte = ', (value * 8 * 1024 * 1024) : 0 : 10, 'bit.');
2 : write(value : 0 : 2, ' mbyte = ', (value * 1024 * 1024) : 0 : 10, 'byte');
3 : write(value : 0 : 2, ' mbyte = ', (value * 1024) : 0 : 10, 'kbyte');
4 : write('Вы переводите из мегабайтов в мегабайты!');
5 : write(value : 0 : 2, ' mbyte = ', (value / 1024) : 0 : 10, 'gByte');
else write('Выбран неверный режим!');
end;
end;
5 : begin
case b of
1 : write(value : 0 : 2, ' gbyte = ', (value * 8 * 1024 * 1024 * 1024) : 0 : 10, 'bit.');
2 : write(value : 0 : 2, ' gbyte = ', (value * 1024 * 1024 * 1024) : 0 : 10, 'byte');
3 : write(value : 0 : 2, ' gbyte = ', (value * 1024 * 1024) : 0 : 10, 'kbyte');
4 : write(value : 0 : 2, ' gbyte = ', (value * 1024) : 0 : 10, 'gByte');
5 : write('Вы переводите из гигабайтов в гигабайты!');
else write('Выбран неверный режим!');
end;
end;
end;
end;// тело главной функцииbegin
FirstListOfMenu;
readln(n_for_1);
SecondListOfMenu;
readln(n_for_2);writeln;
write('Введите число для перевода >> ');
readln(number);writeln;
Translate(n_for_1, n_for_2, number);end.