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

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

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

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

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

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

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

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

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