
- •090900.62 Информационная безопасность
- •Введение
- •Теоретическая часть
- •Постановка задачи
- •1.3 Порядок выполнения работы
- •1.4 Контрольные вопросы
- •2 Лабораторная работа № 2. Массивы
- •2.1 Теоретическая часть
- •2.2 Постановка задачи
- •2.3 Порядок выполнения работы
- •2.4 Контрольные вопросы
- •3 Лабораторная работа № 3. Указатели
- •3.1 Теоретическая часть
- •3.2 Постановка задачи
- •3.3 Контрольные вопросы
- •4 Лабораторная работа № 4. Классы
- •4.1 Теоретическая часть
- •4.2 Задание
- •5 Лабораторная работа № 5. Программирование с использованием библиотеки mfc. Создание пунктов меню
- •6 Лабораторная работа № 6. Программирование с использованием библиотеки mfc. Панель инструментов
- •7 Лабораторная работа № 7. Программирование с использованием библиотеки mfc. Основы рисования
- •Список литературы
3.2 Постановка задачи
3.2.1 Основное задание
Разработать программу, позволяющую выполнить следующие функции:
- запрашивает у пользователя количество элементов массива;
- создает одномерный динамический массив;
- выводит на экран отсортированные значения массива.
Для вывода значений динамического массива на экран и сортировки создайте отдельные процедуры. Входными параметрами процедур являются указатель на начало динамического массива и количество элементов.
3.2.2 Дополнительное задание
Создать динамический однонаправленный динамический список, который содержит информацию о результатах ЕГЭ по физике. Программа сортирует список по убыванию и выводит на экран.
3.3 Контрольные вопросы
Дайте определение указателя
Что делает оператор new?
Как прочитать значение переменной, адрес которой сохранен в указателе a?
При помощи какого оператора можно получить адрес переменной?
4 Лабораторная работа № 4. Классы
Цель: получить навыки работы с классами
4.1 Теоретическая часть
Класс – это коллекция переменных, скомбинированная с набором связанных функций. Он описывается следующим образом:
class <имя класса>
{
private: <внутренние (недоступные) компоненты класса>;
protected: <защищенные компоненты класса>;
public: <общие (доступные) компоненты класса>;
};
Компоненты класса, объявленные в секции private, называются внутренними. Они доступны только компонентным функциям того же класса и функциям. Компоненты класса, объявленные в секции protected, называются защищенными. Они доступны компонентным функциям не только данного класса, но и его потомков.
Компоненты класса, объявленные в секции public, называются общими. Они доступны за пределами класса в любом месте программы.
Пример класса приведен ниже:
class smallobj
{
private:
int somedata;
public:
void setdata(int c);
void showdata();
};
В классе объявлена внутренняя переменная somedata, доступ к котрой осуществляется только через методы setdata и showdata. Далее приведена реализация данных методов и пример использования:
void smallobj::setdata(int c)
{
somedata=c;
}
void smallobj::showdata()
{
cout<<"somedata="<<somedata<<"\n";
}
int _tmain(int argc, _TCHAR* argv[])
{
smallobj s1,s2;
s1.setdata(1500);
s2.setdata(2000);
s1.showdata();
s2.showdata();
return 0;
}
В программе объявлены две переменные типа smallobj. Доступ к полям и методам класса осуществляется по аналогии обращения к полям структур.
Для инициализации полей при создании объекта используются специальные методы – конструкторы. Имя конструктора совпадает с именем класса и не возвращает параметров. Ниже приведен пример класса с конструктором:
const int l_Name=30;
class Sotrudnik
{
public:
Sotrudnik (int lName=l_Name){pName =new char[lName+1];};
~Sotrudnik(){delete [] pName;};
void SetName(char* Name);
char* GetName();
private:
char * pName;
};
В секции private объявлен указатель на имя сотрудника. При создании объекта сотрудника вызывается конструктор Sotrudnik (int lName=l_Name), который