Автоматизация выдачи справок и учета товаров в универмаге на языке Turbo Pascal

МИНИСТЕРМТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
КАЗАХСКИЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. Т. РЫСКУЛОВА
Кафедра: «Прикладная информатика»
КУРСОВАЯ РАБОТА
По дисциплине:
«Программирование на алгоритмических языках»
На тему:
«Автоматизация выдачи справок по товарам в универмаге»
Выполнил :
Студент 1 курса,
109 группы, ВТиПО,
Пулиев Ю. А.
Проверила:
Ст. преподаватель
Тимофеева Е. П.
Алматы 2008
СОДЕРЖАНИЕ
Введение . . . 3
1 Программная часть . . . . 4
1. 1 Постановка задачи 4
1. 2 Входная и выходная информация 4
1. 3 Алгоритм решения задачи 4
1. 4 Контрольный пример 13
Заключение16
Введение
Паскаль − замечательный язык программирования, который относительно прост в изучении, довольно ясен и логичен и, будучи первым изучаемым языком программирования, приучает к хорошему стилю. Паскаль воспитывает дисциплину структурного программирования и программирования вообще лучше, чем другие языки программирования, такие, как, например Бейсик.
Пакет Turbo Pascal 7. 0 обладает ограниченными возможностями и позволяет работать только в обычном режиме MS DOS. Начинающему программисту, по-видимому, целесообразно начать изучение языка и среды именно с этого пакета.
Язык характеризуется расширенными возможностями по сравнению со стандартом, хорошо развитой библиотекой модулей, позволяющих использовать возможности операционной системы, создавать оверлейные структуры, организовывать ввод-вывод, формировать графическое изображение и т. д.
Достоинства
- Удобная среда разработки, включающая функциональный отладчик, доступный в любой момент.
- Конкретная справочная система, по которой можно изучить язык без обращения к сторонним источникам.
- Высокая скорость компиляции, высокая скорость выполнения откомпилированных программ.
- Встроенная возможность использовать вставки на языке ассемблера.
Паскаль высоко используется во многих учебных заведения для обучения программированию.
1 Программная часть
1. 1 Постановка задачи
Программа «Расписание» представляет собой алгоритм действий, предназначенный для автоматизированного вывода базы данных для учёта товаров в универмаге.
Программа должна выполнять следующие функции: выдавать по запросу сведения о поступлении товара.
Для этого необходимо записать в программу сведения о поступившем товаре: наименование, дата поступления: день, месяц, год и цена за единицу товара.
Программа должна вывести на экран расписание всех продуктов, удалить по необходимости какой либо продукт, добавить новый продукт в конец базы данных и корректировать выбранный номер товара.
1. 2 Входная и выходная информация
Для работы программы «Расписание» необходимы следующие данные о товаре: наименование, дата: день, месяц, год и цена за единицу товара.
Программа отражает все товары в универмаге и выполняет следующие функции: добавляет новый товар в конец базы данных, корректирует выбранный товар и удаляет ненужный товар.
1. 3 Алгоритм решения задачи
В исполнительной части программы выводится на экран меню для выбора режима работы:
1 -Формирование новой базы данных.
2 - Просмотр базы данных.
3 - Корректировка базы данных.
4 - Добавление записей в базу данных.
5 - Удаление записи из базы данных.
6 - Конец работы. (рис. 1)
Общая схема алгоритма
Рис. 1
В программе введены следующие обозначения переменных:
Tovar - компоненты. Это записной тип, имеющий следующие поля: Name - наименование, Price - цена товара, kolvo - количество товара, Data - дата поступления, которая является компонент, это записной тип, имеющие следующие переменные: Day - день поступления, Mon - месяц поступления, Year - год поступления.
Filename - имя файла.
f - имя логического файла.
Tov - компонента файла.
Программа:
Program kursovai;
Uses CRT, Dos;
label menu;
Type
Tf = String[20] ;
Date = Record
chas : real;
day : 1. . 31;
Mon : 1. . 12;
Year : 1. . 2008;
End;
Tovar = Record
Name : Tf;
Data : Date;
Price : Real;
kolvo: integer;
End;
Var FileName : Tf;
R : Byte;
date1: Date;
year, month, day, dayofweek:word;
hour, minute, second, sec100:word;
{Процедура вывода даты на экран}
Procedure data_vremya;
Begin
TextColor(11) ;
GoToXY(65, 45) ;
getdate(year, month, day, dayofweek) ;
writeln(day, '. ', month, '. ', year) ;
GoToXY(65, 46) ;
getTime(hour, minute, second, sec100) ;
writeln(hour, ':', minute) ;
End;
{Процедура написании шапки}
Procedure SHLAPKA;
Begin
Writeln( '╔╦╦╦╦╗') ;
Writeln( '║ Nom ║ Naimenovanie tovara ║ Vremia i Data ║ Cena tovara ║ Kol-vo ║') ;
Writeln( '╠╬╬╬╬╣') ;
End;
{Процедура начальной страницы }
Procedure O_PROGRAMME;
Begin
clrscr;
Textbackground(0) ;
TextColor(11) ;
GoToXY(15, 10) ;
writeln(' UNIVERMAG') ;
GoToXY(15, 12) ; writeln('╔╗') ;
GoToXY(15, 13) ; writeln('║ Prpgrama soderjit naimenovanie tovara v univermage. ║') ;
GoToXY(15, 14) ; writeln('║ Vipolniaet takie deistvia kak: ║') ;
GoToXY(15, 15) ; writeln('║ Dobavliaet zapisi, korrektiruet, udalaet i ║') ;
GoToXY(15, 16) ; writeln('║ vivodit spisok tovara v univermage. ║') ;
GoToXY(15, 17) ; writeln('╚╝') ;
readln;
End;
{Процедура ввода новых элементов базы данных}
Procedure Vvod(fname : Tf) ;
Var f : File Of Tovar;
tov: Tovar;
Begin
Clrscr;
Writeln(' FORMROVANIA NOVOI BAZI DANNIH!') ;
Assign (f, fname) ;
Rewrite(f) ;
Writeln('Okonchanie - pusto') ;
Write('Naimenovanie tovara - ') ; Readln(tov. name) ;
While tov. name <> '' do
Begin
With tov Do
Begin
Writeln('Data postuplenia : ') ;
Write('Vremia ') ; Readln(Data. chas) ;
Write('Den ') ; Readln(Data. Day) ;
Write('Mesac ') ; Readln(Data. Mon) ;
Write('God ') ; Readln(Data. Year) ;
Write('Cena za edinicu tovara - ') ; Readln(Price) ;
Write('Kolichestvo v shtukah - ') ; Readln(kolvo) ;
End;
Write(f, tov) ;
Write('Naimenovanie tovara - ') ; Readln(tov. name) ;
End; Writeln; Writeln;
Writeln('Dla prodolgenia - <Enter>') ;
Repeat Until keypressed;
Close (f) ;
End;
{Процедура просмотра элементов базы данных}
Procedure Look (fname : Tf) ;
Var f : File Of tovar; tov : tovar; i, code : Integer;
Begin
Clrscr;
Write(' Naimenovanie tovara na prilavkah magazina!') ;
Writeln; Writeln;
Assign (f, fname) ;
{$i-}
Reset(f) ;
{$i+}
If code <> 0 Then Begin
Writeln{('File net!') };
Delay(2) ;
End;
SHLAPKA;
i:=0;
While Not eof(f) do
Begin
Read(f, tov) ;
With tov Do
Begin
i := i + 1;
Write('║', i:3, ' ║') ;
Write(Name:16, ' ║') ;
Write(Data. chas:2:2, '/', Data. Day:2, '/', Data. Mon:2, '/', Data. Year:4, '║') ;
Write(Price:9:2, ' ║') ;
Writeln(kolvo:5, ' ║') ;
Delay(1) ;
End;
End;
Writeln ('╚╩╩╩╩╝') ;
Writeln; Writeln; Writeln('Dla prodolgenia najmite - <Enter>') ;
data_vremya;
Repeat Until keypressed;
Close (f) ;
End;
Procedure DeletF (fname:Tf) ;
Var f, fl:File of tovar; tov:tovar; code: Byte; g:string[4] ; tname: string[20] ;
begin
Clrscr;
Assign (f, fname) ;
Reset (f) ;
Code:=IOResult;
If code <>0 then begin
Writeln('File net !') ;
Delay (2000) ; Exit;
end;
Writeln (' Ostorogno! Eti destvia mogut privest k udaleniu zapisi, ') ;
Writeln (' Vvedite nazvanie tovara! - ') ; Readln(tname) ;
Assign(fl, 'Temp') ; rewrite(fl) ;
While Not Eof(f) do
Begin
Read (f, tov) ; ;
If tov. name <> tname then write (fl, tov) ;
end;
Close (f) ; Close (fl) ;
Erase(f) ; Rename (fl, fname) ;
end;
{Процедура корректировки элементов базы даных}
Procedure Correct(fname : Tf) ;
Var f : File Of tovar; i, code : Integer; tov : tovar;
Begin
Clrscr;
Writeln(' KORREKTIROVKA ZAPISI!') ;
Assign (f, fname) ;
{$i-}
Reset(f) ;
{$i+}
code := IOResult;
If code <> 0 Then Begin
Writeln('File net !') ;
Delay(2000) ;
End;
i := Filesize(f) ;
Writeln('File sodergit ', i, ' zapisei. ') ;
Write('Kakay korrectirovat (0 - konec) - ') ;
Readln(i) ;
While i > 0 Do
Begin
Seek(f, i - 1) ;
Read(f, tov) ;
With tov Do
Begin
Writeln('Zapis nomer ', i) ;
Write('Naimenovanie tovara - ', Name, ' ?') ; Readln(name) ;
Writeln('Data vileta - ', data. chas, '/', Data. Day, '/', Data. Mon, '/', Data. Year) ;
Write('Vremia ? ') ; Readln(Data. chas) ;
Write('Den ? ') ; Readln(Data. Day) ;
Write('Mesac ? ') ; Readln(Data. Mon) ;
Write('God ? ') ; Readln(Data. Year) ;
Write('Cena za edinicu tovara - ', Price : 9 : 2, ' ?') ;
Readln(Price) ;
Write('kolichestvo tovara - ', kolvo :5, ' ?') ;
Readln(Price) ;
End;
Seek(f, i-1) ;
Write(f, tov) ;
Writeln; Write('Kakuy korrekttirovat (0 - konec) - ') ;
Readln(i) ;
End; WRITELN; WRITELN;
Writeln('Dla prodolgenia <Enter>') ;
Repeat Until keypressed;
Close (f) ;
End;
{Процедура добавления новых элементов базы даных}
Procedure Appenf(fname : Tf) ;
Var f : File Of tovar; tov : tovar; code : Byte;
Begin
Clrscr;
Writeln(' DOBAVLENIA NOVOI ZAPISI!') ;
Assign (f, fname) ;
{$i-}
Reset(f) ;
{$i+}
code := IOResult;
If code <> 0 Then Begin
Writeln('File net !') ;
Delay(2000) ; Exit;
End;
Seek(f, Filesize (f) ) ;
Writeln('Konec vvoda - pusto. ') ;
Writeln;
Write('Naimenovanie tovara - ') ; Readln(tov. name) ;
While tov. name <> '' do
Begin
With tov Do
Begin
Writeln('Data postuplenia - ') ;
Write('Vremia - ') ; Readln(Data. chas) ;
Write('Den - ') ; Readln(Data. Day) ;
Write('Mesac - ') ; Readln(Data. Mon) ;
Write('God - ') ; Readln(Data. Year) ;
Write('Cena za edinicy tovara - ') ; Readln(Price) ;
Write('Kolichestvo tovara - ') ; Readln(kolvo) ;
End;
Write(f, tov) ;
Writeln;
Write('Naimenovanie tovara - ') ; Readln(tov. name) ;
End;
Writeln; Writeln; Writeln('Dla prodolgenia - <Enter>') ;
Repeat Until keypressed;
Close(f) ;
End;
{Начало программы}
Begin
Clrscr;
O_PROGRAMME;
Clrscr;
... продолжение- Информатика
- Банковское дело
- Оценка бизнеса
- Бухгалтерское дело
- Валеология
- География
- Геология, Геофизика, Геодезия
- Религия
- Общая история
- Журналистика
- Таможенное дело
- История Казахстана
- Финансы
- Законодательство и Право, Криминалистика
- Маркетинг
- Культурология
- Медицина
- Менеджмент
- Нефть, Газ
- Искуство, музыка
- Педагогика
- Психология
- Страхование
- Налоги
- Политология
- Сертификация, стандартизация
- Социология, Демография
- Статистика
- Туризм
- Физика
- Философия
- Химия
- Делопроизводсто
- Экология, Охрана природы, Природопользование
- Экономика
- Литература
- Биология
- Мясо, молочно, вино-водочные продукты
- Земельный кадастр, Недвижимость
- Математика, Геометрия
- Государственное управление
- Архивное дело
- Полиграфия
- Горное дело
- Языковедение, Филология
- Исторические личности
- Автоматизация, Техника
- Экономическая география
- Международные отношения
- ОБЖ (Основы безопасности жизнедеятельности), Защита труда
