
- •Лекция 1
- •Понятие программы и языка программирования
- •Компоненты языка программирования
- •Структурная схема компьютерной программы
- •Жизненный цикл программного средства
- •Технология подготовки и решения задачи на компьютере
- •Функция как компонент структуры программы
- •Примеры простых программ в ычисление значения функции в заданной точке
- •Вычисление суммы и количества целых чисел, введенных пользователем с клавиатуры
- •Демонстрация работы со строками на основе использования класса string
- •Виды представления программы и данных
- •Процесс компиляции программы
- •Классическая схема подготовки исполняемой программы
- •Технологический цикл обработки программы
- •Особенности внутреннего представления программы и ее исполнения 9*
- •Организация памяти компьютера
- •Сегментация программы
- •Процесс исполнения программного кода
- •Структура текстового файла программы
- •Структура программы из двух текстовых файлов
- •В результате изучения материала лекции необходимо знать
В результате изучения материала лекции необходимо знать
содержание понятий:
программирование
язык программирования
компоненты языка программирования
программа
алгоритм
данные
структура данных
структурная схема компьютерной программы
жизненный цикл программного средства
технология подготовки и решения задачи на компьютере
заголовок функции
тип функции
тело функции
прототип функции
объявление функции
сигнатура функции
определение функции
блок, составной оператор
вызов функции, запоминание результатов вызова
представление программы
представление данных
процессы трансляции программы (интерпретация, компиляция)
классическая схема подготовки исполняемой программы
препроцессор
объектный модуль
компоновщик, загрузчик
технологический цикл обработки программы
лексема
синтаксис языка программирования
семантика языка программирования
лексический анализ программы
синтаксический анализ программы
семантический анализ программы
Структуру текстового файла программы
Структуру программы из двух файлов
Дополнительно* (на оценку выше 5 баллов):
особенности внутреннего представления программы и ее исполнения
организацию памяти компьютера
сегментацию программы
процесс исполнения программного кода
структуру программы сортировки строк
1 Язык программирования C++ был разработан Бьерном Страуструпом, сотрудником AT&T Bell Laboratories. Непосредственным предшественником C++ является С with Classes, созданный тем же автором в 1980 году. Язык С with Classes, в свою очередь, был создан под сильным влиянием С и Simula. В 1998 г. вышел международный стандарт языка ISO/IEC 14882. С 2003г. действует вторая редакция этого стандарта ISO/IEC/ANSI /ITI. Стандарты языков программирования разрабатываются для того, чтобы компиляция одной и той же программы различными компиляторами давала одинаковый результат. Существует ряд организаций, целенаправленно занимающихся вопросами стандартизации. Это Американский национальный институт стандартов ANSI (American National Standards Institute), Институт инженеров по электротехнике и электронике IEEE (Institute of Electrical and Electronic Engineers), Организация международных стандартов ISO (International Organization for Standardization).
В процессе развития языка некоторые его конструкции и функции устаревают. Однако с целью обратной совместимости новые версии должны поддерживать и все устаревающие возможности. Это ведет к «разбуханию» компиляторов. В последнее время в реализациях введено понятие нерекомендуемой и устаревшей возможности. В первом случае следующий стандарт еще будет поддерживать нерекомендуемую возможность, но может перевести ее в категорию устаревшей. Во втором случае стандарт может исключить поддержку возможности, объявленной ранее как устаревшая. Введение нерекомендуемых и устаревших возможностей предоставляет разработчикам временной интервал, в течение которого они могут модифицировать код в соответствии с новыми требованиями стандарта.
2 «программирование с использованием типов в качестве параметров» ( Б.Страуструп)
3 Под представлением данных понимается их описание на языке программирования в виде констант и переменных разной структуры.
41 # – знак номера (произносим «sharp»); #include произносим sharp инклуд;
5 Оператор return явно может и не использоваться (стандарт С++ предусматривает, что функция main()по умолчанию возвращает 0).
6 Префикс std:: – это указание на обращение к имени из этого стандартного пространства имен. Имена, используемые в стандартной библиотеке С++ (такие, как cout), объявлены в пространстве имен std и невидимы в нашей программе до тех пор, пока мы явно не сделаем их видимыми. Обозначения заголовочных файлов программ до введения стандарта языка имели расширение “.h”, а имена объектов библиотек и программы помещались в единственное глобальное пространство имен и никакого префикса при обращении к ним не требовалось. Стандарт языка С++ поместил имена из стандартной библиотеки классов и функций в пространство имен std, отделив их тем самым от глобального пространства имен.
7 манипулятор std::endl равносилен esc-последовательности \n и означает «конец строки», т.е перевод курсора в начало новой строки консольного окна экрана ; endl – произносим «энд эл».
8 Для упрощения обращения к библиотечным именам в современных компиляторах используется директива using namespace std;, позволяющая обращаться к именам без префикса std::. Для старых компиляторов вторая и третья строки этой программы заменяются на одну строку #include <iostream.h> . Разработчики современных компиляторов встраивают в них возможность применения в программах старых заголовков (с расширением .h).
9* Для углубленного изучения (на оценку выше 5 баллов)
10*Для углубленного изучения (на оценку выше 5 баллов)