Основные теоретические положения. Институт математики, физики и информатики
ЧЕРЕПОВЕЦКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Институт математики, физики и информатики
Кафедра программного обеспечения ЭВМ
УКАЗАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ
ПО ДИСЦИПЛИНЕ
«ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ
ПРОГРАММИРОВАНИЕ»
Часть 1
Учебно-методическое пособие
Направление: 654600 – информатика и вычислительная техника;
Специальность: 220400 – программное обеспечение вычислительной техники и автоматизированных систем
Череповец
Указания к выполнению лабораторных работ по дисциплине «Объектно-ориентированное программирование». Ч. 1: Учеб.-метод. пособие. Череповец: ЧГУ, 2002. 27 с.
Рассмотрено на заседании кафедры программного обеспечения ЭВМ, протокол № 3 от 25.10.02 г.
Одобрено редакционно-издательской комиссией Института математики, физики и информатики ЧГУ, протокол № 22 от 22.10.01 г.
Составители: Е.В. Ершов – канд. техн. наук, доцент; Л.Н. Виноградова
Рецензенты: А.Н. Зуев – канд. техн. наук, доцент (ЧГУ);
Е.В. Королева – канд. техн. наук (ЦНСА ОАО «Северсталь»)
Научный редактор: Е.В. Ершов – канд. техн. наук, доцент
© Череповецкий государственный университет, 2003
Введение
Данное учебно-методическое пособие (часть 1) содержит описание и порядок выполнения пяти лабораторных работ по дисциплине "Объектно-ориентированное программирование" и предназначено для изучения и практического освоения синтаксиса, базовых понятий и конструкций языка объектно-ориентированного программирования (ООП) С++, а также методов и средств технологии ООП – одной из основных и эффективных для создания программного обеспечения и являющейся базовой для подготовки профессиональных программистов.
В пособии рассматриваются следующие темы: «Программирование функций» (4 ч), «Обработка массивов» (4 ч), «Обработка структурированных типов данных» (4 ч), «Разработка абстрактных типов данных» (4 ч), «Создание и уничтожение объектов класса» (4 ч).
Задания выполняются с использованием системы визуального программирования С++ Builder.
Каждую лабораторную работу необходимо выполнять в следующем порядке:
1. Разработать алгоритм решения в соответствии с заданием.
2. Составить программу решения задачи.
3. Осуществить отладку и тестирование программы.
Отчет по лабораторной работе должен содержать:
1. Постановку задачи и исходные данные.
2. Блок-схему алгоритма решения задачи.
3. Программу на языке С++.
4. Протокол тестирования программы.
При выполнении лабораторных работ в компьютерном классе необходимо соблюдать общие правила техники безопасности.
Р а з д е л I
ПРОГРАММИРОВАНИЕ ФУНКЦИЙ
Цель работы: изучить синтаксис и семантику определения, объявления и вызова функций, приобрести практические навыки передачи параметров функции, освоить механизмы возврата значений, изучить классы памяти и области видимости.
Основные теоретические положения
Вызов функции
Функции служат для реализации метода пошагового уточнения (функциональной декомпозиции) – разбиения задачи на ряд подзадач и последующего кодирования на языке программирования.
Программа на языке С++ состоит, как правило, из одной или нескольких функций. Выполнение программы начинается с функции main(). Вызов функции осуществляется при выполнении программы тогда, когда встречается имя функции. Управление передается функции для решения конкретной задачи и затем возвращается в вызывающее окружение (calling environment).
Например:
main()
{ - - -
- - -
y = sin(x); //вызов стандартной функции из math.h
a = my_function(b); //вызов функции пользователя
ptintf («Эта процедура»); //вызов стандартной функции-процедуры из stdio.h
- - -
- - -
}
Определение функции
Определение функции (function definition) – это код, реализующий то, что выполняет функция:
возвращаемый_тип имя_функции (список _объявлений _формальных _ параметров) //заголовок функции
{
операторы_тела_функции
}
Здесь возвращаемый_тип – это тип значения, возвращаемого функцией; имя_функции – идентификатор;
список_объявлений_формальных_параметров – это идентификаторы, которые получат значения фактических параметров, передаваемых функции при ее вызове, могут использоваться в теле функции и являются локальными для нее переменными;
операторы_тела_функции – перечень операторов, заключенных в фигурные скобки.
Например: int my_function (int p)
{return (-p);} //функция смены знака целого аргумента