- •Министерство образования и науки украины
- •Лабораторная работа № 1
- •Ход работы
- •Требования к отчетам
- •Отчёт должен содержать
- •Вопросы для контроля и самостоятельной работы
- •Лабораторная работа №2
- •Символы типа
- •Ход работы
- •Вопросы для контроля и самостоятельной работы
- •Лабораторная работа №3 Разработка программ со скалярными типами данных (2 часа)
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №4 Разработка программ с циклическими вычислительными процессами
- •Теоретические сведения
- •Алгоритм работы оператора цикла for ():
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №5 Разветвляющийся вычислительный процесс с различными логическими условиями: оператор if... Else, условная операция (?:), оператор switch, оператор break, оператор goto (2 часа)
- •Теоретические сведения
- •Условная тернарная операция (?:)
- •Оператор варианта switch
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №6 Операции с, их приоритеты и использование. Преобразование типов (4 часа)
- •Теоретические сведения
- •Приоритет операций и порядок выполнения (ассоциативность)
- •Преобразование типов
- •(Новый_тип) операнд
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №7
- •Синтаксис определения функций в с
- •Использование локальных и глобальных переменных в функциях. Вызов функции
- •Ход работы
- •Требования к содержанию отчёта приведены в лабораторной работе №1. Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №8 Разработка программ с указателями (2 часа)
- •Теоретические сведения
- •Основные операции с указателями
- •Указатели и целые величины
- •Динамическое размещение указателей в памяти
- •Ход работы
- •Требования к содержанию отчёта приведены в лабораторной работе №1. Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №9 Массивы. Селективная обработка массивов
- •Теоретические сведения
- •Ход работы
- •Требования к содержанию отчёта приведены в лабораторной работе №1
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №10
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №11
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 12
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 13
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 14
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 15 Использование указателей для работы с составными типами данных (2часа)
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 16
- •Указатели как параметры функции
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №17
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 18
- •Использование администратора проектов
- •Lab18.Cpp- Основной файл проекта
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа № 19
- •Доступ к пикселям
- •Графические примитивы
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №20 Разработка программ с использованием классов (2 часа)
- •Теоретические сведения
- •Объявление и определение класса
- •Тело класса
- •Использование класса
- •Инкапсуляция. Управление доступом к членам класса
- •Классы памяти для объектов
- •Использование данных-членов класса
- •Ход работы
- •Требования к содержанию отчёта приведены в лабораторной работе №1. Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №21
- •Инициализация объектов класса
- •Деструкторы
- •Вызов деструкторов
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №22 Использование наследования для создания иерархии классов (2 часа)
- •Теоретические сведения
- •"Друзья" классов (friend)
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №23 Использование виртуальных и указателей для работы с объектами классов (2 часа)
- •Теоретические сведения
- •Виртуальные базовые классы
- •Виртуальные деструкторы
- •Ход работы
- •Литература
- •Выходные данные
Ход работы
Изучить теоретические сведения.
В соответствии с индивидуальным заданием по лабораторной работе №7. разработать алгоритм.
Объявить указатели на функции. Использовать указатели для вызова соответствующих функций. Использовать оператор switch для выбора варианта функций.
Разработать и набрать программу на компьютере, устранить ошибки.
Получить результат.
Оформить отчет.
Подготовиться к защите лабораторной работы, изучив контрольные вопросы.
Индивидуальное задание к лабораторной работе №16
Составить программу использующую вызовы функций с помощью указателей. Индивидуальные задания приведены в таблице 16.1.
Таблица 16.1 - индивидуальные задания
Вариант |
первая функция |
вторая функция |
третья функция |
четвертая функция |
|
int (*func1) (int *) |
int (*func2) (int *,float *) |
int (*func3) (void *) |
char *func4 (char *,…) |
|
float (*func1) (int *, float *, double *) |
float (*func2) (void *,…) |
float (*func3) (int, …) |
double (*func4 (double, double))[3] |
|
void (*func1) (void *, int *) |
void (*func2) (int, int *) |
void (*func3) (void) |
int (*func4 (void))(int) |
|
double (*func1) (float *, int) |
double (*func2) (double, long int) |
double (*func3) (unsigned int *) |
int (*func4(int)) (int)[3][5] |
|
long double (*func1) (int *, float *) |
long double (*func2) (void *, …) |
long double (*func3) (int, …) |
char * (*func4 (int *, …))(void *) |
|
char (*func1) (unsigned int *) |
char (*func2) (int *, float *, double *) |
char (*func3) (void *,…) |
int *func4( char *, int *,…) |
|
long int (*func1) (int, int *) |
long int (*func2)(double, long int) |
long int (*func3)( void) |
float (*func4 (double)(void)) [10] |
|
unsigned int (*func1) (int *) |
unsigned int (*func2) (int, …) |
unsigned int (*func3) (int *,float *) |
long int (*func4(int)) (void) |
|
float (*func1) (int *, float *, double *) |
float (*func2) (unsigned int *) |
float (*func3) (void) |
void *func4 (int *, int, …) |
|
unsigned long int (*func1) (int, …) |
unsigned long int (*func2) (int *) |
unsigned long int (*func3) (double, long int) |
float (*func4( long int, int))[5] |
|
signed int (*func1) (int *, float *, double *) |
signed int (*func2) (int) |
signed int (*func3) (void *, …) |
double (*func4 (char)(int *))[4] |
|
double (*func1) (float *, int) |
double (*func2) (double, long int) |
double (*func3) (unsigned int *) |
double (*func4 (double, double))[3] |
|
long double (*func1) (int *, float *) |
long double (*func2) (void *, …) |
long double (*func3) (int, …) |
int (*func4 (void))(int) |
|
char (*func1) (unsigned int *) |
char (*func2) (int *, float *, double *) |
char (*func3) (void *,…) |
int (*func4(int)) (int)[3][5] |
|
long int (*func1) (int, int *) |
long int (*func2)(double, long int) |
long int (*func3)( void) |
char * (*func4 (int *, …))(void *) |
|
unsigned int (*func1) (int *) |
unsigned int (*func2) (int, …) |
unsigned int (*func3) (int *,float *) |
int *func4( char *, int *,…) |
|
int (*func1) (int *) |
int (*func2) (int *,float *) |
int (*func3) (void *) |
float (*func4 (double)(void)) [10] |
|
float (*func1) (int *, float *, double *) |
float (*func2) (void *,…) |
float (*func3) (int, …) |
long int (*func4(int)) (void) |
|
void (*func1) (void *, int *) |
void (*func2) (int, int *) |
void (*func3) (void) |
int *func4( char *, int *,…) |
|
double (*func1) (float *, int) |
double (*func2) (double, long int) |
double (*func3) (unsigned int *) |
float (*func4 (double)(void)) [10] |
|
long double (*func1) (int *, float *) |
long double (*func2) (void *, …) |
long double (*func3) (int, …) |
long int (*func4(int)) (void) |
|
char (*func1) (unsigned int *) |
char (*func2) (int *, float *, double *) |
char (*func3) (void *,…) |
void *func4 (int *, int, …) |
|
unsigned long int (*func1) (int, …) |
unsigned long int (*func2) (int *) |
unsigned long int (*func3) (double, long int) |
float (*func4( long int, int))[5] |
|
signed int (*func1) (int *, float *, double *) |
signed int (*func2) (int) |
signed int (*func3) (void *, …) |
double (*func4 (char)(int *))[4] |
|
double (*func1) (float *, int) |
double (*func2) (double, long int) |
double (*func3) (unsigned int *) |
char *func4 (char *,…) |
|
long double (*func1) (int *, float *) |
long double (*func2) (void *, …) |
long double (*func3) (int, …) |
double (*func4 (double, double))[3] |
|
char (*func1) (unsigned int *) |
char (*func2) (int *, float *, double *) |
char (*func3) (void *,…) |
int (*func4 (void))(int) |
|
double (*func1) (int *, float *, double *) |
double (*func2) (double, long int) |
double (*func3) (unsigned int *) |
int (*func4(int)) (int)[3][5] |
|
void (*func1) (void *, int *) |
void (*func2) (int, int *) |
void (*func3) (void) |
char * (*func4 (int *, …))(void *) |
|
double (*func1) (float *, int) |
double (*func2) (double, long int) |
double (*func3) (unsigned int *) |
int *func4( char *, int *,…) |
Требования к содержанию отчёта приведены в лабораторной работе №1.