Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Ошибки при создании программыСтр 1 из 3Следующая ⇒
Можно выделить два типа ошибок, с которыми сталкивается программист. Во-первых - это ошибки, которые сопровождают создание программ, а во вторых - ошибки времени выполнения. Если вы неправильно введете оператор или ключевое слово, если забудете указать часть выражения - ошибка сразу же будет заметна в редакторе. Такие ошибки относятся к синтаксическим. Также на этапе разработки можно обнаружить и устранить логические ошибки. Они связаны с неправильными формулами расчета показателей, неверным использованием переменных и т.д. Приведем несколько примеров синтаксических ошибок. · Неправильное ключевое слово. Такая ошибка сразу будет отмечена редактором. Например, если в конструкции цикла For-Next сделать ошибку в ключевом слове For - вы увидите сообщение об ошибке как только попытаетесь перейти к написанию следующей, после начала цикла, строки. · Ошибка при объявлении переменной. Если вы забудете указать ключевое слово Dim при объявлении переменной - редактор выдаст сообщение об ошибке. Однако, сделает он это лишь при попытке запуска программы. А вот - логические ошибки. · Неправильное использование операторов. Например, вместо знака обычного деления вы случайно использовали знак целочисленного деления. · Расчет какого-либо показателя по неправильной формуле. Например, если неточно расставить скобки в каком-либо выражении - это приведет к ошибке, хотя внешне все может выглядеть правильным. · Неправильное использование функций - как встроенных, так и пользовательских. Например, спользуя функцию Str для получения строкового представления числа, вы не учли, что для положительных чисел эта функция добавляет в начало строки пробел. Далее вы попытались узнать первую цифру числа, вырезав первый символ полученной строки. Естественно, никакой цифры в этом случае не получится - лишь знак пробела для положительных или " минус" для отрицательных чисел. · Неправильное использование переменных. Например, вы используете два вложенных цикла для обработки двумерного массива. Одна из цикловых переменных имеет имя i, вторая - j. Они довольно сильно похожи внешне, их можно случайно перепутать при указании индексов массива. К тому же, обрабатывая массив в цикле довольно легко перепутать место каждой из переменных при указании индекса массива. Использование понятных имен переменных (например - my_Age или num_Vozrast для хранения возраста и т.д.) позволяет эффективно бороться с такими ошибками. · Случайное использование " новых" переменных. Например, вы предложили пользователю ввести некое значение и записали его в переменную num_Inp, а использовав эту переменную в выражении, напечатали не num_Inp, а num_Ihp. Внешне они похожи, но, присмотревшись, вы можете обнаружить, что имена разные. Еще сложней искать ошибки в латинских именах переменных, в которые " вкрались" русские буквы. Разницу междуmy_Name и my_Namе вы не увидите, но это - разные переменные - в конце второй вместо латинской e использована русская е. Эффективно бороться с такими ошибками можно, если задать в редакторе опцию обязательного объявления переменных (Option Explicit). При появлении необъявленной переменной редактор даст знать об этом. · Неправильное использование оператора сравнения. Например, это может быть оператор, который сравнивает некие величины не так, как вы предполагали - вместо знака < вы случайно использовали > или, редактируя сравнение (скажем, скопировав похожий оператор сравнения из другого места программы для ускорения работы), поменяли местами сравниваемые переменные или выражения, не поменяв знака и т.д. Ошибки логики можно найти лишь тщательно проверив и протестировав программу. Чтобы облегчить работу с кодом программы, рекомендуется снабжать ее комментариями. Вовсе необязательно комментировать каждую строчку, достаточно выделить крупные функциональные блоки.
|