- •1 Введение в теорию алгоритмизации 6
- •Введение
- •1 Введение в теорию алгоритмизации
- •1.1 Понятие алгоритма
- •1.2 Свойства алгоритмов
- •1.3 Формы представления алгоритма
- •1.4 Основные алгоритмические структуры
- •1.5 Алгоритмический язык
- •2.3 Инструменты программирования Microsoft Visual Studio
- •2.5 Консольные и оконные приложения
- •2.6 Компилирование программы
- •3.2 Простые типы данных
- •3.3 Операции над числовыми данными
- •3.4 Объявление переменных
- •3.7 Директива #define
- •3.9 Библиотека математических функций
- •4 Условный оператор
- •4.1 Условный оператор if
- •4.2 Составной оператор
- •4.3 Вложенный оператор
- •4.4 Оператор выбора switch
- •5 Операторы циклов
- •5.1 Определение цикла
- •5.2 Оператор цикла for
- •5.3 Оператор цикла while
- •5.4 Оператор цикла do while
- •5.5 Табулирование функций
- •5.6 Вычисление конечных сумм и произведений
- •5.7 Управляющие конструкции break, continue, return, goto
- •6 Массивы
- •6.1 Понятие и описание массивов
- •6.2 Одномерные массивы
- •6.3 Двумерные массивы (матрицы)
- •7 Символьные массивы
- •7.1 Описание символьного массива
- •7.2 Стандартные библиотечные функции над строками
- •8 Указатели и операции над указателями
- •8.1 Описание указателей
- •8.2 Операции над указателями
- •8.3 Сравнение указателей
- •8.4 Связь между массивом и указателем
- •9 Функции
- •9.1 Модульное программирование
- •9.2 Объявление функции
- •9.3 Формальные и фактические параметры функции
- •9.4 Локальные и глобальные переменные
- •10 Элементы объектно-ориентированного программирования
- •10.1 Инструментальное программное обеспечение
- •10.2 Технологии программирования
- •10.3 Создание класса
- •11 Полиморфизм
- •12 Этапы разработки программного обеспечения
- •12.1 Идея и цель объектно-ориентированного программирования
- •12.2 Основные понятия объектно-ориентированного программирования
- •12.3 Методы тестирования программных продуктов
- •Список литературы
2.5 Консольные и оконные приложения
В среде программирования Visual C++ можно создавать консольные и оконные приложения.
Консоль – это монитор и клавиатура.
Консольное приложение – приложение, не имеющее графического интерфейса, для которого устройством ввода является клавиатура, а устройством вывода — монитор. Такие программы работают в окнах, напоминающих окна сеансов DOS (рисунок 3).
Рисунок 3 – Консольное приложение
Консольные приложения удобны как иллюстрации при рассмотрении общих вопросов программирования, когда необходимо сосредоточиться на сути проблемы не задумываясь о пользовательском интерфейсе. На практике консольные приложения применяются для различного вида утилит, тестовых программ и т.д.
Оконное приложение (Windows-приложение) – приложение, в котором используется Windows-интерфейс GUI (Grphical User Interface – графический интерфейс пользователя).
Большинство лабораторных работ посвящено созданию консольных приложений. GUI-программы отличаются высокой сложностью. Поэтому они не совсем подходят для обучения языку программирования. Освоив С++ на консольных приложениях, вы сможете применить свои знания к Windows-программированию.
Отправной точкой любой разработки в Visual C++ является диалоговое окно File→New→Project. Для создания консольного приложения следует выбрать CLR Console Application.
CLR, сокр. от Common Language Runtime – «общеязыковая среда выполнения» — это компонент пакета Microsoft .NET Framework, виртуальная машина, на которой исполняются все языки платформы .NET Framework.
Задание 2.1
Создайте новое консольное приложение Sample (файла Sample.cpp).
2.6 Компилирование программы
Чтобы скомпилировать программу в интегрированной среде разработки (Integrated Development Environment — IDE) Visual C++ необходимо выбрать команду Start Debugging с панели инструментов, меню или клавишей F5 (рисунок 4).
Рисунок 4 – Компиляция программы
В результате работы С++-компилятора получается выполняемый объектный код. Для Windows-среды выполняемый файл будет иметь то же имя, что и исходный, но другое расширение, а именно расширение .ехе. Итак, выполняемая версия программы Sample.срр будет храниться в файле Sample.ехе.
Задание 2.2
Скомпилируйте программу и запустите Sample.ехе.
При попытке скомпилировать программу с ошибками компилятор выдаст сообщение о наличии синтаксических ошибок и укажет их количество (рисунок 5).
Рисунок 5 – Сообщение о наличии ошибок
Если компилятор «подозревает», но не «уверен» в ошибке (например, некорректность конструкции при видимой правильности с точки зрения синтаксиса), то он выдает предупреждение warning(s).
Вопросы для текущего контроля:
1 От какого языка программирования произошел C++?
2 Какой основной фактор обусловил создание C++?
3 Верно ли, что C++ является предком языков Java и С#?
3 ОСНОВЫ ЯЗЫКА С++. ЛИНЕЙНЫЕ ПРОГРАММЫ
Цель работы: изучить алфавит языка С++, простые типы данных, научиться объявлять переменные и константы; изучить структуру программы на С++; освоить функции ввода данных и вывода результата.
3.1 Элементы языка С++
К основным элементам языка С++ можно отнести:
символы
переменные
константы
идентификаторы
ключевые слова
комментарии
1) Символы. Язык С++ был создан уже после внедрения стандарта ASCII, поэтому использует почти все его графические символы (нет только $ @ `).
Множество символов используемых в языке С++ можно разделить на несколько групп.
I группа символов – символы, используемые для образования ключевых слов и идентификаторов. Это прописные и строчные буквы английского алфавита, а также символ подчеркивания (_); прописные и строчные буквы русского алфавита и арабские цифры.
II группа символов – знаки нумерации и специальные символы (таблица 2). Эти символы используются с одной стороны для организации процесса вычислений, а с другой – для передачи компилятору определенного набора инструкций.
Таблица 2 – Допустимые символы языка
Символ |
Наименование |
Символ |
Наименование |
, |
запятая |
~ |
тильда |
. |
точка |
* |
звездочка |
; |
точка с запятой |
+ |
плюс |
: |
двоеточие |
- |
минус |
? |
вопросительный знак |
( ) |
круглые скобки |
' |
апостроф |
{ |
открывающаяся фигурная скобка |
! |
восклицательный знак |
} |
закрывающаяся фигурная скобка |
| |
вертикальная черта |
] |
закрывающаяся квадратная скобка |
/ |
дробная черта |
[ |
открывающаяся квадратная скобка |
\ |
обратная черта |
# |
номер |
< |
меньше |
% |
процент |
Продолжение таблицы 2
Символ |
Наименование |
Символ |
Наименование |
> |
больше |
& |
амперсанд |
" |
кавычки |
^ |
логическое не |
= |
равно |
|
|
III группа символов – управляющие и разделительные символы (пробел, символы табуляции и др.).
IV группа символов – управляющие последовательности. Это специальные символьные комбинации, используемые в функциях ввода и вывода информации.
Управляющая последовательность строится на основе использования обратной дробной черты (\) (обязательный первый символ) и комбинации латинских букв и цифр (таблица 3).
Таблица 3 – Управляющие последовательности
Управляющие последовательности |
Назначение |
\a |
Звуковой сигнал |
\b |
Возврат на шаг |
\t |
Горизонтальная табуляция |
\n |
Переход на новую строку |
\v |
Вертикальная табуляция |
\r |
Возврат каретки |
\f |
Перевод формата |
Кроме определения управляющей последовательности, символ обратной дробной черты (\) используется также как символ продолжения. Если за (\) следует (\n), то оба символа игнорируются, а следующая строка является продолжением предыдущей. Это свойство может быть использовано для записи длинных строк.
2) Переменная представляет собой величину, значение которой во время выполнения программы может изменяться.
3) Константа представляют собой величину, значение которой во время выполнения программы не изменяется.
4) Идентификатор (имя) – последовательность цифр и букв, а также специальных символов, которая используется для символического обозначения величин (переменных и констант), функций и т.п.
для улучшения читаемости программы следует давать объектам осмысленные имена;
разделяйте слова, составляющие имя, знаками подчеркивания: max_length.
Это важно:
для образования идентификаторов могут быть использованы строчные или прописные буквы латинского алфавита, в качестве специального символа может использоваться символ подчеркивание (_);
первой в идентификаторе стоит буква или специальный символ;
одинаковые прописные и строчные буквы считаются различными символами, так как имеют различные коды;
идентификаторы, составленные из строчных и прописных букв различны (например, abc и ABC);
компилятор допускает любое количество символов в идентификаторе, хотя значимыми являются первые 31 символ;
идентификатор создается на этапе объявления переменной, функции, структуры и т.п. и только после этого его можно использовать в последующих операторах программы;
идентификатор не должен совпадать с ключевыми словами, с зарезервированными словами и именами функций библиотеки компилятора языка С/С++.
Пример 3.1. Образование идентификаторов
а) Для величины объем, которая в программе является переменной (или константой) можно использовать идентификаторы V, Volume и т.п.
б) Идентификаторами являются: a, а1, а_1, abc, ABC, A128B, a128b.
в) Идентификаторами не являются: 1а, ш, объем.
Задание 3.1
Предложите варианты идентификаторов для величин Среднее арифметическое, Площадь, Произведение.
5) Ключевые слова – это зарезервированные идентификаторы, которые наделены определенным смыслом. Их можно использовать только в соответствии со значением известным компилятору языка С/С++. Это double, int, struct, break, else, long, switch, char, extern, return, void, case, float, default, for, do, if, continue, while и др.
Ключевые слова не могут быть использованы в качестве идентификаторов.
6) Комментарий – это набор символов, который игнорируется компилятором, заключенный в скобки /* … */ или начинающийся с // (в С++):
/* комментарии к программе */
// комментарий
Комментарии в программе выделяются зеленым цветом.
Комментарии помогают человеку читать текст программы; писать их грамотно считается правилом хорошего тона. Комментарии могут характеризовать используемый алгоритм, пояснять назначение тех или иных переменных, разъяснять непонятные места. При компиляции комментарии выкидываются из текста программы поэтому размер получающегося исполняемого модуля не увеличивается.
Используйте для пояснений //-комментарии, а скобки /* … */ применяйте для временного исключения блоков кода при отладке.
