Учёт средств предпрятия
Данные о программе. Список использованных команд и их описание. Логическая структура. Процедуры создания таблицы, поиска, удаления данных и вывода в таблицу. Текст программы. Системные требования. Приимущества и недостатки программы. Данные к работе.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 24.10.2008 |
Размер файла | 135,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
24
Министерство образования и науки Украини
Институт Экономики и новых технологий
Криворожский технологический факультет
Контрольное семестровое задание
По дисциплиние: Алгоритмические языки программирования
Вывполнил студент группы ГКС 30/2 Мартыненко А.
Руководитель: Вдовиченко И. Н.
Оценка:
Зачётная книга №:
Кривой Рог
2004г
Содержание:
1. Общие данные «о программе»
2. Список использованных команд и их описание
3. Логическая структура
a. Процедура создание таблицы
b. Процедура поиска
c. Процедура удаления данных
d. Процедура вывода данных в таблицу
4. Текст программы
5. Немного о системных требованиях
6. Приимущества и недостатки программы
1. Общие данные «о программе»
Данная программа представляет собой консольное приложение разработанное в среде Borland Pascal v 7.0. Главное окно программы (не титульный лист) представляет собой таблицу данных учёта средств предпрятия. В верхней строке программы имеется меню, при запросе командной строки «выбор действия» клавишами выбирается нужная опция.
Главный файл программы - файл с данными - Schet,
Меню поиск («s») - выдаёт запрос на ввод искомой записи.
При удачном поиске всплывает консоль с данными и запросом на удаление и перезапись:
При удалении записи (Меню - «d»), элемент удаляется, но ячейка таблицы остаётся:
If q='d' then
Assign(f,fn);
Reset(f);
seek(f,r);
l.s:='';
l.nam:='';
l.k:=0;
l.c:=0;
Write(f,l);
Close(f);
end;
Где Assign(f,fn) - присоединение файла;
Reset(f) - открытие его для чтения;
seek(f,r) - указывает номер строки в файле
l.s, l.nam, l.k, l.c - элементы массива записи;
Write(f,l) - запись в файл;
Close(f) - сохранение данных;
В конце программа возвращает главную программу.
В случае если модуль crt не подключен, то программа выдаст ошибку о незнакомом операторе: Textcolor, Sound, Delay, Nosound, Clrscr.
В случае если метка не описана в разделе Label, то программа выдаст ошибку о незнакомом операторе: 1,2,3,…
В случае если файл данных утерян, то программа выдаст ошибку о невозможности открытия и чтения файла данных.
Список использованных команд и их описание
Program - имя и начало главной прграммы;
Uses crt - Подключяемый модуль для работы с цветами экрана, очистки экрана и звука;
Label - Метка в программе, использовал для перерисовки таблицы;
Const - Раздел описания констант;
Type - Описание типа данных, в данном случае использовалась для описания записей;
Var - Раздел описания переменных любого типа;
Begin - Начало программы или подпрограммы;
Sound - Поцедура воспроизведения системного звука;
Delay - Пауза;
Nosound - Поцедура прекращения системного звука;
Clrscr - Очистка консоли;
Textcolor - Изменение цвета экранного шрифта;
Gotoxy - Перемещение курсора по экрану;
Writeln - Вывод информации на экран;
For i:=1 to n do - Циклическая структура;
End - Конец программы или подпрограммы;
Readln - Прцедура чтения данных с консоли;
If and then else - Логический оператор;
Assign - Присоединение файла в программу или подпрограмму;
Reset - Открытие файла для чтения;
while not do - Циклическая структура;
read - В случае с файлом - вывод файла в оперативню память;
Close - Закрытие файла с сохранением данных;
Goto - Переход выполнения программы к указанной метке;
Write - В случае с файлом - запись данных в файл;
Описание переменных программы:
Label 1,2 {использование всего 2 меток}
Const n=30
Type {описания переменных}
tab=record {Описание записи}
k,c:longint; {k-количество; c-цена}
s,nam:string; {s- счёт-субсчёт; nam - наименование товара}
end; {конец описания записи}
dbs=file of tab; {Нетипизированый файл таблицы}
Var{ описания переменных}
f:dbs; {f - файл}
l:tab; {l - запись}
q:char; {q - читает нажатую клавишу}
t,fn:string; {t - слово поиска; fn - местонахождение файла}
h,k,r:integer; {h,k - сячётчики при смене имени файла; r - считает строки для seek}
s:longint; {s - произведение K на C}
x,x1,x2,x3,x4,y1,y2,y3,y4:integer; {координаты перерисовки таблицы}
i:byte; {счётчик}
3. Логическая структура
Процедура создание таблицы
нет
да
Процедура поиска
нет
да
4. Текст программы
Program Martinenko_GKS_03_01;
Uses crt;
Label a,b;
Type
zap=record
d,k,e,r:longint;
lic:string;
end;
myfile=file of zap;
Var
f:myfile;
tab:zap;
t:string;
p:char;
nb,n,g:integer;
sd,sk,z1,z2,z3,z4,z5,z6:longint;
x,y1,y2,y3,y4,y5,i:integer;
Begin
z1:=0;z2:=0;z3:=0;
z4:=0;z5:=0;z6:=0;
clrscr;
textcolor(9);
Gotoxy(27,1);
Writeln('Криворожский филиал');
Gotoxy(33,2);
Writeln(Института экономики и новых технологий');
Gotoxy(25,3);
Writeln('Кафедра технической кибернетики');
Gotoxy(27,4);
Writeln('Контрольное семестровое задание');
Gotoxy(27,7);
Writeln('По дисциплине:');
Gotoxy(36,8);
Writeln('Алгоритм ические языки программироания');
Gotoxy(45,17);
Writeln('Выполнил студент группы ГКС 03-02);
Gotoxy(45,18);
Writeln('Мартыненко Александр');
Gotoxy(45,19);
Write('Проверила : ');Write('Вдовиченко И. Н.');
Gotoxy(45,20);
Writeln('Оценка:');
Gotoxy(36,24);
Writeln('Кривой Рог');
Gotoxy(37,25);
Writeln('2004 год');
For i:=1 to 2 do begin
Delay(9999);
end;
textcolor(8);
b:clrscr;
Gotoxy(25,8);
Writeln('1. Перезаписать - "r"');
Gotoxy(25,9);
Writeln('2. Просмотр данных - "d"');
Gotoxy(25,10);
Writeln('3. Поиск - "s"');
Gotoxy(25,11);
Writeln('5. Выход - "q"');
Gotoxy(1,25);
Write('Выберите действие:',' ',' ');
Readln(p);
If p='r' then
begin
Writeln('Введите количество записей:');
Readln(g);
clrscr;
n:=1;
Begin
assign(f,'a:\schet');
Rewrite(f);
For i:=1 to g do begin
Writeln('Введите лицевой счёт',n:8);
Readln(tab.lic);
Writeln('Приход: ');
Readln(tab.d);
Writeln('Расход: ');
Readln(tab.k);
Writeln('Взяли: ');
Readln(tab.e);
Writeln('Отдали: ');
Readln(tab.r);
Write(f,tab);
n:=n+1;
end;
Close(f);
end;
Gotoxy(1,25);
Writeln('возврат - "q"');
Readln(p);
If p='q' then
textcolor(8);
goto b;
end;
If p='s' then Begin
clrscr;
Writeln('Введите слово');
Readln(t);
nb:=-1;
Assign(f,'A:\schet');
Reset(f);
For i:=1 to 30 do
while not eof(f) do
begin
read(f,tab);
nb:=nb+1;
If t=tab.lic then begin
sd:=tab.d+tab.e;
sk:=tab.k+tab.r;
clrscr;
textcolor(12);
x:=1;
For i:=1 to 79 do begin
Gotoxy(x,1);
Writeln(#205);
Gotoxy(x,3);
Writeln(#205);
x:=x+1;
end;
Gotoxy(1,2);Write(#186);Gotoxy(1,1);Write(#201);Gotoxy(1,3);Write(#200);
Gotoxy(15,2);Write(#186);Gotoxy(15,1);Write(#203);Gotoxy(15,3);Write(#202);
Gotoxy(25,2);Write(#186);Gotoxy(25,1);Write(#203);Gotoxy(25,3);Write(#202);
Gotoxy(35,2);Write(#186);Gotoxy(35,1);Write(#203);Gotoxy(35,3);Write(#202);
Gotoxy(45,2);Write(#186);Gotoxy(45,1);Write(#203);Gotoxy(45,3);Write(#202);
Gotoxy(55,2);Write(#186);Gotoxy(55,1);Write(#203);Gotoxy(55,3);Write(#202);
Gotoxy(65,2);Write(#186);Gotoxy(65,1);Write(#203);Gotoxy(65,3);Write(#202);
Gotoxy(79,2);Write(#186);Gotoxy(79,1);Write(#187);Gotoxy(79,3);Write(#188);
textcolor(8);
Gotoxy(6,2);Write(tab.lic);Gotoxy(19,2);Write(tab.d);Gotoxy(29,2);Write(tab.k);
Gotoxy(39,2);Write(tab.e);Gotoxy(49,2);Write(tab.r);Gotoxy(59,2);Write(sd);
Gotoxy(69,2);Write(sk);
Gotoxy(1,4);
Write('Удаление - "c" Возврат - "q"',' ');
Readln(p);
If p='q' then goto b;
If p='c' then begin
seek(f,nb);
tab.lic:='';
tab.d:=0;
tab.k:=0;
tab.e:=0;
tab.r:=0;
Write(f,tab);
goto b;
end;
end;
end;
end;
sd:=0; sk:=0;
If p='q' then exit;
If p='d' then
nb:=0;
a:Textcolor(12);
clrscr;
x:=1;
For i:=1 to 79 do begin
Gotoxy(x,2);
Writeln(#205);
Gotoxy(x,6);
Writeln(#205);
x:=x+1;
end;
Begin
Gotoxy(1,2);Writeln(#201);Gotoxy(1,3);Writeln(#186);Gotoxy(1,4);Writeln(#186);Gotoxy(1,5);Writeln(#186);
Gotoxy(1,6);Writeln(#200);
Gotoxy(79,2);Writeln(#187);Gotoxy(79,3);Writeln(#186);Gotoxy(79,4);Writeln(#186);Gotoxy(79,5);Writeln(#186);
Gotoxy(79,6);Writeln(#188);
Gotoxy(15,2);Writeln(#203);Gotoxy(15,3);Writeln(#186);Gotoxy(15,4);Writeln(#186);Gotoxy(15,5);Writeln(#186);
Gotoxy(15,6);Writeln(#202);
Gotoxy(25,4);Writeln(#186);Gotoxy(25,5);Writeln(#186);
Gotoxy(25,6);Writeln(#202);
Gotoxy(35,2);Writeln(#203);Gotoxy(35,3);Writeln(#186);Gotoxy(35,4);Writeln(#186);Gotoxy(35,5);Writeln(#186);
Gotoxy(35,6);Writeln(#202);
Gotoxy(45,4);Writeln(#186);Gotoxy(45,5);Writeln(#186);
Gotoxy(45,6);Writeln(#202);
Gotoxy(55,2);Writeln(#203);Gotoxy(55,3);Writeln(#186);Gotoxy(55,4);Writeln(#186);Gotoxy(55,5);Writeln(#186);
Gotoxy(55,6);Writeln(#202);
Gotoxy(65,4);Writeln(#186);Gotoxy(65,5);Writeln(#186);
Gotoxy(65,6);Writeln(#202);
textcolor(10);
Gotoxy(2,3);Write('Лицевой счёт');
Gotoxy(17,5);Write('Начало месяца');
Gotoxy(27,5);Write('Приход');
Gotoxy(37,5);Write('Расход');
Gotoxy(47,5);Write('Обороты месяца');
Gotoxy(57,5);Write('Взяли');
Gotoxy(68,5);Write('Отдали');
Gotoxy(17,3);Write('Ќонец месяца ');
Gotoxy(37,3);Write('Дебит ');
Gotoxy(57,3);Write('Кредит ');
textcolor(12);
x:=15;
For i:=16 to 79 do begin
Gotoxy(x,4);Writeln(#205);
x:=x+1;
Gotoxy(15,4);Writeln(#204);
Gotoxy(35,4);Writeln(#206);
Gotoxy(55,4);Writeln(#206);
Gotoxy(25,4);Writeln(#203);
Gotoxy(45,4);Writeln(#203);
Gotoxy(65,4);Writeln(#203);
end;
end;
x:=1;y1:=8;
For i:=1 to 9 do begin
For x:=1 to 79 do begin
Gotoxy(x,y1);
write(#205);
end;
y1:=y1+2;
end;
x:=1;y1:=8;y2:=5;y3:=6;y4:=7;y5:=10;
For i:=1 to 9 do begin
Gotoxy(x,y1);Writeln(#204);
Gotoxy(x,y2);Writeln(#186);
Gotoxy(x,y3);Writeln(#204);
Gotoxy(x,y4);Writeln(#186);
Gotoxy(x,y5);Writeln(#200);
y1:=y1+2;y2:=y2+2;y3:=y3+2;y4:=y4+2;y5:=y5+2;
end;
x:=15;y1:=6;y2:=5;y3:=6;y4:=7;
For i:=1 to 9 do begin
Gotoxy(x,y1);Writeln(#206);
Gotoxy(x,y2);Writeln(#186);
Gotoxy(x,y3);Writeln(#206);
Gotoxy(x,y4);Writeln(#186);
Gotoxy(x,24);Writeln(#202);
y1:=y1+2;y2:=y2+2;y3:=y3+2;y4:=y4+2;
end;
x:=25;y1:=6;y2:=5;y3:=6;y4:=7;
For i:=1 to 9 do begin
Gotoxy(x,y1);Writeln(#206);
Gotoxy(x,y2);Writeln(#186);
Gotoxy(x,y3);Writeln(#206);
Gotoxy(x,y4);Writeln(#186);
Gotoxy(x,24);Writeln(#202);
y1:=y1+2;y2:=y2+2;y3:=y3+2;y4:=y4+2;
end;
x:=35;y1:=6;y2:=5;y3:=6;y4:=7;
For i:=1 to 9 do begin
Gotoxy(x,y1);Writeln(#206);
Gotoxy(x,y2);Writeln(#186);
Gotoxy(x,y3);Writeln(#206);
Gotoxy(x,y4);Writeln(#186);
Gotoxy(x,24);Writeln(#202);
y1:=y1+2;y2:=y2+2;y3:=y3+2;y4:=y4+2;
end;
x:=45;y1:=6;y2:=5;y3:=6;y4:=7;
For i:=1 to 9 do begin
Gotoxy(x,y1);Writeln(#206);
Gotoxy(x,y2);Writeln(#186);
Gotoxy(x,y3);Writeln(#206);
Gotoxy(x,y4);Writeln(#186);
Gotoxy(x,24);Writeln(#202);
y1:=y1+2;y2:=y2+2;y3:=y3+2;y4:=y4+2;
end;
x:=55;y1:=6;y2:=5;y3:=6;y4:=7;
For i:=1 to 9 do begin
Gotoxy(x,y1);Writeln(#206);
Gotoxy(x,y2);Writeln(#186);
Gotoxy(x,y3);Writeln(#206);
Gotoxy(x,y4);Writeln(#186);
Gotoxy(x,24);Writeln(#202);
y1:=y1+2;y2:=y2+2;y3:=y3+2;y4:=y4+2;
end;
x:=65;y1:=6;y2:=5;y3:=6;y4:=7;
For i:=1 to 9 do begin
Gotoxy(x,y1);Writeln(#206);
Gotoxy(x,y2);Writeln(#186);
Gotoxy(x,y3);Writeln(#206);
Gotoxy(x,y4);Writeln(#186);
Gotoxy(x,24);Writeln(#202);
y1:=y1+2;y2:=y2+2;y3:=y3+2;y4:=y4+2;
end;
x:=79;y1:=8;y2:=5;y3:=6;y4:=7;y5:=10;
For i:=1 to 9 do begin
Gotoxy(x,y1);Writeln(#185);
Gotoxy(x,y2);Writeln(#186);
Gotoxy(x,y3);Writeln(#185);
Gotoxy(x,y4);Writeln(#186);
Gotoxy(x,24);Writeln(#188);
y1:=y1+2;y2:=y2+2;y3:=y3+2;y4:=y4+2;y5:=y5+2;
end;
textcolor(8);
y1:=7;y2:=7;
Assign(f,'A:\schet');
Reset(f);
seek(f,nb);
For i:=1 to 38 do begin
while not eof(f) do
begin
read(f,tab);
If tab.lic<>'' then begin
sd:=tab.d+tab.e;
sk:=tab.k+tab.r;
z1:=z1+tab.d;z2:=z2+tab.k;z3:=z3+tab.e;
z4:=z4+tab.r;z5:=z5+sd;z6:=z6+sk;
Gotoxy(7,y1);Writeln(tab.lic);
Gotoxy(17,y1);Writeln(tab.d);
Gotoxy(27,y1);Writeln(tab.k);
Gotoxy(37,y1);Writeln(tab.e);
Gotoxy(47,y2);Writeln(tab.r);
Gotoxy(57,y1);Writeln(sd);
Gotoxy(67,y1);Writeln(sk);
y1:=y1+2;y2:=y2+2;
If tab.lic='458' then begin
readln; clrscr; nb:=9; Goto a; end;
If tab.lic='467' then begin
readln; clrscr; nb:=18; Goto a; end;
If tab.lic='476' then begin
readln; clrscr; nb:=27; Goto a; end;
end;
end;
end;
textcolor(12);
Gotoxy(1,25);Write(#186);Gotoxy(1,24);Write(#204);
Gotoxy(15,25);Write(#186);Gotoxy(15,24);Write(#206);
Gotoxy(25,25);Write(#186);Gotoxy(25,24);Write(#206);
Gotoxy(35,25);Write(#186);Gotoxy(35,24);Write(#206);
Gotoxy(45,25);Write(#186);Gotoxy(45,24);Write(#206);
Gotoxy(55,25);Write(#186);Gotoxy(55,24);Write(#206);
Gotoxy(65,25);Write(#186);Gotoxy(65,24);Write(#206);
Gotoxy(79,25);Write(#186);Gotoxy(79,24);Write(#185);
textcolor(1);
Gotoxy(6,25);Write('€'ЋѓЋ:');Gotoxy(16,25);Write(z1:6);Gotoxy(26,25);Write(z2:6);
Gotoxy(36,25);Write(z3:6);Gotoxy(46,25);Write(z4:6);Gotoxy(56,25);Write(z5:6);
Gotoxy(66,25);Write(z6:6);
textcolor(8);
Readln;
Goto b;
end.
5. Немного о системных требованиях
Сама программа был произведена на следующих системных ресурсах:
ь Intel Celeron 2.4 D Mhz
ь 512 Mb DDR
ь Radeon 9200 Ati 128 Mb
ь Creative Live sound Blaster
ь Motherboard Asus
6. Приимущества и недостатки программы
Приимущества:
Программа работает во всех версиях операционной системы Windows и операционной системы MS- DOS. Поддерживается самым устаревшим железом. Проста на интерфейс и очень проста в использовании. Программа быстро ьпозволяет совершить процессы удаления, перезаписи и поиска нужной информации (естественно, что только по своей базе данных).
Малоёмкая и в то - же время объёмная.
Недостатки
Перезаписать файлы можно, но при перезаписи необходимо выполнить следующее:
Поиск - “S”
При запросе на искомое слово нажать Enter.
В принципе программа неплохая для работы в консольных операционных системах, поэтому может использоваться по узкой спецификации.
Лицевой счёт |
Сальдо на начало месяца |
Обороты за месяц |
|||
Дебит |
Кредит |
Дебит |
Кредит |
||
450 |
564 |
56 |
254 |
85 |
|
451 |
652 |
452 |
126 |
56 |
|
452 |
231 |
123 |
200 |
200 |
|
453 |
425 |
25 |
365 |
311 |
|
454 |
562 |
354 |
215 |
123 |
|
455 |
325 |
254 |
100 |
345 |
|
456 |
245 |
144 |
0 |
56 |
|
457 |
653 |
500 |
0 |
125 |
|
458 |
253 |
121 |
0 |
200 |
|
459 |
632 |
245 |
36 |
56 |
|
460 |
444 |
429 |
485 |
434 |
|
461 |
121 |
200 |
120 |
0 |
|
462 |
256 |
210 |
64 |
54 |
|
463 |
64 |
100 |
25 |
0 |
|
464 |
58 |
256 |
600 |
69 |
|
465 |
32 |
30 |
0 |
0 |
|
466 |
156 |
211 |
100 |
74 |
|
467 |
254 |
100 |
200 |
100 |
|
468 |
483 |
324 |
356 |
254 |
|
469 |
125 |
0 |
25 |
20 |
|
470 |
245 |
120 |
145 |
0 |
|
471 |
326 |
0 |
236 |
250 |
|
472 |
245 |
230 |
99 |
181 |
|
473 |
111 |
11 |
58 |
21 |
|
474 |
99 |
50 |
100 |
0 |
|
475 |
650 |
325 |
579 |
300 |
|
476 |
356 |
300 |
400 |
10 |
|
477 |
410 |
0 |
36 |
10 |
|
478 |
200 |
125 |
0 |
123 |
|
479 |
98 |
100 |
250 |
0 |
|
480 |
52 |
10 |
6 |
10 |
|
481 |
456 |
536 |
322 |
156 |
|
482 |
348 |
299 |
152 |
248 |
|
483 |
246 |
139 |
240 |
25 |
|
484 |
125 |
36 |
25 |
60 |
|
485 |
387 |
79 |
287 |
84 |
|
486 |
399 |
257 |
269 |
239 |
|
487 |
564 |
50 |
459 |
25 |
Подобные документы
Сведения о языке Delphi. Основы разработки баз данных. Разработка конвертера таблицы Excel, интерфейса главной формы, модуля отображения, системы поиска информации, средств редактирования. Системные требования программы. Инструкция по эксплуатации.
курсовая работа [2,6 M], добавлен 29.12.2008Входные данные программы в файле "School.txt". Метод решения задачи и функциональная структура программы. Main – главная функция, формирование таблицы данных из файла. Блок-схема функции вывода фамилии победителей, занявших первые три призовых места.
курсовая работа [68,4 K], добавлен 17.06.2012Написание модуля на языке Ассемблер для вычисления значения выражения. Составление программы корректного ввода исходных данных в таблицу и вывода результата в виде таблицы. Создание модуля для обработки строк и программы корректного ввода исходных данных.
курсовая работа [36,8 K], добавлен 18.09.2010Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.
курсовая работа [721,4 K], добавлен 10.11.2010Программа перенесения данных из таблицы Word в таблицу базы данных. Алгоритм решения задачи в виде текстового описания. Описание базы данных (структура таблиц, схема). Копии с экрана форм для работы с базой данных при разработке их в конструкторе.
контрольная работа [914,3 K], добавлен 26.03.2011Разработка, составление и отладка программного модуля "База знаний" средствами программы Quick Sales. Описание схемы базы: возможности редактирования, удаления и добавления данных. Текст программы и контрольный пример поиска через панель управления.
курсовая работа [519,0 K], добавлен 26.01.2013Выбор программных и аппаратных средств для создания базы данных. Описание структуры программы. Описание разработки приложения. Подключение к базе данных, выполняемое с помощью компонента ADOConnectio. Создание средств защиты информации в программе.
курсовая работа [2,1 M], добавлен 16.02.2015Панель элементов: "данные", "компоненты". Описание структуры базы данных. Блок-схема реализации программы, техническое описание. Вид окна "ввод пароля". Список элементов пользовательского интерфейса. Исходный код программы. Инструкция пользователя.
курсовая работа [983,0 K], добавлен 29.09.2016Требования к функциональным характеристикам, составу и параметрам технических средств, информационной и программной совместимости. Описание программы: общие сведения, логическая структура. Средства и порядок испытаний. Входные и выходные данные.
курсовая работа [6,3 M], добавлен 12.01.2015Использование массива данных о сотрудниках небольшой фирмы для создания программы. Введение информации, ее хранение в файле workers.dat. Процедуры и функции программы, дополнительные файлы, описание предметной области и алгоритма задачи, листинг.
курсовая работа [22,0 K], добавлен 29.11.2009