Реферат: Обработка экономической информации средствами языка Pascal
Иначе выполняется алгоритм добавления новой записи
else
begin
очистка экрана
clrscr;
Ввод количества добовляемых записей -mm
writeln('Введите количество добовляемых записей:');
read(mm);
очистка экрана
clrscr;
Подготовка файла к чтению, определения конца файла и установка указателя в конец файла
reset(f); n:=filesize(f); seek(f,n);
установка номера добовляемой записи
pp:=n+1;
Цикл добавления записи. Завершится тогда, когда номер последней добавляемой записи qq будет равен mm
repeat
writeln('введи текущий номер продукции...');readln(qq); a.n:=pp;
writeln('введи переходящий остаток продукции на начало года...');
readln(a.e1);
writeln('введи приход продукции...'); readln(a.e2);
writeln('введи расход...');readln(a.e3);
writeln('введи цену за 1 шт...');readln(a.e4);
write(f,a);
pp:=pp+1;
until (qq=mm);
Очистка экрана и вывод сообщения
clrscr;
writeln('ВСЁ OK.');
Задержка программы
delay(1000);
Возврат в главное меню и переход к метки menu2
menu; goto menu2;
Завершение составного оператора begin…end
end;
Завершение составного оператора begin…end
end
else
Если l не равно 1, не 2 и не 3, а равно 4, то выполняется алгоритм удаления записей
if l=4 then
begin
Очистка экрана
clrscr;
Установка текстового экрана для вывода таблицы с помощью процедуры view
window(1,1,68,22);
view(17);
Установка текстового экрана для управления удаления записей
window(64,1,80,22);
Установка цвета символов и вывод сообщения
textcolor(15);
writeln('Продолжить? (y/n)');
Считывание клавиши с клавиатуры
c:=readkey;
Если
нажата любая
клавиша, кроме
if c<>#121 then begin textmode(Co80); menu; goto menu2; end
Иначе происходит ввод удаляемой записи - nn
else
begin
write('Введи номер:');
readln(nn);
Если вводимого номера записи не существует – выполняется процедура вывода сообщения об ошибке – error, и переход к метки menu2
if nn>filesize(f) then begin error; goto menu2; end;
Удаление записи: запись в новый файл:
Подготовка файла к чтению
reset(f);
Установка связь с новым файлом
assign (f2,'k2');
Подготовка нового файла к записи
rewrite(f2);
Обнуление переменных, необходимых для удаления записи
l:=0;q:=0;
Определение количества записей в первоначальном файле
n:=filesize(f);
Цикл перезаписи записей из первого файла в новый, при этом удаляемая запись игнорируется. Цикл завершается, когда все записи будут переписаны
repeat
l:=l+1;
if l<>nn then
begin
q:=q+1;
seek(f,l-1);
read(f,a);
b.n:=q; b.e1:=a.e1; b.e2:=a.e2; b.e3:=a.e3; b.e4:=a.e4;
write(f2,b);
end;
until l=n;
Подготовка только что созданного файла к чтению.
reset(f2);
Подготовка первоначального файла к перезаписи
rewrite(f);
Цикл перезаписи из только что созданного файла записей в первоначальный, но уже без требуемой записи. Перезапись будет производиться, пока не конец второго файла
repeat
read(f2,b);
a.n:=b.n; a.e1:=b.e1; a.e2:=b.e2; a.e3:=b.e3; a.e4:=b.e4;
write(f,a);
until eof(f2);
Вывод сообщения и задержка программы
writeln;
writeln('Всё Ok!');
delay(1000);
Вывод сообщения о возможности продолжения удаления новых записей или возврата к главному меню
writeln('Reload-
write('Exit-
Считывание клавиши с клавиатуры
c:=readkey;
Если
нажата клавиши
if c=#27 then begin menu; goto menu2; end
иначе устанавливается стандартный текстовой режим, l присваивается 4 и осуществляется переход к метке menu2, т.е. происходит опять алгоритм удаления записи
else begin textmode(Co80); l:=4; goto menu2; end;
Завершение составных операторов begin…end
end;
end
Если l не равно 1, не 2 и не 3, и не 4, а равно 5, то выполняется алгоритм редактирования записей
else
if l=5 then
begin
Выполняется процедура вывода таблицы
view(27);
Установка цвета символов и вывод сообщения
textcolor(15);
writeln('Продолжить? (y/n)');
Считывание клавиши с клавиатуры
c:=readkey;
Если
нажата любая
клавиша, кроме
if c<>#121 then begin textmode(Co80); menu;goto menu2; end
Иначе происходит ввод номера записи для редактирования - nn
else
begin
write('Введите номер для редактирования:'); read(nn);
Если вводимого номера записи не существует – выполняется процедура вывода сообщения об ошибке – error, и переход к метки menu2
if nn>filesize(f) then begin error; goto menu2; end;
Очистка экрана и установка переменной i, для предварительного просмотра записи
clrscr;
i:=27;
Подготовка файла к чтению и записи и установка указателя на нужной редактируемой записи
reset(f); seek(f,nn-1);
Считывание и вывод на экран редактируемой записи для предварительного просмотра
read(f,a);
st:=((a.e1+a.e2)-a.e3)*a.e4;
gotoXY(i-15,1);write(a.n);
gotoXY(i-5,1);write(a.e1);
gotoxy(i+11,1);write(a.e2);
gotoxy(i+20,1);write(a.e3);
gotoxy(i+29,1);write(a.e4:4:2);
gotoxy(i+37,1);write(st:4:2);
gotoxy(7,2);
Установка указателя на необходимой записи, т.к. после вывода на экран указатель сдвинулся
seek(f,nn-1);
Вывод сообщений о подтверждении редактирования каждого компонента редактируемой записи.
Если
при этом будет
нажата
Если
при выводе
сообщения будет
нажата любая
клавиши, кроме
writeln('Изменить переходящий остаток продукции на начало года?
(y/n)');
c:=readkey;
if c=#121 then begin write('Вводим новое:');read(nn); a.e1:=nn; end;
writeln;
writeln('Изменить приход продукции? (y/n)');c:=readkey;
if c=#121 then begin write('Вводим новое:'); read(nn);a.e2:=nn; end;
writeln;
writeln('Изменить расход? (y/n)');c:=readkey;
if c=#121 then begin write('Вводим новое:'); read(nn);a.e3:=nn; end;
writeln;
writeln('Изменить цену за 1 шт? (y/n)');c:=readkey;
if c=#121 then begin write('Вводим новое:'); read(o);a.e4:=o; end;
write(f,a);
Вывод сообщение и задержка программы
writeln; write('Все Ok'); delay(1000);
Очистка экрана, возврат к главному меню и переход к метке menu2
clrscr; menu;
goto menu2;
Завершение составных операторов begin…end
end;
end
else
Если l не равно 1, не 2 и не 3, и не 4, и не 5, а равно 6, то выполняется процедура вывода заставки - zast, после завершения которой происходит переход к главному меню и метке menu2
if l=6 then begin zast; menu; goto menu2; end;
Если l не равно 1, не 2 и не 3, и не 4, не 5, и даже не 6, а - 7, то выполняется процедура выхода из программы –exitt
if l=7 then exitt
Если l не равно 1, не 2 и не 3, и не 4, не 5, и даже не 6, и уж точно не 7, то выполняется процедура вывода сообщения об ошибке. После завершения этой процедуры происходит переход к метке menu2
else
begin error; goto menu2; end;
{========================END_Proga========================}
ЗАВЕРШЕНИЕ ПРОГРАММЫ
END.
6 Список литературы
1. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие.-М.: «Нолидж», 1998.-616 с.
2. Вычислительная техника и программирование. Под редакцией А. В. Петрова М, Высшая школа, 1990
3. Марченко А.И., Марченко Л.И. Программирование в среде Turbo-Pascal 7.0-М., Бином Универсал, К.:Юниор,1997
4. http://www.rusdoc.ru
5. http://www.borland.ru
6. http://www.infocity.kiev.ua
Приложение А
Реализация продукции за год.
Writed by Sergei Kovbasyuk (c)2000."Sorge pro". Rights don't reserved. e-mail:office@sorgepro.agava.ru http://sorgepro.agava.ru |
Редактирование и отладка программ с помощью Pascal | |
АКТЮБИНСКИЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ ОТЧЕТ ПО УЧЕБНОЙ ПРАКТИКЕ Выполнил: Журмухамедов Марат Проверила: Гайсагалеева Б.М. АКТОБЕ 2010 г. ДНЕВНИК ДАТА ... end; begin WriteLn(' ВВЕДИ TN,TK,N') if p>0 then begin t:=round(3*t/4);n:=t div h end; |
Раздел: Рефераты по информатике, программированию Тип: отчет по практике |
Структурная надежность радиотехнических систем | |
Содержание Введение 1. Классификация структур радиотехнических систем 2. Методы исследования структурной надежности радиотехнических систем 2.1 Точный ... if mh [w] >1 then mh [w]: =1; if z=s then writeln ('связна') else writeln ('несвязна') |
Раздел: Рефераты по коммуникации и связи Тип: дипломная работа |
Поиск в ширину на графах |
Реферат В данной работе: 7 рисунков, 1 программа, 1 приложение, 35 листов. Ключевые словjaGl2ZQ==retrieved">Скачать |
Разработка компьютерной игры "Змейка" | |
Введение Ни для кого не секрет, что видео игры прочно заняли свою позицию в современной индустрии развлечений. Существуют попытки выделить ... If Kno=#80 then Begin if k2<2 then kk:=1 else kk:=0; end else Begin W:=-1; H:=0; end; |
Раздел: Рефераты по информатике, программированию Тип: курсовая работа |
Проектирование и разработка сетевых броузеров на основе теоретико ... | |
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ ТАВРИЧЕСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ им. В.И.Вернандского МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ КАФЕДРА ИНФОРМАТИКИ ... if second then begin GetTime(h,m,s,hund);TextColor(Green);GotoXY(x,y);Write(LeadingZero(h), |
Раздел: Рефераты по информатике, программированию Тип: дипломная работа |