Главная страница
Навигация по странице:

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

  • Практическая работа №9. Указатели, адреса и ссылки в С++. Цель работы

  • Общие теоретические сведения Указатели

  • Задание

  • учебно-метод указ 2022. дагестанский госудаственный технический университет


    Скачать 1.08 Mb.
    Названиедагестанский госудаственный технический университет
    Дата03.07.2022
    Размер1.08 Mb.
    Формат файлаdocx
    Имя файлаучебно-метод указ 2022.docx
    ТипУчебно-методические указания
    #623418
    страница27 из 27
    1   ...   19   20   21   22   23   24   25   26   27

    Технология выполнения работы


    Написать код программы с комментариями, прогнать и сделать скрин окна вывода каждой программы. Отчет оформляется в текстовом редакторе и должен содержать блок- схему, код программы и скрин окна вывода.

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


    1. Что такое массив?

    2. Какой массив называется одномерным? Как объявить одномерный массив?

    3. Какие массивы называются многомерными? Как объявить двумерный массив?

    4. Какие операторы используются для обработки массивов?

    Практическая работа №9. Указатели, адреса и ссылки в С++.

    Цель работы: получить практические навыки разработки программ на языке С++ с использованием указателей и адресов, управление динамической памятью.
    Общие теоретические сведения

    Указатели – это особый вид переменных, предназначенный для хранения адресов областей памяти, выделяемых компилятором для хранения значений переменных. Адрес переменой – это номер первого байта области памяти, отведенной для хранения значения переменой. Для переменных разного типа отводится разное количество байт, которое может быть выяснено с помощью функции sizeof ( ). Поэтому указатель не является самостоятельным типом, он всегда связан с каким-либо другим конкретным типом. Формат оператора описания указателя: тип (*имя);

    Пример: Int *f; // указатель f на целый тип

    float *link, sum, *p;// указатели link и р на вещественный тип

    Ссылка – модифицированная форма указателя и представляет собой синоним имени простой переменной. Формат оператора объявления ссылки: тип & имя;

    Пример: int a = 3;// описание целой переменной

    int &p = a; //описание ссылки p на целый тип и инициализация ссылки переменной а

    Индивидуальные задания к практической работе №9.

    Задание 1. Указатели и адреса.


    1. Ввести значение 2-х целых переменных а и b. Направить два указателя на эти переменные. С помощью указателя увеличить значение переменной а в 2 раза. Затем поменять местами значения переменных а и b через их указатели.

    2. Ввести значение 2-х целых переменных а и b. Направить два указателя на эти переменные. С помощью указателя увеличить значение переменной а в 2 раза если

    а>b иначе b уменьшить в 2 раза

    3. Ввести значение 2-х вещественных переменных а и b. Направить два указателя на эти переменные. С помощью указателя увеличить значение переменной а в 3 раза. Затем поменять местами значения переменных а и b через их указатели.

    4. Ввести значение 2-х вещественных переменных а и b. Направить два указателя на эти переменные. Если а>b, то с помощью указателя увеличить значение переменной а на 3 и b уменьшить в 3 раза, в противном случае а уменьшить в 2 раза и b увеличить на 3.

    5. Ввести значение 2-х символьных переменных а и b. Направить два указателя на эти переменные. С помощью указателя изменить значение переменной а. Затем поменять местами значения переменных а и b через их указатели.

    6. Ввести значение 2-х целых переменных а и b. Направить два указателя на эти переменные. Большее из них с помощью указателя увеличить в 5 раз и меньшее уменьшить на 5.

    7. Ввести значение 3-х целых переменных а и b и с. Направить указатели на эти переменные. С помощью указателя увеличить значение переменной а в 2 раза. Затем поменять местами значения переменных с и b через их указатели.

    8. Ввести значение 3-х вещественных переменных а и b и с. Направить указатели на эти переменные. С помощью указателя увеличить значение переменной с в 3 раза. Затем поменять местами значения переменных а и с через их указатели.

    9. Ввести значение 2-х вещественных переменных а и b. Направить два указателя на эти переменные. Большее из них с помощью указателя увеличить на7 и меньшее уменьшить на 3.

    10. Ввести значение 2-х символьных переменных а и b. Направить два указателя на эти переменные. Затем поменять местами значения переменных а и b через их указатели.

    11. Ввести значение 2-х целых переменных а и b. Направить два указателя на эти переменные. Затем поменять местами значения переменных а и b через их указатели.

    12. Ввести значение 2-х вещественных переменных а и b. Направить два указателя на эти переменные. Затем поменять местами значения переменных а и b через их указатели.

    13. Ввести значение 2-х целых переменных а и b. Направить два указателя на эти переменные. С помощью указателя увеличить значение переменной а в 2 раза, а b уменьшить в 2 раза.

    14. Ввести значение 2-х вещественных переменных а и b. Направить два указателя на эти переменные. С помощью указателя увеличить значение переменной а в 3 раза , а b уменьшить в 3 раза.

    15. Ввести значение 2-х вещественных переменных а и b. Направить два указателя на эти переменные. С помощью указателя увеличить значение переменной а в 3 раза , а b уменьшить в 3 раза.

    Задание 2. Указатели и резервирование динамической памяти с помощью оператора new().


    1. Описать 2 указателя на целый тип. Выделить для них динамическую память. Ввести значения в выделенную память с клавиатуры. Уменьшить в 2 раза 1-ую переменную.

    2. Описать 2 указателя на вещественный тип. Выделить для них динамическую память. Ввести значения в выделенную память с клавиатуры. Увеличить в 2 раза 1-ую переменную.

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

    4. Описать 2 указателя на логический тип. Выделить для них динамическую память. Присвоить значения true и false в выделенную память.

    5. Описать 2 указателя на целый тип. Выделить для них динамическую память. Присвоить произвольные значения в выделенные ячейки в операторе присвоения.

    6. Описать 3 указателя на вещественный тип. Выделить для них динамическую память. Присвоить произвольные значения в выделенные ячейки в операторе присвоения. Уменьшить в 2 раза 1-ую переменную.

    7. Описать 1 указатель на символьный тип. Выделить для него динамическую память. Присвоить произвольное значение в выделенную ячейку в операторе присвоения.

    8. Описать 2 указателя на целый тип. Выделить для них динамическую память. Ввести значения в выделенную память с клавиатуры. Поменять местами их значения.

    9. Описать 2 указателя на вещественный тип. Выделить для них динамическую память. Ввести значения в выделенную память с клавиатуры. Поменять местами их значения.

    10. Описать 3 указателя на символьный тип. Выделить для них динамическую память. Ввести значения в выделенную память с клавиатуры. Поменять местами значения первых 2-х переменных.

    11. Описать 2 указателя на логический тип. Выделить для них динамическую память. Присвоить значения true и false в выделенную память . Поменять местами их значения.

    12. Описать 2 указателя на целый тип. Выделить для них динамическую память. Присвоить произвольные значения в выделенные ячейки в операторе присвоения. Поменять местами их значения.

    13. Описать 3 указателя на вещественный тип. Выделить для них динамическую память. Присвоить произвольные значения в выделенные ячейки в операторе присвоения. Поменять местами значения первых 2-х переменных.

    14. Описать 1 указатель на символьный тип. Выделить для него динамическую память. Присвоить произвольное значение в выделенную ячейку в операторе присвоения.

    15. Описать 1 указатель на целый тип. Выделить для него динамическую память. Ввести значения в выделенную память с клавиатуры. Затем Увеличить ее на 2.

    Технология выполнения работы


    Написать код программы с комментариями, прогнать и сделать скрин окна вывода каждой программы. Отчет оформляется в текстовом редакторе и должен содержать блок- схему, код программы и скрин окна вывода.

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


    1. Как объявляется указатель?

    2. Как инициализируются указатели и почему их необходимо инициализировать?

    3. Как осуществляется разыменование указателя?

    4. Какие переменные называются динамическими?

    5. Что общего у функций malloc() и calloc(), и в чем состоят их различия?

    6. Как освободить память?


    Список литературы.



    1. Информатика [Текст]: учеб. пособие. Ч. 1 / Т.Ю. Бугакова, С.Ю. Кацко, С.А. Егорова, Н.В. Деева, Н.А. Баландина, Е.В. Михайлович; под общ. ред. С.Ю. Кацко. Новосибирск: СГГА, 2010. 234 с.

    2. Информатика [Текст]: учеб. пособие. Ч. 2 / С.М. Горбенко, Т.Ю. Бугакова, С.Ю. Кацко, Н.П. Артемьева, Е.В. Михайлович; под общ. ред. С.Ю. Кацко. Новосибирск: СГГА, 2010. 260 с.

    3. Калабухова, Г.В. Компьютерный практикум по информатике. Офисные технологии [Текст] / Г.В. Калабухова, В.М. Титов. – М.: Инфра-М, 2007. – 336 с.

    4. Сборник задач по программированию. Златопольский Д. М. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 304 с.
    1   ...   19   20   21   22   23   24   25   26   27


    написать администратору сайта