Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
л_1_Введение_в_С++.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
470.02 Кб
Скачать

Лекция 1

Введение в С++

Искать суть бытия – пустой каприз...

Здесь все правы: где, кто и что нароет...

Ведь жизнь обычно тратится на жизнь...,

Но на какую?.. Вот, что беспокоит.

Понятие программы и языка программирования 1

Компоненты языка программирования 3

Структурная схема компьютерной программы 3

Жизненный цикл программного средства 4

Технология подготовки и решения задачи на компьютере 5

Функция как компонент структуры программы 5

Примеры простых программ 9

Вычисление значения функции в заданной точке 9

Вычисление суммы и количества целых чисел, введенных пользователем с клавиатуры 9

Демонстрация работы со строками на основе использования класса string 10

Виды представления программы и данных 10

Процесс компиляции программы 11

Классическая схема подготовки исполняемой программы 11

Технологический цикл обработки программы 13

Особенности внутреннего представления программы и ее исполнения * 14

Организация памяти компьютера 14

Сегментация программы 15

Процесс исполнения программного кода 16

Структура текстового файла программы 18

Структура программы из двух текстовых файлов 20

Пример более сложной программы на С++ (сортировка строк)* 20

В результате изучения материала лекции необходимо знать 26

Понятие программы и языка программирования

П

 Если отладка - процесс удаления ошибок, то программирование должно быть процессом их внесения.

Э.Дейкстра

рограммирование
 – процесс и искусство создания компьютерных программ с помощью языков программирования.

Важно понимание роли и места программирования. Что это такое: наука, искусство, ремесло (на современном языке – технология)?

Программирование не является наукой: нельзя получить формулу, благодаря которой «рассчитываются» программы на все случаи жизни. Соприкосновение с математикой происходит в других сферах: при оценке производительности программ (алгоритмов); использовании в программировании математических методов, теории алгоритмов и формальных систем.

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

Наиболее очевидно то, что программирование имеет отношение к ремеслу. Технология – это кристаллизованное ремесло, а о технологии программирования говорится много и постоянно. Но ремесло, как известно, «передается не словами, а подзатыльниками». Поэтому обучение программированию основывается на принципе «делай как я», а приобретение навыков достигается только путем постоянных упражнений и тренировок.

Изучение программирования нельзя начать, не ответив на вопросы: а что же такое язык программирования, алгоритм, программа, данные.

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

Язык C++1 в определенном смысле можно назвать улучшенным С. С++ наиболее полно представляет парадигмы современного программирования и является фундаментом, на котором оно строится. Он обеспечивает контроль типов, перегрузку функций, возможность писать процедурно-ориентированные программы и создавать библиотеки функций. В программе на С++ можно динамически управлять памятью, использовать адресную арифметику, обращаться к отдельным разрядам двоичного представления данных и т.д. Но главное в том, что C++ добавляет к С объектную ориентированность: поддерживает объектно-ориентированное программирование и позволяет разрабатывать библиотеки классов. Механизм шаблонов языка С++ и его стандартная библиотека дают возможность создавать программы, применяя методы обобщенного программирования2.

Язык С++, в отличие от С#, Java и Visual Basic, позволяет создавать программы, для выполнения которых не требуется устанавливать на компьютер специальное программное обеспечение, создающее среду исполнения программ.

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

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

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

Определение программы дано в формуле: «Программа = данные + алгоритм». В ней данные и алгоритм являются двумя взаимозависимыми элементами. Если данные в какой-то мере обладают свойствами пространства (объем, протяженность), то алгоритм – свойствами времени (эффективность, быстродействие); тезис «проигрывая в пространстве, выигрываем во времени» здесь также уместен: эффективность программ может быть принципиально повышена за счет использования дополнительных структур данных в памяти.

Как правило, под программой на С++ подразумевают исходный текст, написанный на С++, набранный в текстовом редакторе и сохраненный в текстовом файле (одном или нескольких). Текстовый файл с названием вида имя_файла.cpp (cpp – принятое расширение для программ на С++) – основная программная единица.