Задачи к зачёту, 5 семестр


1. Сколько байтов памяти резервируют следующие команды?

Var1 DB?

Var2 DW 3 DUP (2), 4

Var3 DB 4 DUP (3,?), 2 DUP (1)

2. Правильно ли записаны выражения?

Var1 DW?

Var2 DB 0,0

Var3 DB 2 DUP(?)

MOV  BYTE PTR Var1, 500

MOV  BYTE PTR Var2, 12000

MOV  WORD PTR Var3, 100

3. Что здесь неправильно? Пояснить

MOV BX, BX

MOV [BX], BX

MOV BX, [AX]

MOV DS, AX

MOV [SI], [BP]

MOV CS, SI

MOV DS, 20

MOV AX, [DS][SI]

4. Что здесь неправильно? Пояснить.

ADD AX, BX

ADD DS, AX

ADD AX, 2[SI]

ADD 3, AX

ADD [ES], SI

ADD CS, AX

ADD DS, 20

5. Что делает следующая последовательность команд?

  MOV BX,1000

LOOP:  MOV [BX],BX

  DEC BX

  DEC BX

  JNZ LOOP

6. Чему равно значение регистра AX после выполнения операций?

MOV AX, 1425H

MOV BX, 3132H

A) AND  AX, BX 

B) XOR  AX, BX

C) TEST AX, BX

D) OR  AX, BX

7. Какие действия выполняет следующая программа?

MOV  CX,100

L:        MOV        SI, CX

       MOV        [SI], CX

       LOOP        L

8. Какие действия выполняет следующая программа?

       MOV        CL,        4

       MOV  BX,        AX

       SHR        AX,        CL

       SHL  BX,        CL

НЕ нашли? Не то? Что вы ищете?

       OR        AX,        BX

9. Каков будет результат операций?

       MOV        AX, 8888H

       MOV        CL,        4

A)        SAR        AX,        CL

B)        SHR        AX,        CL

10. Каков будет результат операций?

       MOV        AX, 7777H

       MOV        CL,        4

A)        ROR        AX,        CL

B)        SHR        AX,        CL

11. Каков будет результат операций?

       MOV        AX,        1

       MOV        CL,        16

A)        SHR        AX,        CL

B)        SHL        AX,        CL

C)        SAR        AX,        CL

D)        SAL        AX,        CL

12. Что выполняет следующая последовательность команд?

       XOR        AX,        AX

       PUSH        AX

       POPF

13. Что выполняет следующая последовательность команд?

       MOV        CX,        100

       MOV        SI,        CX

LL:        MOV        AL,        [SI+1]

       MOV        [SI],        AL

       INC        SI

       LOOP        LL

Экзаменационные вопросы 6 семестр

Классы и объекты. Свойства и Методы. Описание и вызов методов класса. Статические члены и методы класса. Чем отличается class от struct? Что такое инкапсуляция? Что такое конструктор, зачем он нужен, когда вызывается? Что такое деструктор, зачем он нужен, когда вызывается? В чем особенность и когда нужен конструктор копирования? Операции new и delete. This, его назначение и применение. Какова цель перегрузки функций и операций? Что такое дружественные функции, как они описываются и вызывается? Какие операции должны быть функциями - друзьями, а какие - только членами? Чем отличаются операции «объект + переменная» от «переменная + объект»? Чем отличаются операции префиксного и постфиксного инкремента Особенности постфиксного инкремента и декремента. Способы возврата результата переопределенной операции. Какие операции нельзя переопределять? Операции преобразования типов. Как наследуются компоненты с правами доступа public, private и protected в производный класс и структуру? Как устранить неоднозначности при множественном наследовании? Наследование и порядок вызова конструкторов и деструкторов в производном классе. Что такое виртуальные функции, как они описываются и вызывается? Что такое чистые виртуальные функции и абстрактные классы? Какие функции могут и не могут быть виртуальными? Как подавить виртуальность функции? Стандартные потоки в С. Иерархия потоковых классов. Операции помещения в поток и извлечения из потока, их использование. Как проконтролировать состояние потока? Файловые потоки. Режимы открытия файлов Функции ввода - вывода и позиционирования в файлах.

Экзаменационные задачи 6 семестр

1. Для класса class mytime { int day; int month; int year:}

написать конструктор по умолчанию, конструктор с параметрами и функцию вывода объекта класса.

Для класса class notebook { char *name; long phone; }

написать конструктор по умолчанию, конструктор копирования (с динамическим выделением памяти под массив) и деструктор.

3. Для класса class drob { double chisl; double znam;}

написать конструктор с параметрами по умолчанию и статическую функцию вывода всех  созданных объектов класса.

4. Для класса class polynom { int n; float arg; float koef[n];}

написать конструктор с параметрами (с динамическим выделением памяти под массив), деструктор и константную функцию вывода объекта класса.

5. Для класса class mydate { int hour; int min; int sec; }

написать компонентные перегруженные операции префиксного и постфиксного инкремента с контролем значений.

6. Для класса class mytime { int hour; int min; int sec; }

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

7. Для класса class mystring { int len; char *str; }

написать дружественные перегруженные операции индексирования [] и вызова функций ().

8. Для класса class mytime { int hour; int min; int sec; }

написать компонентные перегруженные операции сложения и вычитания с целым числом, возвращающие указатель на объект.

9. Для класса class mytime { int hour; int min; int sec; }

написать дружественные перегруженные операции сложения и вычитания с целым числом, возвращающие объект класса.

10.Для класса class mydate { int day; int month; int year; }

написать функцию приведения объекта класса к типу long.

11.Для классов

class mydat { int day; int month; int year; }

class man { char *name; friend class mydat; mydat WasBorn; }

написать функции взаимного приведения типов.

12.Для класса class mydate { int day; int month; int year; }

написать производный класс, конструктор и виртуальную функцию вывода объекта класса.

13.Для класса class mydate { int day; int month; int year; }

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

14.Для класса class mystr { int len; char *str; }

написать производный класс и виртуальную функцию вывода объекта класса. Организовать подавление виртуальности функции различными способами.

15.Для класса class mytime { int day; int month; int year; }

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

16.Для класса class mydate { int day; int month; int year; }

перегрузить операции помещения в поток и извлечения из потока с контролем состояния потока.

17.Для класса class mytime { int hour; int min; int sec; }

написать функцию форматированного вывода объекта класса на экран с контролем состояния потока.

18.Для класса class mydate { int day; int month; int year; }

написать функцию форматированного вывода объекта класса в текстовый файл с контролем состояния потока.

19.Для класса class mystring { int len; char *str; }

написать конструктор и статическую функцию вывода всех объектов класса в файл.

20.Для класса class mytime { int hour; int min; int sec; }

написать функцию ввода объекта из файла с контролем состояния потока и проверкой допустимости значений.

21.Написать и установить функции обработки нажатия клавиш Ctrl+C и переполнения. Предусмотреть запрет прерывания во время обработки прерывания. Завершить работу программы функцией abort().

22.Написать и установить функцию обработки нехватки динамической памяти в двух вариантах: с завершением работы программы и освобождением ранее выделенной памяти.

23.Перегрузить функцию обработки ошибок математической функции exp().

24.Написать обработчик исключений при вызове функции вычисления наибольшего общего делителя.

25.Написать объектно-ориентированный обработчик нехватки динамической памяти с выдачей сообщения о размере запрошенной памяти.


Из за большого объема этот материал размещен на нескольких страницах:
1 2 3