Программа на языке C++ – это текст. С помощью произвольного текстового редактора программист записывает инструкцию, в соответствии с которой компьютер будет работать, выполняя данную программу.
Для того чтобы компьютер мог выполнить программу, написанную на языке C++, ее нужно перевести на язык машинных инструкций. Эту задачу решает компилятор. Компилятор читает файл с текстом программы, анализирует ее, проверяет на предмет возможных ошибок и, если таковых не обнаружено, создает исполняемый файл, т.е. файл с машинными инструкциями, который можно выполнять.
Откомпилировав программу один раз, ее можно выполнять многократно, с различными исходными данными.
2.4 Описание типичной среды программирования на C++
Обычно системы программирования на C++ состоят из нескольких частей:
– стандартная библиотека С и различные библиотеки классов;
Чтобы выполнить программу на C++, нужно пройти 5 этапов.
1. Редактирование — программист набирает с помощью редактора свою программу на C++ и, если это необходимо, вносит в нее исправления. Программа запоминается на диске. Имена файлов программ обычно имеют расширение срр.
#8. Компиляция и запуск java программы с командной строки
2. Препроцессорная обработка — программа передается препроцессору, который выполняет директивы, содержащиеся в ее тексте (например, включение в текст так называемых заголовочных файлов, в которых содержится описание используемых в программе элементов). На выходе получается полный текст программы.
3. Компиляция — полный текст программы поступает на вход компилятора, которые выявляет синтаксические ошибки и в случае их отсутствия переводит программу в машинный код (называемый также объектным кодом)
4. Компоновка — собирает вместе все скомпилированные программные модули, модули, содержащие библиотечные функции. Если программа состоит из нескольких исходных файлов, то компоновщик объединяет их и в результате получается исполняемая программа (.ехе), которая запускается на выполнение обычным образом.
5. Выполнение программы.
Лекция 3 Имена, переменные и константы
Имена
Для символического обозначения величин, имен функций и т.п. используются имена или идентификаторы.
Идентификаторы в языке C++ – это последовательность знаков, начинающаяся с буквы. В идентификаторах можно использовать заглавные и строчные латинские буквы, цифры и знак подчеркивания. Длина идентификаторов произвольная. Примеры правильных идентификаторов:
abc A12 NameOfPerson BITES_PER_WORD
Отметим, что abc и Abc – два разных идентификатора, т.е. заглавные и строчные буквы различаются. Примеры неправильных идентификаторов:
Ряд слов в языке C++ имеет особое значение и не может использоваться в качестве идентификаторов. Такие зарезервированные слова называются ключевыми.
Список ключевых слов:
asm auto bad_cast bad_typeid bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum extern float for friend goto if inline int long namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template then this throw try type_info typedef typeid union unsigned using virtualvoid volatile while xalloc
Java. 02. Компиляция, запуск и создание JAR на примере простой программы
В следующем примере
int max(int x, int y) < if (x >y) return x; else return y;>
max, x и y – имена или идентификаторы. Слова int, if, return и else – ключевые слова, они не могут быть именами переменных или функций и используются для других целей.
Переменные
Программа оперирует информацией, представленной в виде различных объектов и величин. Переменная – это символическое обозначение величины в программе. Как ясно из названия, значение переменной (или величина, которую она обозначает) во время выполнения программы может изменяться.
С точки зрения архитектуры компьютера, переменная – это символическое обозначение ячейки оперативной памяти программы, в которой хранятся данные. Содержимое этой ячейки – это текущее значение переменной.
В языке C++ прежде чем использовать переменную, ее необходимо объявить. Объявить переменную с именем x можно так:
В объявлении первым стоит название типа переменной int (целое число), а затем идентификатор x – имя переменной. У переменной x есть тип – в данном случае целое число. Тип переменной определяет, какие возможные значения эта переменная может принимать и какие операции можно выполнять над данной переменной. Тип переменной изменить нельзя, т.е. пока переменная x существует, она всегда будет целого типа.
Язык C++ – это строго типизированный язык. Любая величина, используемая в программе, принадлежит к какому-либо типу. При любом использовании переменных в программе проверяется, применимо ли выражение или операция к типу переменной. Довольно часто смысл выражения зависит от типа участвующих в нем переменных.
Например, если мы запишем x+y, где x – объявленная выше переменная, то переменная y должна быть одного из числовых типов.
Соответствие типов проверяется во время компиляции программы. Если компилятор обнаруживает несоответствие типа переменной и ее использования, он выдаст ошибку (или предупреждение). Однако во время выполнения программы типы не проверяются. Такой подход, с одной стороны, позволяет обнаружить и исправить большое количество ошибок на стадии компиляции, а, с другой стороны, не замедляет выполнения программы.
Переменной можно присвоить какое-либо значение с помощью операции присваивания. Присвоить – это значит установить текущее значение переменной. По-другому можно объяснить, что операция присваивания запоминает новое значение в ячейке памяти, которая обозначена переменной.
int x; // объявить целую переменную xint y; // объявить целую переменную yx = 0; // присвоить x значение 0y = x + 1; // присвоить y значение x + 1, // т.е. 1x = 1; // присвоить x значение 1y = x + 1; // присвоить y значение x + 1, // теперь уже 2
Константы
В программе можно явно записать величину – число, символ и т.п. Например, мы можем записать выражение x + 4 – сложить текущее значение переменной x и число 4. В зависимости от того, при каких условиях мы будем выполнять программу, значение переменной x может быть различным. Однако целое число четыре всегда останется прежним. Это неизменяемая величина или константа.
Таким образом, явная запись значения в программе – это константа.
Далеко не всегда удобно записывать константы в тексте программы явно. Гораздо чаще используются символические константы. Например, если мы запишем
const int BITS_IN_WORD = 32;
то затем имя BITS_IN_WORD можно будет использовать вместо целого числа 32.
Преимущества такого подхода очевидны. Во-первых, имя BITS_IN_WORD (битов в машинном слове) дает хорошую подсказку, для чего используется данное число. Без комментариев понятно, что выражение
(значение b разделить на число 32) вычисляет количество машинных слов, необходимых для хранения b битов информации. Во-вторых, если по каким-либо причинам нам надо изменить эту константу, потребуется изменить только одно место в программе – определение константы, оставив все случаи ее использования как есть. (Например, мы переносим программу на компьютер с другой длиной машинного слова.)
Источник: cyberpedia.su
5. Компиляция,выполнение и отладка программы
Компилятор переводит программу с языка Паскаль на язык машинных команд. При этом проверяется соответствие программы правилам языка программирования (синтаксический и семантический контроль).
Программа, полученная в результате компиляции, может быть сохранена на диске в файле с именем:
Такие файлы могут исполняться вне среды Турбо Паскаль. Работа компилятора инициируется системной командой Compile.
Для компиляции программы, находящейся в активном окне редактора, нужно нажать сочетание клавиш Alt + F9 или в меню выбрать пункты Compile, Compile.
Во время компиляции на экране появляется окно с информацией. Если среда не обнаружит ошибок, то выводится сообщение:
Compilation successfull: press any key (компиляция прошла успешно: нажмите любую клавишу).
Если компилятор обнаружит ошибку, среда восстанавливает окно редактора, устанавливает курсор на место ошибки и выдает сообщение о ней. Нужно сделать исправление программы и снова запустить ее на компиляцию. Созданный exe-файл остается в оперативной памяти. При выходе из среды программирования Турбо Паскаль он стирается.
Чтобы сохранить exe-файл на диске, нужно выбрать в меню пункты Compile, Make или нажать клавишу F9. Файл с тем же именем, что и в окне редактора, но с расширением exe, появится в том же каталоге, что и исходный pas-файл.
II. Выполнение программы
Запустить программу на исполнение можно двумя способами:
- В меню выбрать пункты Run, Run
- Нажать комбинацию клавиш Ctrl + F9.
При этом файл из активного окна редактора будет откомпилирован, скомпонован с другими файлами, помещен в оперативную память и запущен на исполнение. Исполнение программы остается под контролем Турбо-системы. В частности, Турбо-система помогает обнаружить ошибку в программе, если при исполнении произошел сбой. Пользователю сообщается причина сбоя и указывается место, где он случился в Паскаль-программе. Происходит автоматический возврат в режим редактирования. При повторном запуске программы сразу начнется ее исполнение. Результаты выполнения программы помещаются в специальное окно, которое называется окном вывода результатов и имеет черный цвет. При выполнении программы это окно появляется на экране и тут же исчезает. Чтобы установить его на экране, нужно нажать комбинацию клавиш Alt + F5, или выбрать в меню пункты Debug, User screen, или в меню выбрать пункты меню Debug, Output (при этом на экране одновременно будут находиться окно редактора и окно вывода результатов). При зацикливании программы нужно нажать сочетание клавиш Ctrl + Pause. III. Отладка программы До окончательного рабочего состояния программа доводится в процессе отладки. В старших версиях Турбо Паскаля имеется система отладки (Debug). С ее помощью можно просмотреть на экране значение любой переменной, найти значение любого выражения, установить новое значение переменной. Можно прервать выполнение программы в указанных местах, которые называются контрольными точками. Система отладки существенно облегчает программисту поиск ошибок. Ошибки могут быть «языковые» (синтаксические), могут быть алгоритмические. Первый тип ошибок, как правило, помогает обнаружить компилятор с Паскаля. Это ошибки, связанные с нарушением правил языка программирования. Их еще называют ошибками времени компиляции, ибо обнаруживаются они именно во время компиляции. Сам компилятор в той или иной форме выдает пользователю сообщение о характере ошибки и ее месте в тексте программы. Исправив очередную ошибку, пользователь повторяет компиляцию. И так продолжается до тех пор, пока не будут ликвидированы все ошибки этого уровня. Алгоритмические ошибки приводят к различным последствиям. Во-первых, могут возникнуть невыполнимые действия. Например, деление на нуль, корень квадратный из отрицательного числа, выход индекса за границы строки и т. п. Это ошибки времени исполнения. Они приводят к прерыванию выполнения программы. Как правило, имеются системные программные средства, помогающие в поиске таких ошибок. Другая ситуация, когда алгоритмические ошибки не приводят к прерыванию выполнения программы. Программа выполняется до конца, получаются какие-то результаты, но они не являются верными. Такие ошибки называют логическими. Для окончательной отладки алгоритма и анализа его правильности производится тестирование. Тест — это такой вариант решения задачи, для которого заранее известны результаты. Как правило, один тестовый вариант не доказывает правильность программы. Программист должен придумать систему тестов, построить план тестирования для исчерпывающего испытания всей программы. Качественная программа ни в каком варианте не должна завершаться аварийно. Тесты программы должны продемонстрировать, что при правильном вводе исходных данных будут всегда получаться верные результаты, а при наличии ошибок (синтаксических, семантических, выхода за диапазон) будут получены соответствующие сообщения. Успешное прохождение всех тестов есть необходимое условие правильности программы. При этом оно необязательно является достаточным. Чем сложнее программа, тем труднее построить исчерпывающий план тестирования. Опыт показывает, что даже в «фирменных» программах в процессе эксплуатации обнаруживаются ошибки. Поэтому проблема тестирования программы — очень важная и одновременно очень сложная проблема. Для нахождения ошибок часто используют пошаговое исполнение программы. Для этого используются клавиша F8 или пункт меню Run, Step Over. При этом подсвеченная полоса устанавливается на первую исполняемую строку программы. Каждое новое нажатие клавиши F8 будет вызывать исполнение всех операторов данной строки, и строка выделения смещается на следующую строку программы. Аналогичные действия вызывают нажатие клавиши F7 иливыбор пунктов меню Run, Trace Into. Но эти действия называются трассировкой программы. Отличие трассировки от пошагового исполнения в том, что когда в программе встречается подпрограмма (процедура или функция), то при трассировке они выполняются по порядку, а при пошаговом выполнении пользователь видит только результат работы процедуры или функции и не знает, что происходит внутри. При трассировке и при пошаговом выполнении программы можно просмотреть значения переменных в окне отслеживания. Для этого существуют режимы Watch и Evaluate/Modify в пункте меню Debug. После выбора режима Watch в нижней части экрана открывается окно Watches зеленого цвета:


- Установить курсор на строку, до которой программа должна выполниться, затем выбрать пункт меню Run, Goto Cursor (или нажать клавишу F4). Эта строка называется строкой останова. Программа выполнится до этой строки и остановится. Теперь пользователь может просмотреть часть программы при помощи пошагового исполнения или трассировки программы.
- Можно установить в некоторой строке (или нескольких строках) точку останова. Тогда выполнение программы будет остановлено в этой строке. Это можно сделать, нажав комбинацию клавиш Ctrl + F8 (эта же комбинация удаляет текущую точку останова). Строка, в которой установлена точка останова, выделится красным цветом. Точки останова можно просматривать в режиме Debug, Breakpoints.
Источник: studfile.net
Компиляция и выполнение программы
Программа, написанная на языке программирования, является исходной программой. Она состоит из инструкций, понятных человеку, но не понятных процессору компьютера. Чтобы процессор мог выполнить программу, ее необходимо перевести на язык машинных кодов (язык команд процессора). Этот перевод осуществляет специальная программа – компилятор.
Компилятор выполняет две задачи: проверяет текст программы на наличие синтаксических ошибок и если их нет, создает (генерирует) выполняемую программу – машинный код. Выполняемую программу еще называют объектной, так как это объект для выполнения процессором.
Для того чтобы запустить исходную программу на компиляцию, надо выбрать пункт меню Compile или нажать клавиши Alt+F9.
При обнаружении синтаксических ошибок (не соответствие правилам языка), программа выполняться не будет. Компилятор выдаст сообщение об ошибке и выделит строку, в которой ошибка обнаружена. Ошибки необходимо исправить, пользуясь подсказками компилятора. После исправления ошибок, если компиляция прошла успешно, можно запустить программу на выполнение.
Для этого выберете пункт меню Run или нажмите клавиши Ctrl+F9. Не забудьте ввести исходные данные, если в программе имеются команды ввода с клавиатуры. Для возвращения экрана вывода после выполнения программы нажмите клавиши Alt+F5.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Рекомендуем для прочтения:
Тема №3. Общение с пациентом. Специфика общения медработника и пациента Любая работа с людьми неразрывно связана с процессом и проблемами общения.
Роль и значение постановлений Пленумов Верховного Суда Российской Федерации и Высшего Арбитражного Суда Российской Федерации в судебной практике Разъяснения Пленума ВС РФ играют существенную роль в преодолении пробелов в правовом регулировании.
КЛАССИФИКАЦИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Для того чтобы правильно понять, оценить, грамотно разработать и использовать информационные технологии в различных сферах жизни.
Виды шприцев и игл Для парентерального метода введения лекарственных средств используются шприцы типа https://studopedia.ru/10_198884_kompilyatsiya-i-vipolnenie-programmi.html» target=»_blank»]studopedia.ru[/mask_link]