это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
Курсова робота
на тему: «Дослідження зміни швидкості та витікання ідеального газу із ємкості під тиском»
Постановка задачі
Описати масив структур з трьох елементів. Кожна структура об’єднує дані для одного варіанта розрахунків. Необхідно для кожного варіанта на відрізку часу від 0 до Т з кроком dt (∆ t) побудувати графік зміни швидкості та витікання ідеального газу із ємкості під тиском.
Де R – універсальна газова стала, M – молекулярна маса газу, Tc – температура в ємкості, Po – тиск у ємкості.
де – відношення теплоємностей.
Температура Ро та То змінюється в часі:
Тут Рn, A, To, B – задані константи. Вхідні дані зчитувати з файлу, результати розрахунків записувати в інший файл. Передбачити окремі функції для обчислення Ро та То.
Нижче представлені 3 варіанти вхідних даних:
1) R = 8.31696 Дж/грам*моль, To = 400о К, час T = 1200 с, dt = 600 с, B = 50 о К, Pn = 3.2, A = 1.2, M = 28.96, K = 1.402, P = 1.2 атм.
2) R = 8.31696 Дж/грам*моль, To = 400о К, час T = 1200 с, dt = 600 с, B = 50 о К, Pn = 4, A = 1.5, M = 28.96, K = 1.402, P = 1.5 атм.
3) R = 8.31696 Дж/грам*моль, To = 400о К, час T = 1200 с, dt = 600 с, B = 50 о К, Pn = 5, A = 2, M = 28.96, K = 1.402, P = 2 атм.
Таблиця символічних імен
| Змінна | Фізичний зміст | Одиниця вимірювання |
| R | універсальна газова стала | Дж/грам*моль (Дж – Джоуль) |
| T | час за який газ витікає із ємкості | с (секунди) |
| dt | крок що береться для оцінки зміни стану газу у часі | _ |
| B | задана константа | _ |
| M | молекулярна маса газу | |
| Тс | температура в ємкості | °К (градусів за Кельвіном) |
| Ро | тиск у ємкості | Па (Паскаль) |
| Pn | задана константа | _ |
| A | задана константа | _ |
| To | задана константа | _ |
| p | тиск що діє на газ у ємкості | атм. |
| t | час | с (секунди) |
| Kg | Kg = (k‑1)/k | _ |
| k | відношення теплоємкостей | _ |
Блок – схема
Текст програми мовою С
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <graphics.h>
#define №3
#define FN 21
#define R_ 8.31696
#define T_ 1200
#define dt_ 60
#define B_ 50
#define M_ 28.96
#define K_ 1.402
#define T0_ 400
struct data
{
float Pn;
float A;
float p;
}
x[N];
float Tc (float T0, float B, float t, float T);
float P0 (float Pn, float A, float t, float T);
float Kg (float K);
void graf_output (int c, float xu[], float yv[], int N_, char*title);
// –
void main()
{
float tx[N] [FN];
float wx[N] [FN];
float w, t, Tc_, P0_, Kg_;
int i, j;
char str[40];
FILE *data;
FILE *out;
clrscr();
data = fopen («input.txt», «r»);
if (! data)
{
printf («The file input.txt hasn't been found. Please create it or change the directory. n»);
getch();
exit(1);
}
out = fopen («output.txt», «w»);
for (i=0; i<N; i++)
{
fscanf (data, «%f % f % f»,&x[i].Pn,&x[i].A,&x[i].p);
}
printf («Please type in any decimal number:»);
scanf («%f»,&Kg_);
fclose(data);
clrscr();
for (i=0; i<N; i++)
{
for (t=0, j=0; t<=T_; t=t+dt_, j++)
{
Tc_ = Tc (T0_, B_, t, T_);
P0_ = P0 (x[i].Pn, x[i].A, t, T_);
Kg_ = Kg (K_);
w = 2*R_*Tc_/(Kg_ * M_);
w *= 1 – pow (x[i].p/P0_, Kg_);
w = sqrt(w);
fprintf (out, «%.0ft%.5fn», t, w);
tx[i] [j]=t;
wx[i] [j]=w;
}
fprintf (out, "nnnn»);
}
fclose(out);
printf («All the function values (values of graph points' coordinates) will be put into nthe output.txt file.n»);
printf («You are able to change the values of Pn, A and p. Change thosenvalues in the input.txt file.n»);
printf («The correct order of typing the values is showed under the graphsnnnn»);
printf («Press Enter to continue»);
getch();
for (i=0; i<N; i++)
{
sprintf (str, «Ph =%.3f, A =%.3f, P =%.3 f.», x[i].Pn, x[i].A, x[i].p);
graf_output (i, tx[i], wx[i], FN, str);
fflush(stdin);
getch();
}
}
// –
void graf_output (int c, float xu[], float yv[], int N_, char*title)
{
int gdriver = DETECT, gmode, errorcode;
int xmax, ymax; // the maximum coordiantes x(width) y(hight)
int xmin, ymin; // spaces between the graph and screen adges
int x, y; // current coordinates
int x_, y_; // previous coordinates
int i;
char st[20];
double miny, maxy; // extreem values of y
initgraph (&gdriver, &gmode, «e:\turbocpp\bgi»);
xmin = 90;
ymin = 100;
xmax = getmaxx() – 20;
ymax = getmaxy() – 40;
maxy = miny = yv[0];
for (i=0; i<N_; i++)
{
miny = (yv[i]<miny)? yv[i]:miny;
maxy = (yv[i]>maxy)? yv[i]:maxy;
}
rectangle (0,0, getmaxx(), getmaxy());
setbkcolor(7);
sprintf (st, «Input variant number % d», c+1);
outtextxy (10,3, st);
outtextxy (10,30, title);
// first 2 lines-the axises x and y. next we got the pointers building (y>, x>)
line (xmin, ymin, xmin, ymax);
line (xmin, ymax, xmax, ymax);
line (xmin, ymin, xmin+3, ymin+5);
line (xmin, ymin, xmin‑3, ymin+5);
line (xmax, ymax, xmax‑5, ymax‑3);
line (xmax, ymax, xmax‑5, ymax+3);
setcolor(1);
outtextxy (xmin+6, ymin, «w»);
outtextxy (xmax, ymax+15, «t»);
for (y=ymax‑20; y>ymin+10; y-= 20)
{
//we got points | painted and the numbers on the exis Oy
setcolor(14);
line (xmin‑2, y, xmin+2, y);
sprintf (st, «%0.5lf», maxy – (y-ymin)*(maxy – miny)/(ymax – ymin));
outtextxy (xmin‑70, y‑3, st);
}
x_ = xmin;
y_ = ymax;
for (i=0; i<N_; i++)
{
x = xmin + ((xu[i] – xu[0])*(xmax – xmin)/(xu [N_-1] – xu[0]));
y =(int) ((yv[i] – miny)*(ymax – ymin)/(maxy – miny));
y = ymax – y;
//we got points | painted and the numbers on the exis Ox
setcolor(14);
line (x, ymax‑2, x, ymax+2);
if (i % 4==0)
{
sprintf (st, «%0.2lf», xu[i]);
outtextxy (x‑10, ymax + 4, st);
}
// let's set the rad color to the «graph line»
setcolor(4);
line (x_, y_, x, y);
x_ = x;
y_ = y;
}
}
// –
float Tc (float T0, float B, float t, float T) {
if (t<=(T/3)) return T0;
if (t<=(2*T/3)) return T0 + (t – T/3)*3*B/T;
return T0 + B;
}
float P0 (float Pn, float A, float t, float T) {
if (t<=(T/3)) return Pn + 3*A*t/T;
if (t<=(2*T/3)) return Pn + A;
return Pn + A – (t – 2*T/3) * 3 * A / T;
}
float Kg (float K) {
return (K – 1)/K;
}
Результати роботи програми
Виведення даних на екран
Виведення даних у файл
0 14.01538
60 14.34739
120 14.65061
180 14.92912
240 15.18624
300 15.42468
360 15.64668
420 15.83574
480 15.98260
540 16.12811
600 16.27233
660 16.41529
720 16.55700
780 16.69752
840 16.59581
900 16.36035
960 16.10744
1020 15.83472
1080 15.53932
1140 15.21771
1200 14.86556
0 14.01538
60 14.34739
120 14.65061
180 14.92912
240 15.18624
300 15.42468
360 15.64668
420 15.83574
480 15.98260
540 16.12811
600 16.27233
660 16.41529
720 16.55700
780 16.69752
840 16.59581
900 16.36035
960 16.10744
1020 15.83472
1080 15.53932
1140 15.21771
1200 14.86556
0 13.60640
60 13.97651
120 14.31201
180 14.61820
240 14.89929
300 15.15864
360 15.39904
420 15.59843
480 15.74309
540 15.88643
600 16.02849
660 16.16930
720 16.30889
780 16.44730
840 16.33315
900 16.07817
960 15.80308
1020 15.50495
1080 15.18018
1140 14.82432
1200 14.43177
Висновок
В результаті виконання курсової роботи був створений алгоритм і комп’ютерна програма для побудови графіків зміни швидкості та витікання ідеального газу із ємкості під тиском на певному відрізку часу. З файлу були зчитані декілька варіантів вхідних даних, результати обчислень записані в файл. При аналізі побудованих графіків робимо висновок про взаємозалежність між заданими фізичними величинами та константами.
Використана література
1. Дистанційний курс «Алгоритмічні мови» Авраменко В.В. http://dl.sumdu.edu.ua
2. Б.В. Керниган, Д.М. Ричи «Язык программирования С»
3. Р. Уинер «Язик Turbo C»
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
«Кабинетное исследование методом контент-анализа»
Самостоятельная работа, Исследования в логистике
Срок сдачи к 30 авг.
Написать доклад по экономике на тему: « Трансформация профессиональных компетенций бухгалтера-аналитика в условиях цифровой экономики: вызовы системе образования»
Доклад, Научно-исследовательская работа
Срок сдачи к 31 авг.
Все задание указано в методических рекомендациях 5й курс
Курсовая, Курсовая работа 5й курс
Срок сдачи к 30 авг.
Процессуальные вопросы участия военного прокурора в уголовных делах о применении судебного штрафа
Диплом, Уголовный процесс
Срок сдачи к 9 окт.
помогите с заданием. нужно проверить текст, чтобы он не выглядел как ИИ
Самостоятельная работа, практика, русский язык
Срок сдачи к 25 авг.
Выполнить курсовую работу по предмету право интеллектуальной собственности на тему "Правовая охрана фирменных наименований. Понятие, признаки, субъекты права на фирменное наименование"
Курсовая, Право интеллектуальной собственности
Срок сдачи к 6 сент.
Отраслевая структура экономики России: современные тенденции развития
Курсовая, Экономика
Срок сдачи к 31 авг.
Создать педагогический авторский проект воспитательной или образовательной работы
Доклад, Педагогическая психология
Срок сдачи к 29 авг.
Подбор и научно-методическое обоснование темы магистерской диссертации по психологии
Другое, Психология
Срок сдачи к 31 авг.
Адыгозалов Илькин Эльшад оглы Левел мосап 6 семестр
Отчет по практике, Технологическая (проектно-технологическая) практика | П.В | Производственная практика
Срок сдачи к 27 сент.
Заполните форму и узнайте цену на индивидуальную работу!