Напишите программу, которая вводит с клавиатуры номер месяца и день, и определяет, сколько дней осталось...

Тематика Информатика
Уровень 10 - 11 классы
Pascal программирование Новый год дни до Нового года проверка ввода календарь обработка ошибок дата невисокосный год ввод данных
0

Напишите программу, которая вводит с клавиатуры номер месяца и день, и определяет, сколько дней осталось до Нового года. При вводе неверных данных должно быть выведено сообщение об ошибке. Считается, что год невисокосный.

Входные данные

Входная строка содержит два целых числа: номер месяца и номер дня в этом месяце.

Выходные данные

Программа должна вывести количество дней, оставшихся до Нового года. Если введены неверные данные, нужно вывести число -1.

Примеры

входные данные

1 2

выходные данные

363

входные данные

12 30

выходные данные

1

На паскале

avatar
задан 2 месяца назад

2 Ответа

0

Конечно, вот расширенный ответ на ваш запрос. Программа на языке Паскаль, которая вводит с клавиатуры номер месяца и день, и определяет, сколько дней осталось до Нового года, с учетом проверки на корректность введенных данных:

program DaysUntilNewYear;

uses
  SysUtils;

const
  DaysInMonth: array[1.12] of Integer = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

var
  month, day: Integer;
  daysLeft, i: Integer;
  isValid: Boolean;

begin
  // Ввод данных
  Write('Введите номер месяца и день (через пробел): ');
  ReadLn(month, day);

  // Проверка корректности введенных данных
  isValid := (month >= 1) and (month = 1) and (day 

avatar
ответил 2 месяца назад
0

program DaysToNewYear;

var month, day, daysLeft: integer;

begin writeln('Введите номер месяца и дня:'); readln(month, day);

if (month < 1) or (month > 12) or (day < 1) then

daysLeft := -1

else begin

case month of
  1: daysLeft := 365 - day;
  2: daysLeft := 334 - day;
  3: daysLeft := 306 - day;
  4: daysLeft := 275 - day;
  5: daysLeft := 245 - day;
  6: daysLeft := 214 - day;
  7: daysLeft := 184 - day;
  8: daysLeft := 153 - day;
  9: daysLeft := 122 - day;
  10: daysLeft := 92 - day;
  11: daysLeft := 61 - day;
  12: daysLeft := 31 - day;
end;

end;

writeln('Дней осталось до Нового года: ', daysLeft); end.

avatar
ответил 2 месяца назад

Ваш ответ

Вопросы по теме