Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Обязательно ли в цикле if... then... писать else? (Pascal)

Yulya Klimova Знаток (464), закрыт 8 лет назад
Сегодня в школе решали задачу: нужно было исправить ошибки в программе на Паскале с вложенными ветвлениями . Программу исправила, условия все верны, но накосячила в другом: не дописала пару лишних else, из-за чего схлопотала двойку. Программы из учебника и интернета с if не всегда включают в себя else, да и если набирать на компе, то все в порядке. Но мне учительница сказала, что это грубейшая-пригрубейшая ошибка, даже за верные условия плюс не поставила. Действительно ли это так? На экзамене за это в С части тоже баллы снимут?
Лучший ответ
Metotron Искусственный Интеллект (114882) 8 лет назад
Учительница не права. Судя по всему, она не является практикующим программистом, а узнала о программировании из школьных учебников, так что не ей судить о грубых ошибках.
Может быть, она ещё заставляет писать begin-end, когда оператор в условии/цикле один единственный?

Уточню ради справедливости: у тебя блок else был пустой? То есть, else begin end; ?
Yulya KlimovaЗнаток (464) 8 лет назад
Нее, begin-end, слава Богу, в таких случаях писать не заставляет, это уже перебор)
А вот блок пустой был вроде бы.
Metotron Искусственный Интеллект (114882) Некоторые люди придерживаются мнения, что скобки в таких случаях нужны if (a == b) { c = b; } Лично я тоже считаю, что это перебор, потому что внимательный программист не допустит случая, когда у него два оператора должны быть под условием, но он скобки забыл. Однако я допускаю, что не все способны удержать в голове этот нюанс, так что кому-то скобки и правда нужны всегда. Если блок пустой, то он не нужен однозначно. Кроме случая, когда туда планируется что-то написать позже. Но обычно туда пишут хотя бы комментарий //TODO доделать вывод чего-нибудь в этом месте
Остальные ответы
Timur Sergeevich Профи (920) 8 лет назад
Бред. Если else не нужен его не пишут
Aleks Nots Просветленный (22777) 8 лет назад
Трудно сказать что-либо определенное не зная задания, не видя Вашего кода и учительских исправлений.
Может Вы правы, может учительница.

else - нужно писать только если он нужен, а если не нужен, то и не нужно писать (Капитан Очевидность).
Yulya KlimovaЗнаток (464) 8 лет назад
Задание уже не вспомню, тем более оно с картинкой, но то, что разницы между программой с else и без него нет - это точно. А учительница мне особо ничего и не исправляла, просто написала штуки 3 else и сказала, что у меня дрянь какая-то, а не программа. Может быть, просто хотела придраться, потому что у меня с ней не очень хорошие отношения. Но спасибо за ответ, завтра пойду разбираться)
Мало ли кому чего покажется... Без условия и текста ничего определённого не сказать!
Алекс Куха Высший разум (449621) 8 лет назад
Какой экзамен, ЕГЭ чтлоль? Да там вроде нет заданий со сложными ифами. 2ку, это, наверно, через чур. Вы жаждете справедливости, к чему это. Надо по горячим следам, в сейчас уже поезд ушёл
Yulya KlimovaЗнаток (464) 8 лет назад
Задание было именно из ЕГЭ)
Да и справедливости я особо не жажду, тем более мне это не поможет, просто хотелось узнать про эту ошибку, а то в конце года зачет, не хочется опять заработать двоек, если вдруг похожая задача попадется)
Алекс Куха Высший разум (449621) Если из ЕГЭ, то вам стоит найти его аналог и решить по новой. А так получается нечто неконкретное. "там была какая-то задача, что в ней не помню, но осадочек остался" Формально, синтаксис любого из егэшных языков разрешает отсутствие элс. Можете легко сами в этом убедиться, никого не спрашивая, но у вас там, видимо, другая ошибка была. Разве не может быть, что вы учителя не так поняли?
Похожие вопросы