Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты МДК 02.01 2 курс / Ответы на билеты Пивоваров.docx
Скачиваний:
25
Добавлен:
28.06.2022
Размер:
42.12 Кб
Скачать
  1. Чем отличаются статические и динамические переменные. Понятие массива.

Все переменные, используемые в программе, размещаются в памяти согласно вполне определенным правилам:

  • для локальных переменных память отводится при вызове подпрограммы; при выходе из нее эта память освобождается, а сами переменные прекращают существовать;

  • глобальным переменным память отводится в начале выполнения программы; эти переменные существуют в течение всего периода работы программы.

    Таким образом, распределение памяти во всех этих случаях производится полностью автоматически и подчинено стековой дисциплине. Переменные, память, под которые распределяется описанным образом, называются статическими.

  1. Применение алгоритмов. Цикл, итерация, рекурсия.

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

-         алгоритмы, последовательно приближающиеся к заданной цели;

-         алгоритмы, в которых поиск решения сводится к формулировке одной или нескольких задач меньшей размерности;

-         алгоритмы, соблюдающие установленные для них соотношения (свойства, «законы», инварианты);

Цикл, итерация, рекурсия. «Хороший цикл» состоит из независимых частей и его тело не влияет на условия его выполнения. Еще более тесно связаны между собой части итерационного цикла – в нем результат текущего шага зависит от нескольких предыдущих. Здесь мы имеем последовательность взаимосвязанных шагов. Аналогично можно ввести понятие последовательности (а также и разветвляющейся последовательности) алгоритмов (функций), в которой каждый шаг (алгоритм) определяет начальные условия выполнения аналогичных алгоритмов и использует их результаты. Это и есть определение рекурсии.

Рекурсивным называется способ построения объекта (понятия, системы, описание действия), в котором определение объекта включает аналогичные объекты (понятие, систему, действие) в виде составных  частей.

  1. Программирование методов и принципы модульности.

Программирование методов – содержательное наполнение класса – позволяет использовать принципы модульного программирования и создавать эффективный программный код. Основной эффект модульности – многократное выполнение одного и того же кода в различных контекстах, обеспечивается различными способами:

·        представление алгоритмической компоненты класса в виде множества мелких методов, вызывающих друг друга;

·        создание вспомогательных (локальных) объектов при выполнении операций над основными объектами класса (текущим и передаваемым через параметры);

  1. Иерархия объектов и понятие наследования. Иерархия объектов

До сих пор мы рассматривали в качестве содержимого объектов только переменные. При использовании на их месте объектов возникает иерархия вложенности. В ней самой нет ничего необычного, вложенные объекты можно применять как обычные данные, вызывать для них собственные методы и т.д..

Однако технология ООП требует «распространения» по иерархии объектов сверху вниз ряда специфичных для нее действий над объектами, таких как конструирование (в т.ч. конструктор копирования), присваивание, ввод и вывод в стандартные потоки. За это отвечает внешний класс, включающий в себя объекты: при выполнении в нем перечисленных действий он должен инициировать аналогичные действия в объектах, определенных внутри него. Рассмотрим эту проблему с общих позиций.

Класс user в качестве элементов данных включает в себя объекты классов string и date. Если объект не содержит других объектов и динамических данных (класс date), то переопределение присваивания и конструктора копирования не требуется. Для класса string, содержащего внешний динамический массив символов, требуется корректное определение конструкторов (пустого и копирования), деструктора и присваивания.

 

Соседние файлы в папке Билеты МДК 02.01 2 курс