ГОСУДАРСТВЕННАЯ АКАДЕМИЯ УПРАВЛЕНИЯ им. С. ОРДЖОНИКИДЗЕ КАФЕДРА програмирования и компьютерной техники КУРСОВАЯ РАБОТА по дисциплине "Компьютерная практика" ( бригада N 1 ) ВЫПОЛНИЛИ: студенты группы МЭО-I-1 Грибков С. А. Кутузов А. А. ПРОВЕРИЛ : доцент кафедры В. В. Евтеев ".... "......................... 1994 г. Москва, 1994 г. СОДЕРЖАНИЕ: 1. ) Задание. 2 2. ) Распечатка программы 3 3. ) Инструкция по пользованию 8 4. ) Образцы выдаваемых справок 8 5. ) Исходная база данных 10 ЗАДАНИЕ на курсовую работу по дисциплине: "Компьютерная практика" студентам группы МЭО-I-1 Грибкову С. А. Кутузову А. А.
Тема курсовой работы : Применение интегрированных прикладных систем для решения экономических задач. Исходные данные : 1. Использование ИПС-РАДУГА (FRAMEWORK III).
2. Исходная база данных - совокупность инвертарных карточек учета основных средств ( по форме ОС-7 ) 3. Количество записей - 20. (см. таблицу исходных данных). 4. Количество полей- 11. 5. Наименование полей: -номер карточки (N); -название средства (название); -место хранения - отдел (Отд. ); -норма амортизационных отчислений в % ( А. О. ); -дата оприходывания ( N акт. опр. ); -дата выбытия (Дата выб. ); -инвертарный номер ( Инв. N ); -номер акта выбывания (N акт. выб. );
-фамилии материально ответственного лица ( Aам. мат. отв. ); 6. Тип выдаваемой справки-1 ( Наличие средств в заданном отделе и их суммарная стоимость ). РАЗРАБАТЫВАЕМЫЕ ВОПРОCЫ : 1. Освоение используемой ИПС. 2. Создание исходной базы данных и пустой таблицы.
3. Разработка программы на языке ИПС для создания и распечатки справки заданного типа.
Справка должна содержать не менее пяти полей (N, Название, Инв. N, Перв. ст. , Фам. мат. отв. ). СОДЕРЖАНИЕ ОТЧЕТА ПО РАБОТЕ : 1. Титульный лист. 2. Задание ( с конкретными данными по своему варианту ). 3. Содержание отчета с номерами страниц. 4. Исходная база данных (БД).
5. Краткие пояснения по порядку создания БД табличного типа. 6. Распечатка программы на языке ИПС.
7. Инструкция по использованию программы для решения поставленной задачи. 8. Распечатка справок заданного типа ( не менее трех распечаток). 9. Выводы ( заключения ) по работе. 10. Список литературы. Распечатка программы: MAINMENU. FW3 @menu(mainmenu) MAINMENU. [Начальная установка. ]: ; ---Загрузка фрейма [resume] с командой @resume-- @local(p), p: =@frametype, @if(@and(p1, p2), @pk("{scroll-lock}")), @setdrive("a: "), @pk("{in}"), @setselection("resume. fw3"), @pk("{return}{scroll-lock}{out}{return}{scroll-lock}"), ; ---Установка а меню операции Новое: Пустой/Текст-Фрейм--
@prompt("Нажмите INS, установите ""Новое: Пустой/Текст-Фрейм"", нажмите ESC и F5"), @suspend, ; ---Завершение начальной установки-- @delete("resume") MAINMENU. [Загрузка БД]: ; ---Загрузка базы данных [base]-- @pk("{scroll-lock}"), @setdrive("a: "), @pk("{in}"), @setselection("base. fw3"), @pk("{return}{scroll-lock}{out}{return}{scroll-lock}"), @position("base", 1, 1, 80, 10), @reset(base, 1) MAINMENU. [Коррекция БД]:
; ***Коррекция базы данных: Вставка, Изменение, Удаление записей*** MAINMENU. [Коррекция БД]. [Вставка Записи]: ; ---Подготовка операции Вставка-- @local(a, p, q, r), p: =7, @pk("{ins}{home}"), @while(p>0, @list(@pk("{dnarrow}"), p: =p-1)), @pk("{esc}"), ; ---Вход в базу данных-- @setselection("base"), @pk("{in}"), r: =@get(base, 5), ; ---Вставка новых записей-- p: ="y", r: =0, @integer(r), @while(@not(p"y"), @list(@pk("{ins}{return}{return}"), r: =r+1, q: =@value(@inputline("Введите N")), @put(base, 1, q), q: =@inputline("Введите НАЗВАНИЕ"), @put(base, 2, q), q: =@value(@inputline("Введите ОТДЕЛ")), @put(base, 3, q), q: =@value(@inputline("Введите ИНВ. N")), @put(base, 4, q), q: =@value(@inputline("Введите первонач. стоимость")), @put(base, 5, q), q: =@value(@inputline("Введите аморт. отчисл. ")), @put(base, 6, q), q: =@inputline("Введите дату оприход. "), @put(base, 7, q), q: =@value(@inputline("Введите N акта оприход. ")), @put(base, 8, q), a: =@inputline(" Ресурс выбыл? Да(y)/Нет(n)"), @if(a="y", @list(q: =@inputline("Введите дату выбытия"), @put(base, 9, q), q: =@value(@inputline("Введите N акта выбытия")), @put(base, 10, q))), q: =@inputline("Введите фам. мат. отв. "), @put(base, 11, q), p: =@inputline("Вставлять еще? ДА(y)/НЕТ(n)"))), ; ---Сортировка базы данных-- @setformula(base, @sort(base. [ N], #ascend)), @base, ; ---Завершение вставки записей-- @reset(base, 1), @put(base, 5, r), @pk("{out}{return}"), @pk("{ins}{home}{dnarrow}{esc}") MAINMENU. [Коррекция БД]. [Удаление Записи]: ; ---Подготовка операции Удаление-- @local(p, q, r), @pk("{ins}{rightarrow}{home}{dnarrow}{dnarrow}{esc}"), ; ---Вход в базу данных-- @setselection("base"), @pk("{return}"), r: =@get(base, 5), ; ---Удаление записей-- p: ="y", @while(@not(p"y"),
@list(q: =@value(@inputline("Введите номер удаляемой записи")), @reset(base, q), @pk("{in}{ins}{return}y{esc}{out}"), r: =r-1, p: =@inputline("Удалять еще? ДА(y)/НЕТ(n)"))), ; ---Завершение удаления записей в базе данных-- @reset(base, 1), @put(base, 5, r), @pk("{return}{ins}{leftarrow}{esc}") MAINMENU. [Коррекция БД]. [Изменение Записи]: ; --- Вход в базу данных -- @local(p, q, r, s), @setselection("base"), @pk("{in}"), ; --- Изменение записей в базе данных -- p: ="y", @while(@not(p"y"), @list(q: =@value(@inputline("Введите номер записи")), r: =@value(@inputline("Введите номер поля")), @reset(base, q), s: =@get(base, r), @if(@isnumeric(s), @list(s: =@value(@inputline("Введите значение")), @put(base, r, s)), @list(s: =@inputline("Введите запись"), @put(base, r, s))), p: =@inputline("Изменять еще? ДА(у)\НЕТ(n)"))), ; --- Завершение изменения записей --
@setselection("base"), @setformula(base, @sort(base. [ N], #ascend)), @base, @reset(base, 1), @pk("{out}{return}") MAINMENU. [Коррекция БД]. [Сохранение БД]: ; ---Запись базы данных на диск А -- @setselection("base"), @pk("{scroll-lock}"), @setdrive("a: "),
@pk("{in}{scroll-lock}{f8}{scroll-lock}{return}y{out}{return}{scroll-lock}") MAINMENU. [Документ]: ; ***Формирование выходного документа в таблице [tabl]*** ; ---Загрузка фреймов [tabl], [printdoc]-- @local(p, q, r, m), @pk("{scroll-lock}"), @setdrive("a: "), @pk("{in}"), @setselection("tabl. fw3"), @pk("{return}{scroll-lock}"),
@setselection("printdoc. fw3"), @pk("{return}{scroll-lock}"), @pk("{out}{return}{scroll-lock}"), ; ---Фильтрация базы данных-- q: ="@not(@isnumeric([N АВ]))", @setformula(base, q), @setselection("base"), @pk("{F5}"), @beep,
p: =@inputline("Введите номер интересующего вас отдела"), m: =p, q: ="@not([Отдел]"&p&")", @setformula(base, q), @setselection("base"), @pk("{F5}"), ; ---Определение количества записей в отфильтрованой БД-- p: =7, @pk("{ins}{home}"), @while(p>0, @list(@pk("{dnarrow}"), p: =p-1)), @pk("{esc}"), @setselection("base"), @pk("{in}"), @pk("{ins}{return}{return}"), p: =99, @put(base, 1, p), @setformula(base, @sort(base. [ N], #ascend)), @base, @pk("{out}{return}"), @pk("{ins}{home}{dnarrow}{esc}"), @setselection("base"), @reset(base, 1), p: =@get(base, 1), q: =0, @while(@not(p=99), @list(q: =q+1, @next(base), p: =@get(base, 1))), @reset(base, 1), @put(base, 12, q), @reset(base, 2), @put(base, 12, m), p: =@get(base, 1), @while(@not(p=99), @list(@next(base), p: =@get(base, 1))), @pk("{in}{del}{out}{return}"), ; ---Переход к программе формирования выходного документа @printdoc, PRINTDOC. FW3
; ***Программа формирования выходного документа в таблице [tabl]*** @local(p, q, n, i, r, f, m), ; ---Ввод из [base] в [tabl] номера отдела-- @reset(base, 2), m: =@get(base, 12), @reset(tabl, 5, 3), @put(tabl, m), ; ---Ввод из [base] в [tabl] исходных данных-- ; N, Название, Инв. N, Перв. ст. , Фам. мат. отв. @reset(base, 1), p: =@get(base, 12), q: =7, @while(p>0, @list(n: =@get(base, 2), i: =@get(base, 4), r: =@get(base, 5), f: =@get(base, 11), @reset(tabl, 1, q), @put(tabl, q-6), @reset(tabl, 2, q), @put(tabl, n), @reset(tabl, 3, q), @put(tabl, i), @reset(tabl, 4, q), @put(tabl, r), @reset(tabl, 5, q), @put(tabl, f), @next(base), q: =q+1, p: =p-1)), ; ---Вывод на экран таблицы [tabl]-- @setselection("tabl"), @position("tabl", 1, 1, 60, 15), @pk("{return}"), ; ---Ввод в таблицу [tabl] значения Итого: -- @reset(base, 1), p: =@get(base, 12), n: =q+1, q: =p+7, r: ="Итого: ", @reset(tabl, 1, q), @put(tabl, r), p: =@integer(p+6), r: ="@sum(tabl. d7: tabl. d"&p&")", q: =@integer(q), i: ="@setformula(tabl. d"&q&", "&r&")", @setformula(tabl, i), @tabl, @pk("{in}{F5}"), ; ---Ввод в таблицу даты-- @reset(tabl, 1, n), p: ="Дата: ", @put(tabl, p), @reset(tabl, 3, n), p: =@inputline("Введите дату"), @put(tabl, p), @pk("{out}"), ; ---Возврат в меню: [Документ]-- @return(p) ; ---Завершение формирования выходного документа-- @pk("{ins}{leftarrow}{esc}"), @beep, @prompt("Справка сформирована", 30), @nextkey(5), @eraseprompt MAINMENU. [Печать]: ; ---Подготовка принтера к печати-- @prompt("Подготовте принтер, нажмите RETURN. ") @nextkey, @eraseprompt, ; ---Печать выходного документа-- @local(p), @pk("{ins}"), p: =7, @while(p>0, @list(@pk("{rightarrow}"), p: =p-1)), @pk("{home}{return}"), ; ---Завершение печати выходного документа-- @pk("{ins}"), p: =7, @while(p>0, @list(@pk("{leftarrow}"), p: =p-1)), @pk("{esc}") MAINMENU. [Выход]: ; ---Удаление фреймов [base], [tabl], [printdoc]-- @delete("base"), @delete("tabl"), @delete("printdoc"), ; ---Выход из меню-- @eraseprompt, @prompt("Спасибо за работу! ", 30), @beep, @nextkey(5), @quitmenu, @eraseprompt RESUME. FW3 @resume TABL. FW3 С П Р А В К А ----------------- О наличии средств, в отделе N ----------------------------------------------------- N Название Инв. N Перв. ст. Фам. мат. отв. ----------------------------------------------------- Инструкция по пользованию программой: READ. ME mainmenu. fw3 - Файл с меню пользователя. base. fw3 - Исходная база данных.
printdoc. fw3 - Программа формирования выходного документа. tabl. fw3 - Шаблон выходного документа в таблице. resume. fw3 - Служебный файл. read. me - Данная инструкция.
Для выполнения задачи необходимо войти в пакет Радуга, установить дискету с курсовой работой в дисковод А, загрузить фрейм с именем a: \mainmenu. fw3 и нажать F5. Образцы выдаваемых справок: С П Р А В К А ----------------- О наличии средств, в отделе N 4 ----------------------------------------------------- N Название Инв. N Перв. ст. Фам. мат. отв. ----------------------------------------------------- 1 Принтер 1748 34000 Кутузов А. А 2 Компьютер 2458 507000 Медведев Д. В. Итого: 541000 Дата: 17. 05. 94 С П Р А В К А ----------------- О наличии средств, в отделе N 8 ----------------------------------------------------- N Название Инв. N Перв. ст. Фам. мат. отв. ----------------------------------------------------- 1 АТС 22587 898800 Шамин С. В. 2 Телекс 1109 500000 Петров Н. О. Итого: 1398800 Дата: 17. 05. 94 С П Р А В К А ----------------- О наличии средств, в отделе N 3 ----------------------------------------------------- N Название Инв. N Перв. ст. Фам. мат. отв. ----------------------------------------------------- 1 Компьютер 1007 900300 Разумовский О. Р. 2 Ксерокс 2367 431000 Григорьева С. В. 3 Телефоны 4376 95680 Нагария А. С. 4 Ксерокс 4643 987999 Аганин Ю. В. 5 Плоттер 6350 289700 Поганин М. Д. Итого: 2704679 Дата: 17. 05. 94
ЛИТЕРАТУРА: В. В. Евтеев, А. М. Махонько "Методические указания к самостоятельной работе студентов по дисциплине "ЭВМ и программирование". Раздел "Алгоритмический язык ФРЕД". " Исходная база данных:
N Название Отдел Инв. N Перв. ст АО% Дата опр. N АО Дата выб. N АВ Фам. мат. отв ========================================================== 1 Принтер 4 1748 34000 13 12. 10. 89 3424 Кутузов А. А 2 Компьютер 4 2458 507000 20 10. 04. 91 3645 Медведев Д. М.
3 Телекс 8 11237 362000 56 02. 09. 85 4322 06. 07. 89 576 Грибков С. А. 4 Принтер 6 34600 678900 27 13. 07. 89 9780 04. 12. 93 564 Завалишин С. Е. 5 АТС 8 22587 898800 12 31. 07. 70 7584 Шамин С. В.
6 Компьютер 6 342 856320 63 06. 05. 74 7463 04. 12. 84 361 Конкс Ю. В. 7 Телефоны 6 575 87765 47 19. 09. 86 9706 Потятынник Т. Н. 8 Сервер 5 3346 940000 42 05. 02. 89 3424 Житникова Е. E.
9 Телетайп 2 5473 50000 51 20. 04. 76 479 01. 12. 85 563 Родионов Д. К. 10 Компьютер 5 118 780000 11 01. 01. 85 2344 Коваленко Д. П.
11 Компьютер 5 3380 596900 87 12. 05. 87 4650 23. 04. 91 453 Афанасьев Д. И. 12 Принтер 5 4597 135000 90 23. 04. 87 9005 27. 09. 90 574 Шанина Н. О. 13 Компьютер 3 1007 900300 12 14. 06. 89 3645 Разумовский О. Д. 14 Ксерокс 3 2367 431000 41 26. 07. 78 9090 Григорьева С. С. 15 Телекс 8 1109 500000 21 23. 06. 76 4354 Статникова Н. А. 16 Телефоны 3 4376 95680 12 14. 08. 90 3645 Нагария А. В. 17 Ксерокс 3 4643 987999 18 17. 09. 80 2536 Аганин Ю. В. 18 Плоттер 3 6350 289700 15 19. 10. 92 5315 Поганин М. Д. 19 Компьютер 2 8451 854000 19 20. 09. 93 6123 Иванов П. Д. 20 Принтер 2 5305 900500 21 31. 10. 93 7330 Петров В. В.