3.4 Перевод модели на язык программирования
3.4.1 Выбор языка программирования
Структурное программирование – это технология создания программ, позволяющая путем соблюдения определенных правил уменьшить время разработки и количество ошибок, а также облегчить возможность модификации программы.
Разные типы процессоров имеют разный набор команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. Языком самого низкого уровня является язык ассемблера, который просто представляет каждую команду машинного кода в виде специальных символьных обозначений, которые называются мнемониками. С помощью языков низкого уровня создаются очень эффективные и компактные программы, так разработчик получает доступ ко всем возможностям процессора. Т .к. наборы инструкций для разных моделей процессоров тоже разные, то каждой модели процессора соответствует свой язык ассемблера, и написанная на нем программа может быть использована только в этой среде. Подобные языки применяют для написания небольших системных приложений, драйверов устройств и т. п.
С помощью языка программирования создается текст, описывающий ранее составленный алгоритм. Чтобы получить работающую программу, надо этот текст перевести в последовательность команд процессора, что выполняется при помощи специальных программ, которые называются трансляторами. Трансляторы бывают двух видов: компиляторы и интерпретаторы. Компилятор транслирует текст исходного модуля в машинный код, который называется объектным модулем за один непрерывный процесс. При этом сначала он просматривает исходный текст программы в поисках синтаксических ошибок. Интерпретатор выполняет исходный модуль программы в режиме оператор за оператором, по ходу работы, переводя каждый оператор на машинный язык.
Языки программирования высокого уровня не учитывают особенности конкретных компьютерных архитектур, поэтому создаваемые программы на уровне исходных текстов легко переносятся на другие платформы, если для них созданы соответствующие трансляторы.
Си – был создан в 70- е годы первоначально не рассматривался как массовый язык программирования. Он планировался для замены ассемблера, чтобы иметь возможность создавать такие же эффективные и короткие программы, но не зависеть от конкретного процессора. Он во многом похож на Паскаль и имеет дополнительные возможности для работы с памятью.
Си++ - объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980г.
3.4.2 Программа
Принятые сокращения:
tk – количество минут (в нашей программе tk = 7200, т.е. 5 дней);
kol – количество машин, прибывших на СТО за 5 дней;
st – счетчик машин, поступивших на СТО за 5 дней;
i – переменная;
j – кол-во машин, поступивших на тех. обслуживание;
r1 - кол-во машин, поступивших на простой ремонт;
r2- кол-во машин, поступивших на средний ремонт;
r3- кол-во машин, поступивших на сложный ремонт;
k, l, m, n – переменные;
p – случайное число;
s_to – выручка на блоке тех. обслуживания за 5 дней;
s_pr– выручка по простому ремонту за 5 дней;
s_sr– выручка по среднему ремонту за 5 дней;
s_sl– выручка по сложному ремонту за 5 дней;
SUM– общая выручка на СТО за 5 дней.
Программный код:
#include<iostream.h>
#include<math.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
int tk,kol,i=0,j=0,r1=0,r2=0,r3=0,k=1,l=1,m=1,n=1;
float p, st=0, s_to=0, s_pr=0, s_sr=0, s_sl=0, SUM;
cin>>tk;
while (st<=tk)
{
p = - log(rand()))/32767*14;
st=st+p;
i++;
}
kol=i;
for (i=1; i<=kol; i++)
{
p=float(rand())/32767;
if (p<=0,12) {j++; r2++;}
else if (p>0,12 && p<=0,36) j++;
else if (p>0,36 && p<=0,57) r1++;
else if (p>0,57 && p<=0,78) r2++;
else r3++;
}
while (k<=j)
{
p= float(rand())/32767*300+100;
s_to=s_to+p;
k++;
}
while (l<=r1)
{
p=float(rand())/32767*400+50;
s_pr=s_pr+p;
l++;
}
while (m<=r2)
{
p=float(rand())/32767*1300+100;
s_to=s_to+p;
k++;
}
while (n<=r3)
{
p=float(rand())/32767*2200+350;
s_sl=s_sl+p;
n++;
}
SUM=s_to+s_pr+s_sr+s_sl;
cout<<"viruchka za 5 dnei ravna"<<SUM<<endl;
}
Рис.9 Результат выполнения программы
Заключение
Широкое внедрение электронно-вычислительной техники во все сферы нашей жизни в последнее время, вызвало бурный рост технологий, связанных с применением в них средств вычислительной техники. Одной из наиболее крупных отраслей развития технологий с применением ЭВМ, является математическое моделирование, которое достаточно просто (в отличие от аналогового моделирования) может быть реализовано на ЭВМ разных модификаций и возможностей. Связано это с тем, что при математическом моделировании модель представляет собой определенную последовательность математических зависимостей и динамика такой модели представляет собой изменение параметров зависимостей в результате выполнения расчетов. Математическое моделирование тесно связано с имитационным моделированием. Одним из разделов математического моделирования, являются модели систем массового обслуживания и их изучение.
В данном курсовом проекте была построена имитационная модель СТО с использованием программы С++, при этом мы использовали программу моделирования процесса с N обрабатывающими устройствами и с очередью. В результате моделирования мы вычислили: выручку на СТО за 5 дней, построили график обслуживания автомобилей, программу и блок-схему.
Список использованной литературы
1. Емельянов А.А. «имитационное моделирование экономических процессов» 2002г
2. Советов В.Я., Яковлев С.А. «Моделирование системы» 2001г.
3. Соболь И.М. «Метод Монте-Карло» 1968г.
4. Шеннон Р. «Имитационное моделирование систем – искусства и науки» 1978г.
5. «Машинные имитационные эксперименты с моделями экономических систем» под редакцией Нейлера.
6. Бусленко М.П. «Моделирование сложных систем».
7. Кеольтон В., Лод А. «Имитационное моделирование. Классика CS» издание 3-е, 2004г.
... на лазерные компакт-диски. Система моделирования Орлан ориентирована на достаточно широкий круг пользователей. В первую очередь, естественно, это администраторы вычислительных сетей предприятий, стоящие перед задачей проектирования или исследования сети. Обязательное условие, накладываемое системой – проектируемая сеть должны основываться на стандарте Ethernet. Но, так как абсолютное ...
... 2-3 Поиск литературы 7 1 7 2-4 Разработка модели разветвленной СМО 6 1 6 3 Поиск литературы завершен 3-6 Изучение литературы по теории массового обслуживания 10 1 10 4 Модель разработана 4-5 Разработка алгоритма программы 10 1 10 5 Алгоритм программы разработан 5-7 Выбор среды программиро-вания и создание программы 30 1 ...
... характером квазипараллельного процесса является коренной причиной их неполного соответствия. Рисунок 1.2 — Динамика взаимодействия элементов СС. 2 СРЕДСТВА РЕАЛИЗАЦИИ ИМИТАЦИОННОЙ МОДЕЛИ 2.1 Табличный процессор Excel Имитационная модель автоматизированного участка обработки деталей реализована при помощи табличного процессора MS Excel и встроенной среды программирования Visual Basic for ...
... очередь длины k, остается в ней с вероятностью Pk и не присоединяется к очереди с вероятностью gk=1 - Pk,'. именно так обычно ведут себя люди в очередях. В системах массового обслуживания, являющихся математическими моделями производственных процессов, возможная длина очереди ограничена постоянной величиной (емкость бункера, например). Очевидно, это частный случай общей постановки. Некоторые ...
0 комментариев