Лекции, страница 3
Описание файла
PDF-файл из архива "Лекции", который расположен в категории "". Всё это находится в предмете "основы конструкторско-технологической информатики (окти)" из 2 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 3 страницы из PDF
Рис. 1.6). Отображение краткого описания элементовкода программы (вывод описания происходит при наведении указателя мыши на нужный элемент кода).Завершение слов при наборе наименований команд и имен функций (для использования этой возможностиследует набрать несколько первых символов вводимого имени и нажать одновременно клавиши <Ctrl> и<Пробел>, выбор нужного варианта, как и ранее, производится при помощи двойного щелчка мыши или клавиш<Tab> и <Enter>).
Автоматическое сопоставление правильности расстановки скобок (набираемые скобки }, ], ),#endif выделяются более темным цветом вместе с соответствующей открывающейся скобкой).Рис. 1.6. Всплывающая подсказкаПроцедура построения исполняемой программы.Для выполнения программы, подготовленной на алгоритмическом языке, необходимо осуществитьдостаточно длинную цепочку технологических действий – программу нужно откомпилировать и убедиться, что вней отсутствуют синтаксические ошибки, далее программу надо собрать ("слинковать") вместе со всемииспользуемыми служебными модулями - в результате в рамках платформы MS VS получается готовая кисполнению сборка (assembly) на промежуточном языке (Microsoft Intermediate Language, MSIL или просто IL).При запуске на выполнение сборка должна быть переведена с промежуточного языка в исполняемую программу вкомандах компьютера, на котором будет работать сборка – реализацию данного шага выполняют JIT-компиляторыобщей среды выполнения (Common Language Runtime, CLR) платформы MS .NET (англ.
JIT – Just In Time – внужный момент).Запуск сборки на выполнение.Построение сборки (команда Build пункта меню Build) и запуск ее на выполнение (команда Start Debuggingпункта меню Debug) могут быть выполнены раздельно, однако достаточным является и применение однойкоманды Start Debugging, т.к. при выполнении этой команды проверяется соответствие имеющейся сборки ипрограммного кода в редакторе и, если после времени построения последнего варианта сборки в программномкоде были поведены какие-либо изменения, то автоматически будет вызван JIT-компилятор и сформирован новыйвариант сборки. Выполнение команды Start Debugging, как можно увидеть в пункте меню, можно обеспечить ипростым нажатием клавиши F5. При запуске на выполнение подготовленной на предшествующих шагахпрограммы могут возникнуть две различные ситуации:− программа подготовлена правильно, в этом случае запуск сборки произойдет безобнаружения ошибок, на экране дисплея мелькнет окно вывода результатов и практическимоментально исчезнет.
Для наблюдения итогов выполнения программы окно вывода надозадержать – это можно обеспечить, например, при помощи вызова процедуры ввода передзавершением метода main. В этом случае при переходе на вызов метода getchar() выполнениепрограммы будет приостановлено и мы получим возможность рассмотрения результатоввывода программы (см. рис. 1.7).8Рис. 1.7 Окно выполняемой программы.Для продолжения работы программы достаточно нажать клавишу Enter (отметим еще раз, чтометод ввода getchar() используется в данном примере только для организации приостановкиокна вывода, а не для реального ввода данных);− другая ситуация возникает при обнаружении ошибок при построении сборки – в этом случае, естественно,выполнение сборки невозможно и для ее подготовки необходимо найти и исправить все имеющие ошибки впрограммном коде программы.Обработка синтаксических ошибок.При обнаружении синтаксических ошибок, компилятор в диалоговом окне Microsoft Development Environmentвыводит сообщение There were build errors.
Continue? для ответа на которое следует нажать кнопку «Нет». Врезультате компиляция программы завершается, в окне Output выводится сообщение Build: 0 succeeded, 1 failed, 0skipped и для каждой обнаруженной ошибки в окне Task List приводится ее краткое описание. Так, например, еслив правильной программе нашего учебного примера убрать символ ";" после функции getchar(), сообщение обошибке имеет вид (см.
рис. 1.8).Рис. 1.8 Сообщение о синтаксической ошибке.syntax error : missing ';' before 'return'. Сообщение об ошибке можно выделить и, нажав клавишу F1, получитьсправочную информацию по допущенной ошибке. Нажав клавишу Enter (или выполнив двойной щелчок мыши)можно перейти в окно редактора на строчку с оператором, в котором была обнаружена ошибка. Следует отметить,что "правильное понимание" выдаваемых компилятором сообщений требует определенной практики (если быкомпилятор мог абсолютно точно выделять ошибочные ситуации в программе, то тогда исправление ошибокмогло бы происходить автоматически).Методы поиска ошибок (отладки)Процесс выявления причин обнаруженной ошибки, определение места (локализация)ошибки в программе и исправление ошибочно реализованного программного кода обычноназывается отладкой. Как правило, при отладке существует некоторая предварительная стадия,во время которой программист выдвигает те или иные предложения о причинах ошибочнойработы и проводит визуальный анализ (инспекцию) программного кода – к сожалению, даннойформой отладки многие программисты пренебрегают, хотя эффективность такого способаотладки является достаточно высокой.
Если при инспекции кода выявить ошибки не удается,далее наступает основной способ отладки – отладочное выполнение программы (илитрассировка), в ходе которого работа программы может быть приостановлена для просмотразначений тех или иных переменных программы с целью обнаружения ситуаций, когда этизначения не соответствуют предполагаемых. Тем самым, задача трассировки – обнаруженияинформационных признаков проявления ошибки.9Пошаговое выполнение программы.
Для выполнения программы в пошаговом режиме (в режиметрассировки) используются четыре команды, которые доступны из меню Debug, панели инструментов Debug иклавиш быстрого вызова:− команда Step Info (клавиша F11) обеспечивает последовательное, строка за строкой, выполнениепрограммного кода программы (включая содержимое вызываемых методов),Команда Step Over (клавиша F10) обеспечивает, как и предшествующая команда Step Info, последовательноевыполнение программы, но при этом вызов методов рассматривается как один неделимый шаг (т.е.
без переходавнутрь вызываемых методов), − Команда Step Out (клавиша Shift+F11) обеспечивает выполнение всех оставшихсястрок программного кода текущего выполняемого метода без останова, позволяя выполнить быстрый переход впоследнюю точку вызова,Команда Run to Cursor (клавиша Ctrl+F10) обеспечивает выполнение без останова программного кода междутекущей строки останова и позицией курсора (в зависимости от настроек параметров среды MS VS данная командаможет отсутствовать в пункте меню Debug).Удобным средством указания точек останова процесса выполнения программы являетсяиспользование контрольных точек (breakpoints). Для определения контрольной точкинеобходимо щелкнуть мышкой на вертикальной полосе слева от нужной строки программногокода; повторный щелчок отменяет установки контрольной точки.
В ходе выполненияпрограммы при попадании на контрольную точку происходит останов; для продолженияработы необходимо выполнить команду Continue пункта меню Debug.Наблюдение значений переменных. Для наблюдения значений переменных в момент останова выполненияпрограммы достаточно расположить указатель мыши на имени переменной – в результате значение переменнойпоявится в виде всплывающей подсказки. Дополнительная возможность для наблюдения значений переменныхсостоит в использовании специальных окон наблюдения:Окно Autos отображает значения всех переменных, используемых в текущей и предшествующей строках точкиостанова программы; в окне отображаются названия переменных, их тип и значения; окно Autos обычнорасполагается в нижней левой части экрана и для его высветки необходимо щелкнуть мышью на ярлычке сназванием окна; − Окно Locals отличается от предшествующего окна Autos тем, что отображает значения всехпеременных текущей области видимости (т.е.
переменных текущего выполняемого метода или его локальногоблока);Удобный способ добавления переменных в окна наблюдения состоит в использовании техники "Взять иперенести" (выделить имя переменной, нажать левую кнопку мыши и, не отпуская ее, переместить указательмыши в окно наблюдения, после чего отпустить конку мыши). Для удаления переменных из окна наблюдениядостаточно выделить соответствующую строку и нажать клавишу <Delete>.
Близким по назначению к окнам Watchявляется окно Quick Watch, которое дополнительно позволяет изменять значения наблюдаемых переменных; длявысветки окна необходимо выделить нужную переменную и выполнить команду Quick Watch пункта меню Debug.ЗАДАНИЯ1. Написать по аналогии с примером «Hello, world» программу выводящую приветствие типа «Goodafternoon, your name!», (создать новый проект).2. Написать программу спрашивающую у пользователя имя, считывающую введенное имя и выводящуюприветствие.
Для ввода имени использовать функцию scanf(“%s”, &name) и переменную char name[16].Типы переменных языка С++Основные типы данныхЧтобы реализовать алгоритм, программам необходимо работать с данными - числами, символами, т.е.объектами, которые несут в себе информацию, предназначенную для использования. Некоторые данныеустанавливаются равными определенным значениям еще до того, как программа начинает выполняться, а после еезапуска такие значения сохраняются неизменными на всем протяжении работы программ. Эти данные называютсяконстантами.
Данные, которые могут изменяться, или же им могут быть присвоены значения во время выполненияпрограммы, называются переменными. Различие между переменной и константой очевидно: во время выполненияпрограммы значение переменной может быть изменено (например, с помощью присваивания), а значениеконстанты изменить нельзя.Кроме различия между переменными и константами существует еще различие между типами данных.Некоторые данные в программе являются числами, некоторые - символами. Компилятор должен уметьидентифицировать и обрабатывать данные любого типа.
В языке Си предусмотрено использование несколькихосновных типов данных. Если величина есть константа, то компилятор может распознать ее тип только по томувиду, в котором она присутствует в программе. В случае переменной необходимо, чтобы ее тип был объявлен воператоре описания. В стандарте языка Си используется семь ключевых слов, указывающих на различные типыданных:10intlongshortunsignedcharfloatdoubleПервые четыре ключевых слова используются для представления целых, т.е. целых чисел бездесятичной, дробной части.
Если мы хотим подчеркнуть, что целое не может быть отрицательным, то нужно кцелому подписывать ключевое слово unsigned, например, unsigned short, char предназначено для указания на буквыи другие символы. float, double используются для представления чисел с десятичной точкой. Типы, обозначаемыеэтими ключевыми словами, можно разделить на два класса по принципу размещения в памяти машины.