50011 (Разработка программы обработки экономической информации), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка программы обработки экономической информации", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50011"

Текст 2 страницы из документа "50011"

Блок3-проверка значения p=1

Блок4-(да)цвет фона строки изменяется на чёрный

Блок5-(нет)печать 1-ого пункта меню

Блок6-возврат к прежнему фону

Блок7-проверка значения p=2

Блок8-(да)цвет фона строки изменяется на чёрный

Блок9-(нет)печать 2-ого пункта меню

Блок10-возврат к прежнему фону

Блок11-проверка значения p=3

Блок12-(да)цвет фона строки изменяется на чёрный

Блок13-(нет)печать 3-ого пункта меню

Блок14-возврат к прежнему фону

Блок15-проверка значения p=4

Блок16-(да)цвет фона строки изменяется на чёрный

Блок17-(нет)печать 4-ого пункта меню

Блок18-возврат к прежнему фону

Блок19-проверка значения p=5

Блок20-(да)цвет фона строки изменяется на чёрный

Блок21-(нет)печать 5-ого пункта меню

Блок22-возврат к прежнему фону

Блок23-проверка значения p=6

Блок24-(да)цвет фона строки изменяется на чёрный

Блок25-(нет)печать 6-ого пункта меню

Блок26-возврат к прежнему фону

Блок27-проверка значения p=7

Блок28-(да)цвет фона строки изменяется на чёрный

Блок29-(нет)печать 7-ого пункта меню

Блок30-возврат к прежнему фону

Блок31-проверка значения p=8

Блок32-(да)цвет фона строки изменяется на чёрный

Блок33-(нет)печать 8-ого пункта меню

Блок34-возврат к прежнему фону

Блок35-печать нижней рамки меню

Блок36- возврат к прежнему фону

Блок37-конец.

Рис 2.6.3.процедура okno-печать меню.

Рис 2.6.3.-продолжение

Рисунок 2.6.3-продолжение

Структура алгоритма задачи процедуры poisk(x:ukaz;imya:string) ищет необходимого студента в таблице.(Рис.2.6.4) .

Блок1-обнуление переменных числа выводимых на экран строк(n), числа элементов с требуемым именем(i) и ррисвоение указателю значения первого.

Блок2-цикл пока не конец списка

Блок3-подсчёт числа э-тов всписке с данным именем

Блок4-первод указателя на следующий эл-т

Блок5-проверка равно ли число студентов с аким именм 0

Блок6-(да)вывод на экран сообщения о том , что такого э-та нет

Блок7-(нет)изменение указателя на переданный

Блок8-выход из процедуры

Блок9-печать шапки таблицы

Блок10-цикл пока число n<>0 (число выводимых строк)

Блок11-подсчёт числа таких эл-тов

Блок12-проверка тот ли это эл-т по фамилии

Блок13-(не тот)не выделять

Блок14-(тот)выделить

Блок15-печать эл-та

Блок16-возвращение к прежнему цвету

Блок17изменение указателя на следующий

Блок18-печать нижней границы таблицы

Блок19-конец.

Рис.2.6.4-процедура поиска нужного студента.

Рис.2.6.4-продолжение.

Структура алгоритма задачи для структурных схем , выполненных на чертеже формата А1.

Для основной программы:

Блок1-присваивает значению номера строки еденицу

Блок2-организовывает печать меню с выделенной первой строкой

Блок3-организует бесконечный цикл

Блок4-организует считывание клавиш

Блок5-сравнивает код клавиш с кодом enter

Блок6-сравнивает код клавиши с 0

Блок7-роганизовывает вызов процедур по номеру строки

Блок8-чтение клавиши

Блок9-сравнивает код клавиши с кодом стрелки вниз

Блок10-привыполнении условия в блоке 9 увеличивает номер текущей строки на 1

Блок11-сравнивает номер строки с его максимальным значением

Блок12-сравнивает код клавиши с кодом стрелки вверх

Блок13-при выполнении условия в блоке 12 уменьшает значение текущей строки на 1

Блок14- сравнивает номер строки с его минимальным значением

Блок15-в случае выполнения условия блока 14 присваивают номеру строки максимальное значение

Блоки16,17,18-организуют вызов процедуры печати меню

Блоки19-25- организуют вызов процедур, соответствующих номеру строки

Блок26-выход из программы.

Блок27- при выполнении условия в блоке 11 присваивает значению номера текущей строки минимальное

Блок28-вызывает процедуру печати меню.

Для процедуры obrabotka:

Блок1-присвамивает указателю начальное значение и обнуляет промежуточную величину x.

Блок2-создает цикл обхода списка.

Блок3 –находит значения поля неоправданных пропусков для каждого эл-та.

Блок4-прверяет не равно ли число пропусков 0.Тогда:

Блок5-если не равен находит процент пропусков без уважительной причины.

Блок6- присваивает значение 0 полю процента пропусков без уважительной причины.

Блок7-нахождение промежуточной величины x для дальнейшего нахождения значения поля суммы общих прогулов без уважительной причины.

Блок8-нахождение значения суммы общих пропусков без уважительной причины. и перевод указателя на следующий эл-т.

Блок9-выводит на экран информацию о том , что обработка данных завершилась.

Описание процедур.

procedure org;-организует ввод данных из файла, создание двунаправленного сриска упорядоченного по фамилиям студентов по алфавиту.

procedure okno(t:integer);-выводит на экран меню программы.

procedure dob;-добавляет нового студента в таблицу ,не нарушая упорядоченности.

procedure udal;-удаление элемента.

procedure poisk;-поиск студента по фамилии.

procedure obrabotka;-обработка данных по заданию.

procedure zapis_v_fail;-сохранение текущей таблицы данных в файл, который укажет пользователь.

procedure klavishi(nom:integer);-считывает коды клавишь и позволяет просматривать всю таблицу в процедурах поиска и просмотра.

procedure prosmotr_2(x:ukaz);-выводит на экран текущую таблицу со всеми изменениями.

Выбор языка программирования.

Язык Turbo Pascal и компилятор выбраны из-за его гибкости, широкого распространения (субъективный фактор), малого объема исполняемого файла и достаточно высокой скорости выполнения. Компилятор Borland Pascal 7.0 . к тому же включает в себя опциональную возможность оптимизации кода программы как по скорости, так и по размеру. Основным фактором выбора языка Pascal была его более простая

работа со строками. А в данном курсовом пректе это очень важно так как чтение исходных данных производится из текстового файла , данные в котором хранятся в виде таблицы. Этот язык программирования относительно прост, он гибкий и развитый в отношнии типов языка .Язык Си более сложный при написании , поэтому в данном проекте задача была реализована на я зыке Turbo Pascal , хотя не отрицается возможнсть успешной реализации задачи на языке Си.

3. Технико-экономические показатели

В результате компиляции программы компилятором Borland Pascal 7.0 . был получен исполняемый файл формата DOS EXE размером 20 Кбайт, что является приемлемым как для компьютеров десятилетней давности, так тем более, современных.

Для работы программа требует приблизительно 200 Кбайт оперативной памяти (зависит от размера входного файла). Данный объем позволяет программе выполнятся на самом широком круге компьютеров, фактически всех поддерживающих операционную систему DOS.

Для выполнения требуется процессор класса 80x86, цветной монитор, поддерживающий текстовый режим 80х50.

Размер входного файла зависит от количества символов в нем и для 44 элементов (студентов) составляет 2Кбайта. Размер выходного файла зависит от преобразований.

В программе отсутствует ресурсоемкие процедуры, поэтому производительность центрального процессора не критична.

Программа может работать под управлением операционной системы класса DOS, при этои сохраняет работоспособность и в режиме эмуляции MS-DOS операционной системой Windows9X,Me и RedHat Linux. Работоспособность в режиме эмуляции под другими операционными системами не проверялось, хотя эта возможность не исключается.

Таким образом программа может выполняться практически на любом доступном PC компьютере.

4. Тестовый пример

Проведем эксперимент, чтобы убедиться в работоспособности программы.

Возьмем исходную таблицу(рис.4.1):

Рис.4.1- исходная таблица

Результат после обработки

Эти данные также будут сохранены в файл с указанным именем и путём к нему.

Заключение

Данная программа, составлена в соответствии с постановкой задачи на курсовое проектирование по теме "Разработка программы обработки информации" по дисциплине "Основы программирования и алгоритмические языки" (ОПиАЯ). При написании программы использованы методические указания по курсовому проектированию по дисциплине "ОПиАЯ". Для проверки работоспособности программы и правильности обработки входных данных разработан тестовый пример. Тестирование программы подтвердило, что программа правильно выполняет обработку данных и выдаёт верные результаты. Всё это свидетельствует о работоспособности программы и позволяет сделать вывод о пригодности программы к решению практических задач по обработке экономической информации.

Библиографический список

1. Немнюгин С.А. –Turbo Pascal учебник.”Питер”,2001.-496л

2. Фараонов В.В Turbo Pascal 7.0.”Нолидж”2001.

3. Конспект по лекциям ОП и АЯ.

Приложение

Листинг программы

program Kursovik;

Uses crt;

type

zap=record

fio:string[15];

nomergrupp:string[4]; //шифр группы

propusk:integer; //число пропусков

opravdan:integer; // оправданных

neopravdan:integer; //неоправданных

summa:integer; //общая сумма неоправданных

procent:real; //процент неоправданных

end;

ukaz=^querty;//создаём структуру

querty=record

inf:zap;

nr,nl:ukaz;

end;

var

sozdan:boolean; //проверяет есть ли файл

fp,ft,ff:text;

verh,newE,right,left,temp:ukaz;

z:zap;

c:char;

x,kolvo,otpech,i,number:integer;//номер строки (для меню),кол-во эл-тов

procedure okno(t:integer);FORWARD;//печать меню

procedure zapis_v_fail;FORWARD;//запись в файл

{-----------------ORGANIZACIYA IZ FAILA------------------------------------}

procedure org;//организация из файла двунаправленного списка по алфавиту

var

pop:ukaz;

d,stroka,t1,t2,t3,t4:string;

p3,p4:array[1..3]of char;

schet,pole3,pole4,errcode:integer;

begin

kolvo:=0;

gotoxy(25,25);

textcolor(black);

writeln('Input the name of file');

textcolor(white);

gotoxy(27,27);

readln(d);

if d='' then

begin

clrscr;

gotoxy(25,25);

writeln('This file does not exists!!!!!!!');

gotoxy(25,26);

writeln('Push the -enter- and input name of file again. ');

readln;

sozdan:=false;

exit;

end;

assign(ft,d);

{$I-}

reset(ft);

if IOResult <>0//проверка есть ли файл

then

begin

clrscr;

gotoxy(25,25);

writeln('This file does not exists!!!!!!!');//сообщение , что файла нет

gotoxy(25,26);

writeln('Push the -enter- and input name of file again. ');//ещё раз надо ввести имя файла

readln;

sozdan:=false;//переменной создания файла присвоить ложь

exit;

end;

sozdan:=true; //переменной создания файла присвоить правда

schet:=0;

while not EOF(ft) do//цикл пока не конец файла

begin

while schet<>4 do//пропуск 4 строк

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4125
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее