Определение по дате день недели - Turbo Pascal
Формулировка задачи:
Напишите программу на языке Pascal, которая по дате определяет день недели, на который эта дата приходится. Для вычисления дня недели воспользуйтесь формулой:
(d + [1/5 (13m-1)] + y + [y / 4] + [c / 4] -2c + 777) mod 7.
Здесь d - число месяца, m - номер месяца, если начинать счет марта, как это делали в Древнем Риме (март - 1, апрель - 2, ..., февраль - 12), y - номер года в столетии, с - количество веков .
Решение задачи: «Определение по дате день недели»
textual
Листинг программы
<html> <head> <script type="text/javascript"> function time() { var a=prompt("","",""); var d=new Date(a); var day=d.getDate(); var mounth=d.getMonth()+1; var year=d.getFullYear(); var wday=new Array(7); wday[0]="Воскресенье"; wday[1]="Понедельник"; wday[2]="Вторник"; wday[3]="Среда"; wday[4]="Четверг"; wday[5]="Пятница"; wday[6]="Суббота"; document.write(day + "." + mounth + "." + year); var day_d = d.getDay(); alert (wday[day_d]); } </script> </head> <body> <body onload="time()"> </html>
Объяснение кода листинга программы
- В функции
time()
создается всплывающее окно с помощью функцииprompt()
, где пользователь должен ввести дату в формате пустой строки. - Полученная строка передается в функцию
new Date()
, которая преобразует эту строку в объект даты. - Из объекта даты извлекаются следующие значения: день (
d.getDate()
), месяц (d.getMonth()+1
) и год (d.getFullYear()
). - Создается массив
wday
с 7 элементами, каждый из которых представляет собой название дня недели. - В цикле перебираются дни недели, начиная с 0 (то есть с воскресенья) и заканчивая 6 (субботой).
- Для каждого дня недели в массиве
wday
выводится соответствующее название дня недели. - С помощью
document.write()
выводится комбинация из дня, месяца и года. - С помощью
var day_d = d.getDay();
извлекается номер дня недели. - С помощью
alert(wday[day_d]);
выводится название дня недели.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д