Можно ли короче написать код? - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Можно ли короче написать код?
Листинг программы
  1. if (MrkTypeOpen = 'PL' and PBT > 800 and PBT <= 1600)
  2. or (MrkTypeOpen = 'PP' and LBT > 800 and LBT <= 1600) then QtyOtv:=1;
  3. if (MrkTypeOpen = 'PL' and PBT > 1600 and PBT <= 2200)
  4. or (MrkTypeOpen = 'PP' and LBT > 1600 and LBT <= 2200) then QtyOtv:=2;
  5. if (MrkTypeOpen = 'PL' and PBT > 2200 and PBT <= 2360)
  6. or (MrkTypeOpen = 'PP' and LBT > 2200 and LBT <= 2360) then QtyOtv:=3;
там продолжение такое же и очень много

Решение задачи: «Можно ли короче написать код?»

textual
Листинг программы
  1. const
  2.   nLimits = 3;
  3.   Limits: array [0..nLimits] of Integer = (800, 1600, 2200, 2360);
  4. var
  5.   i, QtyOtv: Integer;
  6.   ...
  7.  
  8.   QtyOtv:=0;
  9.   for i:=1 to nLimits do
  10.     if (MrkTypeOpen='PL') and (PBT>Limits[i-1]) and (PBT<=Limits[i]) or
  11.        (MrkTypeOpen='PP') and (LBT>Limits[i-1]) and (LBT<=Limits[i]) then
  12.     begin
  13.       QtyOtv := i; Break;
  14.     end;

Объяснение кода листинга программы

  1. В начале кода объявляются необходимые переменные: nLimits, Limits, i, QtyOtv.
  2. Переменная nLimits инициализируется значением 3.
  3. Переменная Limits инициализируется массивом из 4 чисел: 800, 1600, 2200, 2360.
  4. Переменная i инициализируется значением 1.
  5. Переменная QtyOtv инициализируется значением 0.
  6. Затем идет цикл for, который выполняется от 1 до nLimits (используется оператор to для указания диапазона).
  7. Внутри цикла проверяется условие:
    • Если MrkTypeOpen равно 'PL' и PBT больше Limits[i-1] и меньше или равно Limits[i], или
    • Если MrkTypeOpen равно 'PP' и LBT больше Limits[i-1] и меньше или равно Limits[i], то выполняется следующий блок кода:
      • QtyOtv присваивается значение i.
      • Цикл прерывается командой Break.
  8. После завершения цикла выводится значение переменной QtyOtv.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы