- •1.2. Понятие системы и среды программирования
- •И интегрированные среды разработки (ide)
- •1.3.2. Бесплатные интегрированные среды разработки (ide)
- •1.7. Основные этапы выполнения программ в интегрированной среде (ide)
- •1.8. Настройка русского языка в консольных программах-Вар1
- •2. Задание
- •3. Требование к отчету
- •Краткие теоретические сведения.
- •4. Контрольные вопросы
Кузнецов Л.К.
Министерство финансов Российской Федерации
Всероссийская государственная налоговая академия
ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ
Бакалавры: 230700 "Прикладная информатика"
Язык программирования С++
Лабораторная работа № 01
ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ ПРОГРАММ
Автор профессор кафедры "Прикладной информатики в экономике"
кандидат технических наук Л.К. Кузнецов
10 февраля 2012 г.
Москва
ВГНА
2012
Цель работы, изучение интегрированной среды (IDE) Dev-C++ , основных этапов выполнения программ в среде IDE.
1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
1.1. История и назначение языка Си++
Разработчиком языка Си++ является Бьерн Страуструп. В своей работе он опирался на опыт создателей языков Симула, Модула 2, абстрактных типов данных. Основные работы велись в исследовательском центре компании Bell Labs.
Непосредственный предшественник Си++ – язык Си с классами – появился в 1979 году, а в 1998 году Международной организацией по стандартизации (ISO) был принят международный стандарт Си++, который фактически подвел итоги его 20-летнего развития. Его номер ISO/IEC 14882. Принятие стандарта обеспечило единообразие всех реализаций языка Си++. Не менее важным результатом стандартизации стало то, что в процессе выработки и утверждения стандарта язык был уточнен и дополнен рядом существенных возможностей.
В 2003 году был опубликован стандарт языка ISO/IEC 14882:2003, где были исправлены выявленные ошибки и недочёты предыдущей версии стандарта.
В 2005 году был выпущен отчёт «Library Technical Report 1» (кратко называемый TR1). Не являясь официально частью стандарта, отчёт описывает расширения стандартной библиотеки, которые, как ожидалось авторами, должны быть включены в следующую версию языка C++. Степень поддержки TR1 улучшается почти во всех поддерживаемых компиляторах языка C++.
С 2009 года велась работа по обновлению предыдущего стандарта, предварительной версией нового стандрата сперва был C++99, а спустя год C++0x, сегодня — C++11, куда были включены дополнения в ядро языка и расширение стандартной библиотеки, в том числе большую часть TR1.
Язык программирования C++ – это один из самых мощных языков программирования, который позволяет разрабатывать программные продукты любого уровня и степени сложности. Достаточно сказать, что большинство компьютерных игр, инженерных графических программ, антивирусов, симуляторов пишется именно на С++. Существует огромное количество проектов, написанных на языке С++, для дальнейшего развития этих проектов вскоре могут понадобиться и Ваши знания.
Язык Си++ является универсальным языком программирования, в дополнение к которому разработан набор разнообразных библиотек. Поэтому, строго говоря, он позволяет решить практически любую задачу программирования. Тем не менее, в силу разных причин (не всегда технических) для каких-то типов задач он употребляется чаще, а для каких-то – реже.
Си++ как преемник языка Си широко используется в системном программировании. На нем можно писать высокоэффективные программы, в том числе операционные системы, драйверы и т.п. Язык Си++ – один из основных языков разработки трансляторов.
Поскольку системное программное обеспечение часто бывает написано на языке Си или Си++, то и программные интерфейсы к подсистемам ОС тоже часто пишут на Си++.
Распределенные системы, функционирующие на разных компьютерах, также разрабатываются на языке Си++. Этому способствует то, что у широко распространенных компонентных моделей CORBA и COM есть удобные интерфейсы на языке Си++.
Обработка сложных структур данных – текста, бизнес-информации, Internet-страниц и т.п. – одна из наиболее распространенных возможностей применения языка. В прикладном программировании, наверное, проще назвать те области, где язык Си++ применяется мало.
Разработка графического пользовательского интерфейса на языке Си++ выполняется, в основном, тогда, когда необходимо разрабатывать сложные, нестандартные интерфейсы. Простые программы чаще пишутся на языках Visual Basic, Java и т.п.
Программирование для Internet в основном производится на языках Java, VBScript, Perl.
В целом надо сказать, что язык Си++ в настоящее время является одним из наиболее распространенных языков программирования в мире.
Язык программирования C++ – это один из самых мощных языков программирования, который позволяет разрабатывать программные продукты любого уровня и степени сложности. Достаточно сказать, что большинство компьютерных игр, инженерных графических программ, антивирусов, симуляторов пишется именно на С++. Существует огромное количество проектов, написанных на языке С++, для дальнейшего развития этих проектов вскоре могут понадобиться и Ваши знания.
В программе базового курса С++ мы изучим :
Основы программирования. Введение в структурное программирование.
Введение в язык программирования С++. Декларация переменных. Типы данных. Переменные и константы.
Структура программы. Операции. Операторы. Операторы ветвления и множественного выбора, условный переход, цикл.
Массивы. Алгоритмы. Функции. Структуры.
Модули программы.
Принципы организации диалога с пользователем.
Отладка программы.
Присваивание и инициализация, оптимизация программы.
Указатели, ссылки, передача параметров в функцию по значению и по ссылке.
Указатели на функции, константные указатели.
Работа с памятью. Функции с неопределенным кол-вом параметров. Статические локальные переменные в функции.
Динамические массивы.
Битовые операции.
Строки, работа со строками, библиотечные функции.
Структуры, перечисления, объединения, битовые поля.
Препроцессорные директивы. Классы памяти.
Файлы. Операции ввода-вывода. Последовательный и произвольный доступ. Использование библиотечных функций.
Основные понятия проектирования программ (постановка задачи, алгоритмизация и др.).
1.2. Понятие системы и среды программирования
Под системой программирования понимают язык программирования и совокупность программных средств, поддерживающих разработку и исполнение программ, написанных на этом языке.
Для выполнения программа должна быть загружена в среду исполнения. В случае использования ЯВУ загрузке программы может предшествовать ряд преобразований, целью которых является приведение программы к виду, необходимому для загрузки в среду исполнения.
Для долговременного хранения программа на ЯВУ и программа после каждого преобразования размещается на внешнем запоминающем устройстве в виде файлов. Часть программы, которая хранится в одном файле, называется модулем. В простейшем случае вся программа хранится в одном файле. Имена файлов, как правило, назначает разработчик, а расширения файлов назначаются автоматически по правилам, принятым в среде исполнения.
Модуль, содержащий программу на языке высокого уровня, называется исходным модулем. Текст исходного модуля состоит из отдельных предложений, называемых операторами.
Модуль, содержащий программу в виде, готовом для загрузки в среду исполнения, называется исполняемым модулем.
Процесс преобразования исходного модуля в исполняемый модуль называется трансляция.
Различают две основные схемы трансляции исходного модуля в исполняемый модуль: компиляция и интерпретация.
Схема компиляции используется для представления исполняемого модуля в виде машинных команд. Это означает, что исходный модуль должен быть предварительно переведен на язык машинных команд. Перевод выполняется специальной программой - компилятором. Схема компиляции (трансляции) приведена на рис.1.
Программа на языке Си++ – это текст. С помощью произвольного текстового редактора программист записывает инструкцию, в соответствии с которой компьютер будет работать, выполняя данную программу.
Для того чтобы компьютер мог выполнить программу, написанную на языке Си++, ее нужно перевести на язык машинных инструкций. Эту задачу решает компилятор. Компилятор читает файл с текстом программы, анализирует ее, проверяет на предмет возможных ошибок и, если таковых не обнаружено, создает исполняемый файл, т.е. файл с машинными инструкциями, который можно выполнять.
Рис. 1. Схема компиляции
Откомпилировав программу один раз, ее можно выполнять многократно, с различными исходными данными.
При разработке программ обычно используются ранее созданные подпрограммы, которые хранятся в библиотеке стандартных подпрограмм в виде, пригодном для загрузки в среду исполнения. Подключение стандартных подпрограмм может выполняться в ходе выполнения программы (динамически компонуемые библиотеки) или предварительно до загрузки исполняемого кода в среду исполнения (статически компонуемые библиотеки). В последнем случае модуль, полученный транслятором, называют объектным модулем.
Подключение стандартных подпрограмм возлагается на специальную программу - компоновщик (редактор связей). Обозначения расширений для модулей типично для большинства систем программирования в операционной системе Windows. Транслятор и компоновщик являются составными частями системы программирования.
Отметим, что рассматривать библиотеку просто как набор подпрограмм можно только в предельно упрощенном виде. Операции по добавлению подпрограмм в библиотеку и удаления подпрограмм из библиотеки выполняются специальными программами, которые будем рассматривать как составную часть библиотеки.
Схема интерпретации используется для непосредственного распознавания и выполнения операторов исходного модуля (рис.2). Распознавание и выполнение операторов возлагается на специальную программу – интерпретатор. Понятия исходного и исполняемого модуля в этом случае совпадают.
Таким образом, можно уточнить составные части системы программирования, как показано на рис.3.
Средства разработки могут использоваться автономно или объединятся в систему. В первом случае запуск каждого из средств инициируется разработчиком путем ввода команды операционной системы.
Рис. 2. Схема интерпретации
Средства разработки, объединенные в систему на основе общего интерфейса и общей базы данных, образуют среду программирования.
|
|
|
Система программирования |
|
|
|
||
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Язык программирования |
|
Средства разработки |
|
Среда исполнения |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Средства подготовки исходных модулей |
|
Средства преобразования исходных модулей в исполняемый модуль |
|
Библиотека стандартных подпрограмм |
||||
|
|
|
|
|
|
|
|
|
Рис. 3. Составные части системы программирования |
Интегрии́рованная среда́ разрабо́тки, ИСР (англ. IDE, Integrated development environment или integrated debugging environment) — система программных средств, используемая программистами для разработки программного обеспечения (ПО).
Обычно среда разработки включает в себя:
текстовый редактор
компилятор и/или интерпретатор
средства автоматизации сборки
отладчик.
Иногда ИСР содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. Хотя и существуют ИСР, предназначенные для нескольких языков программирования — такие, как Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator или Microsoft Visual Studio, но обычно ИСР предназначается для одного определённого языка программирования - как, например, Visual Basic, Delphi, Dev-C++.
Частный случай ИСР — среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы.
Приведенные выше составные части системы программирования необходимо рассматривать как достаточно типичные. Конкретные системы программирования могут иметь как более сложную, так и более простую структуру.
ИСР обычно ориентированы на две наиболее часто встречающие операционные системы Windows и Unix. Поскольку в дальнейшем мы будем использовать персональные компьютеры с операционной системой Microsoft Windows, то рассмотрим ИСР для ОС Windows.
IDE |
|
Универсальные (для множества языков, в том числе C++) |
Только для Си/C++ |
• Anjuta • Visual Studio • NetBeans • Eclipse • KDevelop • Xcode • Geany • MonoDevelop • Aptana • Open Watcom • Komodo • Kylix |
• Borland C++ • C++ Builder • Code::Blocks • CodeLite • wxDev-C++ • Pelles C • Oracle Solaris Studio • Qt Creator • Ultimate++ • Microsoft QuickC |
1.3. Бесплатные компиляторы C++