Написал код, но написал - не верно!
В чём у меня ошибка?
Begin
If (year mod 100=0) Tnen
Begin
If (year mod 400=0) Tnen
b:='Да, год высокосный'
End
end
Else
b:='Нет, год не высокосный'
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
определение высокосного года, помогите please переделать условие |
Slim |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: 0 |
Если год высокосный, то он должен делиться на 400, на 100 и на 4
Написал код, но написал - не верно! В чём у меня ошибка? Код If (year mod 4=0) Then Begin If (year mod 100=0) Tnen Begin If (year mod 400=0) Tnen b:='Да, год высокосный' End end Else b:='Нет, год не высокосный' |
volvo |
Сообщение
#2
|
Гость |
Цитата Если год высокосный, то он должен делиться на 400, на 100 и на 4 Не совсем...Вот так будет точнее: "Номер високосного года делится на 4, кроме тех, которые делятся на 100, но не делятся на 400." Соответственно, function LeapYear(n: Word): Boolean; Сообщение отредактировано: volvo - |
Slim |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: 0 |
To volvo:
Очень благодарен А как теперь связать функцию с основным кодом программы? |
Ozzя |
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
// Твой код |
Slim |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: 0 |
Допустим исходный код программы такой:
Код Program God; Var Year:Integer; If (year mod 4=0) Then Begin If (year mod 100=0) Tnen Begin If (year mod 400=0) Tnen b:='Да, год высокосный' End end Else b:='Нет, год не высокосный' WriteLn('Наш год: ',b); ReadLn; End. Как теперь подставить функцию, чтоб она проверяла на высокостность года переменную Year? |
volvo |
Сообщение
#6
|
Гость |
Program God; |
Slim |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: 0 |
Код function LeapYear(n: Word): Boolean; begin LeapYear := ((n mod 4) = 0) and not (((n mod 100) = 0) and ((n mod 400) <> 0)) end; Условие не корректно! Получаеться что если год делиться на 4,и не делиться на 100 и на 400, то.... А нужно: Если год делиться на 4, не делиться на 100, и делиться на 400, то... Преподователь сказал, что в одно условие это записать сложно! Если воожу 2000год - то пишет что год не высокосный!Когда должен показать - высокосный! |
мисс_граффити |
Сообщение
#8
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Преподователь сказал, что в одно условие это записать сложно! обманул... if (year mod 400 = 0) or ((year mod 4 = 0) and not(year mod 100 = 0)) then Добавлено через 3 мин. проверила вариант Ozzи. Отработал нормально на 2000 - выдал, что високосный. Ищи ошибки у себя. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
Сообщение
#9
|
Гость |
Цитата Условие не корректно! Slim, учи матчасть, а? Приведи хотя бы один пример некорректной работы, потом будешь утверждать что-нибудь... Много развелось критиков Сообщение отредактировано: volvo - |
Slim |
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: 0 |
Код потом будешь утверждать что-нибудь... Много развелось критиков Прошу прощение, если кого то обидел! Просто в своей задачи, на 2000-ном году, выводила программа - что год не высокосный! Начал сдавать преподователю эту работу, он сказал - что условие не верно! Вот и всё! Значит сейчас буду разбираться со своей задачей! Очень благодарен Вам за помощь! |
мисс_граффити |
Сообщение
#11
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
и откуда мы можем знать, КАК ты исковеркал то условие, которое тебе дали?..
если ТВОЁ условие некорректно - это не значит, что некорректно то, что ты процитировал! -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Текстовая версия | 11.01.2025 9:28 |