Вычислить количество дней от указанной даты до Нового Года - 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.

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

  1. Объявляются константы и переменные:
    • 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 для выполнения различных операций.
  2. Пользователю предлагается ввести день, месяц и год:
    • write('Введите день: ');readln(d);
    • write('Введите месяц: ');readln(m);
    • write('Введите год: ');readln(g);
  3. Проверяется, является ли введенный месяц меньшим 12, и если да, выполняется следующая последовательность действий:
    • s:=s+d; День, введенный пользователем, добавляется к общему числу дней.
    • For i:=m+1 to 12 do
      • s:=s+mas[i]; Общее число дней увеличивается на количество дней в каждом следующем месяце.
    • writeln('Новый год через: ',s); Выводится общее количество дней до Нового года.
  4. Если введенный месяц больше или равен 12, выполняется следующая последовательность действий:
    • if d=31 then
      • writeln('Новый год уже сегодня!'); Если день равен 31 (последний день месяца), выводится сообщение о том, что Новый год уже сегодня.
    • else
      • writeln('Новый год через: ',31-d); В противном случае выводится сообщение о количестве дней до Нового года.
  5. readln; Завершающая операция чтения строки, чтобы программа могла принять следующие вводы пользователя.

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


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

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

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