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

1.3 Задания для самопроверки

В качестве заданий для усвоения материала выполните следующее (можно без программной реализации) (В качестве примера используйте рисунок 1.16()змебез программной реализацииматериала выполните следующее:

ождать память перед тем, как указатель получает адрес другого уча):

Задание 1 (выполнить письменно).

1. Разместите в динамической памяти две переменные типа float и занесите в одну из них значение корня квадратного от 2.18, а в другую – синус от значения, которое находится в первой переменной.

2. Разместите в динамической памяти две переменные типа структура, содержащую информацию о преподавателе: Фамилия, Кафедра, Должность, Зарплата. Одну переменную заполните следующей информацией: Иванов, ИКС, Доцент, 5000.

Затем скопируйте значение заполненной первой переменной во вторую и только поменяйте значение поля Фамилия на «Петров».

3. Разместите в динамической памяти переменную типа массив из трех целых чисел и заполните его первый элемент значением 5.

4. Разместите в динамической памяти массив из 10 структур, содержащих ту же информацию, что и записи в пункте 2 и заполните третий элемент этого массива информацией о вашем преподавателе.

Задание 2

Напишите программы, которые обеспечат следующее расположение данных в памяти:

1.

Статическая память

P1

NULL

Динамическая память

78

56

2.

Статическая память

P1

P2

P3

NULL

Динамическая память

78

3.

Статическая память

P1

P2

P3

Динамическая память

78

4.

Статическая память

P1

P3

Динамическая память

78

NULL

56

5.

Статическая память

P1

P3

Динамическая память

NULL

Зима

78

‘Д ’

1.4 Создание проекта

1.4.1 Цель создания проекта

Целью проекта является размещение трех переменных типа int, float, double в динамической памяти и вывод их значений на экран , а также анализ значений указателей на эти переменные до выделения памяти и после и проведения анализа этих исследований.

1.4.2 Создание интерфейса проекта

Интерфейс программы должен выглядеть так как показано на рисунке 1.22.

Исходные значения для размещения в динамической памяти:

int, float, double: 12, 3.12, 4.789

Значения указателей до размещения переменных в памяти:

P1 = … ;

P2 = … ;

P3= … ;

Значения указателей после размещения в памяти:

P1 = … ;

P2 = … ;

P3= … ;

Значения динамических переменных:

*P1 = … ;

*P2 = … ;

*P3= … ;

Рисунок 1.22 – Изображение интерфейса проекта

1.4.3 Создание функции размещения переменных в динамической памяти.

Создайте функцию, как показано на рисунке 1.23.

void varInDynamicMemory( ) {

p1 * int;

p2 * float;

p3 * double;

i int;

f float;

d double;

cout<<” Исходные значения для размещения в динамической памяти:\n”;

cout<<” int float double: “;

cin>>i>>f>>d;

cout”\n”;

int iP1=(int)p1;

int iP2=(int)p2;

int iP3=(int)p3;

cout<<”Значения указателей до размещения переменных в памяти:\n”

cout<<”P1 =”<<iP1<<”\n”;

cout<<”P2 =”<<iP2<<”\n”;

cout<<”P3 =”<<iP3<<”\n”;

/*Запрашиваем память для переменных в динамической памяти*/

p1=new int;

p2=new float;

p3=new double;

/*Берем значения указателей после выделения памяти под динамические переменные*/

int iP1=(int)p1;

int iP2=(int)p2;

int iP3=(int)p3;

/*Заполняем значениями динамические переменные*/

*p1 = i;

*p2 = f;

*p3 = d;

cout<<”Значения указателей после размещения переменных в памяти:\n”

cout<<”P1 =”<<iP1<<”\n”;

cout<<”P2 =”<<iP2<<”\n”;

cout<<”P3 =”<<iP3<<”\n”;

cout<<”Значения динамических переменных:\n”

i=*p1;

f=*p2;

d=*p3;

cout<<” *P1 =”<<i<<”\n”;

cout<<” *P2 =”<<f<<”\n”;

cout<<” *P3 =”<<d<<”\n”;

}

Рисунок 1.23 – Функция размещения динамических переменных в памяти компьютера

1.4.4 Запуск проекта

Запустите проект на выполнение и результаты перенесите в отчет в виде изображения интерфейса проекта.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]