Разработка программы и ее описание
Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
После загрузки среды программирования PascalABC.NET приступаем к проектированию программы.
В меню «Файл» выбираем команду «Новый», рис. 8:
Добавление программного модуля
В среде программирования появляется пустая вкладка в которой и будет набираться код, рис. 9.
Окно редактора кода
Добавляем еще две заготовки для модулей программы.
Набираем текст программы на языке Паскаль.
Далее необходимо сохранить текст программы, для этого воспользуемся иконкой . Появится окно, в поле «Имя файла» которого вместо имени по умолчанию следует написать имя, под которым программа будет храниться в каталоге.
Воспользовавшись комбинацией Shift+F9, выполняем программу.
При возникновении ошибок, в Окне вывода будет появляться подсказка. Следует отлаживать программу (исправлять ошибки), пока в Окне вывода не появится результат. Каждый раз после исправления ошибки следует сохранять последнюю версию и выполнять программу.
Программа состоит из 3 модулей:
stip.pas - главный модуль программы.
I_face.pas - модуль, содержащий функции управления интерфейсом.
I_group.pas - модуль работы со списком студентов группы.
Рассмотрим состав каждого модуля.
I_face.pas
В модуле определен пользовательский тип, описывающий пункт меню:
Menus = record
Item: string[80] - название пункта меню.
x, y: integer; - координаты расположения на экране.
end;
Тип
Points = array [1..10] of Menus;
массив пунктов меню.
Глобальные переменные:
N - число пунктов меню.
Menu - пункты меню.
Процедура Title - выводит заставку программы.
Процедура InitMenuItems(var N: integer; var Menu: Points);
Инициализация меню.
Выходные параметры:
N - число пунктов меню.
Menu - пункты меню.
Процедура Window(x1, y1, x2, y2: integer);
очистка текстового окна текущим цветом.
Входные параметры:
x1, y1, x2, y2 - координаты левого верхнего и правого нижнего углов.
Процедура Border(x1, y1, x2, y2, fore, back: integer);
вывод на экран рамки.
Входные параметры:
x1, y1, x2, y2 - координаты левого верхнего и правого нижнего углов.
fore - цвет символов.
back - цвет фона рамки.
Процедура PutMenu(N: integer; fore, back: integer; Menu: Points);
Вывод на экран меню программы.
Входные параметры:
N - число пунктов меню.
Menu - пункты меню.
fore - цвет символов.
back - цвет фона рамки.
Функция RunMenu(M: Points; N, fore, back: integer; var i: integer): integer;
Управляющая функция меню - выбор пункта.
Входные параметры:
fore - цвет символов.
back - цвет фона рамки.
N - число пунктов меню.
M - пункты меню.
Выходные параметры:
i - номер активного пункта.
Процедура ShowMsg(txt: string; err: boolean);
вывод сообщения.
Входные параметры:
txt - текст сообщения
err - флаг вида сообщения: true - сообщение об ошибке.
Процедура Edit(x, y, len: integer; fore, back: integer; txt: string);
вывод поля ввода данных.
Входные параметры:
fore - цвет символов.
back - цвет фона рамки.
x, y - координаты точки привязки.
txt - строка подсказки.
Процедура Dialog(var G: Member; edflag: boolean);
вывод диалогового окна ввода или редактирования данных по студенту.
Входные параметры:
G - данные (для редактирования).
edflag - флаг режима редактирования (true).
Выходные параметры:
G - результат ввода / редактирования.
I_group.pas
Константы.
basic_amount - базовая сумма стипендии.
sub_names - массив названий предметов.
Пользовательский тип, содержащий информация по студенту.
Member = record
FIO: string[35]; - ФИО студента.
balls: array [1..5] of integer; - массив оценок.
pb: integer; - наличие персональной надбавки.
sum: integer; - сумма стипендии.
end;
Тип - массив записей по группе.
Group = array [1..50] of Member;
Процедура SaveTF(name: string; N: integer; Gr: Group);
сохранение данных в файле.
Входные параметры:
name - имя файла.
N - количество записей.
Gr - массив записей.
Функция LoadFF(name: string; var N: integer; var Gr: Group): boolean;
загрузка данных из файла.
Входные параметры:
name - имя файла.
Выходные параметры:
N - количество записей.
Gr - массив записей.
Процедура ShowProtocol(Gr: Group; n: integer);
вывод списка студентов группы.
Входные параметры:
Gr - массив записей.
n - размерность массива.
Процедура Recalc(var Gr: Group; n: integer);
расчет стипендии по группе.
Входные параметры:
Gr - массив записей с информацией о студентах.
n - размерность массива.
Выходные параметры:
Gr - массив записей с информацией о студентах с начисленной стипендией.
Функция FindMember(Gr: Group; n: integer; var F: Member; fio: string): integer;
поиск по ФИО студента.
Входные параметры:
Gr - массив записей с информацией о студентах.
n - размерность массива.
fio - ФИО для поиска.
Выходные параметры:
F - данные по студенту.
Процедура DeleteRecord(var Gr: Group; var n: integer; nd: integer);
удаление записи с заданным номером.
Входные параметры:
Gr - массив записей с информацией о студентах.
n - размерность массива.
nd - номер удаляемой записи.
Выходные параметры:
Gr - массив записей с информацией о студентах после удаления записи.
n - размерность массива после удаления записи.
stip.pas
Глобальные переменные:
Regim - выбранная команда меню.
db_name - имя файла.
SG - список группы.
NSG - количество студентов в группе.
password - пароль для входа в систему.
admin - флаг режима администратора.
temp - запись.
recno - номер записи.
fio - ФИО для поиска.
Зарегистрируйся, чтобы продолжить изучение работы
50% курсовой работы недоступно для прочтения
Закажи написание курсовой работы по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!