Курсовая работа. Семестр 3



Скачать 101.92 Kb.
Дата12.10.2012
Размер101.92 Kb.
ТипКурсовая

Курсовая работа. Семестр 3.

Структуры данных в двоичных файлах


  1. Строчный текстовый редактор. Редактирование файла неограниченной размерности. Для промежуточного представления и редактирования текста используется двоичный файл, содержащий массив указателей на строки – записи переменной длины.

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

  3. Строчный текстовый редактор. Редактирование файла неограниченной размерности. Для промежуточного представления и редактирования текста используется двоичный файл, содержащий дерево: промежуточная вершина содержит количество строк в поддереве и 2 указателя на правое и левое поддерево, конечная – является записью переменной длины, содержащей строку.

  4. Таблица произвольной структуры в файле (база данных). Столбцы таблицы могут содержать данные следующих типов: целое, вещественное, строка ограниченной (заданной) размерности, строка неограниченной размерности. В начале файла содержится описание структуры таблицы: количество и имена столбцов, типы данных и размерности. Таблица хранится в виде файла записей фиксированной длины (строки переменной длины представлены указателями на записи переменной длины). Реализовать полный набор операций над таблицей: создание, добавление, удаление, редактирование, поиск, сортировка.

  5. Таблица произвольной структуры в файле (база данных) (см.п.4). Таблица хранится в виде массива указателей на записи-строки таблицы. Реализовать полный набор операций над таблицей: создание, добавление, редактирование, удаление, поиск, сортировка.

  6. Таблица произвольной структуры в файле (база данных) (см.п.4). Таблица хранится в виде дерева. Промежуточная вершина содержит 2 указателя на поддеревья и счетчик вершин в поддереве. Оконечная вершина содержат запись-строку таблицы. Реализовать полный набор операций над таблицей: создание, добавление, редактирование, удаление, поиск, сортировка.

  7. Таблица произвольной структуры в файле (база данных) (см.п.4). Ключом в файле записей фиксированной длины является поле name[30], содержащее строку ограниченного размера. Реализовать функции добавления, удаления и поиска записей по ключу с использованием метода расстановки ключей (хеширования). Для исключения коллизий использовать область переполнения с организацией списков записей. Предложить функцию расстановки и проверить ее эффективность (см. bk510.rtf).

  8. Таблица произвольной структуры в файле (база данных) (см.п.4). Ключом в файле записей является целая переменная. Используется хеширование на основе функции середины квадрата.
    Размер таблицы изменяется: 16,32,64 и так далее записей. При отсутствии в области переполнения свободного места создается новый файл вдвое большего размера и в него переписываются записи из старого файла с использованием новой функции размещения (количество разрядов в "середине квадрата" увеличивается на 1) (см. bk510.rtf).

  9. Для заданного текстового файла строится индексный файл (см. bk510.rtf), структура данных которого содержит указатели на строки текстового файла, упорядоченные в алфавитном порядке. Операции удаления, добавления и редактирования отдельных строк с сохранением порядка. Индексный файл содержит двухуровневый массив указателей.

  10. Для заданного текстового файла строится индексный файл (см. bk510.rtf), структура данных которого содержит указатели на строки текстового файла, упорядоченные в алфавитном порядке. Операции удаления, добавления и редактирования отдельных строк с сохранением порядка. Индексный файл с областью переполнения. Выполнение операций с коррекцией области переполнения и основной области. При превышении размера области переполнения 10% от размера основной области производится операция повторного построения основной области.

  11. Для заданного текстового файла строится индексный файл (см. bk510.rtf), структура данных которого содержит указатели на строки текстового файла, упорядоченные в алфавитном порядке. Операции удаления, добавления и редактирования отдельных строк с сохранением порядка. Индексный файл – сбалансированное двоичное дерево.

Иерархические структуры данных в памяти


Для заданной двухуровневой структуры данных, содержащей указателя на строки, разработать полный набор операций (добавление, включение и извлечение по логическому номеру, сортировка, включение с сохранением порядка, загрузка и сохранение строк в текстовом файле, балансировка – выравнивание размерностей структур данных нижнего уровня) (см. bk57.rtf).

  1. Список - элемент содержит статический массив указателей на строки. Включение с сохранением упорядоченности. Если после включения строки массив заполняется полностью, то создается еще один элемент списка с массивом указателей, в который переписывается половина указателей из старого.

  2. Список, каждый элемент которого содержит динамический массив указателей на строки, упорядоченные по длине. Размерность массива в каждом следующем элементе в 2 раза больше, чем в предыдущем. Строка включается в структуру данных с сохранением упорядоченности. Если строка включается в заполненный массив, то последний указатель перемещается в следующий элемент и так далее).

  3. Двухуровневый массив указателей на строки. Массив верхнего уровня - статический, массивы нижнего уровня - динамические. Включение строки с сохранением упорядоченности. Если после включения строки массив заполняется полностью, то создается еще один массив указателей, в который переписывается половина указателей из старого.

  4. Двухуровневый массив указателей на строки, упорядоченные по длине. Размерность каждого следующего массива нижнего уровня в 2 раза больше предыдущего. Если строка включается в заполненный массив, то последний указатель перемещается в следующий элемент и так далее).

  5. Дерево, вершина которого содержит статический массив указателей на строки, 2 указателя на потомков и счетчик вершин в поддереве.

  6. Массив указателей на заголовки списков. Элемент списка содержит указатель на строку. (При включении последним предусмотреть ограничение длины текущего списка и переход к следующему).

  7. Список - каждый элемент является заголовком односвязного списка. Элемент списка второго уровня содержит указатель на строку. (Включение элемента последним в список производить с учетом выравнивания длины текущего и следующего списков).

Программирование под Windows API


Любая игровая программа в реальном времени (типа Tetris), использующая множество перемещающихся объектов, и управляемая мышью и клавиатурой.

Программирование на Java-Script


При программировании использовать элементы форм в HTML (текстовые поля, поля со списком, кнопки) для создания интерфейса программы. Для хранения данных вместо файла использовать механизм COOKIES.

  1. Калькулятор. Использует переменные с именами A..Z, кнопки арифметических операций, позволяет непосредственно оперировать с текущим значением, а также вводить формулы, включающие имена переменных, константы, арифметические действия и скобки.

  2. Будильник. Создание сообщений с заданным временем запуска и сохранение их в COOKIES. Сообщение может быть текстовым, а может быть ссылкой в сети. Удаление просроченных. Вывод сообщений о происходящих событиях – в виде выводимого текстового окна или окна, открываемого по ссылке. Редактирование событий.

  3. Структуры данных. С использованием вариантов л.р.5.5 разработать набор функций для дерева – извлечение и включение по логическому номеру, по значению (с сохранением порядка.), просмотр всей структуры данных, сохранение и загрузка из COOKIES.

  4. Структуры данных. Разработать набор функций для списка (односвязного, двусвязного, простого, циклического) – извлечение и включение по логическому номеру, по значению (с сохранением порядка.), сортировка, просмотр всей структуры данных, сохранение и загрузки из COOKIES.

Программирование процессов и реального времени


Необходимо разработать резидентную программу под DOS, удовлетворяющую требованиям многозадачности: работа по прерываниям, отсутствие блокировок основной программы на “ощутимые” моменты времени (без внутренних циклов ожидания), прозрачность по отношению к вводу (реакция на “горячие клавиши”). При перемещении объектов по экрану должно быть обеспечены возможности параллельного перемещения нескольких объектов и варьирование их скоростей. В случае всплывающего окна (Screen Saver) необходимо реализовать восстановление содержимого экрана. При работе с файлами необходимо использовать средства синхронизации DOS (см. bk63).

  1. Screen Saver - резидентный TETRIS

  2. Screen Saver – резидентный XONIX

  3. Прыгающие буквы. Пропорционально истекшему времени увеличивается количество “подпрыгивающих” букв на экране. Буква поднимается на случайную высоту с равномерным УСКОРЕНИЕМ (свободное падение).

  4. Автоматический словарь. Резидентная программа ищет на экране слова и составляет в файле упорядоченный по алфавиту словарь (с отбрасыванием окончаний и суффиксов). Определяются также частоты их появления. Обновление словаря происходит по нажатию клавиш при обнаружении изменения содержимого экрана (???).

3. Вывод окна с сохранением содержимого, перемещение окна по всем направлениям, (с использованием “горячих клавиш” ) и уничтожение окна с восстановлением содержимого экрана.

4. Программа запоминает последние n (100-200) интервалов нажатия клавиш и по “горячей клавише” выводит строку с математическим ожиданием и дисперсией времени нажания. Через 3 секунды строка стирается.

5. Поиск в видеопамяти идентификаторов (цепочка букв) и перестановка первых и последних букв. Измененные слова запоминаются и в дальнейшем уже не меняются.

6. Бегающий по экрану символ, отражающийся от границ экрана и от всех символов - не пробелов.

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

8. “Буквоед” - символ, бегающий по экрану по диагонали. При попадании на букву или цифру “выедает” все слово, заменяя его на пробелы.

9. “Анти-комментатор”. При обнаружении комментариев (//..... или /*.....*/) удаляет их. При удалении комментария вида /*...*/ сдвигает текст вверх-влево (либо заливает определенным цветом).

10. Автоматическая подсветка блока. Программа обнаруживает на экране последователь-ности, заключенные в фигурные скобки ( {...} ) и меняет цвет фона внутри каждого блока в зависимости от уровня вложенности. Если скобки расположены в разных строках, то выделяется прямоугольник с границами - самым левым и самым правым символами блока.

11. Определение повторного нажатия более 5 раз одной и той же клавиши с выводом строки “повторное нажатие .... раз”. Через 2 секунды после прекращения повторного нажатия строка исчезает.

13. “Корректор”. При обнаружении на экране символа - точка программа ищет следующую за ней маленькую букву и заменяет ее на большую, отмечая первое слово следующего предложения изменением цвета фона.

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

15. Поиск в видеопамяти констант и увеличение их значений на 1 каждую секунду.

Индивидуальные темы


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

Содержание курсовой работы пояснительной записки


Курсовая работы должна быть выполнена как библиотека функций, имеющих общий программный интерфейс и как работающая программа, позволяющая продемонстрировать выполнение всех функций в любой последовательности через систему меню. Пояснительная записка должна иметь объем не менее 20 стр. текста (без приложения, шрифт 12), выполнена в соответствии с ГОСТом и содержать следующие разделы.

  1. Задание.

  2. Теоретический материал – особенности программирования в данной области (например, структур данных в двоичных файлах) или систем программирования (например, Java-script).

  3. Структурное описание разработки. Описание используемых структур данных, форматов данных, сопровождаемое необходимыми графическими иллюстрациями (рисунками). Содержательное описание основных алгоритмов, их особенностей (4-5 стр.).

  4. Функциональное описание. Содержательное описание типов данных, структур данных, интерфейсов функций, фрагментов нетривиальных алгоритмов. Для описания использовать смешанное текстово-формальное представление программы с включением этих элементов в связный текст изложения материала.

  5. Описание работы программы на контрольных примерах (например, на большом текстовом файле), временные характеристики программы.

  6. Выводы. Ограничения (по памяти, по времени), ошибки, особенности проектирования.

  7. Приложение: текст программы с комментариями по существу алгоритма и структур данных.




Романов Е.Л. Информатика и программирование. Язык Си. (конспект лекций) .


Похожие:

Курсовая работа. Семестр 3 iconСамостоятельная работа, ч 50 Текущий семестровый контроль, семестр 1 Курсовая работа
Общее знакомство с основными особенностями древнегреческого языка, значением его и местом в системе языков, в европейской письменности...
Курсовая работа. Семестр 3 iconСамостоятельная работа 62 Экзамен нет Зачет 7,8 семестр Курсовая работа нет Eкaтepинбypг 2012
«Диалектология иностранного языка» являются формы существования немецкого языка
Курсовая работа. Семестр 3 iconКурсовая работа Определение эйлерова пути на Прологе Халипский Сергей Николаевич Специальность: 230105
Ваша курсовая работа обладает недостатком, что не позволяет считать ее выполненной
Курсовая работа. Семестр 3 iconКурсовая работа «Проектирование вычислительной системы»
Данная контрольно-курсовая работа выполняется с целью закрепления знаний по курсу «Организация ЭВМ и систем» и получения практических...
Курсовая работа. Семестр 3 iconУчебные пособия по курсу. Труды отечественных и зарубежных ученых. Национальная и международная статистика. Другие источники
Осенний семестр: лекций 34 час., практические занятия -17час., курсовая работа, консультации 7 час., экзамен – 0,5 ч на студента
Курсовая работа. Семестр 3 iconКонтрольная работа 15 страниц; реферат 15-25 страниц; курсовая работа 30-40 страниц; дипломная работа 60-100 страниц
Работа в обязательном порядке должна иметь, главы, подпункты, заключение, список использованной литературы. В некоторых случаях возможны...
Курсовая работа. Семестр 3 iconКурсовая работа по дисциплине "Микропроцессорные системы"
Работа выполняется на системе “прототип” на основе микроконтроллера 51 семейства
Курсовая работа. Семестр 3 iconКурсовая работа по дисциплине "Микропроцессорные системы"
Работа выполняется на системе “прототип” на основе микроконтроллера 51 семейства
Курсовая работа. Семестр 3 iconКурсовая работа включает: титульный лист
Курсовой работа по дисциплине «Технологии программирования» состоит из 2 частей: теоретическая часть; практическое задание
Курсовая работа. Семестр 3 iconКонтрольная работа курсовая работа (проект)

Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org