4.  Р. Джордейн. Справочник программиста персональных компьютеров типа IBM PC, XT и AT. М.: Финансы и статистика, 1991.

5.  , , . Программирование в среде СИ для ПЭВМ ЕС. М.: Финансы и статистика, 1992.

6.  зык программирования С: Пер. с англ. - М.: Финансы и статистика, 1992. - 272 с.

7.  American National Standard for Programming Languages - С Language. ANSI/ISO 9899-1990. - NY: ANSI, 1992. - 219 pp.

8.  , Фомин на языке С. - М: Финансы и статистика, 2003. - 600 с.

9.  рактика программирования: Пер. с англ. - СПб.: Невский диалект, 2001. - 381с.

10.  олный справочник по С. - 4-е изд.: Пер. с англ. - М.: Издат. дом "Вильяме", 2002. - 704 с.

11.  Тондо К, зык Си. - Кн. ответов: Пер. с англ. - М.: Финансы и статистика, 1994, - 160 с.

12.  Кэмпбел-ведение в макросы: Пер. с англ. - М.: Сов. радио, 1978.-152 с.

13.  акропроцессоры и мобильность программного обеспечения: Пер. с англ. - М.: Мир, 1977. - 254 с.

14.  Жешке Рекс. Толковый словарь стандарта языка С: Пер. с англ. - СПб.: Питер, 1994.-222 с.

15.  рограммирование на языке С: Пер. с англ. - М.: Ра­дио и связь, 1988. - 272 с.

16.  зык Турбо С: Пер. с англ. - М.: Мир, 1991. - 380 с.

17.  скусство программирования для ЭВМ. - Т. 3. Сортировка и поиск: Пер. с англ. - М.: Мир, 1978. - 844 с.

18.  , Зима КВ. Начала информатики. - М.: Наука, 1989. - 256 с.

19.  и др. Язык программирования С; Задачи по языку Си/Б. Керниган, Д. Ритчи, А. Фьюэр: Пер. с англ. — М.: Финансы и стати­стика, 1985. -279 с.

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

20.  Касаткин программирование на языке Си. Управление ресурсами.: Справ, пособие. - Минск: Высш. шк., 1992.-432 с.

21.  и др. Структурное программирование/ У. Дал, Э. Дейкстра, К. Хоор: Пер. с англ. - М.: Мир, 1975. - 248 с.

22.  зык программирования C++. - 3-е изд.: Пер. с англ. - СПб.- М.: Невский диалект - Издательство БИНОМ, 1999. - 991 с.

23.  труктуры и управление данными: Пер. с англ. - М.: Фи­нансы и статистика, 1982. - 319 с.

24.  Трамбле Ж, ведение в структуры данных: Пер. с англ. - М.: Машиностроение, 1982. -784 с.

25.  скусство программирования на С. Фундаментальные алгоритмы, структуры данных и примеры приложений. Энциклопедия программиста. - Киев: ДиаСофт, 2001. - 736 с.

26.  Харбисон СП., Стил программирования С: Пер. с англ.- М.: -Пресс, 2004. - 528 с.

27.  Г. Шилдт Теория и практика С++ пер. с англ. – СПб.: BHV – Санкт – Петербург1999.- 416 с. Ил.

8. КОНТРОЛИРУЮЩИЕ МАТЕРИАЛЫ ПО ДИСЦИПЛИНЕ

Вопросы к зачёту, 5 семестр

1.  Шинная архитектура микропроцессорной системы на базе МП 8086.

2.  Внутренняя архитектура микропроцессора 8086. Распределение памяти, особенности адресации

3.  Программно доступные элементы микропроцессора 8086. Стек и работа с ним

4.  Директивы определения идентификаторов (EQU, =). Директивы задания данных (DB, DW, DD, DUP).

5.  Директивы PUBLIC, EXTRN и их использование

6.  Директивы описания сегментов SEGMENT, GROUP, ASSUME

7.  Директива PROC. Правила оформления ассемблерной подпрограммы

8.  Директивы условной трансляции. Примеры использования.

9.  Макросы. Примеры использования.

10.  Операции ассемблера (арифметические, логические, отношения)

11.  Операции SEG, OFFSET, PTR, $

12.  Соглашения Microsoft по связи С и Ассемблера. Директивы. MODEL, .STACK, .DATA, .STARTUP, .EXIT

13.  Регистровый и непосредственный методы адресации. Примеры

14.  Прямая и косвенно-регистровая адресация. Примеры использования. Префикс замены сегмента

15.  Адресация по базе. Примеры использования

16.  Прямая адресация с индексированием. Примеры использования.

17.  Адресация по базе с индексированием. Примеры использования.

18.  Команды MOV, PUSH/POP, XLAT. Примеры использования

19.  Команды LEA, LDS/LES

20.  Команды работы с портами ввода/вывода (IN/OUT). Работа с реальными устройствами. Примеры.

21.  Команды ADD, ADC, AAA, DAA

22.  Команды SUB, SBB, AAS, DAS

23.  Команды INC/DEC, NEG, CMP

24.  Команды MUL, IMUL, AAM

25.  Команды DIV, IDIV, AAD

26.  Команды AND, OR, XOR, NOT

27.  Команды SAL, SAR, SHR, SHL

28.  Команды ROL, ROR, RCL, RCR

29.  Команды CALL, RET, JMP

30.  Регистр состояния процессора. Команды анализа флагов

31.  Команды условной передачи управления

32.  Организация циклов в ассемблере

33.  Прерывания. Классификация. Таблица прерываний. Особенности обработки аппаратных прерываний.

34.  Прерывания BIOS и DOS. Общие правила и особенности использования.

35.  Обработка прерываний. Команда IRET. Особенности программирования, примеры.

TSR-программы. Схема организации. Особенности использования.

Задачи к зачёту, 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 семестр

1)  Классы и объекты. Свойства и Методы.

2)  Описание и вызов методов класса. Статические члены и методы класса.

3)  Чем отличается class от struct?

4)  Что такое инкапсуляция?

5)  Что такое конструктор, зачем он нужен, когда вызывается?

6)  Что такое деструктор, зачем он нужен, когда вызывается?

7)  В чем особенность и когда нужен конструктор копирования?

8)  Операции new и delete.

9)  This, его назначение и применение.

10)  Какова цель перегрузки функций и операций?

11)  Что такое дружественные функции, как они описываются и вызывается?

12)  Какие операции должны быть функциями - друзьями, а какие - только членами?

13)  Чем отличаются операции «объект + переменная» от «переменная + объект»?

14)  Чем отличаются операции префиксного и постфиксного инкремента

15)  Особенности постфиксного инкремента и декремента.

16)  Способы возврата результата переопределенной операции.

17)  Какие операции нельзя переопределять?

18)  Операции преобразования типов.

19)  Как наследуются компоненты с правами доступа public, private и protected в производный класс и структуру?

20)  Как устранить неоднозначности при множественном наследовании?

21)  Наследование и порядок вызова конструкторов и деструкторов в производном классе.

22)  Что такое виртуальные функции, как они описываются и вызывается?

23)  Что такое чистые виртуальные функции и абстрактные классы?

24)  Какие функции могут и не могут быть виртуальными?

25)  Как подавить виртуальность функции?

26)  Стандартные потоки в С.

27)  Иерархия потоковых классов.

28)  Операции помещения в поток и извлечения из потока, их использование.

29)  Как проконтролировать состояние потока?

30)  Файловые потоки. Режимы открытия файлов

31)  Функции ввода - вывода и позиционирования в файлах.

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

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

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

2.  Для класса 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