Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР1-С++-09-февраля-2012.doc
Скачиваний:
22
Добавлен:
15.09.2019
Размер:
671.74 Кб
Скачать

Кузнецов Л.К.

Министерство финансов Российской Федерации

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

ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ

Бакалавры: 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++