Помогите написать программу в Паскале,чтобы переводила из бит в байты в мБайты Кбайты,Вообще из Бит-Кбайт в Кбайты-Бит и наоборот.Напимер ввожу 2 Мбайт,хочу перевести в кБАйты.
Помогите написать программу в Паскале,чтобы переводила из бит в байты в мБайты Кбайты,Вообще из Бит-Кбайт в Кбайты-Бит и наоборот.Напимер ввожу 2 Мбайт,хочу перевести в кБАйты.
Ответ(ы) на вопрос:
Гость
var a:integer;
begin
write('a = ');
readln(a);
writeln('Укажите направление перевода:');
writeln('1 - бит -> байт, Кбайт, Мбайт');
writeln('2 - байт -> бит, Кбайт, Мбайт');
writeln('3 - Кбайт -> бит, байт, Мбайт');
writeln('4 - Мбайт -> бит, байт, Кбайт');
readln(n);
case n of
1: writeln(a,' бит = ',a/8,' байт, ',a/8/1024,' Кбайт, ',a/8/1024/1024,' Мбайт');
2: writeln(a,' байт = ',a*8,' бит, ',a/1024,' Кбайт, ',a/1024/1024,' Мбайт');
3: writeln(a,' Кбайт = ',a*8*1024,' бит, ',a*1024,' байт, ',a/1024,' Мбайт');
4: writeln(a,' Мбайт = ',a*8*1024*1024,' бит, ',a*1024*1024,' байт, ',a*1024,' Кбайт');
else writeln('Неверный номер');
end;
end.
Пример:
a = 2048
Укажите направление перевода:
1 - бит -> байт, Кбайт, Мбайт
2 - байт -> бит, Кбайт, Мбайт
3 - Кбайт -> бит, байт, Мбайт
4 - Мбайт -> бит, байт, Кбайт
3
2048 Кбайт = 16777216 бит, 2097152 байт, 2 Мбайт
Гость
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.
Не нашли ответ?
Похожие вопросы