Автор работы: Пользователь скрыл имя, 08 Июня 2015 в 22:42, курсовая работа
Си - универсальный язык программирования. Он тесно связан с системой UNIX, так как был разработан в этой системе, которая, как и большинство программ, работающих в ней, написаны на Си. Однако язык не привязан жестко к какой-то одной операционной системе или машине. Хотя он и назван «языком системного программирования», поскольку удобен для написания компиляторов и операционных систем, оказалось, что на нем столь же хорошо писать большие программы другого профиля.
Параметры функции:
- char *s – строка
Функция имеет тип int и возвращает i.
Таблица 6.3. Локальные переменные функции mestoimenie ().
Имя |
Тип |
Назначение |
i |
int |
Параметр цикла по элементам массива разделителей |
Функция выводит в консоль содержимое файла.
В таблице 6.4 представлены локальные переменные используемые функцией vivod()
Параметры функции:
- char *s – строка
Функция имеет тип void.
Таблица 6.4. Локальные переменные функции vivod ().
Имя |
Тип |
Назначение |
*f |
FILE |
Указатель на файл |
c |
char |
Текущий символ в файле |
Данная функция производит действия соответственно заданию с помощью уже имеющихся функций.
В таблице 6.5 представлены локальные переменные используемые функцией programma3().
Функция имеет тип void.
Таблица 6.5. Локальные переменные функции programma3 ().
Имя |
Тип |
Назначение |
*f |
FILE |
Указатель на файл |
c |
char |
Текущий символ в файле |
k |
Int |
Номер местоимения |
word[] |
char |
Масив для записи текста |
name[] |
char |
Массив символов в который записывается имя файла |
Файл содержит функции для реализации графического меню.
Структура key
int x[5] –координаты кнопки;
Char *text - название кнопки.
Структура Menu
key *p –указатель на кнопку;
Int n- количество кнопок;
Int m - номер активной кнопки.
5.5.1 knopka()
Функция knopka() прорисовывает кнопку меню. Имеет тип void. В качестве параметров передается:
int *p – указатель на структуру с параметрами кнопки
int active – показатель текущей кнопки.
Локальные переменные приведены в таблице 6.6
Таблица 6.6. Локальные переменные функции knopka ().
Имя |
Тип |
Назначение |
poly[10] |
int |
Массив координат для рисования кнопки |
5.5.2 menu_initial()
Функция menu_initial() формирует меню с координаты кнопок. Функция имеет тип Menu. Возвращает меню. В качестве параметров передаются :
- char* punkt[]- Массив строк;
- int l- положение кнопки от левого края;
- int top- положение кнопки сверху;
- int n- количество кнопок;
Локальные переменные приведены в таблице 6.7
Таблица 6.7. Локальные переменные функции menu_initial ().
Имя |
Тип |
Назначение |
i |
int |
Счетчик цикла |
M |
Menu |
Структура хранящая меню |
5.5.3 panel()
Функция panel() рисует панель. Функция имеет тип void. В качестве параметров передаются :
- int a и int b характеризуют расположение панели
Локальные переменные приведены в таблице 6.8
Таблица 6.8. Локальные переменные функции panel ().
Имя |
Тип |
Назначение |
Po[10] |
int |
Массив координат для рисования панели |
5.5.4 menu()
Функция menu() прорисовывает основное вертикальное меню. Имеет тип int и возвращает номер активной кнопки m.
В качестве параметров передаются:
- Menu *M–меню.
- int n - количество кнопок
Локальные переменные приведены в таблице 6.9
Таблица 6.9. Локальные переменные функции menu ().
Имя |
Тип |
Назначение |
I |
int |
Счетчик цикла |
active |
int |
Показатель текущей кнопки |
Ch |
char |
Переменная для определения нажатой пользователем клавишей |
5.5.5 menu_delete()
Функция menu_delete() удаляет меню. Имеет тип void. в качестве параметров передаются:
- Menu *M- меню.
- int n-количество кнопок.
Локальные переменные приведены в таблице 7.1
Таблица 7.1. Локальные переменные функции menu_delete ().
Имя |
Тип |
Назначение |
i |
int |
Счетчик цикла |
5.6.1 main()
Функция main() выполняет действия, соответствующие выбору каждого пункта меню.
В таблице 7.2 представлены локальные переменные используемые функцией main ().
Функция имеет тип void.
Таблица 7.2. Локальные переменные функции main ().
Имя |
Тип |
Назначение |
s[] |
char* |
Массив наименований пунктов меню |
s1[] |
char* |
Массив наименований пунктов меню |
s2[] |
char* |
Массив наименований пунктов меню |
m |
int |
Хранит имя нажатой клавиши |
a |
int |
Координата х левого верхнего угла кнопки |
b |
int |
Координата у левого верхнего угла кнопки |
a1 |
int |
Координата х правого нижнего угла кнопки |
b1 |
int |
Координата y правого нижнего угла кнопки |
Функция about() выполняет чтение из файла. Имеет тип void.
В таблице 7.3 представлены локальные переменные используемые функцией about ().
Таблица 7.3. Локальные переменные функции about ().
Имя |
Тип |
Назначение |
*f |
FILE |
Указатель на файл |
l[20] |
char |
Строка |
Для выполнения программы необходим компьютер с процессом типа Intel, быстродействием не менее 1 ГГц и объемом памяти 2048 Мб. В составе компьютера обязательно должны содержаться: манипулятор «мышь», клавиатура, устройство вывода информации. На компьютере должна быть установлена Microsoft Visual Studio версии 2010 и выше. Запуск программы осуществляется с помощью файла «menu.exe». После запуска на экране появляется пользовательское меню. Меню состоит из пяти пунктов: FIGURE, SORT, FILES, ABOUT и EXIT (представлено на рисунке 6.1).
Выбрав пункт «FIGURE» программа выполняет действия, согласно заданию: в новом графическом окне рисует круг, который движется по диагонали, оставляя за собой шлейф, затем шлейф постепенно пропадает. Пункт «SORT» имеет выпадающее подменю, состоящее из трёх подпунктов (представлены на рисунке 6.2), которые определяют способ заполнения массива: случайным образом, с клавиатуры, из файла. Для заполнения из файла необходимо ввести количество значений и имя файла, если кол-во значений будет больше значений в файле, то недостающие элементы формируются случайным образом. Пункт «FILES» не имеет подменю и выполняет действия согласно третьему заданию: в файле меняет местоимения я, мне, мною, меня, мой, моя на множественные мы, нам, нами, нас, наш, наша. Пункт «ABOUT» содержит информацию и инструкцию о программе. Пункт «EXIT» завершает работу программы.
Присутствуют три дополнительных текстовых файла 1.txt, 2.txt и about.txt. Первый файл необходим для заполнения массива после выбора пункта «SORT» и подпункта «FILE». Второй файл содержит текст с местоимениями, необходим после выбора пункта «FILES». Третий файл содержит информацию о программе и доступен по нажатию кнопки «ABOUT».
После выбора пункта/подпункта меню выполняется программа. Программа завершает свою работу при выборе пункта «Выход» или по нажатию клавиши Escape.
Рисунок 6.1 – Основное меню программы
Рисунок 6.2 – Пункт «SORT»
Запускаем программу. Открывается графическое меню, в котором круг движется по диагонали, оставляя за собой шлейф, затем шлейф пропадает. Фрагмент работы программы изображен на рисунке 7.1
Рисунок 7.1. Фрагмент работы программы 1
Запускаем программу. Выбираем заполнение массива из файла. Вводим количество элементов. После этого вводим имя файла. Если в файле не хватает данных, то недостающие элементы будут сгенерированы случайным образом. Выводится исходный массив. Затем программа спрашивает пользователя, вывести результат сразу или пошагово. Независимо от того, как мы вывели результат, отрицательные элементы отобразились красным цветом, чтобы подчеркнуть то, что они не принимают участия в сортировке положительных элементов. После обработки положительные элементы стали отсортированы по возрастанию методом вставок, а отрицательные остались на своих местах.
Работа программы представлена на рисунке 7.2.
Рисунок 7.2. Пошаговый вывод результатов в программе 2
Запускаем программу. Вводим название файла. Программа выводит на экран из файла исходный текст, содержащий местоимения типа я, мне, мною, меня, мой, моя, меняет их на местоимения множественного числа: мы, нам, нами, нас, наш, наша и выводит обработанный текст.
Работа программы представлена на рисунке 7.3.
Рисунок 7.3. Исходный и обработанный текст в программе 3
В процессе выполнения курсовой работы была написана программа, в которой были реализованы задачи по построению графических фигур, методам сортировки и обработке текстовых файлов. Программа написана на языке программирования С в среде Microsoft Visual Studio 2010. Требования к выполнению работы соблюдены. Программа имеет основное меню, в котором пользователь выбирает нужные параметры и способы их задания.
В ходе выполнения курсовой работы были рассмотрены и изучены различные алгоритмы решения и методы реализации одних и тех же задач. При ручном просчёте было определено, что программы работают корректно, предоставляя пользователю информацию в достаточно удобном виде.
Курсовая работа по дисциплине «Алгоритмизации и программирование» предназначена для улучшения практических навыков в выборе и использовании математических методов решения задачи, её формализации и алгоритмизации, разработке и отладке программ, проведении анализа результатов, что и было выполнено в данной работе.