Синтаксические ошибки словит компилятор. А семантические чаще всего кроются в неполно сформулированном условии.
Старый анекдот:
Программиста на остановке спрашивают:
"Я доеду на этом трамвае до вокала? " - "Да"
"И сколько ехать? " - "Полтора часа"
"Ой, а мне сказали, за десять минут доеду... " - "Тогда вам надо ехать в другую сторону"
Насчет метода "БЕЗОШИБОЧНОГО НАПИСАНИЯ ПРОГРАММ" - приведи ссылку. Есть метод доказательства правильности программ Дейкстры, но в ходе доказательства сделаешь ошибок впятеро больше, чем в программе ;)
Другие языки программирования и технологии
Почему нигде в мире изучается не программно, а лишь факультативно и то кое где метод "БЕЗОШИБОЧНОГО НАПИСАНИЯ ПРОГРАММ"?
Потому что это антинаучная утопия. Ошибки бывают синтаксические, фактические и стилистические - никакой метод со всеми не справится, я гарантирую это.
Виктор Гончаров
ну вот Вы о нем даже не читали, а может и не слышали.
А разве можно написать программу совсем без ошибок?
Очень маленькую и простенькую - пожалуй да.
Но когда речь идет о больших проектах, в которых занято куча народу, ошибки и не стыковки
присутствуют всегда. Для этого и делается отладка, тестовые прогоны, альфа и бета тестирование.
Хуже когда ошибка одна, но концептуальная. Тогда проще проект в мусор и начать заново.. .
На тему ошибок в программировании есть куча шуток (Законы Мерфи) .
• Совет начинающему программисту. Никогда не исправляйте найденные ошибки,
ибо это повлечет за собой появление неизвестного числа ненайденных.
Лучше опишите их в сопроводительной документации как особенность программы (Это не баг, это фича! ) ...
• От перестановки двух эквивалентных ошибок результат не меняется (коммутативность эквивалентных ошибок) .
• Две последовательные ошибки можно объединить в одну, более сильную.
• Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходимости.
• Ошибки могут образовывать циклы. Наиболее устойчивый из них - бесконечный.
• Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок) .
• Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.
• Если написанная программа сработала правильно, то это значит, что во время ее работы выполнилось четное число ошибок или программист не понял задание.
• Ошибка, повторенная дважды, перестает быть ошибкой.
• Во время исполнения ошибки имеют наивысший приоритет. Прервать исполнение ошибки может только другая, более активная ошибка.
• Запросы операционной системы к ошибкам ошибками могут игнорироваться.
• Запросы ошибок к операционной системе игнорироваться не могут.
• При работе с файлами ошибки могут пользоваться файловой системой базовой ОС и ее ошибками.
• На компьютере с параллельной архитектурой может выполняться несколько ошибок одновременно.
• Системные программы облегчают процесс написания прикладных программ и их ошибок.
Очень маленькую и простенькую - пожалуй да.
Но когда речь идет о больших проектах, в которых занято куча народу, ошибки и не стыковки
присутствуют всегда. Для этого и делается отладка, тестовые прогоны, альфа и бета тестирование.
Хуже когда ошибка одна, но концептуальная. Тогда проще проект в мусор и начать заново.. .
На тему ошибок в программировании есть куча шуток (Законы Мерфи) .
• Совет начинающему программисту. Никогда не исправляйте найденные ошибки,
ибо это повлечет за собой появление неизвестного числа ненайденных.
Лучше опишите их в сопроводительной документации как особенность программы (Это не баг, это фича! ) ...
• От перестановки двух эквивалентных ошибок результат не меняется (коммутативность эквивалентных ошибок) .
• Две последовательные ошибки можно объединить в одну, более сильную.
• Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходимости.
• Ошибки могут образовывать циклы. Наиболее устойчивый из них - бесконечный.
• Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок) .
• Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.
• Если написанная программа сработала правильно, то это значит, что во время ее работы выполнилось четное число ошибок или программист не понял задание.
• Ошибка, повторенная дважды, перестает быть ошибкой.
• Во время исполнения ошибки имеют наивысший приоритет. Прервать исполнение ошибки может только другая, более активная ошибка.
• Запросы операционной системы к ошибкам ошибками могут игнорироваться.
• Запросы ошибок к операционной системе игнорироваться не могут.
• При работе с файлами ошибки могут пользоваться файловой системой базовой ОС и ее ошибками.
• На компьютере с параллельной архитектурой может выполняться несколько ошибок одновременно.
• Системные программы облегчают процесс написания прикладных программ и их ошибок.
Виктор Гончаров
отвечу также как и предыдущему оппоненту
"ну вот Вы о нем даже не читали, а может и не слышали".
"ну вот Вы о нем даже не читали, а может и не слышали".
Похожие вопросы
- Как научиться зарабатывать в интернете, с помощью написания программ и т. п. молодому человеку?
- Выбор языка для написания программы
- Как написали первую программу без программы для написания программ?
- Помощь в написании программ
- Где можно найти видео для обучения написания программ***????
- Народ где можно найти внятные и понятные видео уроки или книги для написания программ!!!
- Pycharm (Пожалуйста, помогите с написанием программы)
- Помогите разобраться с написанием программы Паскале!
- Сколько стоит написание программы? Подробности внутри!
- Не могу настроить codeBlock для написания программ на c++.
Ведь принципы просты?