Случайная генерация и запись даты в файл - Pascal ABC

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

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

Здравствуйте, нужна помощь в написание кода который генерирует случайно 30 дат в формате "ДД.ММ.ГГ" и записать их в файл "date.txt" в столбик. Буду очень благодарен ребята.

Решение задачи: «Случайная генерация и запись даты в файл»

textual
Листинг программы
function DneyVMecyace(Month, Year: Integer): Integer;
    {-Return the number of days in the specified month of a given year}
begin
  case Month of
    1, 3, 5, 7, 8, 10, 12:
      DneyVMecyace := 31;
    4, 6, 9, 11:
      DneyVMecyace := 30;
    2: if year mod 4=0 then DneyVMecyace := 29
       else DneyVMecyace := 28;
  else
    DneyVMecyace := 0;
  end;
end;
 
function IntToStr2(n:integer):string;
var s : string;
begin
  Str(n:1,s);
  while Length(s)<2 do s:='0'+s;
  IntToStr2 := s;
end;
 
var i,d,m,y:integer;
  f:Text;
begin
  Assign(f,'date.txt');
  Rewrite(f);
  for i:=1 to 30 do begin
     y := Random(21)+2000; {год будет от 2000 до 2020}
     m := Random(12)+1;
     d := Random(DneyVMecyace(m,y))+1;
     WriteLn(f,IntToStr2(d)+'.'+IntToStr2(m)+'.'+IntToStr2(y mod 100));
  end;
  Close(f);
  WriteLn('Готово! файл записан');
end.

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

  1. Определяется функция DneyVMecyace, которая возвращает количество дней в указанном месяце года. В функции используется оператор case для определения количества дней в разных месяцах.
  2. Определяется функция IntToStr2, которая преобразует целое число в строку. В функции используется встроенная функция Str, которая форматирует число в строку, и оператор while для добавления нулей в начало строки до тех пор, пока длина строки меньше 2.
  3. Определяются переменные i, d, m и y, которые будут использоваться в цикле.
  4. Создается объект Text с именем f, который будет использоваться для записи даты в файл.
  5. Устанавливается ссылка на файл 'date.txt'.
  6. Выполняется операция Rewrite, которая очищает файл перед записью данных.
  7. Запускается цикл for, который выполняется 30 раз.
  8. Внутри цикла генерируются случайные значения для года (y), месяца (m) и дня (d).
  9. Вызывается функция DneyVMecyace для определения количества дней в месяце (d).
  10. Вызывается функция IntToStr2 для преобразования числа дня (d) в строку.
  11. Записывается дата в файл с использованием функции WriteLn.
  12. После завершения цикла закрывается файл с помощью функции Close.
  13. Выводится сообщение 'Готово! файл записан'.

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


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

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

12   голосов , оценка 3.75 из 5
Похожие ответы