Блок, модуль, раздел, тема практических занятий

Часы

Ссылка на цели

5-й семестр

Технология  написания и отладки программ на Ассемблере. Арифметические и логические команды.

3

Циклы. Условная передача управления

3

Подпрограммы. Прерывания BIOS и DOS. Разработка прикладных программ для обработки символьных данных

3

TSR-программы

3

6-й семестр

Использование классов в С++. Использование статических членов классов в С++

3

Переопределение операций. Наследование и полиморфизм.

3

Работа с проектами. Построение шаблонных классов и использование шаблонных функций.

3

Ввод-вывод в потоки. Обработка исключительных ситуаций на С++.

3



5. УЧЕБНАЯ ДЕЯТЕЛЬНОСТЬ


Учебным планом по дисциплине предусмотрена контрольная работа в пятом и шестом семестре и курсовой проект в седьмом семестре. На самостоятельную работу студента отводится 202 часа. Студентам предлагается изучить лекционный, учебно-методический материал, подготовится к выполнению контрольных работ и индивидуальных проектов.

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

       Проекты обязаны быть реализованы с использованием классов или готовых пакетов, построенных на основе объектно-ориентированного программирования. В зависимости от техники, к которой имеют доступ студенты, в качестве таких пакетов могут быть использованы TVISION для Borland C++, Object Windows Library, Visual Component Library для Borland C++ или MFC и Visual C++.

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

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

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

КОНТРОЛЬНАЯ РАБОТА (5 семестр)


Написать подпрограмму на Ассемблере, выполняющую действия над массивами байтов (строками) в соответствии с вариантом. Подпрограмма должна вызываться из СИ-программы. Следует привести фрагмент программы на языке СИ, содержащий прототип ассемблерной функции и пример вызова подпрограммы.

Каждая строка описана в Си-программе в виде байтового массива и заканчивается двоичным нулем. Строки имеют разную длину. В функцию передаются две строки и один целый параметр (байт). Функция возвращает модифицированные строки и одно целое значение (байт или слово). Модифицированная строка помещается на место первой строки или в отдельный массив.

Передача строк в функцию: по ссылке.

Передача целых значений в функцию: по значению.

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

Возврат целого результата:  через имя функции.

Действия над строками:

1 – объединить соответствующие нечетные байты строк по «или». Целый параметр – длина второй строки.

2 – поменять местами соответствующие четные байты строк. Целый параметр – максимально допустимое  количество замен.

3 – нечетные байты первой строки поменять с четными байтами второй строки. Целый параметр – длина первой строки.

4 – из первой строки побайтно вычесть вторую. Целый параметр прибавлять к результату вычитания.

5 – четные байты первой строки сложить с нечетными байтами второй строки. Целый параметр – максимальное количество сложений.

6 – ко всем элементам первой строки прибавить целый параметр. В конец первой строки дописать вторую строку.

7 – на место четный байтов первой строки записать соответствующие байты из второй строки, объединенные по «и» с целым параметром.

8 – к нечетным байтам первой строки прибавить четные байты второй строки. Целый параметр – максимальное количество сложений

9 – сложить попарно байты второй строки и записать их на место соответствующих четных байтов первой строки. Целый параметр – количество пар во второй строке.

КОНТРОЛЬНАЯ РАБОТА (6 семестр)

Построить базовый класс для хранения данных и производный класс по вариантам, снабдить их функциональным набором и составить демонстрационную программу. Пpогpамму постpоить с использованием пpоекта. Для pеализации демонстpационной пpогpаммы использовать отдельный модуль.

Для всех вариантов создать пеpегpужаемые констpуктоpы, констpуктоp копирования, констpуктоp по умолчанию. Реализовать указанные классы с динамическим выделением памяти для хранения некоторых полей. Создать деструктор для освобождения памяти. Посмотреть, как вызываются конструкторы и деструкторы. Для арифметических операций использовать перегрузку операторов.

Вариант 1. Построить пpогpамму для pаботы со структурой Дата. Пpогpамма должна обеспечивать пpостейшие функции для pаботы с данными стpуктуpами: увеличение/уменьшение на 1 день, ввод значений, вывод значений. Производный класс «записная книжка», включающий ФИО, телефон, дату рождения и функцию вычисления количества дней до дня рождения

Вариант 2. Постpоить пpогpамму для работы со структурой Время. Пpогpамма должна обеспечивать пpостейшие функции для работы с данными стpуктуpами: увеличение/уменьшение на 1 час, минуту, секунду, ввод значений, вывод значений. Производный класс «расписание», включающий дисциплину, аудиторию, время начала и функцию вычисления времени до начала занятия

Вариант 3. Постpоить пpогpамму для pаботы со стpуктуpами-cтpоками. Стpуктуpа должна включать следующие поля: массив для хpанения стpоки, его длину, вpемя создания стpоки. Пpогpамма должна обеспечивать пpостейшие функции для pаботы с данными стpуктуpами: изменение стpоки, вывод стpоки, нахождение подстpоки в строке. Производный класс «строка», включающий строку, время создания, текущее время и функцию вычисления времени существования строки

Вариант 4. Построить программу для работы со стpуктуpами-окнами. Стpуктуpа должна включать соответствующие поля: pазмеp окна, его положение на экpане, цвет. Пpогpамма должна обеспечивать пpостейшие функции для pаботы с данными стpуктуpами: отобpажение окна, удаление окна, изменение цветов. Производный класс «окно», включающий координаты и цвет окна, текст в окне, цвет текста и функцию изменения текста в окне

Вариант 5. Постpоить пpогpамму для pаботы со стpуктуpами-многочленами. Стpуктуpа должна включать соответствующие поля: порядок, набор коэффициентов. Пpогpамма должна обеспечивать пpостейшие функции для pаботы с данными стpуктуpами: вычисление значения многочлена для данного параметра, вывод многочлена в удобной форме. Производный класс «передаточная функция», включающий полином в числителе, полином в знаменателе и функцию деления полиномов

Вариант 6. Постpоить пpогpамму для pаботы со стpуктуpами-квадратными матрицами. Стpуктуpа должна включать соответствующие поля: порядок, набор коэффициентов. Пpогpамма должна обеспечивать пpостейшие функции для pаботы с данными стpуктуpами: ввод матрицы, транспонирование матрицы, вывод матрицы в удобной форме. Производный класс «матрица», включающий матрицу, ее определитель и функцию вычисления определителя

Вариант 7. Постpоить пpогpамму для pаботы со стpуктуpами-правильными дробями. Стpуктуpа должна включать соответствующие поля: числитель, знаменатель. Пpогpамма должна обеспечивать пpостейшие функции для pаботы с данными стpуктуpами: сложение, вычитание, умножение, деление, вывод дроби в удобной форме. Производный класс «дробное комплексное число», включающий дробную вещественную часть, дробную мнимую часть и арифметические операции над комплексными дробями

Вариант 8. Постpоить пpогpамму для pаботы со стpуктуpами - комплексными числами. Стpуктуpа должна включать соответствующие поля: вещественную и мнимую часть числа. Пpогpамма должна обеспечивать пpостейшие функции для pаботы с данными стpуктуpами: сложение, вычитание, умножение, деление, вывод числа в удобной форме. Производный класс «комплексное число», включающий комплексное число в стандартной и экспоненциальной форме и функцию вычисления экспоненциальной формы числа

Примерные задания на курсовое проектирование (7 сем.)

    Разработать графическую игру. Разработать пользовательский интерфейс к файловой системе, включая манипулирование, просмотр и редактирование текстовых файлов. Разработать программу визуализации табличных данных. Разработать HTML-редактор с подсветкой тегов. Разработать редактор электронных таблиц. Разработать программу графического оформления текстовых объявлений.

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

6. ПРАВИЛА АТТЕСТАЦИИ СТУДЕНТА
ПО УЧЕБНОЙ ДИСЦИПЛИНЕ


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

Для оценки деятельности студента используются зачетные задания в виде одного теоретического вопроса и одного практического задания (задачи).

Зачёт (5 сем.) ставиться по результатам устного ответа на поставленные вопросы.

Оценка (6 сем.) ставится по пятибалльной шкале по результатам ответа на поставленные вопросы и в соответствии с "Положением об экзаменах" в НГТУ от 4.04.04.

7. СПИСОК ЛИТЕРАТУРЫ


Л. Скэнлон. Персональные ЭВМ IBM PC и XT. Программирование на языке Ассемблера. М.: Радио и связь, 1991 П. Абель. Язык Ассемблера для IBM PC и программирование. М.: ВШ, 1992 Ред. . Микропроцессорный комплект К1810. Структура, программирование, применение. Справочник. М.: ВШ, 1990 Р. Джордейн. Справочник программиста персональных компьютеров типа IBM PC, XT и AT. М.: Финансы и статистика, 1991. , , . Программирование в среде СИ для ПЭВМ ЕС. М.: Финансы и статистика, 1992. зык программирования С: Пер. с англ. - М.: Финансы и статистика, 1992. - 272 с. American National Standard for Programming Languages - С Language. ANSI/ISO 9899-1990. - NY: ANSI, 1992. - 219 pp. , Программирование на языке С. - М: Финансы и статистика, 2003. - 600 с. рактика программирования: Пер. с англ. - СПб.: Невский диалект, 2001. - 381с. олный справочник по С. - 4-е изд.: Пер. с англ. - М.: Издат. дом "Вильяме", 2002. - 704 с. Тондо К, зык Си. - Кн. ответов: Пер. с англ. - М.: Финансы и статистика, 1994, - 160 с. Кэмпбел-ведение в макросы: Пер. с англ. - М.: Сов. радио, 1978.-152 с. акропроцессоры и мобильность программного обеспечения: Пер. с англ. - М.: Мир, 1977. - 254 с. Жешке Рекс. Толковый словарь стандарта языка С: Пер. с англ. - СПб.: Питер, 1994.-222 с. рограммирование на языке С: Пер. с англ. - М.: Ра­дио и связь, 1988. - 272 с. зык Турбо С: Пер. с англ. - М.: Мир, 1991. - 380 с. скусство программирования для ЭВМ. - Т. 3. Сортировка и поиск: Пер. с англ. - М.: Мир, 1978. - 844 с. , Зима КВ. Начала информатики. - М.: Наука, 1989. - 256 с. и др. Язык программирования С; Задачи по языку Си/Б. Керниган, Д. Ритчи, А. Фьюэр: Пер. с англ. — М.: Финансы и стати­стика, 1985. -279 с. Профессиональное программирование на языке Си. Управление ресурсами.: Справ, пособие. - Минск: Высш. шк., 1992.-432 с. и др. Структурное программирование/ У. Дал, Э. Дейкстра, К. Хоор: Пер. с англ. - М.: Мир, 1975. - 248 с. зык программирования C++. - 3-е изд.: Пер. с англ. - СПб.- М.: Невский диалект - Издательство БИНОМ, 1999. - 991 с. труктуры и управление данными: Пер. с англ. - М.: Фи­нансы и статистика, 1982. - 319 с. Трамбле Ж, ведение в структуры данных: Пер. с англ. - М.: Машиностроение, 1982. -784 с. скусство программирования на С. Фундаментальные алгоритмы, структуры данных и примеры приложений. Энциклопедия программиста. - Киев: ДиаСофт, 2001. - 736 с. Харбисон СП., Язык программирования С: Пер. с англ.- М.: -Пресс, 2004. - 528 с. Г. Шилдт Теория и практика С++ пер. с англ. – СПб.:  BHV – Санкт – Петербург1999.- 416 с. Ил.

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

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

Шинная архитектура микропроцессорной системы на базе МП 8086. Внутренняя архитектура микропроцессора 8086. Распределение памяти, особенности адресации Программно доступные элементы микропроцессора 8086. Стек и работа с ним Директивы определения идентификаторов (EQU, =). Директивы задания данных (DB, DW, DD, DUP). Директивы PUBLIC, EXTRN и их использование Директивы описания сегментов SEGMENT, GROUP, ASSUME Директива PROC. Правила оформления ассемблерной подпрограммы Директивы условной трансляции. Примеры использования. Макросы. Примеры использования. Операции ассемблера (арифметические, логические, отношения) Операции SEG, OFFSET, PTR, $ Соглашения Microsoft по связи С и Ассемблера. Директивы. MODEL, .STACK, .DATA, .STARTUP, .EXIT Регистровый и непосредственный методы адресации. Примеры Прямая и косвенно-регистровая адресация. Примеры использования. Префикс замены сегмента Адресация по базе. Примеры использования Прямая адресация с индексированием. Примеры использования. Адресация по базе с индексированием. Примеры использования. Команды MOV, PUSH/POP, XLAT. Примеры использования Команды LEA, LDS/LES Команды работы с портами ввода/вывода (IN/OUT). Работа с реальными устройствами. Примеры. Команды ADD, ADC, AAA, DAA Команды SUB, SBB, AAS, DAS Команды INC/DEC, NEG, CMP Команды MUL, IMUL, AAM Команды DIV, IDIV, AAD Команды AND, OR, XOR, NOT Команды SAL, SAR, SHR, SHL Команды ROL, ROR, RCL, RCR Команды CALL, RET, JMP Регистр состояния процессора.  Команды анализа флагов Команды условной передачи управления Организация циклов в ассемблере Прерывания. Классификация. Таблица прерываний. Особенности обработки аппаратных прерываний. Прерывания BIOS и DOS. Общие правила и особенности использования. Обработка прерываний. Команда IRET. Особенности программирования, примеры.

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

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