В зависимости от того, в каких единицах измерения вводится значение, перевести его в другие единицы измерения.
В данном случае переводится объем информации (байты, килобайты, мегабайты и гигабайты).
Если пользователь ввел значение в байтах, то надо перевести его в килобайты, мегабайты и гигабайты. 1Кб = 1024 байта, 1Мб = 1024Кб = 1024 * 1024 байта и т. д. Значит надо постепенно делить на 1024.
Если введено значение в килобайтах, то оно переводится в байты путем умножения на 1024, а в мегабайты деления. И т. д.
var units: byte; qty: real; begin writeln('1 - bytes'); writeln('2 - kilobytes'); writeln('3 - megabytes'); writeln('4 - gigabytes'); write('Select: '); readln(units); if units = 1 then begin write('How many bytes: '); readln(qty); qty := qty / 1024; writeln('Kilobytes: ', qty:10:2); qty := qty / 1024; writeln('Megabytes: ', qty:10:2); qty := qty / 1024; writeln('Gigabytes: ', qty:10:2); end else if units = 2 then begin write('How many Kilobytes: '); readln(qty); qty := qty * 1024; writeln('Bytes: ', qty:10:2); qty := qty / 1024 / 1024; writeln('Megabytes: ', qty:10:2); qty := qty / 1024; writeln('Gigabytes: ', qty:10:2); end else if units = 3 then begin write('How many Megabytes: '); readln(qty); qty := qty * 1024 * 1024; writeln('Bytes: ', qty:10:2); qty := qty / 1024; writeln('Kilobytes: ', qty:10:2); qty := qty / 1024 / 1024; writeln('Gigabytes: ', qty:10:2); end else if units = 4 then begin write('How many Gigabytes: '); readln(qty); qty := qty * 1024 * 1024 * 1024; writeln('Bytes: ', qty:10:2); qty := qty / 1024; writeln('Kilobytes: ', qty:10:2); qty := qty / 1024; writeln('Megabytes: ', qty:10:2); end; end.
Комментарии
проще!
Можно сделать гораздо проще