Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2011-ООП-Методичка_лабы.pdf
Скачиваний:
17
Добавлен:
11.06.2015
Размер:
312.24 Кб
Скачать

Примеры выполнения заданий

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

#include <stdio.h>

int minimax(int a, int b, int c)

{

int m; m=a<b?a:b; m=m<c?m:c; return m;

}

float minimax(float a, float b)

{

float m; m=a>b?a:b; return m;

}

void main()

{

int k; k=minimax(6,1,9);

printf("Минимальное целое = %i\n",k); float x;

x=minimax(6.27,5.98);

printf("Максимальное вещественное = %5.2f\n",x);

}

2 Создать функцию для нахождения произведения произвольного набора целых чисел.

#include <stdio.h> int proizv1(int a,...)

//0 - признак окончания списка параметров

{

int pr=1,*p=&a;

while (*p) {pr*=*(p++);} return pr;

}

int proizv2(int a,...)

//Первый параметр - число параметров

{

int pr=1,*p=&a;

while (a--) {pr*=*(++p);}

11

return pr;

}

void main()

{

int p1=proizv1(2,3,4,0),p2=proizv2(3,2,3,4); printf("P1= %i\nP2= %i\n",p1,p2);

}

Лабораторная работа №3.2. Объектно-ориентированное программирование в среде С++

Цель работы: изучить основные определения объектно-ориентиро- ванного программирования на примере программы для перемещения графических объектов

Задание к работе: составить программу для решения задачи (табл. 4). Программа должна содержать новые классы (включая абстрактные), конструкторы и деструкторы, поддерживать наследование, полиморфизм и видимость компонент.

Таблица 4 – Варианты заданий

Вар.

Задание

1

2

1

Нарисовать на экране десять концентрических окружностей

2Нарисовать в центре экрана десять вложенных друг в друга прямоугольников

Переделать программу «кругов на воде» (см. пример) так, чтобы

3круги сначала расходились из одной точки, а потом обратно в нее сходились

4Перемещать круг по горизонтали с заданным шагом и задержкой в одну секунду

5Перемещать круг по вертикали с заданным шагом и задержкой в одну секунду

6Перемещать прямоугольник по горизонтали с заданным шагом и задержкой в одну секунду

7Перемещать прямоугольник по вертикали с заданным шагом и задержкой в одну секунду

8Переделать программу «кругов на воде» (см. пример), заменив круги на прямоугольники

9Перемещать круг по диагонали с заданным шагом и задержкой в полторы секунды

10Перемещать прямоугольник по диагонали с заданным шагом и задержкой в полторы секунды

12