Домашние задания: Информатика

Написать диалоговую программу, которая спрашивает у вас: «Какая сегодня дата?»

Написать диалоговую программу, которая спрашивает у вас:
«Какая сегодня дата?»
(Необходимо ввести число, месяц (словом), год)
Программу, значит, написать... - Это можно. Только вот на каком языке программирования это нужно сделать? - Нет, программе-то без разницы, на каком языке программирования она написана (из порядка 40 существующих), а вот учитель/преподаватель может спросить, с чего это вдруг программа написана на этом языке программирования, а не на том, который он(а) преподает.

Вот, например, на Паскале (Pascal):
 Program D1; 
uses crt;
var c, y: integer;
m: string [8];
begin
clrscr;
writeln ('Введите ответы на вопросы с клавиатуры. Каждый раз, после того, как введете ответ, нажимайте клавишу Enter.');
writeln ('Какая сегодня дата?');
write ('Сегодня число: ');
readln (c);
write ('Сейчас месяц: ');
readln (m);
write ('Сейчас год: ');
readln (y);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
@@
@парниша @
43 559
Лучший ответ
На каком языке?
Арье Величко
Арье Величко
12 327
Роман Бондарев английский
Наталия Полякова На татарском
 program DateInputWithValidationAndLeapYear; 

var
day: Integer;
month: String;
year: Integer;
isValidDate: Boolean;
daysInMonth: Integer;

begin
WriteLn('Какая сегодня дата?');
repeat
Write('Введите число: ');
ReadLn(day);
Write('Введите месяц (словом): ');
ReadLn(month);
Write('Введите год: ');
ReadLn(year);

// Проверка на корректность даты
isValidDate := True;
case month of
'Январь', 'Март', 'Май', 'Июль', 'Август', 'Октябрь', 'Декабрь':
daysInMonth := 31;
'Апрель', 'Июнь', 'Сентябрь', 'Ноябрь':
daysInMonth := 30;
'Февраль':
begin
if (year mod 4 = 0) and ((year mod 100 0) or (year mod 400 = 0)) then // високосный год
daysInMonth := 29
else // не високосный год
daysInMonth := 28;
end;
else
begin
isValidDate := False;
WriteLn('Некорректный месяц. Попробуйте еще раз.');
end;
end;

if isValidDate then
if (day < 1) or (day > daysInMonth) then
begin
isValidDate := False;
WriteLn('Некорректный день. Попробуйте еще раз.');
end;

if not isValidDate then
WriteLn('Некорректная дата. Попробуйте еще раз.');

until isValidDate;

WriteLn('Вы ввели дату: ', day, ' ', month, ' ', year);
ReadLn;
end.
Арье Величко А на татарском?
Арье Величко Думаю с проверкой корректности загнул