Вычислить количество дней от указанной даты до Нового Года - Free Pascal
Формулировка задачи:
Здравствуйте! Помогите решить три задачи с датами. Задачи нужно написать отдельно, а не как одну задачу.
2) Даны три числа D,M,G , обозначающие календарную дату: D - число, М - номер месяца в году, G - год. Напишите программу, вычисляющую кол-во дней от указанной даты до Нового Года.
Решение задачи: «Вычислить количество дней от указанной даты до Нового Года»
textual
Листинг программы
Const mas:array[1..12] of byte = (31,28,31,30,31,30,31,31,30,31,30,31); Var d:1..31; m:1..12; g:1800..2012; s,i:integer; Begin write('Введите день: ');readln(d); write('Введите месяц: ');readln(m); write('Введите год: ');readln(g); if m<12 then Begin s:=s+d; For i:=m+1 to 12 do s:=s+mas[i]; writeln('Новый год через: ',s) End else if d=31 then writeln('Новый год уже сегодня!') else writeln('Новый год через: ',31-d); readln; End.
Объяснение кода листинга программы
- Объявляются константы и переменные:
- Const mas:array[1..12] of byte = (31,28,31,30,31,30,31,31,30,31,30,31); Здесь задается массив чисел, представляющий количество дней в каждом месяце.
- Var d:1..31; Объявляется переменная d для хранения дня, введенного пользователем.
- Var m:1..12; Объявляется переменная m для хранения месяца, введенного пользователем.
- Var g:1800..2012; Объявляется переменная g для хранения года, введенного пользователем.
- Var s,i:integer; Объявляются переменные s и i для выполнения различных операций.
- Пользователю предлагается ввести день, месяц и год:
- write('Введите день: ');readln(d);
- write('Введите месяц: ');readln(m);
- write('Введите год: ');readln(g);
- Проверяется, является ли введенный месяц меньшим 12, и если да, выполняется следующая последовательность действий:
- s:=s+d; День, введенный пользователем, добавляется к общему числу дней.
- For i:=m+1 to 12 do
- s:=s+mas[i]; Общее число дней увеличивается на количество дней в каждом следующем месяце.
- writeln('Новый год через: ',s); Выводится общее количество дней до Нового года.
- Если введенный месяц больше или равен 12, выполняется следующая последовательность действий:
- if d=31 then
- writeln('Новый год уже сегодня!'); Если день равен 31 (последний день месяца), выводится сообщение о том, что Новый год уже сегодня.
- else
- writeln('Новый год через: ',31-d); В противном случае выводится сообщение о количестве дней до Нового года.
- if d=31 then
- readln; Завершающая операция чтения строки, чтобы программа могла принять следующие вводы пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д