Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Типы ошибок в алгоритмах. Если программа только что составлена, то она в очень редких случаях не содержит ошибок.
Различают три типа ошибок: синтаксические ошибки, ошибки выполнения и ошибки в алгоритме программы.
Синтаксические ошибки – возникает при нарушении правил языка QBasic. Такие ошибки сравнительно безобидны, поскольку причина ошибки описывается и программная строка с ошибкой выводится на экран. При наличии определенных навыков исправляются они достаточно быстро. Примером такой ошибки может служить неправильный набор ключевого слова PRITN вместо PRINT.
Ошибки выполнения – это такие ошибки, которые не нарушают синтаксиса языка, но приводят к ошибочным операциям в процессе выполнения. Примерами таких ошибок могут быть ошибка - индекс, ошибка – значение, деление на нуль, неправильное обращение к подпрограмме и т.д.
Ошибки в алгоритме программы – это такие ошибки, которые при верных исходных данных и безошибочной работе программы приводят к неправильным результатам. Такие ошибки должен обнаруживать сам программист. Поэтому, избавившись от синтаксических ошибок и ошибок выполнения, необходимо проверить работу программы на данных, охватывающих по возможности все случаи, которые могут встретиться при реальном счете. Для этого создаются и «прокручиваются» различные тесты (контрольные примеры).
Существует несколько методик отладки программы. Один из приемов отладки называется «проследить трассу». Он заключается в том, что в процессе работы программы на экране дисплея выдаются сообщения о ходе вычислений. Желательно одновременно с этим последовательно выводить на экран номера выполняемых строк. Использование отладочных строк с оператором PRINT для выдачи промежуточных результатов в совокупности с трассировкой позволяет быстро локализовать ошибку и исправить ее.
Другой часто применяемый способ отладки программы состоит в следующем: в критических точках расставляются вспомогательные команды STOP. При выполнении STOP вычисления приостанавливаются, и пользователь может вывести значения интересующих его переменных в режиме непосредственного исполнения на экран. После остановки вычисления возобновляют командой CONT. Анализ выведенных значений переменных позволяет делать выводы о правильности хода вычислительного процесса и принимать соответствующие решения.
Если же за дисплеем найти ошибку не удалось, нужно сесть за стол и применить очень действенный метод – выполнить программу вручную. Для этого необходимо представить, что вы машина, и начав с первого оператора программы, выполнять оператор за оператором, пока не будет обнаружена причина неправильной работы программы.
Эту работу нужно выполнять методично и терпеливо. Имитируя работу программы, мы должны иметь текст программы, список переменных с их текущими значениями и лист бумаги для отслеживания изменений. Выполняя программу вместо машины, нужно все время задавать себе вопрос: «Тот ли получен результат, которого я ожидал?». Если - да, то продолжите выполнение программы. Если - нет, то нужно думать, почему программа работает неправильно.
Следует иметь в виду, что в процессе отладки могут быть обнаружены и устранены не все ошибки. Более того, в процессе исправления обнаруженных ошибок могут быть допущены новые. Поэтому после каждого исправления требуется вновь произвести тестирование.
Основные этапы проектирования (алгоритмизации). Рассмотрим процесс решения задачи на конкретном примере:
Задача: Определить дальность полета тела, брошенного под углом к горизонту.
На первом этапе обычно строится описательная информационная модель объекта или процесса. В нашем случае с использованием физических понятий создается идеальная модель движения объекта. Из условия задачи можно сформулировать следующие основные предложения:
1) размеры тела малы по сравнению с траекторией полета, поэтому тело можно считать материальной точкой,
2) скорость бросания тела мала, поэтому:
- ускорение свободного падения считать постоянной величиной;
- сопротивлением воздуха можно пренебречь.
На втором этапе создается формальная модель, т.е. описательная информационная модель записывается с помощью какого-либо формального языка.
Из курса физики известны следующие формулы
Vx=V0*cos(A) – горизонтальная проекция вектора скорости
Vy=V0*sin(A) – вертикальная проекция вектора скорости
L=Vx*t – дальность полета, t- время полета
0=Vy*t-gt2/2 – координата точки падения
g=9,81 м/с2 - ускорение свободного падения
Органичения:
V0³0
0<A<
Как видно из этой системы неравенств, бросание тела не должно происходить вправо и вверх, и начальная скорость не должна быть отрицательной.
Таким образом, метод решения данной задачи описывается следующей последовательностью формул:
1. g=9,8
2. Vy=V0*sin(A)
3. Vx=V0*cos(A)
4. t=2*Vy/g
5. L=Vx*t
На третьем этапе необходимо формализованную информационную модель преобразовать в компьютерную модель, т.е. выразить ее на понятном для компьютерном языке. Существуют два принципиально различных пути построения компьютерной модели:
- создание алгоритма решения задачи и его кодирование на одном из языков программирования;
- формирование компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД и т.д.)
Для реализации первого пути надо построить алгоритм определения координаты тела в определенный момент времени и закодировать его на одном из языков программирования, например на языке QuickBasic.
Второй путь требует создания компьютерной модели, которую можно исследовать в электронных таблицах.
Собственно алгоритм решения данной задачи состоит из последовательного решения наших уравнений:
Четвертый этап - составление программы, т.е. запись задачи на понятном компьютеру языке. В качестве примера выбран язык QuickBasic.
INPUT “V0= ”; V0
INPUT “A= “; A
VY=V0*SIN(A)
VX=V0*COS(A)
T=2*VY / 9.81
L=VX*T
PRINT “L= “; L
Пятый этап исследования информационной модели состоит в проведении компьютерного эксперимента. Если компьютерная модель существует в виде программы на одном из языков программирования, ее нужно запустить на выполнение и получить результаты.
На шестом этапе выполняется анализ полученных результатов и при необходимости корректировка исследуемой модели. В нашем случае можно попробовать запустить программу с различными исходными данными.
Таким образом, технология решения задач с помощью компьютера состоит из следующих этапов: построение описательной модели – формализация – построение компьютерной модели – компьютерный эксперимент – анализ результатов и корректировка модели.
Дата публикования: 2015-01-26; Прочитано: 10268 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!