(01.10.2018 20:46)Serge Sadov писал(а): Допускается не ставить, но правила хорошего тона требуют его там ставить. Всегда ставил - проблем меньше, если вдруг понадобиться что-нибудь еще вписать в то место, то вылетит ошибка. С точкой тоже все логично - конец программы.
Читал в учебнике, что поставить ; в таких случаях именно ошибка, очень удивлялся, ибо в PL1 как раз ; в конце любого оператора обязательно, (в т.ч. и в последнем END; ) поэтому после PL, C, Фортран именно Паскаль кажется чудовищно неудобной дикостью.
Точка в конце программы нелогична - она заставляет транслятор по особому её обрабатывать, если бы было ; составителям транслятора было бы проще.
Ещё Паскаль бесит тем, что программы на нем приходится писать сзаду-наперед.
Если вы читали "Похождения бравого солдата Швейка", то там есть такой эпизод, когда Швейк спрашивает (обер)лейтенанта Лукаша:
- Какой том нести, первый или второй?
а Лукаш отвечает:
- Мы же не евреи какие-нибудь, чтобы сзаду-наперед читать.
Так вот, Паскаль, в отличие от Си и Фортрана построен так, что то, что в других языках называется ПОДпрограммой, в Паскале по повелению Вирта, чтоб ему икалось, ОБЯЗАНА писаться НАД текстом программы, для которой она является подпрограммой. Это затрудняет понимание программ, написанных на Паскале и затрудняет написание программ на Паскале.
Почему я вспомнил евреев: у них книги пишутся справа-налево и строчки идут снизу-вверх, вот и программу на Паскале приходится читать снизу-вверх, но не весь текст снизу-вверх, ведь внутри ПОДпрограмм, которые против всяких правил наименования, пишутся НАД программами, текст опять-таки пишется сверху-вниз, что ещё больше запутывает.
В Фортране же главная программа ОБЯЗАНА быть самой верхней: та, которая сверху, та и главная, в PL можно располагать главную программу как раздельно, самой верхней, как в Фортране, так и объемлющей подпрограммы, как в Паскале и Алголе, но нам говорили, что это нежелательно и лучше по отдельности. В Си та программа главная, которая называется main и неважно, где она стоит, но опять-таки для лучшей читаемости лучше, когда главная программа сверху.
(02.10.2018 08:44)Abs писал(а): Как раз всё логично. For/While выполняют один оператор. Если оператор составной, он заключается в операторные скобки begin/end. Всё. А присутствие закрывающей операторной скобки без открывающей сломало бы всю логику.
В PL каждый DO должен иметь свой END; даже если внутри цикла всего один оператор.(например DO I=1 TO N;a(I)=B(I);END; ) А в С вообще вместо операторных скобок begin end ставят фигурные скобки {}
(01.10.2018 20:46)Serge Sadov писал(а): понадобиться
Вы, случайно, не украинецЬ?
Рассказ о мягком знаке в глаголах и о том, как он своим личным отсутствием строит настоящее и будущее время
http://flibusta.is/b/539410/read#t57
Рассказ ведется от лица мягкого знака.
В украинЬсЬкой мове в глаголах после т мягкий знак ставит
Ься ВСЕГДА, а в русском языке не всегда, а только в неопределенной форме или повелительном наклонении, тся-ться - это частный случай того же самого правила. Исключение: когда стоит модальный глагол (
может или
должен.) Может понадоби
ться и понадоби
тся.
Для русского можно было бы ставить проверочные вопросы:
Что сделает?(мягкого знака нет) - понадобится.
Может что сделаться?(мягкий знак есть) - понадобиться.
А для украинЬця это будет неприемлемо, потому что для него контрольный вопрос будет Шо сделаитЬ? Шо сдеитЬся?, соответственно всегда будет содержать Ь, как оно в мове и есть.