Составить программу - конвертер, которая запрашивает тип единицы длины: 1 - дециметр, 2 -...

0 голосов
116 просмотров

Составить программу - конвертер, которая запрашивает тип единицы длины: 1 - дециметр, 2 - километр, 3 - метр, 4 - миллиметр, 5 - сантиметр, а также число - длину в этой единице и переводит данное число во все остальные единицы длины. Ввод чисел заканчивается нажатием клавиши 0.

Протокол работы программы:
Выберите тип единицы длины: 1 - дециметр, 2 - километр, 3 - метр, 4 - миллиметр, 5 - сантиметр, 0- выход.
1
Введите длину в этой единице: 5
Ответ: 5 дм = 50 см = 500 мм = 0,5 м = 0,0005 км

Выберите тип единицы длины: 1 - дециметр, 2 - километр, 3 - метр, 4 - миллиметр, 5 - сантиметр, 0- выход.
3
Введите длину в этой единице: 100
Ответ: 100 м = 1000 дм = 10000 см = 100000 мм = 0,1 км

Выберите тип единицы длины: 1 - дециметр, 2 - километр, 3 - метр, 4 - миллиметр, 5 - сантиметр, 0- выход.
0
Пока!


Информатика (17 баллов) | 116 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1600 от 23.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var r:integer;
  var x:real;
  while true do begin
    Write('Выберите тип единицы длины:',NewLine,
        '1-дециметр, 2-километр, 3-метр, 4-миллиметр, 5-сантиметр, 0-выход.' );
    Read(r);
    if r=0 then begin Writeln('Пока!'); Exit end;
    Write('Введите длину в этой единице: '); Read(x);
    case r of
      1:Writeln(x, ' дм = ',10*x,' см = ',100*x,' мм = ',x/10,' м = ',
            x/10000,' км');
      2:Writeln(x, ' км = ',1000*x,' м = ',10000*x,' дм = ',100000*x,' см = ',
            x*1000000,' мм');;
      3:Writeln(x, ' м = ',10*x,' дм = ',100*x,' см = ',x*1000,' мм = ',
            x/1000,' км');
      4:Writeln(x, ' мм = ',x/10,' см = ',x/100,' дм = ',x/1000,' м = ',
            x/1000000,' км');
      5:Writeln(x, ' cм = ',10*x,' мм = ',x/10,' дм = ',x/100,' м = ',
            x/100000,' км');
      end
    end
end.

image
(150k баллов)