Случайная генерация и запись даты в файл - 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.
Объяснение кода листинга программы
- Определяется функция DneyVMecyace, которая возвращает количество дней в указанном месяце года. В функции используется оператор case для определения количества дней в разных месяцах.
- Определяется функция IntToStr2, которая преобразует целое число в строку. В функции используется встроенная функция Str, которая форматирует число в строку, и оператор while для добавления нулей в начало строки до тех пор, пока длина строки меньше 2.
- Определяются переменные i, d, m и y, которые будут использоваться в цикле.
- Создается объект Text с именем f, который будет использоваться для записи даты в файл.
- Устанавливается ссылка на файл 'date.txt'.
- Выполняется операция Rewrite, которая очищает файл перед записью данных.
- Запускается цикл for, который выполняется 30 раз.
- Внутри цикла генерируются случайные значения для года (y), месяца (m) и дня (d).
- Вызывается функция DneyVMecyace для определения количества дней в месяце (d).
- Вызывается функция IntToStr2 для преобразования числа дня (d) в строку.
- Записывается дата в файл с использованием функции WriteLn.
- После завершения цикла закрывается файл с помощью функции Close.
- Выводится сообщение 'Готово! файл записан'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д