Разработка алгоритма слежения за расходом технических масел
Необходимость использования вычислительных технологий в технических расчетах. Особенности представления входной информации и разработки программы в среде Turbo-Pascal при необходимости учета технических масел на складе горюче-смазочных материалов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.11.2012 |
Размер файла | 34,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Разработка алгоритма слежения за расходом технических масел
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1.ФУНКЦИОНАЛЬНАЯ СПЕЦИФИКАЦИЯ
1.1 Входные данные
1.2 Выходная информация
1.3 Математическая постановка задачи
2 Программная спецификация
2.1 Список идентификаторов программы
2.2 Распечатка текста программы
2.3 Блок-схема
3. ЭКСПЛУАТАЦИОННЫЕ ПРОЦЕДУРЫ
3.1 Требования к техническому обеспечению
3.2 Требования к подгатовке и предоставлению данных
4. ПРОЦЕДУРЫ ТЕСТИРОВАНИЯ И СОПРОВОЖДЕНИЯ
4.1 Тестовые данные
4.2 Результаты, соответствующие тестовым данным
ЛИТЕРАТУРА
ВВЕДЕНИЕ
Деятельность отдельных людей, групп, коллективов и организаций сейчас все в большей степени начинает зависеть от их информированности и способности эффективно использовать имеющуюся информацию. Прежде чем предпринять какие-то действия, необходимо провести большую работу по сбору и переработке информации, ее осмыслению и анализу. Отыскание рациональных решений в любой сфере требует обработки больших объемов информации, что подчас невозможно без привлечения специальных технических средств.
Использование вычислительных технологий в технических расчетах позволило заметно уменьшить количество времени, затрачиваемое на эти процессы. Предположим, нам необходимо было рассчитать значение напряжения на отдельные участки предмета. Если это делать без вычислительных технологий, то необходимо сначала разработать прототип предмета, а потом проводить с ним опыты. При помощи же вычислительных технологий затраты времени, а тем более средств на эти процессы заметно сократятся, так как, например, уже можно не изготавливать прототип предмета, а используя ЭВМ провести необходимые расчеты с помощью определенных программ. Также примером преимущества может служить контроль за каким-либо процессом на некотором предприятии (например, учет инвентаря).
Также примером может послужить медицина. Сложные современные исследования в медицине немыслимы без применения вычислительной техники. К таким исследованиям можно отнести компьютерную томографию, томографию с использованием явления ядерно-магнитного резонанса, ультрасонографию, исследования с применением изотопов.
Количество информации, которое получается при таких исследованиях так огромно, что без компьютера человек был бы неспособен ее воспринять и обработать.
1.ФУНКЦИОНАЛЬНАЯ СПЕЦИФИКАЦИЯ
1.1 Входные данные
Входную информацию можно представить в виде таблицы, имеющей колонки с названиями технических масел, количество фактического и планового расхода масла для каждого станка каждого вида, количества каждого вида масла на складе ГСМ, а также цена единицы для каждого вида масла:
Название масла |
Вид станка |
Кол-во на складе |
Цена 1 единицы |
||||||||||
L |
K |
||||||||||||
1 |
2 |
3 |
1 |
2 |
|
||||||||
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
||||
M |
12 |
10 |
23 |
26 |
12 |
15 |
10 |
13 |
12 |
20 |
60 |
10 |
|
N |
10 |
23 |
12 |
3 |
10 |
23 |
10 |
23 |
21 |
32 |
50 |
20 |
|
O |
20 |
12 |
21 |
22 |
21 |
23 |
32 |
30 |
12 |
10 |
40 |
15 |
|
P |
10 |
8 |
20 |
16 |
12 |
10 |
12 |
4 |
12 |
20 |
60 |
16 |
Таким образом, опираясь на принятую форму исходного документа, можно ввести следующие структуры входных данных и их идентификаторов:
программа техническое масло учет
Название масла |
Вид станка |
Кол-во на складе |
Цена 1 единицы |
||||||||||
name1 |
namei |
||||||||||||
1 |
2 |
stanok1 |
1 |
stanoki |
|||||||||
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
||||
mas1.name |
masla111.plan |
masla121.fakt |
maslail1.fakt |
mas1.sklad |
mas1.zena |
||||||||
mas2.name |
masla112.plan |
masla122.fakt |
maslail2.fakt |
mas1.sklad |
mas2.zena |
||||||||
mask.name |
masla11k.plan |
masla12k.fakt |
maslailk.fakt |
mas1.sklad |
mask.zena |
где: mask - массив записей (k=1,m), имеющей поля:
name - наименование масла;
sklad - количество масла хранящегося на складе ГСМ;
zena - цена 1 единицы каждого масла;
maslailk - массив записей (i=1,n;l=1,stanoki;k=1,m), имеющей поля:
plan - плановый расход масла;
fakt - фактический расход масла;
stanoki - количество станков в каждом виде (i=1,n);
namei - массив наименований видов станков (i=1,n).
1.2 Выходная информация
С учетом формы входного документа выходную информацию по поставленным в задании вопросам можно представить в виде:
Задание 1:
Станок с минимальным и максимальным расходом масла
Название масла |
Вид станка |
||||||||||
L |
K |
||||||||||
1 |
2 |
3 |
1 |
2 |
|||||||
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
||
M |
12 |
10 |
23 |
26 |
12 |
15 |
10 |
13 |
12 |
20 |
|
N |
10 |
23 |
12 |
3 |
10 |
23 |
10 |
23 |
21 |
32 |
|
O |
20 |
12 |
21 |
22 |
21 |
23 |
32 |
30 |
12 |
10 |
|
P |
10 |
8 |
20 |
16 |
12 |
10 |
12 |
4 |
12 |
20 |
|
min=1 станок вида L |
max=2 станок вида К |
Задание 2:
Масла в избытке или в недостатке на складе ГСМ
Название масла |
Вид станка |
Кол-во на складе |
Избыток или недостаток |
||||||||||
L |
K |
||||||||||||
1 |
2 |
3 |
1 |
2 |
|||||||||
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
||||
M |
12 |
10 |
23 |
26 |
12 |
15 |
10 |
13 |
12 |
20 |
60 |
избыток |
|
N |
10 |
23 |
12 |
3 |
10 |
23 |
10 |
23 |
21 |
32 |
50 |
избыток |
|
O |
20 |
12 |
21 |
22 |
21 |
23 |
32 |
30 |
12 |
10 |
40 |
избыток |
|
P |
10 |
8 |
20 |
16 |
12 |
10 |
12 |
4 |
12 |
20 |
60 |
недостаток |
Задание 3:
Список станков в порядке уменьшения стоимости расхода масел для каждого вида оборудования
Вид L
Станок |
Расходы |
|
3 |
1115 |
|
2 |
906 |
|
1 |
868 |
Вид К
Станок |
Расходы |
|
2 |
1310 |
|
1 |
1104 |
Опираясь на формы приведенных выходных документов, для получения этой информации можно ввести следующие идентификаторы:
minj,maxj - массивы, в которых хранятся данные по максимальному и минимальному расходу масла, где при:
j=1 - значение расхода масла;
j=2 - вид станка;
j=3 - номер станка в виде;
rashod - общий расход масла;
stoimostt - расходы для каждого станка в виде (t=1,stanoki; stanoki - количество станков в виде i).
1.3 Математическая постановка задачи
Математически определим последовательность действий:
1 задание: найти для каждого станка сумму использованных масел summa, а затем найти минимальный и максимальный элементы:
for i:=1 to n do
for l:=1 to stanok[i] do
begin
for k:=1 to m do
summa[l]:=summa[l]+masla[i,l,k].fakt;
if summa[l]>max[1] then
begin
max[1]:=summa[l];
max[2]:=i;
max[3]:=l;
end;
if (summa[l]<min[1]) or (l=1) then
begin
min[1]:=summa[l];
min[2]:=i;
min[3]:=l;
end;
summa[l]:=0;
end;
2 задание: для каждого вида масла найти разность суммы количества затрачиваемого масла на каждый станок и количества хранящегося на складе ГСМ:
for k:=1 to m do
begin
for i:=1 to n do
for l:=1 to stanok[i] do
rashod:=rashod+masla[i,l,k].fakt;
if rashod<mas[k].sklad then writeln(mas[k].name, ' находится на складе в избытке');
if rashod>mas[k].sklad then writeln(mas[k].name, ' нехватает на складе');
3 задание: произвести сортировку в массиве расходов (stoimostil).
for i:=1 to n do
for l:=1 to stanok[i] do
for l1:=1 to stanok[i] do
if stoimost[i,l]<stoimost[i,l1] then
begin
a:=stoimost[i,l];
stoimost[i,l]:=stoimost[i,l1];
stoimost[i,l1]:=a;
b:=index[l1];
index[l1]:=index[l];
index[l]:=b;
end;
2. Программная спецификация
2.1 Список идентификаторов программы
Используемые переменные:
rashod - переменная в которой сохраняется значение расходов для текущего станка;
stoimostil - - расходы для каждого станка в виде (t=1,stanoki; stanoki - количество станков в виде i).
maxj,minj - массивы, в которых хранятся данные по максимальному и минимальному расходу масла, где при:
j=1 - значение расхода масла;
j=2 - вид станка;
j=3 - номер станка в виде;
namei - массив наименований видов станков (i=1,n);
stanoki - количество станков в каждом виде (i=1,n);
mask - массив записей (k=1,m), имеющей поля:
name - наименование масла;
sklad - количество масла хранящегося на складе ГСМ;
zena - цена 1 единицы каждого масла;
maslailk - массив записей (i=1,n;l=1,stanoki;k=1,m), имеющей поля:
plan - плановый расход масла;
fakt - фактический расход масла.
2.2 Распечатка текста программы.
type
mr=record
fakt,plan:real;
end;
masl=record
name:string;
zena:real;
sklad:real;
end;
var
n,m,i,l,l1,k,b:integer;
rashod,a:real;
stoimost:array[1..10,1..10] of real;
summa:array[1..10] of real;
max,min:array[1..3] of real;
name:array[1..10] of string;
stanok,index:array[1..10] of integer;
mas:array[1..10] of masl;
masla:array[1..10,1..10,1..10] of mr;
begin
rashod:=0;max[1]:=0;
write('Введите кол-во видов станков n=');
readln(n);
write('Введите кол-во марок технических масел m=');
readln(m);
writeln('Название видов станков');
for i:=1 to n do
begin
write('Вид ',i,' - ');
readln(name[i]);
end;
writeln('Ввод кол-вa станков по каждому виду');
for i:=1 to n do
begin
write(name[i],'= ');
readln(stanok[i]);
end;
writeln('Ввод названий масел');
for k:=1 to m do
begin
write(k,' - ');
readln(mas[k].name);
end;
writeln('Ввод расхода масел по стакнкам');
for i:=1 to n do
begin
writeln('Ввод по ',name[i],':');
for l:=1 to stanok[i] do
begin
writeln(l,' станок');
index[l]:=l;
summa[l]:=0;
for k:=1 to m do
begin
writeln('Масло - ',mas[k].name);
write(#9,'плановый расход:');
readln(masla[i,l,k].plan);
write(#9,'фактический расход:');
readln(masla[i,l,k].fakt);
end;
end;
writeln;
end;
writeln('Ввод кол-во на складе ГСМ');
for k:=1 to m do
begin
write(mas[k].name,' : ');
readln(mas[k].sklad);
end;
writeln('Ввод стоимость единицы масла');
for k:=1 to m do
begin
write(mas[k].name,' : ');
readln(mas[k].zena);
end;
{ЗАДАНИЕ1}
for i:=1 to n do
for l:=1 to stanok[i] do
begin
for k:=1 to m do
summa[l]:=summa[l]+masla[i,l,k].fakt;
if summa[l]>max[1] then
begin
max[1]:=summa[l];
max[2]:=i;
max[3]:=l;
end;
if (summa[l]<min[1]) or (l=1) then
begin
min[1]:=summa[l];
min[2]:=i;
min[3]:=l;
end;
summa[l]:=0;
end;
writeln(max[3]:4:0,' станок ',name[round(max[2])],' потребляет больше всего масел ',max[1]:8:6);
writeln(min[3]:4:0,' станок ',name[round(min[2])],' потребляет меньше всего масел ',min[1]:8:6);
readln;
{ЗАДАНИЕ2}
writeln('Вид масла и его избыток или недостаток');
for k:=1 to m do
begin
for i:=1 to n do
for l:=1 to stanok[i] do
rashod:=rashod+masla[i,l,k].fakt;
if rashod<mas[k].sklad then writeln(mas[k].name, ' находится на складе в избытке');
if rashod>mas[k].sklad then writeln(mas[k].name, ' нехватает на складе');
rashod:=0;
end;
readln;
{ЗАДАНИЕ 3}
writeln('Список станков в порядке уменьшения стоимости расхода масел');
for i:=1 to n do
begin
writeln('По ',name[i],':');
writeln('Станок',#9,'цена');
for l:=1 to stanok[i] do
for k:=1 to m do
stoimost[i,l]:=stoimost[i,l]+masla[i,l,k].fakt*mas[k].zena;
for l:=1 to stanok[i] do
for l1:=1 to stanok[i] do
if stoimost[i,l]<stoimost[i,l1] then
begin
a:=stoimost[i,l];
stoimost[i,l]:=stoimost[i,l1];
stoimost[i,l1]:=a;
b:=index[l1];
index[l1]:=index[l];
index[l]:=b;
end;
for l:=1 to stanok[i] do
writeln(index[l],#9,stoimost[i,l]:8:6);
writeln;
end;
readln;
end.
2.3 Блок-схема
3. ЭКСПЛУАТАЦИОННЫЕ ПРОЦЕДУРЫ
3.1 Требования к техническому обеспечению
Программа была создана на ЭВМ со следующими характеристиками:
операционная система: Windows XP;
тип и частота процессора: AMD Sempron 3300;
объем оперативной памяти: 1536Mb.
3.2 Требования к подгатовке и предоставлению данных
· количество видов станков: любое натуральное число;
· количество марок технических масел: любое натуральное число;
· количество станков каждого вида: любое натуральное число;
· плановые и фактические расходы: любое целое положительное число;
· количество масла каждой марки на складе ГСМ: любое положительное число;
· стоимость единицы по всем маркам: любое положительное вещественное число.
4. ПРОЦЕДУРЫ ТЕСТИРОВАНИЯ И СОПРОВОЖДЕНИЯ
4.1 Тестовые данные
Данные предоставлены для n=2 видов станков, m=2 видов масел, в каждом виде станков - 2 станка.
Название масла |
Вид станка |
Кол-во на складе |
Цена 1 единицы |
||||||||
L |
K |
||||||||||
1 |
2 |
1 |
2 |
||||||||
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
||||
M |
22 |
25 |
23 |
21 |
10 |
13 |
15 |
15 |
70 |
10 |
|
N |
10 |
13 |
12 |
13 |
10 |
23 |
21 |
32 |
81 |
15 |
4.2 Результаты, соответствующие тестовым данным
Станок с минимальным и максимальным расходом масла
Название масла |
Вид станка |
||||||||
L |
K |
||||||||
1 |
2 |
1 |
2 |
||||||
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
||
M |
22 |
25 |
23 |
21 |
10 |
13 |
15 |
15 |
|
N |
10 |
13 |
12 |
13 |
10 |
23 |
21 |
32 |
|
min=1 станок вида L |
max=2 станок вида К |
Масла в избытке или в недостатке на складе ГСМ
Название масла |
Вид станка |
Кол-во на складе |
Избыток или недостаток |
||||||||||
L |
K |
||||||||||||
1 |
2 |
1 |
2 |
||||||||||
пл |
ф |
пл |
ф |
пл |
ф |
пл |
ф |
||||||
M |
22 |
25 |
23 |
21 |
15 |
15 |
70 |
22 |
25 |
недостаток |
|||
N |
10 |
13 |
12 |
13 |
21 |
32 |
81 |
10 |
13 |
-------------- |
Список станков в порядке уменьшения стоимости расхода масел для каждого вида оборудования
Вид L
Станок |
Расходы |
|
1 |
445 |
|
2 |
405 |
Вид К
Станок |
Расходы |
|
2 |
630 |
|
1 |
475 |
ЛИТЕРАТУРА
1. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс.Учебное пособие. -М.: “Нолидж” , 1998. -616 с.
2. Вычислительная техника и программирование. Под редакцией А.В. Петрова М, Высшая школа, 1990
3. Марченко А.И., Марченко Л.И. Программирование в среде Turbo-Pascal 7.0-М., Бином Универсал, К.: Юниор, 1997
4. Фаронов В.В. Турбо Паскаль (в 3-х книгах). Кн. 3. Практика программирования. Часть 2. - М.: Учебно-инженерный центр “МВТУ - ФЕСТО ДИДАКТИК”, 1993. - 304 с., ил.
5. Зубарева Н.М., Баринова Т.Н. Программирование и алгоритмизация: Учебное пособие по самостоятельному выполнению контрольных работ и курсового проектирования для студентов специальностей 210200 заочной формы обучения, 251100, 251200, 250400, 250600, 320700 очной формы обучения. Красноярск: СибГТУ, 2002. - 56с.
Размещено на Allbest.ru
Подобные документы
Разработка алгоритма поставленной задачи по обработке числовой информации в среде Turbo Pascal 7.0 с базовым языком программирования Pascal, отладка программы, реализующей разработанный алгоритм. Описание структуры программы, ее вспомогательных процедур.
курсовая работа [668,0 K], добавлен 25.02.2010Особенности поиска среднеарифметического значения элементов массива. Общая характеристика проблем разработки в среде Turbo Pascal программы упорядочивания массива по возрастанию. Рассмотрение основных этапов разработки программы на языке PASCAL.
курсовая работа [896,7 K], добавлен 18.05.2014Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.
курсовая работа [446,0 K], добавлен 19.06.2014Разработка алгоритма и программы, которая позволяет создавать программное обеспечение для языка программирования Паскаль. Функциональная спецификация программы. Выбор и обоснование комплекса технических средств. Пользовательское меню и интерфейс.
курсовая работа [1,3 M], добавлен 02.02.2014Разработка эскизного и технического проектов программы "Helpopr" (ввод, хранение и вывод данных на дисплей по запросу пользователя). Язык программирования Turbo Pascal. Описание алгоритма программы. Требования к компьютеру и программному обеспечению.
курсовая работа [198,1 K], добавлен 03.02.2010GetMatrDop как процедура определяет значение элемента транспонированной матрицы дополнений. Знакомство с этапами разработки в среде Turbo Pascal программы сортировки элементов, находящихся на главной диагонали матрицы. Особенности тестирования программы.
курсовая работа [780,4 K], добавлен 20.11.2014Разработка программы для автоматизации расчетов на телефонной станции. Описание входной и выходной информации, комплекс технических средств. Интерфейс конечного пользователя. Проектирование программных модулей представления входных и выходных данных.
курсовая работа [460,1 K], добавлен 26.06.2015Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.
лабораторная работа [12,7 K], добавлен 14.05.2011Общая характеристика технических средств информационных технологий. Жизненный цикл технических информационных технологий, его основные этапы и отличительные особенности. Определение необходимости технической поддержки определенного вида деятельности.
реферат [21,1 K], добавлен 05.11.2010Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.
курсовая работа [115,5 K], добавлен 22.05.2010