![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Программа обработки данных в библиотеке |
Пояснительная записка к курсовой работе по дисциплине “Основы алгоритмизации и программирования” Выполнил : студент гр. 96-ВВ3 Митиков Р.О. Пензенский государственный университет, Кафедра “Вычислительная Техника” Пенза 1998 Введение С момента появления первых образцов персональных компьютеров прошло не так уж и много времени,но сейчас без них уже немыслимо огромное количество областей человеческой деятельности - экономика , управление , наука , инженерное дело , издательское дело , образование , культура и т.д. Интерес к персональным компьютерам постоянно растет,а круг их пользователей непрерывно расширяется.В число пользователей ПЭВМ вовлекаются как новички в компьютерном деле,так и специалисты по другим классам ЭВМ. Язык С - универсальный язык общего назначения, область приложений которого - программирование систем в самом широком смысле. Кроме этого, С успешно используется как во многих приложениях, так и в мощных операционных системах. Реализация С осуществлена для машин в диапазоне от самых простых персональных компьютеров до самых мощных суперкомпьютеров и для всех операционных систем. 1 Постановка задачи Задача курсовой работы состоит в разработке на языке программирования С программы обработки данных в библиотеке , которая должна осуществлять следующие функции: 1) Ввод данных о книгах , имеющихся в библиотеке:название книги , автор , количество экземпляров , порядковый номер , стоимость книги 2) Вывод информации на экран (в файл) по запросу о книгах , имеющихся в библиотеке: читальном зале , абонементе , хранилище по названию , автору, тематике. 3) Сбор статистики о книгах одного автора с разными названиями. 4) Построение графической диаграммы для пункта по выбору. Работа программы должна быть организована с использованием меню. Программу разработать на языке С v.3.1. 2 Метод решения задачи Анализируя постановку задачи становится ясно , что для её решения необходимо применить метод многофункционального программирования - этот метод основан на разбиении программы на отдельные функциональные модули , которые вызываются из основной программы в процессе её работы. В основе разработки такой программы лежит низходящее программирование - т.е. сначала разрабатывается основная программа - в данном случае программа ввода текста на экран , обработки функциональных клавиш и меню , с помощью выбора пунктов которого будет в дальнейшем организовываться её работа. При выборе того или иного пункта меню или нажатии функциональной клавиши будет вызываться одна или несколько подпрограмм , но на начальном этапе разработки программы методом нисходящего программирования вместо этих подпрограмм ставяться "заглушки" - пустые подпрограммы , которые в процессе разработки будут заменяться программами , выполняющими определённую функцию. 3 Описание логического представления данных Входными данными в программе являются: Файл базы данных , который записан на диске в файле librarym.da . Данные , которые в процессе работы программы можно добавить , удалить или отредактировать. Выходными данными в программе являются: Данные , сортированные по названию или автору Результат поиска по заданной маске График Файл базы данных , который записывается на диск в файл librarym.d
a при завершении работы программы. Данные об книге хранятся в массиве структур типа books: Структура books: Поле Тип Название ame строка 30 символов типа char Название fio строка 30 символов типа char Автор um i Количество price floa Стоимость umber lo g Порядковый номер loc i Расположение ss i Тематика i Номер по названию f i Номер по автору Глобальные переменные программы: Поле Тип Название cd массив переменных типа books на 501 элемент Массив данных о странах c um I Количество книг sor Char тип сортировки f m Char Расположение 6 Спецификация на функциональные модули 6.1 Функция cmp Строка вызова: if (cmp(cd .fio)&& (cd .price)) Назначение: Осуществляет сравнение строки с маской Функции: Просматривает последовательно заданную строку , и если в ней найдена маска , то возвращается 1 , если нет - 0. Логические переменные: a (char) - указатель на строку b (char) - указатель на маску для поиска Внутренние переменные: k (i ) - результат сравнения (i ) - счётчик Вызывает функции: нет Вызывается из: i dex , fi d 6.2 Функция ou pu Строка вызова: ou pu (sv,sk) Назначение: Осуществляет вывод на экран списка книг Функции: Очистка экрана , вывод 10 элементов , если элемент выбран , выделение цветом , вывод данных о книге на экран. Логические переменные: sv,sk (i ) - координаты первого элемента на экране Внутренние переменные: (i ) - счётчик m (i ) - временная переменная d (i ) - порядковый номер данной книги Вызывает функции: нет Вызывается из: scroll 6.3 Функция me u Строка вызова: s =me u(30,5,"Добавить в список " "Удалить из списка " "Редактировать " "По Автору " "По Названию " "Выход в главное меню" "x0") s =me u(30,5," Список книг " " Поиск по маске " " Количество книг " " Выход из программы " "x0") s =me u(40,6," Расположение: " " Читальный зал " " Абонемент " " Хранилище " "x0") Назначение: Осуществляет обработку меню Функции: Вывод меню на экран , опрос клавиатуры , при нажатии клавиш управления курсором (вверх , вниз) перемещение цветового курсора по пунктам меню , выбор определённого пункта меню при нажатии клавиши с номером пункта меню , при нажатии клавиши E er возвращается номер выбранного пункта меню , при нажатии клавиши Esc возвращается -1. Логические переменные: cap (char) - указатель на текст меню x,y - координаты вывода меню на экран Внутренние переменные: ,m (i ) - Счетчики um (i ) - Количество пунктов k (i ) - Выбранный пункт p (char) - Временный указатель на символ c (char) - Считанный с клавиатуры символ Вызывает функции: нет Вызывается из: scroll , mai 6.4 Функция si pu Строка вызова: SI pu (cd .fio,30,35,8) SI pu ( ame,40,20,23) Назначение: Осуществляет ввод строки. Функции: Вывод пустой строки , установка координат , вывод строки запроса, считывание строки посимвольно с клавиатуры , выход , если нажата клавиша E er или Esc , если нажата Esc то строка не записывается. Логические переменные: s (char) - указатель на строку l g (i ) - максимальная длина x,y - координаты ввода Внутренние переменные: rs (char) - Временная строка (i ) - Счетчик c (char) - Введённый с клавиатуры символ Вызывает функции: нет Вызывается из: edi , fi d 6.5
Функция di pu Строка вызова: cd . umber=DI pu (35,12) cd . um=DI pu (35,14) Назначение: Осуществляет ввод числа. Функции: Вывод пустой строки , установка координат , вывод строки запроса, считывание строки посимвольно с клавиатуры , получение введённого числа , выход , если нажата клавиша E er или Esc , если нажата Esc то число не записывается. Логические переменные: s (char) - указатель на строку l g (i ) - максимальная длина x,y - координаты ввода Внутренние переменные: s (char) - Временная строка с pe (char) - указатель на сторку rs (double) - Результат (i ) - Счетчик c (char) - Введённый с клавиатуры символ Вызывает функции: нет Вызывается из: edi 6.6 Функция graph Строка вызова: graph() Назначение: Осуществляет построения столбчатой диаграммы по распределению книг . Функции: Определение масштаба , построение осей координат , вывод диаграммы , ожидание нажатия пользователем клавиши. Логические переменные: нет Внутренние переменные: drv,mode (i ) - для инициализации графики c (i ) - Цвет k1,k2,k3 (i ) - количество книг (i ) - Счетчик m (i ) - Масштаб Вызывает функции: нет Вызывается из: mai 6.7 Функция i dex Строка вызова: i dex() Назначение: Осуществляет индексирование массива - назначение номеров элементов по алфавиту для каждого поля записи. Функции: Cтирание старых индексов , перебор всех возможных мест хранения , индексация по автору , поиск наименьшего , индексация по названию , поиск наименьшего. Логические переменные: нет Внутренние переменные: ,m (i ) - счётчики m (i ) - перебор тем mxc (char) - значение наименьшей строки m (i ) - номер очередного элемента Вызывает функции: cmp Вызывается из: scroll 6.8 Функция edi Строка вызова: edi (c um-1) edi ( ) edi (500) Назначение: Осуществляет редактирование элемента массива. Функции: Ввод данных , вывод одного из полей структуры , опрос клавиатуры , выбор действия - редактирование поля или выход (клавиша Esc). Логические переменные: ed (i ) - номер элемента массива Внутренние переменные: (i ) - счётчик e (i ) - редактируемое поле c (char) - Введённый с клавиатуры символ Вызывает функции: si pu , di pu Вызывается из: scroll 6.9 Функция fi d Строка вызова: fi d() Назначение: Осуществляет поиск элемента в заданной строке по заданной маске. Функции: Поиск элемента , Возврат результатов в файл или на экран. Логические переменные: нет Внутренние переменные: (i ) - счётчик F(file - файл ввода ame (char) - Имя файла Вызывает функции: cmp , si pu Вызывается из: mai 6.10 Функция scroll Строка вызова: scroll () Назначение: Осуществляет обработку списка. Функции: Вывод списка на экран , ввод символа с клавиатуры, обработка символа , в воодветствии с нажатой клавишей вызов меню , выбор пункта меню , выполнение действия , выход. Логические переменные: нет Внутренние переменные: s (i ) - номер выбранного пункта меню (i ) - счётчик c (char) - Введённый с клавиатуры символ sv , sk (i ) - первый элемент на экране и положение курсора Вызывает функции: ou pu , me u , edi , i dex. Вызывается из: mai 6.11 Функция load Строка вызова: load() Назначение: Осуществляет загрузку базы данных из файла.
Более того, иерархия и перечень объектов совпадают с соответствующими структурами в библиотеке VCL, что скорее всего связано с желанием авторов обеспечить логическую совместимость с VCL при построении программ на основе этих библиотек. Данные библиотеки не обеспечивают минимального размера программы, за счет того что предоставляют более высокий уровень абстракции. Они являются компромиссом между программированием с использованием VCL и программированием на чистом API. 3. Принципы построения API-библиотеки Стандартным видом API-программирования является структурное программирование. Примеры такого программирования на Win32 API есть практически в любой книжке по Borland Pascal, Borland C++, Microsoft Visual C++ и другим системам разработки. Множество примеров API-программирования на С содержится в поставке Microsoft Visual C++. Структурное программирование с оконными функциями, процедурами обработки команд, не в состоянии обеспечить быструю и эффективную разработку программ. В современной ситуации большинство программистов привыкло к объектно-ориентированному методу, с возможностью инкапсуляции, наследования и переопределения методов объектов
1. Создание базы данных "Библиотека"
2. Обработка данных о студентах
3. Применение модулей геофизических исследований скважин и методика обработки данных в процессе бурения
4. Алгоритмизация и программирование процессов обработки данных в среде СУБД типа Fox
5. Классификация систем параллельной обработки данных
11. Анализ алгоритмов нечисленной обработки данных
12. Обработка данных в автоматизированных системах
13. Параллелизм как способ параллельной обработки данных
14. Создание формул для обработки данных в электронной таблице Excel
15. Структуры и алгоритмы обработки данных
16. Защита информации в автоматизированных системах обработки данных: развитие, итоги, перспективы
17. Вычислительная система обработки данных в реальном времени
19. Методы компьютерной обработки статистических данных. Проверка однородности двух выборок
20. База данных "Домашняя библиотека"
25. Обработка последовательных файлов в программе
27. Правовая охрана программ для ЭВМ и баз данных
28. Информационные технологии создания и обработки баз данных с помощью MS Access XP
30. Обработка ошибок в коде программ РНР
31. Программы для обработки звуковой информации
32. Разработка базы данных по учету книг в библиотеке
33. Разработка обучающей программы, поддерживающей изучение темы "Структуры данных"
34. Разработка программы генерации тестов из базы данных на языке РНР
36. Разработка форматов хранения данных программы. Структурирование
37. Современная технология обработки информационных данных Data Mining
41. Анализ медико-биологических данных с использованием Excel и СПП STADIA
42. Дания
43. Экономическая система Дании
44. Безработица в России /данные на 1992г/
45. Патентование избирательных программ в контексте формирования концептуального рынка
46. Аграрный вопрос в программах политических партий начала 20 века
48. Диагностика банкротства предприятия и разработка антикризисной программы (на примере ООО «Оптима»)
49. Художественная обработка металлов
50. Рецензия на программу "Тема" - "журналистская этика"
51. Судьба и творчество Даниила Хармса
52. Политическая программа декабристов
53. Кирилло-Мефодьевское братство: программа его деятельности
58. Старая пластинка: Что такое цифровой звук и реставрация звука с помощью цифровой обработки
62. Управление потоками данных в параллельных алгоритмах вычислительной линейной алгебры
63. Системы и сети передачи данных
64. Создание автоматизированной системы обработки экономической информации
66. Информация, информатика, базы данных. Периферийные устройства
67. Сжатие данных
68. Объектно-ориентированное программирование на С с использованием библиотеки OpenGL
69. Форматы баз данных в автоматизированных библиографических системах
73. Проектирование и разработка баз и банков данных
74. Написание игровой программы Tetris и описание алгоритма
75. База данных для учета оплаты за междугородние разговоры
76. Цифровая обработка графики
77. Проектирование устройства сбора данных
78. Построение информационной и даталогической моделей данных
79. Разработка базы данных `ДЕКАНАТ` в среде программирования "Delphi"
80. Скорость обработки запросов на SQL серверах
81. Программа сложной структуры с использованием меню
83. Разработка программы- тренажера "Управление электросетями"
84. Разработка программы на Ассемблере
85. Разработка базы данных, отражающей учет успеваемости студентов
89. Обучающая программа "Графика" программированию в графическом режиме на языке turbo-pascal 7.x
90. Разработка базы данных "Культурный досуг"
92. Системы управления базами данных
93. Создание проекта с использованием программы GeniDAQ и контроллеров серии АДАМ-4000
95. Система управления базами данных ACCESS
96. База данных - Бактериологическая испытательная лаборатория Боханского района
97. Разработка базы данных для объекта автоматизации: гомеопатическая аптека