Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Выражения и операции




ОСНОВЫ ПРОГРАММИРОВАНИЯ

 

Методические указания

к выполнению лабораторных и практических работ

для студентов направления 09.03.04– «Программная инженерия»

и 10.05.03 – «Информационная безопасность

автоматизированных систем»

 

(Часть 1)

 

 

Курган 2015

 

Кафедра: «Программное обеспечение автоматизированных систем»

 

Дисциплина: «Программная инженерия»

(направление 09.03.04).

«Информационная безопасность автоматизированных систем»

(направление 10.05.03)

 

Составил: канд. техн. наук, доцент А.М. Семахин.

 

 

Утверждены на заседании кафедры «30» сентября 2015 г.

 

 

Рекомендованы методическим советом университета

 

«»2015 г.

 

СОДЕРЖАНИЕ

 

СОДЕРЖАНИЕ 3

ВВЕДЕНИЕ 5

1 Базовые конструкции языка С++ 5

1.1 Тип данных 5

1.2 Выражения и операции 6

1.3 Операторы 8

2 Пользовательский тип данных. Массивы и структуры 9

2.1 Массивы 9

2.2 Структуры 9

3 Структурное программирование. Функции 9

3.1 Механизм передачи параметров в функцию 10

3.2 Виды функций 10

4 Объектно-ориентированное программирование 11

4.1 Класс. Конструкторы и деструкторы 11

4.2 Статические элементы класса 12

4.3 Дружественные функции и классы 12

4.4 Одиночное и множественное наследование 13

4.5 Чистые виртуальные функции и абстрактные классы 14

4.6 Перегрузка операторов. Операторные функции 14

5 Задания для выполнения лабораторных работ 15

5.1 Базовые понятия и языковые конструкции С++ 15

5.1.1 Задания для выполнения лабораторной работы №1.

«Базовый тип данных. Линейный процесс. Расчет по формуле» 15

5.1.2 Задания для выполнения лабораторной работы №2.

«Базовый тип данных. Математические функции» 16

5.1.3 Задания для выполнения лабораторной работы №3.

«Базовый тип данных. Разветвляющийся процесс.

Табулирование функции» 17

5.1.4 Задания для выполнения лабораторной работы №4.

«Пользовательский тип данных. Одномерные массивы» 20

5.1.5 Задания для выполнения лабораторной работы №5.

«Пользовательский тип данных. Двумерные массивы.

Обработка матриц» 22

5.1.6 Задания для выполнения лабораторной работы №6.

«Пользовательский тип данных. Структуры» 24

5.1.7 Задания для выполнения лабораторной работы №7.

«Операторы языка С++» 26

5.2 Структурное программирование. Функции 29

5.2.1 Задания для выполнения лабораторной работы №8.

«Функции» 29

5.2.2 Задания для выполнения лабораторной работы №9.

«Перегруженные функции» 30

5.2.3 Задания для выполнения лабораторной работы №10.

«Шаблонные функции» 31

5.3 Объектно-ориентированное программирование.

Основные понятия. Инкапсуляция 33

5.3.1 Задания для выполнения лабораторной работы №11.

«Классы. Конструкторы и деструкторы» 33

5.3.2 Задания для выполнения лабораторной работы №12.

«Перегрузка операций» 35

5.4 Объектно-ориентированное программирование.

Наследование и полиморфизм 36

5.4.1 Задания для выполнения лабораторной работы №13.

«Одиночное и множественное наследование» 36

5.4.2 Задания для выполнения лабораторной работы №14.

«Полиморфизм и виртуальные функции» 38

6 Задания для выполнения практических работ 38

6.1 Задания для выполнения практической работы №1.

«Базовый тип данных. Линейный процесс. Расчет по формуле» 40

6.2 Задания для выполнения практической работы №2.

«Базовый тип данных. Процесс ветвления. Вычисление значения

функции, заданной графически» 41

6.3 Задания для выполнения практической работы №3.

«Базовый тип данных. Процессы ветвления и циклический.

Попадание точки в фигуру» 44

6.4 Задания для выполнения практической работы №4.

«Пользовательский тип данных. Одномерные массивы» 46

6.5 Задания для выполнения практической работы №5.

«Пользовательский тип данных. Двумерные массивы.

Обработка матриц» 48

6.6 Задания для выполнения практической работы №6.

«Пользовательский тип данных. Структуры» 50

6.7 Задания для выполнения практической работы №7.

«Структурное программирование. Шаблонные функции» 52

6.8 Задания для выполнения практической работы №8.

«Инкапсуляция. Класс. Конструкторы и деструкторы» 54

6.9 Задания для выполнения практической работы №9.

«Одиночное наследование» 55

6.10 Задания для выполнения практической работы №10.

«Множественное наследование. Виртуальные базовые классы» 56

6.11 Задания для выполнения практической работы №11.

«Виртуальные функции и полиморфизм» 58

6.12 Задания для выполнения практической работы №12.

«Перегрузка операторов» 60

ЗАКЛЮЧЕНИЕ 62

СПИСОК ЛИТЕРАТУРЫ 63

ВВЕДЕНИЕ

 

Объектно-ориентированный язык программирования С++ является самым распространенным языком программирования в формализации решения задач на ЭВМ. Операционные системы Windows и Linux написаны на языке С++. Преимуществом языка С++ являются гибкость, переносимость и универсальность. Язык С++ используется для решения задач любой степени сложности.

Язык С++ создан Бьерном Страуструп (Bjarne Stoustrup) в 1979 году в компании Bell Laboratories (г. Муррей Хилл, штат Нью Джерси). Вначале язык назывался «С с классами» (C with classes). В 1983 году получил название С++. В 1989 г. Язык С++ прошел стандартизацию ANSI (American National Standards Institute, Национальный институт стандартизации США). Результатом стало существование двух версий С++: традиционная версия С++ и стандартная (Standard C++). Традиционная версия базируется на исходной разработке Бьярна Страуструпа. Версия Standard C++ создана Бьярном Страуструпом совместно с комитетом по стандартизации ANSI/ISO (ISO – International Standards Organization, Международная организация по стандартам).

Для изучения основ программирования в качестве базового языка выбран алгоритмический язык С++. Методические указания содержат теоретический материал, лабораторные и практические работы по основным разделам дисциплины «Основы программирования».

 

1 Базовые конструкции языка С++

 

Тип данных

 

Тип данных (data type) – множество допустимых значений данных с набором операций, которые применимы к этим данным.

Тип данных определяет внутреннее представление данных в памяти компьютера, множество значений, которые могут принимать величины этого типа, операции и функции, которые можно применять к величинам этого типа. Подразделяются на два вида: основные (fundamental) и производные (derived). Основные типы данных – целый (int), символьный (char), расширенный символьный (wchar_t), логический (bool), вещественный (float), вещественный с двойной точностью (double). Существуют четыре спецификатора, уточняющие внутреннее представление и диапазон значений стандартных тип: короткий (short), длинный (long), знаковый (signed), беззнаковый (unsigned). Производный тип данных – массивы (arrays), функции (functions), указатели (pointers), ссылки (reference), классы (classes), структуры (structures), объединения (unions), указатели на члены классов (pointers to classmembers). В таблице 1.1 приведены диапазоны значений и размер в байтах стандартных типов данных.

 

Таблица 1.1 – Диапазоны значений и размер стандартных типов данных

 

№ п/п Тип Диапазон значений Размер (байт)
  Bool true, false  
  signed char -128…127  
  unsigned char 0…255  
  signed short int -32768…32767  
  unsigned short int 0…65535  
  signed long int -2147483648…2147438647  
  unsigned long int 0…4294967295  
  Float 3.4e-38…3.4e+38  
  Double 1.7e-308…1.7+308  
  long double 3.4e-4932…3.4e+4932  

 

Имя переменной служит для обращения к области памяти, в которой хранится значение. Общий вид объявления переменной

[класс памяти] [const] тип имя [инициализатор];

1. Необязательный параметр класс памяти принимает значения auto, extern, static, register.

2. Модификатор const показывает, что значение переменной изменять нельзя.

3. Инициализация – присвоение переменной начального значения. Две формы инициализации: =значение или (значение).

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

Время жизни – существование переменной в течение выполнения программы или блока.

Область видимости идентификатора – часть текста программы, из которой допустим доступ к связанной с идентификатором областью памяти.

Тип void (пустой)применяется для определения функций, которые не возвращают значения.

 

Выражения и операции

 

Выражение (expression) – конструкция языка (формула) для вычисления значения в соответствии со значениями операндов.

Операнд (operand) – часть команды, определяющая аргумент, над которым выполняется операция.

Приоритет операций (operation precedence) – очередность выполнения операций в выражении.

Операция (operation) –действие, выполняемое над операндами.

Арифметические операции приведены в таблице 1.2

 

Таблица 1.2 – Арифметические операции

 

Операция Знак Пример Пояснения
Сложение + a=b+5; Устанавливает a,равным b плюс 5
Вычитание - c=d-8; Устанавливает с, равным d минус 8
Умножение * f=x*4; Устанавливает f, равным x умноженное на 4
Деление / g=y/2; Устанавливает g, равным y деленным на два
Деление по модулю % j=i%5; Устанавливает j, равным остатку от деления на 5
Инкремент ++ ++i; Префиксный инкремент сначала увеличивает i на единицу, а затем использует
i++; Постфиксный инкремент сначала использует i, а затем увеличивает
Декремент -- --j; Префиксный декремент сначала уменьшает на единицу, а затем используется
j--; Постфиксный декремент сначала использует, а затем уменьшает на единицу

 

Операции отношения приведены в таблице 1.3.

 

Таблица 1.3 – Операции отношения

 

Название Знак Пояснения
Равенство == Истина, если операнды равны, иначе – ложь
Неравенство != Истина, если операнды не равны, иначе – ложь
Меньше < Истина, если левый операнд меньше правого, иначе – ложь
Больше > Истина, если левый операнд больше правого, иначе – ложь
Меньше или равно <= Истина, если левый операнд меньше или равен правому, иначе – ложь
Больше или равно >= Истина, если левый операнд больше или равен правому, иначе – ложь

 

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

К побитовым операциям относятся операции И(&), ИЛИ|(||), исключающее ИЛИ (^), отрицание(~), сдвиг влево (<<), сдвиг вправо(>>). В побитовых операциях действия происходят над двоичным представлением целых чисел.

 

Таблица 1.4 – Логические операции

 

Назначение Знак Пояснение
Конъюнкция && Истина, если оба операнда истинны, иначе – ложь
Дизъюнкция || Истина, если хотя бы один операнд истинен, иначе – ложь
Отрицание ! Значение операнда меняется на противоположное

 

Операторы

 

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

Оператор (statement) – установленное синтаксисом языка действие в программе. В языке С++ выражение, которое заканчивается символом точки с запятой, является оператором. Операторы языка С++ имеют строгие правила написания. Если правила будут нарушены, компилятор сообщит об ошибке.

Существуют несколько групп операторов.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных