На каком из этапов устраняются синтаксические и логические ошибки в программе


Основы алгоритмизации. Методические указания на практическое занятие по учебной дисциплине Основы программирования Тема Основы алгоритмизации Томск 2013

Подборка по базе: Метод указания-19.docx, СЭЛ - 1 занятие.docx, Ав моатизация звука Р в слогах - 1 занятие.docx, Методические указания по практике .doc, Методические указания по практике .doc, РАСЧЕТНОЕ ПРАКТИЧЕСКОЕ ЗАДАНИЕ ПРИНЯТИЕК И ИСПОЛНЕНИЕ ГОС РЕШЕНИ, 2.ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №2 ОБЖ (1).doc, ГАОУ СПО Десмургия - Методические рекомендации для студентов по . На ЭВМ могут решаться задачи различного характера, например: научно-инженерные; разработки системного программного обеспечения; обучения; управления производственными процессами и т. д. В процессе подготовки и решения на ЭВМ научно-инженерных задач можно выделить следующие этапы:
  1. постановка задачи;
  2. математическое описание задачи;
  3. выбор и обоснование метода решения; 
  4. алгоритмизация вычислительного процесса;
  5. составление программы;
  6. отладка программы;
  7. решение задачи на ЭВМ и анализ результатов. 
В задачах другого класса некоторые этапы могут отсутствовать, например, в задачах разработки системного программного обеспечения отсутствует математическое описание. Перечисленные этапы связаны друг с другом. Например, анализ результатов может показать необходимость внесения изменений в программу; алгоритм или даже в постановку задачи. Для уменьшения числа подобных изменений необходимо на каждом этапе по возможности учитывать требования, предъявляемые последующими этапами. В некоторых случаях связь между различными этапами, например, между постановкой задачи и выбором метода решения, между составлением алгоритма и программированием, может быть настолько тесной, что разделение их становится затруднительным.         Постановка задачи. На данном этапе формулируется цель решения задачи и подробно описывается ее содержание. Анализируются характер и сущность всех величин, используемых в задаче, и определяются условия, при которых она решается. Корректность постановки задачи является важным моментом, так как от нее в значительной степени зависят другие этапы.

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

Математическая модель должна удовлетворять по крайней мере двум требованиям: реалистичности и реализуемости. Под реалистичностью понимается правильное отражение моделью наиболее существенных черт исследуемого явления. Реализуемость достигается разумной абстракцией, отвлечением от второстепенных деталей, чтобы свести задачу к проблеме с известным решением. Условием реализуемости является возможность практического выполнения необходимых вычислений за отведенное время при доступных затратах требуемых ресурсов.Выбор и обоснование метода решения. Модель решения задачи с учетом ее особенностей должна быть доведена до решения при помощи конкретных методов решения. Само по себе математическое описание задачи в большинстве случаев трудно перевести на язык машины. Выбор и использование метода решения задачи позволяет привести решение задачи к конкретным машинным операциям. При обосновании выбора метода необходимо учитывать различные факторы и условия, в том числе точность вычислений, время решения задачи на ЭВМ, требуемый объем памяти и другие.Одну и ту же задачу можно решить различными методами, при этом в рамках каждого метода можно составить различные алгоритмы.

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

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

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

Решение задачи на ЭВМ и анализ результатов. После отладки программы ее можно использовать для решения прикладной задачи. При этом обычно выполняется многократное решение задачи на ЭВМ для различных наборов исходных данных. Получаемые результаты интерпретируются и анализируются специалистом или пользователем, поставившим задачу.Разработанная программа длительного использования устанавливается на ЭВМ, как правило, в виде готовой к выполнению машинной программы. К программе прилагается документация, включая инструкцию для пользователя.Чаще всего при установке программы на диск для ее последующего использования помимо файлов с исполняемым кодом устанавливаются различные вспомогательные программы (утилиты, справочники, настройщики и т. д.), а также необходимые для работы программ разного рода файлы с текстовой, графической, звуковой и другой информацией.

1. Отметьте основные способы описания алгоритмов.

Блок-схемныйСловесно-формульный

С помощью сетей Петри

С помощью нормальных формС помощью граф-схем

2. Пронумеруйте в правильной последовательности этапы решения на ЭВМ научно-инженерных задач

Отладка программыРешение задачи на ЭВМ и анализ результатовМатематическое описание задачиПостановка задачиВыбор и обоснование метода решенияСоставление программыАлгоритмизация вычислительного процесса

3. На каком из этапов устраняются синтаксические и логические ошибки в программе?

Алгоритмизация вычислительного процессаОтладка программыСоставление программыРешение задачи на ЭВМ и анализ результатов

4. Отметьте простейшие алгоритмические структуры.

Последовательность двух или более операций Выбор направления действияВложенные повторения операцийПовторение действий

5. Какое из ниже перечисленных свойств не относится к основным свойствам алгоритма?

РезультативностьМассовостьКорректностьОпределенность Пример 1 Составить блок-схему вычисления переменной

y = a3 / (a2 + x2)

при а и x, введенных с клавиатуры.

Решение

Данный алгоритм относится к типу линейных. По условию переменные а и х вводятся с клавиатуры, следовательно, алгоритм начинается с ввода значений этих переменных. Затем можно вычислить значение переменной y и заканчивается алгоритм операцией вывода полученного значения. Таким образом, алгоритм предполагает следующие шаги:
  1. ввод значений а и х
  2. вычисление значения y по заданной формуле
  3. вывод полученного значения y
Изобразим данные шаги в виде блок-схемы:

Пример 2 Вычислить значение переменной y, в зависимости от значения переменных a и x, введенных с клавиатуры по правилу:

Решение

Данный алгоритм относится к типу разветвленных, так как значение переменной y вычисляется по разным формулам в зависимости от значений а и х. Алгоритм предполагает следующие шаги:
  1. ввод значений а и х
  2. определение соотношения переменных а и х
  3. если a < x, то вычисление значения y по первой формуле и переход к шагу 8
  4. если а ≥ х, то вычисление значения y по второй формуле
  5. вывод полученного значения y
Изобразим данные шаги в виде блок-схемы:

fizich.ru

Тест по основам алгоритмизации и программирования

1. Отметьте основные способы описания алгоритмов.

  1. Блок-схемный
  2. Словесно-формульный
  3. С помощью сетей Петри
  4. С помощью нормальных форм
  5. С помощью граф-схем

2. Пронумеруйте в правильной последовательности этапы решения на ЭВМ научно-инженерных задач

  1. Отладка программы
  2. Решение задачи на ЭВМ и анализ результатов
  3. Математическое описание задачи
  4. Постановка задачи
  5. ыбор и обоснование метода решения
  6. Составление программы
  7. Алгоритмизация вычислительного процесса

3. На каком из этапов устраняются синтаксические и логические ошибки в программе?

  1. Алгоритмизация вычислительного процесса
  2. Отладка программы
  3. Составление программы
  4. Решение задачи на ЭВМ и анализ результатов

4. Что такое ассемблер?

  1. машинный язык
  2. язык высокого уровня
  3. символический язык, близкий к соответствующему машинному языку
  4. интерпретируемый язык

5. Что из ниже перечисленного не является стилем программирования?

  1. Процедурный
  2. Методологический
  3. Объектно-ориентированный
  4. Логический
  5. Функциональный

6. Отметьте простейшие алгоритмические структуры.

  1. Последовательность двух или более операций
  2. Выбор направления
  3. Многовариантный выбор
  4. Повторение

7. Какое из ниже перечисленных свойств не относится к основным свойствам алгоритма?

  1. Результативность
  2. Массовость
  3. Корректность
  4. Определенность

chebgym5.ru

1. Основные этапы решения задач на эвм

Основными этапами качественного решения любой, даже самой примитивной задачи, являются:

  1. Формулировка сути задачи.

  2. Математическая постановка задачи.

  3. Разработка алгоритма решения задачи.

  4. Написание текста программы на языке программирования.

  5. Ввод текста программы в ЭВМ.

  6. Выполнение программы. Поиск и устранение синтаксических ошибок в программе.

  7. Тестирование программы. Поиск и устранение логических ошибок в программе.

Рассмотрим содержание каждого пункта и связанные с ними понятия.

На этом этапе необходимо четко сформулировать задачу, осмыслить ее, понять цель ее решения, определить в каком виде и на основе каких исходных данных будут получены результаты.

На этом этапе необходимо сформировать математическую модель для решения задачи, обозначить физические (или другого рода) объекты, являющиеся исходными, промежуточными или результирующими данными, вспомнить (или вывести) формулы для получения результата или выбрать численный метод решения задачи.

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

Алгоритм может быть записан на:

  • Естественном (русском) языке;

  • Языке блок-схемы;

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

Хорошо разработанный алгоритм должен обладать следующими свойствами:

  1. Массовость – применимость алгоритма для множества задач из класса однотипных, отличающихся только набором исходных данных.

  2. Определенность – однозначность, исключающая произвольность толкований шагов алгоритма. Результаты вычислений должны быть одинаковы у разных исполнителей.

  3. Дискретность – возможность разбиения задачи на конечное число шагов, выполнение которых не вызывает сомнения.

  4. Результативность – возможность получения результата за конечное число шагов.

Язык программирования – искусственный язык, отличающийся ограниченным количеством понятных транслятору слов и очень строгими правилами записи команд.

Разные типы процессоров имеют разный набор команд. Если язык ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком низкого уровня (например, ассемблер).

Языки программирования низкого уровня применяются для написания небольших системных приложений, драйверов устройств, модулей стыковки с нестандартным оборудованием, когда важнейшими требованиями становятся компактность, быстродействие, и возможность прямого доступа к аппаратным ресурсам.

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

Языки программирования высокого уровня (в том числе и Си) отстранены от аппаратной части компьютера и взаимодействуют с ней посредством встроенных функций, гарантирующих ее защиту и правильную работу.

Языки программирования высокого уровня лаконичнее, программисты «парят» в высоких сферах логики, не учитывая и порой мало зная об особенностях компьютерных архитектур.

Но! При этом программист «расплачивается» большим объемом оперативной памяти и более медленным выполнением программы.

Уровень языка программирования выбирается в зависимости от поставленной задачи.

При хорошо разработанном алгоритме написание программы – несложная техническая работа.

studfiles.net

Синтаксические и логические ошибки при выполнении программы

Синтаксические и логические ошибки при выполнении программы. Основные средства отладки можно получить через меню Debug (Отладить) и панель инструментов, вызвать которую можно командами View (Вид) Toolbars (Панели инструментов) -» Debug (рис. 3.14). Вкладки панели следующие:

  • • Start (запуск программы);
  • • Pause (приостановка программы);
  • • End (останов программы);
  • • Toggle Breakpoint (включить/выключить контрольную точку);
  • • Step Into (пошаговая обработка с заходом в процедуры);
  • • Step Over (пошаговая обработка без захода в процедуры);
  • • Step Out (выход из процедуры);
  • • Locals Window (включить/выключить локальное окно);
  • • Immediate Window (окно непосредственного выполнения);
  • • Watch Window (включить/выключить окно наблюдаемых переменных);

Рис. 3.14. Отладка программы

  • • Quick Watch (быстрый просмотр значения переменной);
  • • Call Stack (просмотр списка вызова процедур).

Для просмотра списка возможного выявления ошибок следует открыть меню Tools (Сервис) и выбрать пункт Options (Параметры). На экране появится окно, где следует установить флажки. Чтобы работа не прерывалась сообщениями о каждой ошибке, нужно снять флажок Auto Syntax Check (Автоматическая проверка синтаксиса).

Среда разработки Visual Basic обнаруживает ошибки типов или неполные программные блоки. Visual Basic допускает выполнение программы с необъявленными переменными. Оператор Option Explicit (раздел General или модуль) определяет необъявленные переменные.

Если компилятор обнаружит ошибки, то для их исправления и продолжения работы достаточно:

  • • изменить подсвеченную строку и нажать клавишу F5 или выбрать команды Run —» Continue;
  • • изменить программу и запустить ее снова командами Run —» Restart (или нажать сочетание клавиш Shift+F5);
  • • запустить программу с другого места, щелкнув мышью по другой строке и выбрав в меню Debug команду Set Next Statement, и нажать F1.

Завершить программу можно командой End в меню Run.

Точка останова (контрольная точка) — строка, где прерывается выполнение программы (выделяется красным цветом). Запущенная программа прервется на этой строке, строка будет выделена желтым цветом и стрелкой.

Способы создания точек останова:

  • • щелчком мыши на нужной строке и нажатием клавиши F9;
  • • выбрав в меню Debug команду Toggle Breakpoint (Установить точку останова);
  • • на панели Debug щелкнуть по кнопке Toggle Breakpoint.

Отмена точек останова выполняется с помощью команд

Debug —» Clear All Breakpoints (Убрать все точки останова).

Порядок наблюдения за поведением требуемой переменной:

  • • установить точку останова в строке, где есть наблюдаемая переменная;
  • • запустить программу (клавиша F5 или команда Start);
  • • задержать указатель мыши над переменной, появится окно с ее текущим значением.

Порядок наблюдения нескольких переменных с помощью окна Watches (Наблюдаемые переменные):

  • • установить точки останова в строках кода, где есть наблюдаемые переменные;
  • • запустить программу;
  • • в точке останова подсветить переменную, добавляемую к списку просматриваемых значений;
  • • щелчком правой кнопки мыши вызвать контекстное меню и в нем выбрать команду Add Watch (Добавить наблюдаемую переменную);
  • • в диалоговом окне Add Watch выбрать имя переменной (Expression), область видимости переменной (Context), тип наблюдения (Watch Туре) и др., нажать кнопку ОК;
  • • для отображения окна Watches следует выбрать в меню View команду Watch Window (Окно наблюдения).

Пошаговую (построчную) проверку выполнения программы можно провести в одном из двух режимов:

  • • Step Into (пошаговая обработка с заходом в процедуры) — выполняются все строки программы, включая строки процедур;
  • • Step Over (пошаговая обработка без захода в процедуры) — вызываемые процедуры выполняются как один оператор, а затем — очередная строка программы.

Используя панель Debug, при отладке следует выполнить следующее:

  • • открыть отлаживаемый проект;
  • • вызвать панель Debug;
  • • панель Debug перетащить на форму (для удобства — вниз);
  • • запустить проект, нажав кнопку Start;
  • • если выдаваемые результаты неверны, следует щелкнуть по кнопке Break (Останов) — программа остановится, а в появившемся окне Code будет показан текст выполнения программы;
  • • щелчком по кнопке Step Into можно открыть инструкцию, чтобы выполнить следующий оператор;
  • • для запуска приложения нужно в форме нажать кнопку, например Command 1, в окне Code отобразится процедура обработки прерывания Commandl_Click, первый оператор которой будет выделен желтым цветом;
  • • при щелчке по кнопке Step Into будет выполнен оператор Sub, а следующий оператор будет выделен; если в этом операторе есть проверяемая переменная, то ее нужно поместить в окно Watches;
  • • выделить проверяемую переменную и щелкнуть по кнопке Quick Watch (Быстрый просмотр переменных). Появится диалоговое окно, в котором будут содержаться имя переменной, ее значение, тип, назначение;
  • • при щелчке в диалоговом окне Quick Watch в нижней части экрана появится окно Watches, где будет отображена выбранная переменная. В это окно можно поместить другие переменные;
  • • далее щелкнуть по кнопке Step Into для выполнения следующего оператора и т. д. Таким образом, наблюдая значения переменных в окне Watches, можно определить логику программы и обнаружить ошибки.

При пошаговой отладке можно воспользоваться также оператором Stop, поместив его в нужное место. Выполнение программы по достижении Stop будет приостановлено. В режиме останова можно использовать окно Code и панель инструментов Debug.

Page 2

Ошибки выполнения программы. Использование обработчиков ошибок. Иногда даже отлаженная программа не может быть выполнена. Такой сбой представляет собой событие, после которого Visual Basic не может управлять ходом программы. Ошибка выполнения возникает тогда, когда Visual Basic выполняет оператор, который не может быть правильно завершен, т. е. компилятор не получил указаний, если что-то не в порядке. Чтобы не допустить таких ситуаций, нужно создать специальные процедуры — обработчики ошибок. Обработчик ошибок сообщает программе, как ей продолжить работу в случае появления ошибки одного из операторов. Обработчик ошибок помещается в те же процедуры обработки прерываний, что и операторы, которые могут вызвать сбой. На такую ситуацию обработчик ошибок реагирует объектом для обработки ошибок с именем Err, который имеет свойство Number (Число). Ошибка определяется, и это позволяет программе принять необходимые действия. Чаще всего на правильную работу программы влияют внешние события, которые воспринимаются обработчиком ошибок. Это могут быть проблемы с сетью; с гибким диском; с принтером; ошибки переполнения; ошибки использования памяти; с буфером обмена; логические ошибки.

Оператор On Error обнаруживает ошибки выполнения.

Синтаксис оператора: On Error Go То метка, где метка — имя обработчика ошибки.

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

  • • свойства Err. Number в структуре с условием (if.. .Then или Select Case). Затем отображается сообщение или устанавливается свойство на основе типа ошибки;
  • • оператора Resume, возвращающего управление в программу. Оператор может быть использован в виде Resume, Resume Next и Resume метка. Resume — управление возвращается оператору, вызвавшему ошибку (условия для возникновения ошибки нет). Resume Next — возвращает управление оператору, следующему за оператором, вызвавшим ошибку. Resume метка — переход на оператор с указанной меткой.
Page 3

1. Цель работы.

Цель работы — получить практические навыки по разработке программного кода и отладке на языке Visual Basic.

2. Исходные данные.

Задача: Даны длины двух катетов (А и В) прямоугольного треугольника.

Определить периметр (Р) этого треугольника (Р = Л + В + С, где С = л1а2 + В2).

  • 3. Перечень применяемых приборов и материалов.
  • 3.1. ПЭВМ: Intel Celeron (33 МГц, 32 Мб).
  • 3.2. Программное обеспечение: ОС Windows, система программирования MS Visual Basic.
  • 4. Ход и результаты работы.
  • 4.1. Открываем новый проект для решения предложенной задачи.
  • 4.2. Создаем интерфейс (рис. 3.15).

Рис. 3.15. Интерфейс программы для решения задачи

4.3. Составляем программу решения задачи (рис. 3.16).

Рис. 3.16. Программный код для решения задачи

  • 4.3. Запускаем программу на выполнение с помощью системной команды Run и выполняем отладку программы.
  • 4.4. Сохраняем проект.

Окончательный вид проекта для решения задачи представлен на рис. 3.17.

Рис. 3.17. Выполняемый проект для решения задачи

Контрольные вопросы

  • 1. Какова структура проекта Visual Basic?
  • 2. Приведите перечень последовательных операций при создании проекта.
  • 3. Как выполнить отладку проекта?
  • 4. Как создать точки останова?
  • 5. Приведите пример создания простого проекта.

studref.com

Ввод текста программы в эвм

Ввод текста в ЭВМ осуществляется с помощью программы редактор, входящей в состав интегрированной системы программирования Borland C++.

Поиск ошибок синтаксиса автоматизирован и осуществляется с помощью программы компилятор, входящей в состав интегрированной системы программирования Borland C++.

Тестирование программы осуществляется с помощью контрольных примеров. Контрольный пример – это такой набор исходных данных, при котором результат просчитывается довольно просто (желательно в уме). В то же время контрольный пример не должен отражать слишком частное решение. Количество контрольных примеров должно быть достаточным для проверки каждой ветви решения задачи.

Поиск логических ошибок при неправильном выполнении контрольных примеров уже не так прост, осуществляется с помощью программы отладчик, также входящей в состав интегрированной системы программирования Borland C++.

Этапы создания исполняемой программы отражены в следующей схеме.

Заголовочные файлы – это стандартные текстовые файлы с расширением .h, содержащие различные описания: стандартных функций, макроопределений, макрофункций, шаблонов структур, объединений, перечислений и пр.

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

Далее полный текст программы обрабатывается компилятором – программой, переводящей исходный текст программы в машинные коды. В результате работы компилятора получаем объектный модуль – файл с расширением .obj, содержащий машинный код программы.

На последнем этапе вступает в действие компоновщик – программа, которая на основе полученных объектных модулей и с участием библиотечных файлов создает загрузочный модуль – файл с расширением .exe, который и выполняется компьютером.

Библиотечные файлы – файлы с расширением .lib, содержащие объектные модули стандартных функций.

Итак, для получения исполняемой программы нам необходимы следующие средства:

  • Текстовый редактор;

  • Компилятор;

  • Компоновщик;

  • Библиотеки функций;

  • Отладчик.

Все эти средства присутствуют в интегрированной системе программирования Borland C++, которой мы будем пользоваться при решении задач.

ЯЗЫК ПРОГРАММИРОВАНИЯ С++

Базовые компоненты программ

Здесь представлены базовые компоненты программ на С++. В их число входят типы данных, переменные, константы и выражения.

ИЗУЧАЕМЫЕ ПОНЯТИЯ

- Предопределенные типы данных в С++ включают в себя типы int, char,float, double и void. В языке С++ гибкость типов данных увеличивается благодаря применению модификаторов типов. Эти модификаторы изменяют точность представления и диапазон значений переменных. Модификаторами типа являются signed, unsigned, short и long.

- Идентификаторы в С++ могут иметь длину до 32 символов и

должны начинаться с буквы или подчеркивания. Последующие символы

идентификатора могут быть буквой, цифрой или подчеркиванием. Идентификаторы С++ чувствительны к регистру. Ограничение на 32 символа может быть, однако, изменено путем установки опций компилятора.

- Директива #include является специальной командой компилятора. Она предписывает компилятору включить в программу содержимое определенного файла, как если бы вы сами ввели его в текущий исходный файл.

- Объявление констант предусматривает использование директивы #define

для объявления констант, определенных при помощи макросов, или использование ключевого слова const для объявления формальных констант. Формальные константы требуют от вас определения их типа (значением по умолчанию является int), имени и ассоциированного с ними значения.

- Объявление переменной требует, чтобы вы задали ее тип и имя, С++ дает вам возможность инициализировать переменную при ее объявлении.

Вы можете объявить несколько переменных в одном операторе объявления.

- Арифметическими операциями являются +, -, *, / и % (деление по модулю).

- Арифметические выражения различаются по сложности. Самое простое выражение содержит единственный элемент данных (литерал, константу или переменную). Сложные выражения включают набор операций, функции, литералы, константы и переменные.

- Операции инкремента и декремента используются в префиксной и постфиксной формах. Язык С++ дает вам возможность применять эти операции к переменным, в которых хранятся символы, целые числа и даже числа с плавающей точкой.

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

- Оператор sizeof возвращает как для типов данных, так и для переменных

их размер в байтах.

- Механизм приведения типа дает вам возможность форсировать преобразование типа выражения.

- Операции отношений и логические операции дают вам возможность строить логические выражения.

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

- Условное выражение предлагает вам короткую форму для простого оператора if-else с двумя альтернативами.

studfiles.net

Лекция № 6 delphi (конспекты лекций)

Отладка программ

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

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

Динамические ошибки возникают при выполнении программы и являются следствием неправильной работы операторов, процедур, функций или методов программы, а также операционной системы. Обычно такого рода ошибки возникают при отдельных значениях переменных, констант и т.д., при других же значениях программа работает правильно. Динамические ошибки называют также ошибками времени выполнения (Runtime errors). В Delphi для обработки динамических ошибок вводится понятие исключительной ситуации. Исключительная ситуация состоит в нарушении условий выполнения программы, вызывающем прерывание или полное прекращение работы программы. Обработка исключительной ситуации состоит в нейтрализации динамической ошибки, вызвавшей ее.

Обнаруживаются компилятором автоматически. Сообщения о найденных ошибках отображаются в нижней части редактора, в небольшом окне. При двойном щелчке на строке с сообщением об ошибке система Delphi переключается в редактор, где выделит светом строку, в которой эта ошибка обнаружена. Само сообщение описывает смысл ошибки, чтобы можно было понять причину ошибки.

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

За наиболее часто встречающимися ошибками может следить сама программа. Для этого в настройках проекта (Project/Options) – на вкладке Compiler надо выполнить следующие действия.

  • На панели Code generation (Генерация машинного кода) сбросить флажок Optimization (Оптимизация). Когда компилятор создает оптимизированный код, он нередко вносит существенные улучшения в детали алгоритма, реализованного на Паскале. Например, могут не использоваться промежуточные переменные, в таком случае программист в процессе отладки не сумеет узнать значение этой переменной.

  • На панели Runtime errors (Ошибки времени выполнения) должны быть установлены флажки Range Checking (Контроль выхода индекса за границы массива), I/O Checking (Контроль ошибок водавывода) и Overflow checking (Контроль переполнения при целочисленных операциях).

  • На панели Debugging (Отладка) установить флажки Debug information (Добавление отладочной информации), Local symbols (Просмотр значений локальных переменных), Reference info (Просмотр структуры кода), Assertions (Включение процедуры Assert в машинный код) и Use Debug DCUs (Использование отладочных версий стандартных модулей библиотеки компонентов VCN). Процедура Assert выполняет отладочные функции. Отладочные версии стандартных модулей содержат дополнительные режимы проверки корректности работы с компонентами Delphi.

За более сложными ошибками разработчик должен следить из среды Delphi самостоятельно.

Наряду с просмотром исходного текста, для поиска логических ошибок можно использовать и другие приемы. В том числе инструментарий, применявшийся и Турбо Паскале 6.07.0. Основными инструментами отладки являются точки контрольного останова и окно наблюдения за переменными.

Точка останова задается с помощью опции ViewDebug windows Breakpoints. Окно наблюдения за переменными вызывается опцией ViewDebug Windows/Watches. Если программа запущена из среды Delphi, ее работу можно прервать в любой момент опцией RunProgram pause, или щелчком по соответствующей кнопке панели инструментов.

После контрольного останова в окне наблюдения отображаются текущие значения наблюдаемых объектов. Текущее значение любой переменной, также можно увидеть , если в окне редактора указать на нее мышью (окно редактора должно быть активным). Изменить текущее значение переменной можно с помощью окна Evaluate/Modify. Прервать выполнение приложения можно с помощью команды RunProgram reset (ВыполнениеПрервать выполнение).

При использовании контрольных точек и окна наблюдения за переменными программист может прослеживать работу программы в пошаговом режиме с помощью клавиш F7 (RunTrace Into) и F8 (Run/Step Over) (также можно применять команды Run/Trace to Next Source Line и Run/Run to Cursor).

studfiles.net


Смотрите также