Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
умп_oop_1.doc
Скачиваний:
14
Добавлен:
22.03.2015
Размер:
162.3 Кб
Скачать

Задания

Составить алгоритм и программу, реализующую разные механизмы передачи параметров, на примере нахождения значений функций:

  1. функция принимает параметры по значению и возвращает значение;

  2. функция в качестве параметров принимает указатели, в том числе и параметр адреса результата, а возвращает значение типа Void.

  3. функция принимает параметры по ссылке и возвращает ссылку на тип результата.

Исходные данные представлены в следующей таблице (по вариантам):

Параметры

Номер варианта

1

2

3

4

5

6

7

8

9

10

0,01

0,001

0,0001

0,001

0,01

0,001

0,0001

0,001

0,0001

0,001

Xmin

-2π

0

0

-2π

π

0

0

Xmax

π

3π/2

0

π/2

π

Δx

Π/4

π/12

π/6

π/12

π/12

π/4

π/6

π/8

π/4

π/3

П р и м е ч а н и е . Переменная n вводится с клавиатуры.

Процесс суммирования прекращается, когда будет обнаружено, что очередной член ряда | h | ≤ ε.

Выбор механизма передачи параметров оформить с помощью оператора Switch.

Контрольные вопросы

  1. Сформулируйте назначение функций, необходимость использования, синтаксис и семантику определения, объявления и вызова функций.

  2. Что такое прототип функции? Какие преимущества имеют прототипы функций?

  3. С какой целью применяются аргументы по умолчанию? В чем заключается синтаксис и семантика их использования?

  4. Объясните механизм передачи параметров, в чем преимущества и недостатки передачи параметров по значению и по ссылке?

  5. Каким образом функции возвращают значения?

  6. Что означает понятие «встроенная функция»?

  7. Сформулируйте алгоритм выбора перегруженной функции.

Р а з д е л II

Обработка массивов

Цель работы: изучить способы определения массивов, правила индексирования и инициализации; приобрести практические навыки передачи массивов функциям; изучить способы создания динамических массивов, правила управления свободной памятью, взаимосвязь между массивами и указателями.

Основные теоретические положения

1. Определение массивов

Массив (array) – это тип данных, предоставляющий набор однородных значений, доступ к которым осуществляется с помощью индексов (индексированный набор однотипных данных). В языке С++ допустимы массивы любых типов – массивы скалярных значений, массивы указателей, массивы структур, массивы объектов, массивы массивов.

Объявление массива имеет префиксную форму и в общем виде может быть представлено так:

тип имя_массива [размер]; // вектор

тип имя_массива [размер_1][размер_2]; // матрица

Доступ к элементу массива осуществляется через его имя и значение индекса, приведенное в квадратных скобках:

имя_массива [выражение]

имя_массива [выражение_1][выражение_2],

Здесь выражение – это выражение целого типа, значение которого должно быть в диапазоне от 0 до (размер – 1). Компилятор не выполняет строгую проверку выхода индекса за границы диапазона.

Примеры объявления массивов:

int m[10]; // массив-вектор из 10 целых, доступ – m[i], i = 0 ÷ 9

float mm[3][4]; //массив-матрица из 3  4 вещественных, доступ mm[i][j], i = 0÷2, j = 0÷3

char *d[3]; //массив из 3 указателей на char (строк), доступ d[i], i = 0÷2

Массив может быть инициализирован при объявлении:

int m[10] = {9,8,7,6,5,4,3,2,1,0};

float mm[3][4] = {{0.1,0.2,0.3,0.4},{1.1,1.2,1.3,1.4},{2.1,2.2,2.3,2.4}};

char *d[] = {«С++», «Паскаль», «Ада»}; // размер соответствует количеству // инициализаторов