Перевести из одних единиц измерения в другие в зависимости от выбора пользователя

Задача: 

В зависимости от того, в каких единицах измерения вводится значение, перевести его в другие единицы измерения.

В данном случае переводится объем информации (байты, килобайты, мегабайты и гигабайты).

Алгоритм решения задачи: 

Если пользователь ввел значение в байтах, то надо перевести его в килобайты, мегабайты и гигабайты. 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.

Комментарии

проще!

Можно сделать гораздо проще