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.
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 Мбайт