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

0 голосов
596 просмотров

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

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

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

Примеры
входные данные
1 2
выходные данные
363
входные данные
12 30
выходные данные
1
На паскале


Информатика (25 баллов) | 596 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Var
A,B,C:integer;
Begin
C:=365;
Read(A,B);
if A>1 then C:=C-31;
if A=1 then C:=C-B;
if A>2 then C:=C-28;
if A=2 then C:=C-B;
if A>3 then C:=C-31;
if A=3 then C:=C-B;
if A>4 then C:=C-30;
if A=4 then C:=C-B;
if A>5 then C:=C-31;
if A=5 then C:=C-B;
if A>6 then C:=C-30;
if A=6 then C:=C-B;
if A>7 then C:=C-31;
if A=7 then C:=C-B;
if A>8 then C:=C-31;
if A=8 then C:=C-B;
if A>9 then C:=C-30;
if A=9 then C:=C-B;
if A>10 then C:=C-31;
if A=10 then C:=C-B;
if A>11 then C:=C-30;
if A=11 then C:=C-B;
if A>12 then C:=C-31;
if A=12 then C:=C-B;
Write(C);
End.

(34.0k баллов)
0 голосов

Var a,b,c,z:real;
 Begin  
Writeln('Введите номер месяца и число'); 
readln(a,b);
 if a=1 then a:=1 
else if a=2 then a:=30 
else if a=3 then a:=60
 else if a=4 then a:=90 
else if a=5 then a:=120
 else if a=6 then a:=150
 else if a=7 then a:=180
 else if a=8 then a:=210
 else if a=9 then a:=240
 else if a=10 then a:=270
 else if a=11 then a:=300
 else if a=12 then a:=330;
 If b>30 then writeln('-1'); 
c:=a+b;
 z:=365-c;
 writeln('До нового года ещё ',z,'дней/я');
 End.

(121 баллов)