Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/169: Рейтинг темы: голосов - 169, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 8

Определить, является ли введенный год високосным

08.10.2013, 16:52. Показов 31263. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
4
5
6
7
8
9
<html>
<script type="text/javascript">
,,,
function isLeapYear (year) {
    return new Date(year, 1, 29).getMonth() == 1;
}
,,,
</script>
</html>
Как ввести в код год и сделать результат?
Пробовала, через var year=prompt("Ввести год ");
Помогите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.10.2013, 16:52
Ответы с готовыми решениями:

Скрипт, определяющий по введенной дате рождения знак зодиака, день недели, был ли год рождения високосным.
Здравствуйте, ребят буду благодарен если кто напишет, в написанном постараюсь разобраться сам. Скрипт, определяющий по введенной дате...

Определить, является ли введенный пользователем год високосным
3)На языке программирования С++ напишите программу, определяющую, является ли введенный пользователем год високосным, используя правило:...

Является ли введенный пользователем год високосным
Создайте программу, которая определяет, является ли введенный пользователем год-високосный год или нет! (Совет: Оператор Остатка От Деления...

29
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
23.01.2019, 10:28
Студворк — интернет-сервис помощи студентам
klopp, мой подход, имхо, является более универсальным -- если исходить из того, что задача определения високосности года является частным случаем задачи определения количества дней Nm в любом месяце iM любого года Y, где iM -- это зеро-индекс месяца
JavaScript
1
2
var Nm = new Date (Y, iM + 1, 0).getDate ();
// нулевое число следующего месяца автоматически исправится на последний день предыдущего месяца
0
365 / 124 / 22
Регистрация: 08.01.2015
Сообщений: 1,418
Записей в блоге: 2
23.01.2019, 15:01
Цитата Сообщение от kalabuni Посмотреть сообщение
более универсальным
Наверное, не более универсальным, а основанным на "вшитом" в JS алгоритме. А у
Цитата Сообщение от kalabuni Посмотреть сообщение
klopp
подход "самодельный", если можно так выразиться.
Теоретически, да, лет через 200...300...500, может, внесут корректировку в алгоритм JS (в браузеры, соответственно, если они вообще будут присутствовать в те времена, если объект Date не станет deprecated и т.д.) и високосность будет определяться автоматически более точно. Ибо могут добавиться еще условия (признаки) определения високосности. А вот самодельные алгоритмы придется корректировать самостоятельно.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
24.01.2019, 11:38
Цитата Сообщение от Htext Посмотреть сообщение
Теоретически, да, лет через 200...300...500, может, внесут корректировку в алгоритм JS (в браузеры, соответственно, если они вообще будут присутствовать в те времена, если объект Date не станет deprecated и т.д.)
странно, что вами "зелёные человечки" не упомянуты, которые вполне могут уже через полгода прилететь к нам с планеты Нибуру и захотят изо всех объектов и методов яваскрипта изъять именно объект Date (), да плюс к тому же внедрят на нашей планете свой, "нибуровский" календарь, где в сутках будет 213 часов, а в году всего 146 дней (и безо всякой високосности), ведь это тоже может "теоретически" произойти, почему нет?

Спасибо, Htext, вы де-факто подтвердили, что против моего подхода серьёзных контраргументов нет
0
365 / 124 / 22
Регистрация: 08.01.2015
Сообщений: 1,418
Записей в блоге: 2
24.01.2019, 12:13
kalabuni, да ладно Вам.
Дело в том, что и алгоритм, приведенный в Вашей ссылке, не является точным. В самом деле,
1) то, что предложил я - это наиболее грубый алгоритм, который можно использовать в течение ближайших n лет. Ну, на мой век точно хватит. Ибо уж далее 2100 года я точно жить не собираюсь.
2) алгоритм по Вашей ссылке (реализованный klopp) - более точен, учитывает даже такую мелочь, как один особенный год в 400 лет. Именно этим достигается тот факт, что за многие сотни лет количество дней в годах корректируется таким образом, чтобы не было сдвига.
Вот что пишут в Википедии: "Средняя продолжительность тропического года (время между двумя весенними равноденствиями) составляет примерно 365 суток 5 часов 49 минут.". Во-первых, ключевое слово - примерно. Во-вторых, даже если взять примерное значение, то
5 часов 49 минут = 5*60+49 = 349 минут = 0,2423611... суток. Обратите внимание, что дробь эта достаточно длинная. Возможно, это даже иррациональное число. Точных расчетов длительности года я пока не смотрел.
Кликните здесь для просмотра всего текста
ГодЧисло дней в году
2000366
2001365
2002365
2003365
2004366
2005365
2006365
2007365
2008366
2009365
2010365
2011365
2012366
2013365
2014365
2015365
2016366
2017365
2018365
2019365
2020366
2021365
2022365
2023365
2024366
2025365
2026365
2027365
2028366
2029365
2030365
2031365
2032366
2033365
2034365
2035365
2036366
2037365
2038365
2039365
2040366
2041365
2042365
2043365
2044366
2045365
2046365
2047365
2048366
2049365
2050365
2051365
2052366
2053365
2054365
2055365
2056366
2057365
2058365
2059365
2060366
2061365
2062365
2063365
2064366
2065365
2066365
2067365
2068366
2069365
2070365
2071365
2072366
2073365
2074365
2075365
2076366
2077365
2078365
2079365
2080366
2081365
2082365
2083365
2084366
2085365
2086365
2087365
2088366
2089365
2090365
2091365
2092366
2093365
2094365
2095365
2096366
2097365
2098365

Далее, согласно алгоритма, для следующих 400 лет процесс расчета будет аналогичным.
Итак, длительность года составляет 146097/400 = 365,2425 дней в году в среднем, если руководствоваться имеющимся на сегодняшний день "точным" алгоритмом расчета. Т.е. добавляется 0,2425 дня к каждому году в среднем.
Как видим, разница приблизительно составляет 0,2425 - 0,2423611... = 0,0001389... дня в год. Она НЕ РАВНА нулю! Это означает, что в отдаленном будущем обязательно потребуется корректировка имеющегося на сегодняшний день "точного" алгоритма (приведенного по Вашей ссылке).
Еще раз: если же эта разница представляет собой иррациональное число, то придется корректировать алгоритм определения високосного года (в течение многих-многих тысячелетий) периодически/постоянно. Судя по расчету, такая корректировка потребуется, конечно, не через 300 лет, а через 7000 лет. Именно тогда время, если применять сегодняшний алгоритм, сдвинется примерно на 1 день. Конечно, к тому времени человечество, скорее всего, уже перестанет существовать, поэтому JS уже не будет нужен, поэтому этот мой расчет носит чисто теоретический характер.

Добавлено через 2 минуты
К сожалению, в таблицу поместилось менее 100 строк.

Добавлено через 8 минут
Что же касается
Цитата Сообщение от kalabuni Посмотреть сообщение
изъять именно объект Date ()
так это ЗАПРОСТО. Если уж нынче внедряются рассуждения о даже самой целесообразности языка JS (он, якобы, "позволяет эксплуатировать" недавно выявленные "уязвимости" процессоров Intel). Но, даже если он в обозримом будущем и останется, то, повторюсь, указанный объект вполне могут или изъять или, что хуже - изменить его функциональность (хуже потому, что разработчики могут не обратить на это внимание и год будет определяться как-то там, но, неверно). За примерами далеко не ходить - возьмите, хотя бы, особенности преемственности РНР3, РНР5, РНР7... У меня, к примеру, сайт не полноценно работает в РНР7, тогда как в РНР5 - все хорошо. Потому как написан на РНР5. То же самое может быть и с JS. Легко.
Только сделать могут это не ихтамнеты (упомянутые Вами зеленые человечки), а вполне реальные организации, типа Google, MS, Mozilla и т.п.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
24.01.2019, 15:50
Цитата Сообщение от Htext Посмотреть сообщение
ключевое слово - примерно
забавно читать рассуждения упёртого дилетанта
я совсем не специалист, но, столкнувшись с этой задачей, поискал немного в сети, и теперь знаю, что международное научное сообщество давно осознало эту проблему и перманентно корректирует дату и время во всём мире, прочитайте, к примеру, про DCF77, обратите внимание на фразу (цитирую)
погрешность составляет меньше одной секунды в один миллион лет.
На моём веку (а мне > 50-ти) уже неоднократно сообщалось, что именно в новогоднюю полночь все часы в мире переведут на 1-2 секунды назад (или вперёд, сейчас уже не помню, но вот, посмотрел, и теперь знаю, что именно одна секунда, и именно добавляется)
Но, по-любому, имеющаяся погрешность расчётов никоим образом не отменяет действующее определение високосности года

аналогично обстоит дело с числом ПИ, оно тоже иррациональное, примерно равное 3,1415926...
но эта "примерность" никак не мешает человечеству использовать число ПИ во всех нужных ему расчётах -- от длины металлической полосы, коя необходима для изготовления обруча пивной бочки, до расчёта траектории Гомана при полёте марсианского зонда

PS. и очень интересная у вас интерпретация "зелёных человечков"
я имел в виду именно инопланетян, и даже указал название их родной планеты, но это никак не помешало вам спутать их с "вежливыми, купившими форму в супермаркете ихтамнетами"
0
365 / 124 / 22
Регистрация: 08.01.2015
Сообщений: 1,418
Записей в блоге: 2
25.01.2019, 10:25

Не по теме:

Цитата Сообщение от kalabuni Посмотреть сообщение
упёртого дилетанта
Странноватенький Вы, однако. Сам ведь в теме только начинаете разбираться (см. выше). Пока что дилетант - Вы.


Цитата Сообщение от kalabuni Посмотреть сообщение
именно в новогоднюю полночь все часы в мире переведут на 1-2 секунды
Да причем тут время ДНЯ и даты? Ваша ссылка - про синхронизацию именно ВРЕМЕНИ ДНЯ. И никакого отношения к определению високосного года, никакого отношения к АЛГОРИТМУ определения високосного года она не имеет. Даже если вспомнить, что время в компьютерах исчисляется, исходя из т.н. меток времени, с 1970 г. Если Вы считаете иначе - будьте любезны изложить аргументы.
С другой стороны, если периодически (каждый новый год) добавлять к дню 1-2 секунды, в итоге очередной новый год настанет в полдень. Утро будет начинаться в 24.00. Неужели это Вам неочевидно?
Да и чем троллить про дилетантов, планеты нибиру и т.п., Вы бы лучше попытались вначале понять мои расчеты. Опровергнуть или подтвердить их. А на нет - и суда нет. Пока что от Вас идут общие слова о, якобы
Цитата Сообщение от kalabuni Посмотреть сообщение
имеющаяся погрешность расчётов никоим образом не отменяет действующее определение високосности года
Или Вы попросту не поняли, что и как я рассчитал? Мои расчеты как раз свидетельствуют об отмене такого определения високосного года примерно через 7000 лет. Что-то закрадываются мне смутные сомнения...

Не по теме:

Ну, и так, на всякий случай:

Цитата Сообщение от kalabuni Посмотреть сообщение
(а мне > 50-ти
Ну, так молодой и резвый еще. Какие Ваши годы, еще можно многое успеть. По себе знаю. Я-то думал - под 70.
Цитата Сообщение от kalabuni Посмотреть сообщение
купившими форму в супермаркете
Я, естественно, имел в виду отнюдь не супермаркет, ну, да ладно, тема не о том.



Добавлено через 16 минут
Цитата Сообщение от kalabuni Посмотреть сообщение
ПИ, оно тоже иррациональное, примерно равное 3,1415926...
но эта "примерность" никак не мешает человечеству использовать число ПИ во всех нужных ему расчётах
М-да... Я имел в виду, что факт иррациональности числа делает принципиально невозможным определение високосного года при помощи точного "периодического" алгоритма (подобному вышеприведенным). Это можно даже строго доказать.
Ну, а если определять високосный год приближенно (как Вы предлагаете), тогда, в зависимости от диапазона лет, еще раз:
Цитата Сообщение от Htext Посмотреть сообщение
1) то, что предложил я - это наиболее грубый алгоритм, который можно использовать в течение ближайших n лет....
2) алгоритм по Вашей ссылке (реализованный klopp) - более точен, учитывает даже такую мелочь, как один особенный год в 400 лет. Именно этим достигается тот факт, что за многие сотни лет количество дней в годах корректируется таким образом, чтобы не было сдвига.
3)
Цитата Сообщение от kalabuni Посмотреть сообщение
объект Date ()
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
25.01.2019, 14:38
Цитата Сообщение от Htext Посмотреть сообщение
то, что предложил я - это наиболее грубый алгоритм, который можно использовать в течение ближайших n лет....
не врите — вы предложили в 21 веке использовать Юлианский календарь, хотя весь цивилизованный мир давно живёт по Григорианскому
именно в Юлианском календаре (цитирую)
Раз в 4 года объявляется високосный год, в который добавляется один день — 29 февраля
Цитата Сообщение от Htext Посмотреть сообщение
алгоритм..., реализованный klopp - более точен
опять же не врите — коллега klopp, в отличие от вас, сделал всё верно: определил високосность года по общепринятому и действующему сейчас Григорианскому календарю
я лишь указал коллеге klopp, что существующий матаппарат яваскрипта позволяет не делать самостоятельных расчётов

в общем, вы мне надоели, также как и ваш клон nubideus, который, похоже, навсегда нас покинул (по крайней мере, в этой теме)
0
388 / 275 / 76
Регистрация: 19.09.2011
Сообщений: 828
01.02.2019, 23:47
Цитата Сообщение от kalabuni Посмотреть сообщение
навсегда нас покинул
не надо меня хоронить. вопрос тса был про ввод и вывод(prompt и alert), а не про определение високосности года - правильный код есть в первом же посте, нет смысла мусолить тему.

Кликните здесь для просмотра всего текста
Цитата Сообщение от kalabuni Посмотреть сообщение
в 15 веке вы бы имели звание программиста, если б такое звание было
а в 21 веке?.. я даже и не знаю, как вас называть
Цитата Сообщение от kalabuni Посмотреть сообщение
двоечник
я нашел другую интересную тему из 2013 года

https://www.cyberforum.ru/post4003074.html твой код
https://www.cyberforum.ru/post5188519.html мой код

⠀⠀⠀⠀⠀⠀:cheerle ader:⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀я подебил
  ⠀⠀⠀⠀⠀⠀⠀⠀⠀:ch eerleader:

серьезно, я пять лет назад уже умел на жаваскрипте программировать на удовлетворительном уровне. мне тогда говорят видите ли я не могу посчитать високосность года. за пять лет я и swift выучил и чего только сделать не успел, ну и так сказать собой доволен. и мне сейчас напоминают видите ли я пять лет назад чего то там не смог посчитать.
ты не понимаешь, что високосность года это задача уровня fizzbuzz для школьников/студентов? сортировка пузырьком и та сложнее.
если человеку хватило ума выучить жс и писать на нем что то, то в такой простой задаче он разберется точно. вопрос в целесообразности.

я вот умею делать журавлика оригами, и что теперь, все, кто этого не умеют - быдло и недолюди? - нет. у меня даже мыслей никогда таких не было. а у тебя почему то подобные мысли возникают. почитай про бед величия. то, что ты погуглил алгоритм на википедии не делает тебя каким то особенным, умным и уникальным.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
02.02.2019, 00:55
Цитата Сообщение от nubideus Посмотреть сообщение
високосность года это задача уровня fizzbuzz для школьников/студентов
согласен, задача элементарная, но приходит некто nubideus, и решает её принципиально неправильно

как говорится, даже сломанные часы два раза в сутки показывают точное время, так и ваш код, основанный на не применяющемся ныне Юлианском календаре, иногда даёт верный результат, совпадающий с действующим Григорианским календарём
в этом и было моё замечание к вашему коду
вы же перевели разговор на "говнистость моего кода", на "ущербность википедии" (надо будет Брину передать, что зря он свои пол/лярда зелени на неё пожертвовал, nubideus'у она не нравится) , да на свои личные жизненные достижения (списочек, правда, весьма скромный получился)

приличные люди, публично испортив воздух, извиняются, а не кричат, что их флатус пахнет много лучше, чем у прочих
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
02.02.2019, 23:52
update: поправляюсь -- не пол/лярда, всего лишь пол/лимона зелёных Брин отстегнул на википедию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.02.2019, 23:52
Помогаю со студенческими работами здесь

Переменная isSpecial возвращает значение истина, если: Введенный год, является високосным
Переменная isSpecial возвращает значение истина, если: Введенный год, является високосным

Определить, является ли год високосным
Доброго времени суток всем! Помогите, пожалуйста, сделать такую задачку: Определите по номеру года, является или нет этот год високосным....

Определить, является ли год високосным
Требуется определить, является ли данный год високосным. (Напомним, что год является високосным, если его номер кратен 4, но не кратен 100,...

Определить является ли год високосным
Пользователь вводит год, определить является ли он високосным (год является високосным в двух случаях: либо он кратен 4, но при этом не...

Определить, является ли год високосным
подскажите как делать напишите программу, которая выполяет следующие действия: 1) с помощью диалогового окна вводит значение года. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru