русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Компиляция и исправление синтаксических ошибок


Дата добавления: 2015-06-12; просмотров: 1556; Нарушение авторских прав


 

После подготовки текста программы необходимо откомпилировать программу, связать ее с библиотекой стандартных процедур и функций, загрузить в оперативную память и передать ей управление. Эта последовательность действий называется исполнением программы и реализуется командой Ctrl-F9. Этап компиляции может быть произведен командой F9.

Компиляция (трансляция программы, записанной на исходном языке, в объектный модуль осуществляется опциями Compile, Make и Build меню раздела COMPILE. В опции Compile компиляция заканчивается созданием объектного модуля с расширением .OBJ. а компиляция в режимах Make и Build - созданием исполняемого файла с расширением .ЕХЕ.

Вызов компилятора в режиме Compile-(Alt-F9) приводит к компиляции программного модуля, находящегося в редакционном окне.

Этап компиляции позволяет определить наличие или отсутствие синтаксических ошибок в программе. При их обнаружении среда автоматически загружает в окно редактора исходный файл и помещает курсор в ту строку программы, при компиляции которой найдена ошибка.

Во многих случаях такие ошибки возникают из-за неправильного набора текста на клавиатуре, пропуска запятых, двоеточий и т.п. Найденная ошибка исправляется и производится повторная компиляция программы.

Если в программе нет синтаксических ошибок, то на экране высвечивается сообщение о количестве строк в откомпилированной программе и объеме доступной оперативной памяти (окно Compiling). Окно редактора на экране восстанавливается нажатием клавиши Esc.

Далее, производится отладка с тестированием программы, в процессе которой выявляются семантические и алгоритмические ошибки.

В оставшейся части программы – между служебными словами Begin и End (содержится её тело (или раздел операторов). Здесь описанные средствами Turbo Pascal представлены все действия, позволяющие получить нужные результаты.



Первая строка тела программы в примере представляет собой оператор чтения Read, который служит для ввода значений переменных A, B и С. На практике это выглядит так:

Дойдя до оператора Read, программа приостанавливает работу и от пользователя программы требуется ввести значения соответствующих переменных. Пользователь вводит значение переменной A и нажимает клавишу Enter, азатем аналогично вводит значения переменныхB и C.

После операторов, позволяющих ввести значения переменных, следует оператор присваивания

x1:=(-b+sqrt(sqr(b)-4*a*c))/(2*a);

Знак присваивания делит его на две части. В правой части представлено выражение, которое необходимо вычислить. Затем полученное значение присваивается переменной, содержащейся в левой части оператора. Данный оператор вычисляет значения одного из корней (x1) квадратного уравнения и присваивает его переменной x1.

Если в традиционной форме записи, принятой в математике, это выражение выглядит как

 

то представление на языке программирования Турбо Паскаль оно имеет несколько иной вид:

x1:=(-b+sqrt(sqr(b)-4*a*c))/(2*a);

x2:=(-b-sqrt(sqr(b)-4*a*c))/(2*a);

К сказанному можно добавить, что операторы в теле программы следует располагать определённым образом и при этом в меру использовать отступы и пустые строки. Отступы предназначены для того, чтобы показать, где одна структура включается в другую – для отделения основных разделов программы.

В принципе, текст программы можно записать и в одну строку – для компилятора это безразлично. И эта программа будет работать. Однако, если данную программу потребуется когда-нибудь изменить или усовершенствовать, разобраться в таком исходном тексте будет непросто. Чтобы повысить их читабельность, при написании текстов программ следует придерживаться определённого стиля. (см. Правила оформления программ )

Кроме того, отладка (удаление ошибок) программы проводится построчно. Если в программе, записанной в одну строку, компилятор обнаружит ошибку, будет зафиксирован сам факт, но не выявлен оператор, содержащий ошибку. А если в строках программы содержатся по два-три оператора, при обнаружении ошибки программисту придётся предпринимать дополнительные действия, чтобы выявить её местонахождение.

Иными словами, целесообразно исходный текст программы максимально вытягивать по вертикали – стремиться в каждой строке иметь не более одного оператора.

Теперь попробуем выполнить нашу программу. Для этого в меню Runвыберем одноименный пункт Run(Ctrl+F9)

После запуска на выполнение нашей программы (свободной от ошибок) экран имеет вид:

Turbo Pascal Version 7.0 Copyright (c) 1983,92 Borland International

-2.76889002637745E-0001-7.22311099736544E+0000

 

Здесь мы имеем дело с представлением чисел с плавающей запятой, известное также как экспоненциальный формат чисел.

-2.76889002637745 - мантисса

-0001 – порядок

Т.е. это число равносильно числу -2.76889002637745·10-1 или -0.276889002637745

Это не наглядно и не совсем понятно.

Во-первых, не помешало бы сделать так, чтобы программа отображала текстовое сообщение, приглашающее ввести значение каждой из переменной.

Во-вторых, значения корней уравнения здесь представлены в одну строку, и не разделены даже пробелом. Было бы лучше вывести их в отдельных строках и как-нибудь обозначить. Для этого вместо одного оператора Write, обеспечивающего вывод на экран значений обоих корней уравнений, введём в программу два оператора Writeln, чтобы значения корней отображались в разных строках.

Процедура Write осуществляет вывод заданного значения и переводит курсор на следующую позицию в той же строке, процедура Writeln осуществляет вывод заданного значения и переводит курсор в начало следующей строки.

Кроме того, сделаем так, чтобы значения корней, выводимые на экран, предварялись соответствующими обозначениями. Наконец, неплохо бы весь вывод на экран как-нибудь озаглавить.

Получим программу:

Program kvadr2;

var

d,a,b,c,x1,x2:real;

begin

writeln('Вычисление корней квадратного уравнения'); {Процедура вывода текста}

writeln('введите значение A'); {Процедура вывода текста}

read(a); {Процедура ввода}

writeln('введите значение B'); {Процедура вывода текста}

read(b); {Процедура ввода}

writeln('введите значение C'); {Процедура вывода текста}

read(c); {Процедура ввода}

d:=sqrt(sqr(b)-4*a*c);

x1:=(-b+d)/(2*a);

x2:=(-b-d)/(2*a);

writeln('x1=',x1:6:2); {Процедура вывода}

writeln('x2=',x2:6:2); {Процедура вывода}

end.

 

x1:6:2 – означает, что после вывода выражения ‘x1=’ курсор должен сдвинуться на шесть позиций от края экрана, :2– оставить два числа после запятой (т.к. тип real)

В результате на экране получим (после последовательности действий:

(F9 → ctrl+F9 → ввели данные → enter → alt+F5)

Debug(отладка) - User screen – Alt+F5(экран пользователя)

В результате выполнения программы (ctrl+F9)на экран выводится сообщение:

Вычисление корней квадратного уравнения

введите значение A

введите значение B

введите значение C

x1= -0.12

x2=-21.88

 

Кстати, можно сделать так, чтобы на экране одновременно были видны исходный текст программы и результаты её работы. Для этого в меню Debug (отладка) среды разработчика выберем пункт Output(вывод). На экране появилось окно Outputс отображением результатов работы программы. Если не видна вся информация – воспользоваться полосами прокрутки окна Output.

 



<== предыдущая лекция | следующая лекция ==>
Правила оформления программ | Классификация типов данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.358 сек.