Исправить код - Pascal

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

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

Помогите, пожалуйста, исправить программу, чтобы чтение было из файла Требуется определить, в какой момент времени черепаха сможет вернуться домой, съев все одуванчики и затратив на путешествие наименьшее время. Входные данные В 1-й строке входного файла находятся 2 целых числа, разделенные пробелом: vmax (в см/мин) и d (в минутах), 0 < vmax ≤ 200, 0 ≤ d ≤ 500. Во 2-й строке находится число N – количество одуванчиков (в штуках). 0 ≤ N ≤ 1400 при d = 0, в противном случае 0 ≤ N ≤ 200. В каждой из последующих N строк расположены: целое число xi – расстояние от одуванчика до начала грядки (в сантиметрах), 0 ≤ xi ≤ 32767, и через пробел ti – момент прорастания одуванчика (в формате hh:mm). Выходные данные Выходной файл должен содержать момент времени возвращения черепахи домой (в формате hh:mm), округленный до целых минут в большую сторону.
Листинг программы
  1. var
  2. x, t, dx: array[0..1400] of integer;
  3. vmax, d, n, i, count, answer: integer;
  4. s: string;
  5. time, min, max, wait: real;
  6. begin
  7. read(vmax, d, n);
  8. x[0] := 0;
  9. for i := 1 to n do
  10. begin
  11. read(x[i], s);
  12. dx[i] := x[i] - x[i - 1];
  13. t[i] := 60 * (10 * ord(s[2]) + ord(s[3]) - 528) + 10 * ord(s[5]) + ord(s[6]) - 528 - t[i - 1]
  14. end;
  15. min := 0;
  16. max := t[n];
  17. repeat
  18. wait := (min + max) / 2;
  19. time := wait;
  20. count := n;
  21. for i := 1 to n - 1 do
  22. begin
  23. time := time + dx[i] / vmax;
  24. if time >= t[i] then
  25. begin
  26. dec(count);
  27. time := time + d;
  28. end;
  29. end;
  30. time := time + dx[n] / vmax;
  31. if max - min < 0.1 then
  32. begin
  33. time := time + x[n] / vmax + count * d;
  34. answer := trunc(time + 0.9 - 1e-9);
  35. write(answer div 600, answer div 60 mod 10, ':', answer mod 60 div 10, answer mod 60 mod 10);
  36. exit
  37. end
  38. else if time < t[n] then min := wait
  39. else max := wait
  40. until false;
  41. end.

Решение задачи: «Исправить код»

textual
Листинг программы
  1.   Close(input);

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

  1. Close - это имя процедуры, которая закрывает файл.
  2. input - это переменная файла, которая представляет стандартный ввод, полностью прочитав входные данные из файла, который обычно является клавиатурой.

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


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

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

6   голосов , оценка 4.333 из 5

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

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

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