9 Отладка программы, т.е. обнаружение и исправление ошибок в ней. При компиляции программы компьютером, т.е. при переводе в машинный код программы, написанной на некотором языке программирования, обнаруживаются синтаксические ошибки. Они заключаются в нарушении программистом правил написания программы на языке программирования. При их наличии программа не выполняется, и ЭВМ выдает сообщение об ошибках. На шаге выполнения программы на некотором наборе исходных данных компьютер может обнаружить только часть имеющихся логических ошибок, например, если ошибка приводит к ситуации “деление на ноль”. В этом случае происходит аварийное завершение программы с выдачей сообщения об этом. Какие то ошибки могут привести к получению неправильного результата, а некоторые проявятся только при других исходных данных. Различают автономную и комплексную отладку. Первая - это отладка части программного обеспечения (ПО) с имитацией работоспособности остальной его части. Вторая - это отладка всего ПО с помощью тестирования.
10 Решение задачи на ЭВМ.
11 Анализ и интерпретация полученных результатов и их оформление.
Часто приходится, с учетом полученных промежуточных результатов, осуществлять возврат к более ранним этапам.
В простых случаях для целей моделирования можно использовать существующие универсальные программы.
Общий вывод – совокупность расчетных схем, математических моделей, методов математического моделирования, специального инструментария их реализующего является предметом и важнейшей частью отраслевой науки и ей соответствующих учебных дисциплин.
Вопрос 2
Методический пример решения задачи с использованием математического моделирования. Программирование линейных алгоритмов.
1 Формулировка задачи (не является математической): определить величину значения сопротивления r данного резистора постоянному току. Для проведения измерений использовать источник тока, реостат, амперметр, вольтметр, а для расчетов ЭВМ.
2 Для подготовки к математической постановке задачи нужно осуществить следующие действия:
а) выбрать измерительные приборы необходимого класса точности и собрать схему для проведения измерений (см. рис.);
б) при помощи реостата установить такие значения тока и напряжения, чтобы стрелки измерительных приборов находились в как можно более правой части шкалы (это позволяет уменьшить погрешность измерений);
в) измерить значение тока i, проходящего через резистор, а также падение напряжения на нем.
Результаты измерений будут использованы в качестве исходных данных при математической постановке задачи. Цель решения сформулирована ранее.
3 Этапы решения данной задачи.
3.1 Математическая постановка задачи.
По известным значениям постоянного тока i (А) и напряжения u (В) на резисторе, рассчитать с помощью ЭВМ значение его сопротивления r (Ом).
3.2 В качестве математической модели резистора будем использовать закон Ома, согласно которого r=u/i, Ом.
3.3 Метод решения математической задачи - расчет по известной формуле.
3.4 Составление схемы алгоритма
3.5 Запись алгоритма на языке программирования (в рассматриваем случае на языке программирования Паскаль).
Текст программы:
{Иванов Иван Иванович АТС-151 j:\vtp\pas\lec1.pas 20.01.09} {1}
program lec1; {2}
var u,i,r:real; {3}
begin {4}
write('напряжение u(B)='); readln(u); {5}
write('ток i(A)='); readln(i); {6}
r:=u/i; {7}
writeln( 'Исходныеданные: u=', u:3:1, ',В i=', i:3:1,',А'); {8}
writeln('Результаты: r=', r:3:1, ',Ом'); {9}
writeln('...'); {10}
writeln('Пpогpамма завершена. Нажмите Enter’); {11}
readln; {12}
end. {13}
Часто имеют место следующие синтаксические ошибки: "ожидается ;", "неизвестный идентификатор", " несоответствие количества слов begin и end", "несоответствие типов", "количество открывающихся скобок не равно количеству закрывающихся", а также логические: "не инициализировано значение переменной", "программа не соответствует правильной блок-схеме" и др.
Вопрос 3
Анализ текста данной программы
1 Рассмотрим использование словаря (алфавита) языка программирования. В состав алфавита входят ключевые (служебные) слова и символы. В рассматриваемой программе используются служебные слова: program, var, real, begin, end, integer. Символы подразделяются на буквы, арабские цифры, знаки арифметических операций, знаки операций сравнения, разделители (знаки препинания, скобки, апострофы, :=).
2 Комментарии помещаются в программу только для программистов и пользователей программы. Текст комментария заключается в фигурные скобки и ЭВМ не анализируется. В программе запрещается использовать вне комментария русские буквы, за исключением вывода строки символов.
3 Вторая строка является заголовком программы. Имя программы lec1. Она находится в файле j:\vtp\pas\lec1.pas.
4 В данной программе используются имена (идентификаторы): переменных - u , i , r и стандартных подпрограмм - write, writeln, readln. Стандартными называются подпрограммы, входящие в комплект программного обеспечения языка программирования. Идентификаторы должны начинаться с буквы, за которой могут следовать цифры.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.