Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метода по ОАиП.doc
Скачиваний:
12
Добавлен:
11.05.2015
Размер:
3.21 Mб
Скачать

Глава 16. Переход к ооп 168

16.1. Потоковый ввод-вывод 168

16.2. Управление выводом 168

16.3. Проблема ввода-вывода кириллицы в среде Visual C++ 171

16.4. Операции new и delete 172

16.5. Дополнительные возможности при работе с пользовательскими функциями 174

16.6. Шаблоны функций 177

Советы по программированию 182

ЗАДАНИЕ 10. Перегрузка функций 183

Первый уровень сложности 183

Второй уровень сложности 184

Таблицы символов ASCII 188

Операции языка Си 190

Возможности препроцессора 192

Интегрированная среда программирования Visual C++ 196

196

Некоторые возможности отладчика Visual C++ 205

Некоторые возможности графической подсистемы 212

6.1. Основные понятия 212

6.2. Контекст устройства 212

6.3. Примитивы GDI 212

6.4. Пример вывода текста 213

6.5. Получение описателя контекста устройства 224

6.6. Основные инструменты графической подсистемы 225

6.7. Закрашивание пустот 231

6.8. Рисование линий и кривых 231

6.9. Пример изображения графика функции sin 233

6.10. Рисование замкнутых фигур 235

6.11. Функция Polygon и режим закрашивания многоугольника 237

6.12. Пример отображения линий 237

6.13. Управление областями вывода и отсечением 238

6.14. Растровая графика 241

ЗАДАНИЕ 11. Создание графических изображений 244

ЛИТЕРАТУРА 246

Предисловие

Алгоритмический язык Си был разработан в 1972 г. сотрудником фирмы AT&T Bell LaboratoryДенисом Ритчина базе языкаВ(автор К.Томпсон), который в свою очередь основывался на языке системного программированияBCPL. Первая версия языка была опубликована в книге авторов Б. Кернигана и Д. Ритчи и получила название стандартK&R. Минимальная стандартная реализация, поддерживаемая любым компилятором, содержала всего 27 ключевых слов. Началось успешное развитие языка и, чтобы избежать путаницы, Американский институт стандартизации (American National Standart Institute) ввел в 1983 г. общий стандарт языка –ANSI-стандарт.

Язык продолжает развиваться, и в 1985 г. появляется язык С++, который в основном сохраняет все черты обычного Си, но дополнен новыми существен­ными возможностями, которые позволили реализовать объектно-ориентирован­ный стиль программирования.

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

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

Любой язык представляет собой описание определенного набора действий (операции, операторы, функции) над некоторыми данными. Данным, над которыми выполняются эти действия, вместо номеров ячеек в памяти принято давать имена (идентификаторы), а содержимое ячеек называть переменными, или константами, в зависимости от того, изменяется значение в процессе работы или нет.

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

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

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

Текст программы, записанный на языке высокого уровняи введенный с помощью клавиатуры в память компьютера, –исходный модуль. Программы, написанные в среде программирования, предназначенной для языка Си, напримерTurbo C, имеют расширение *.с. Расширение *.cppимеют программы, написанные в интегрированных средахBorland C++,Visual C++,Builder C++, предназначенных для написания программ как на языке Си, так и на языке С++.

Большинство трансляторов языка Си – компиляторы.

Результат обработки исходного модуля компилятором – объектный модуль (расширение *.obj). На этом этапе компилятор выделяет лексемы (элементарные конструкции языка), затем на основе грамматики распознает выражения и операторы, построенные из этих лексем. При этом компилятор выявляет синтаксические ошибки и, в случае их отсутствия, создает объектный модуль.

Исполняемый (абсолютный, загрузочный) модуль создает вторая специальная программа – «компоновщик». Ее еще называют редактором связей (Linker). Она и создаетзагрузочный модуль(расширение *.exe) на основе одного или нескольких объектных модулей – это программный модуль, представленный в форме, пригодной для выполнения.

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