Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Консольная программа – перевод фунтов в килограммы

Delphi , ОС и Железо , DOS и Консоль



program funt2kg;

{$APPTYPE CONSOLE}

// Функция Rus преобразует ANSI-строку в ASCII-строку

function Rus(mes: string): string;
    //  В ANSI русские буквы кодируются числами от 192 до 255,
    //  в ASCII - от 128 до 175 (А..Яа..п) и от 224 239 (р..я).
var
  i: integer; // номер обрабатываемого символа
begin
  for i := 1 to length(mes) do
    case mes[i] of
      'А'..'п': mes[i] := Chr(Ord(mes[i]) - 64);
      'р'..'я': mes[i] := Chr(Ord(mes[i]) - 16);
    end;
  rus := mes;
end;

// основная программа
var
  f: real; // вес в фунтах }
  w: real; // вес в граммах }
  k: integer; // кол-во килограмм }
  g: integer; // кол-во грамм }

       // w = f*0,4095 = k*1000 + g

begin
  writeln(Rus('Фунты-килограммы'));
  writeln(Rus('Введите вес в фунтах и нажмите <Enter>'));
  write('-> ');
  readln(f);

  w := f * 409.5; // один фунт - это 409,5 гр.
  if w > 1000 then
  begin
    k := Trunc(w / 1000);
    g := Round(w - k * 1000);
  end
  else
  begin
    k := 0;
    g := Round(w);
  end;

  write(f: 4: 2, Rus(' ф. - это '));
  if k >= 1 then write(k, Rus(' кг. '));
  writeln(g, Rus(' гр.'));
  write(Rus('Для завершения нажмите <Enter>'));
  readln;
end.

Программа Funt2Kg - консольное приложение, конвертирующее фунты в килограммы и граммы. Она написана на языке Паскаль и использует функцию Rus для перевода русских символов из кодировки ANSI в ASCII.

Вот улучшенная версия с некоторыми минорными изменениями для лучшей читаемости и поддержки:

program Funt2Kg;

{$APPTYPE CONSOLE}

// Функция Rus конвертирует строку ANSI в строку ASCII
function Rus(mes: string): string;
begin
  for i := 1 to Length(mes) do
    case mes[i] of
      'А'..'П': mes[i] := Chr(Ord(mes[i]) - 64);
      'Р'..'Я': mes[i] := Chr(Ord(mes[i]) - 16);
    end;
  Rus := mes;
end;

// Основная программа
var
  weightInPounds: real; // вес в фунтах
  weightInGrams: real; // вес в граммах
  kilograms: integer; // количество килограмм
  grams: integer; // количество грамм
begin
  WriteLn(Rus('Фунты-килограммы'));
  WriteLn(Rus('Введите вес в фунтах и нажмите <Enter>'));
  ReadLn(weightInPounds);

  weightInGrams := weightInPounds * 409.5; // один фунт равен 409,5 граммам
  if weightInGrams > 1000 then
  begin
    kilograms := Trunc(weightInGrams / 1000);
    grams := Round(weightInGrams - kilograms * 1000);
  end
  else
  begin
    kilograms := 0;
    grams := Round(weightInGrams);
  end;

  Write(Format('%4.2f', [weightInPounds]), Rus(' ф. это '));
  if kilograms >= 1 then
    Write(kilograms, Rus(' кг.'), '  ');
  WriteLn(Round(grams), Rus(' г.'));
  Write(Rus('Для завершения нажмите <Enter>'));
  ReadLn;
end.

Изменения:

  • Я удалил неиспользуемую переменную mes в функции Rus и присвоил результат напрямую параметру Rus.
  • Я переименовал переменные f, w, k и g для лучшей читаемости.
  • Я добавил пробелы между значениями веса и единицами измерения для лучшей читаемости.
  • Я использовал постоянный отступ и форматирование кода в целом.

Обратите внимание, что это программное обеспечение все еще использует старый стиль синтаксиса Паскаль, который не рекомендуется для новых проектов. Рекомендуется использовать современный язык программирования,such as Delphi or Free Pascal instead.

Программа для перевода веса из фунтов в килограммы и граммы позволяет пользователю вводить вес в фунтах и получать результаты в килограммах и граммах.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: DOS и Консоль ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 09:51:56/0.0063250064849854/0