Список использованных материалов




 

1. Лукашик В.И., Иванова Е.В. Сборник задач по физике / 20-е изд. – М.: Просвещение, 2006. – 240 с.

2. CyberForum.ru [электронный ресурс]. - https://www.cyberforum.ru/

3. Язык программирования Си // kpolyakov.spb.ru. - https://kpolyakov.spb.ru/school/c.htm

 


 

Исходный код программы

 

# include <conio.h>

# include <iostream>

# include <stdlib.h>

using namespace std;

float c=0, q=0, y=0, l=0, t0=0, t1=0, m=0, q1=0, t=0;

int type=0, tabl=0, fnd=0, cont=1;

 

int main()

{

setlocale (LC_ALL, "RUS");

 

cout<<"ОБРАТИТЕ ВНИМАНИЕ!\nПри больших значениях (1 млн и более) вместо привычного ответа будет число вида Xe+Y\nНапример: 5e+006 или 1,77e-002\nНе пугайтесь таких чисел - запись Xe+Y означает X умноженное на 10 в степени Y\nНапример: 5e+006 означает 5 * 10^6, т.е. 5 000 000\n1,77e-002 означает 1,77 * 10^-2, т.е. 0,0177 и т.д.\n\n\n";

 

//Выбор типа задач

while (cont == 1)

{

cout<<"Выберите тип задачи:\n1 - Нагревание/остывание в-ва\n2 - Плавление/кристаллизация в-ва\n3 - Парообразование/конденсация\n4 - Сгорание топлива\n";

do

{

cout<<"Введите номер типа задач: ";

cin>>type;

}

while (type!= 1 && type!= 2 && type!= 3 && type!= 4);

 

//Всё последующее решение

switch (type)

{

case 1:

//Вступление и вывод таблиц

cout<<"\n\nВы выбрали тип задачи 1, т.е. нагревание/остывание в-ва\nВ таких задачах понадобятся следующие величины:\nУдельная теплоёмкость в-ва\nМасса в-ва\nНачальная и конечная температура\nКоличество теплоты";

cout<<"\n\nВНИМАНИЕ!!!\nНе забывайте, что программа не учитывает изменение агрегатного состояния в-ва!\nУбедитесь, что между начальной и конечной температурой не находится температура плавления/кипения!";

cout<<"\nНужно ли вывести на экран таблицу удельной теплоёмкости некоторых в-в?\nЕсли да, введите 1, если нет, введите 0\n";

do

{

cout<<"Вывести таблицу? (введите 1 или 0): ";

cin>>tabl;

}

while (tabl!= 0 && tabl!= 1);

if (tabl == 1)

{

cout<<"\nУДЕЛЬНАЯ ТЕПЛОЁМКОСТЬ (Дж/кг*градус)\nВода - 4200\nАлюминий - 920\nЖелезо - 460\nЛёд - 2100\nМедь - 380\nНикель - 460\nСпирт - 2500\nСеребро - 250\nРтуть - 130\nСвинец - 140\n\n";

}

 

//Что найти?

cout<<"\nЧто нужно найти - удельную теплоёмкость (1), массу (2), начальную t (3), конечную t (4) или кол-во теплоты (5)?\n\nОбратите внимание!!!\nЕсли вам надо найти начальную или конечную t, то под начальной подразумевается меньшая t";

do

{

cout<<"\n\nВведите цифру, соответствующую переменной, которую надо найти: ";

cin>>fnd;

}

while (fnd!= 1 && fnd!= 2 && fnd!= 3 && fnd!= 4 && fnd!= 5);

 

switch (fnd)

{

case 1:

//Ввод данных

cout<<"\nНужно найти удельную теплоёмкость\n";

cout<<"Введите массу в-ва (m) в килограммах: ";

cin>>m;

cout<<"Введите начальную t в-ва (t0) в градусах Цельсия: ";

cin>>t0;

cout<<"Введите конечную t в-ва (t1) в градусах Цельсия: ";

cin>>t1;

cout<<"Введите полученное/отданное в-вом кол-во теплоты (Q) в джоулях: ";

cin>>q1;

 

//Решение

t = t1-t0;

if (t<0) t = -t;

c = q1/(m*t);

 

//Ответ

cout<<"\n\nУдельная теплоёмкость в-ва = "<<c<<" Дж/кг*градус\nЗадача решена";

break;

 

case 2:

//Ввод данных

cout<<"\nНужно найти массу\n";

cout<<"Введите удельную теплоёмкость в-ва (c) в джоулях на килограмм-градус: ";

cin>>c;

cout<<"Введите начальную t в-ва (t0) в градусах Цельсия: ";

cin>>t0;

cout<<"Введите конечную t в-ва (t1) в градусах Цельсия: ";

cin>>t1;

cout<<"Введите полученное/отданное в-вом кол-во теплоты (Q) в джоулях: ";

cin>>q1;

 

//Решение

t = t1-t0;

if (t<0) t = -t;

m = q1/(c*t);

 

//Ответ

cout<<"\n\nМасса в-ва = "<<m<<" кг\nЗадача решена";

break;

 

case 3:

//Ввод данных

cout<<"\nНужно найти начальную температуру\n";

cout<<"Введите удельную теплоёмкость в-ва (c) в джоулях на килограмм-градус: ";

cin>>c;

cout<<"Введите массу в-ва в килограммах: ";

cin>>m;

cout<<"Введите конечную t в-ва (t1) в градусах Цельсия: ";

cin>>t1;

cout<<"Введите полученное/отданное в-вом кол-во теплоты (Q) в джоулях: ";

cin>>q1;

 

//Решение

t = q1/(c*m);

t0 = t1-t;

 

//Ответ

cout<<"\n\nНачальная t в-ва = "<<t0<<" градусов Цельсия\nЗадача решена";

break;

 

case 4:

//Ввод данных

cout<<"\nНужно найти конечную температуру\n";

cout<<"Введите удельную теплоёмкость в-ва (c) в джоулях на килограмм-градус: ";

cin>>c;

cout<<"Введите массу в-ва в килограммах: ";

cin>>m;

cout<<"Введите начальную t в-ва (t0) в градусах Цельсия: ";

cin>>t0;

cout<<"Введите полученное/отданное в-вом кол-во теплоты (Q) в джоулях: ";

cin>>q1;

 

//Решение

t = q1/(c*m);

t1 = t0+t;

 

//Ответ

cout<<"\n\nКонечная t в-ва = "<<t1<<" градусов Цельсия\nЗадача решена";

break;

 

case 5:

//Ввод данных

cout<<"\nНужно найти кол-во теплоты\n";

cout<<"Введите удельную теплоёмкость в-ва (c) в джоулях на килограмм-градус: ";

cin>>c;

cout<<"Введите массу в-ва в килограммах: ";

cin>>m;

cout<<"Введите начальную t в-ва (t0) в градусах Цельсия: ";

cin>>t0;

cout<<"Введите конечную t в-ва (t1) в градусах Цельсия: ";

cin>>t1;

 

//Решение

t = t1-t0;

if (t<0) t = -t;

q1 = c*m*t;

 

//Ответ

cout<<"\n\nКол-во теплоты = "<<q1<<" Дж\nЗадача решена";

break;

}

break;

 

case 2:

//Вступление и вывод таблиц

cout<<"\n\nВы выбрали тип задачи 2, т.е. плавление/кристаллизация в-ва\nВ таких задачах понадобятся следующие величины:\nУдельная теплота плавления в-ва\nМасса в-ва\nКоличество теплоты";

cout<<"\n\nОбратите внимание!\nУдельная теплота плавления обозначается греч. буквой лямбда\nНО! Она не поддерживается программой, поэтому она заменена здесь буквой y";

cout<<"\n\nНужно ли вывести на экран таблицу удельной теплоты плавления некоторых в-в?\nЕсли да, введите 1, если нет, введите 0\n";

do

{

cout<<"Вывести таблицу? (введите 1 или 0): ";

cin>>tabl;

}

while (tabl!= 0 && tabl!= 1);

if (tabl == 1)

{

cout<<"\nУДЕЛЬНАЯ ТЕПЛОТА ПЛАВЛЕНИЯ (10^4 Дж/кг)\nОлово - 5,9\nАлюминий - 39\nЖелезо - 27\nЛёд - 34\nМедь - 21\nЗолото - 6,7\nПлатина - 11\nСеребро - 10\nРтуть - 1\nСвинец - 2,5\n\n";

}

 

//Что найти?

cout<<"\nЧто нужно найти - удельную теплоту плавления (1), массу (2) или кол-во теплоты (3)?\n";

do

{

cout<<"Введите цифру, соответствующую переменной, которую надо найти: ";

cin>>fnd;

}

while (fnd!= 1 && fnd!= 2 && fnd!= 3 && fnd!= 4 && fnd!= 5);

 

switch (fnd)

{

case 1:

//Ввод данных

cout<<"\nНужно найти удельную теплоту плавления\n";

cout<<"Введите массу в-ва (m) в килограммах: ";

cin>>m;

cout<<"Введите полученное/отданное в-вом кол-во теплоты (Q) в джоулях: ";

cin>>q1;

 

//Решение

y = q1/m;

 

//Ответ

cout<<"\n\nУдельная теплота плавления в-ва = "<<y<<" Дж/кг\nЗадача решена";

break;

 

case 2:

//Ввод данных

cout<<"\nНужно найти массу\n";

cout<<"Введите удельную теплоту плавления в-ва (y) в джоулях на килограмм: ";

cin>>y;

cout<<"Введите полученное/отданное в-вом кол-во теплоты (Q) в джоулях: ";

cin>>q1;

 

//Решение

m = q1/y;

 

//Ответ

cout<<"\n\nМасса в-ва = "<<m<<" кг\nЗадача решена";

break;

 

case 3:

//Ввод данных

cout<<"\nНужно найти полученное/отданное в-вом кол-во теплоты\n";

cout<<"Введите удельную теплоту плавления в-ва (y) в джоулях на килограмм-градус: ";

cin>>y;

cout<<"Введите массу в-ва (m) в килограммах: ";

cin>>m;

 

//Решение

q1 = y*m;

 

//Ответ

cout<<"\n\nПолученное/отданное в-вом кол-во теплоты = "<<q1<<" Дж\nЗадача решена";

break;

}

break;

 

case 3:

//Вступление и вывод таблиц

cout<<"\n\nВы выбрали тип задачи 3, т.е. парообразование/конденсация\nВ таких задачах понадобятся следующие величины:\nУдельная теплота парообразования в-ва\nМасса в-ва\nКоличество теплоты";

cout<<"\n\nНужно ли вывести на экран таблицу удельной теплоты парообразования некоторых в-в?\nЕсли да, введите 1, если нет, введите 0\n";

do

{

cout<<"Вывести таблицу? (введите 1 или 0): ";

cin>>tabl;

}

while (tabl!= 0 && tabl!= 1);

if (tabl == 1)

{

cout<<"\n\nУДЕЛЬНАЯ ТЕПЛОТА ПАРООБРАЗОВАНИЯ (10^6 Дж/кг)\nВода - 2,3\nСпирт - 0,9\nРтуть - 0,3\nЭфир - 0,4\n\n";

}

 

//Что найти?

cout<<"\nЧто нужно найти - удельную теплоту парообразования (1), массу (2) или кол-во теплоты (3)?\n";

do

{

cout<<"Введите цифру, соответствующую переменной, которую надо найти: ";

cin>>fnd;

}

while (fnd!= 1 && fnd!= 2 && fnd!= 3 && fnd!= 4 && fnd!= 5);

 

switch (fnd)

{

case 1:

//Ввод данных

cout<<"\nНужно найти удельную теплоту парообразования\n";

cout<<"Введите массу в-ва (m) в килограммах: ";

cin>>m;

cout<<"Введите полученное/отданное в-вом кол-во теплоты (Q) в джоулях: ";

cin>>q1;

 

//Решение

l = q1/m;

 

//Ответ

cout<<"\n\nУдельная теплота парообразования в-ва = "<<l<<" Дж/кг\nЗадача решена";

break;

 

case 2:

//Ввод данных

cout<<"\nНужно найти массу\n";

cout<<"Введите удельную теплоту парообразования в-ва (l) в джоулях на килограмм: ";

cin>>l;

cout<<"Введите полученное/отданное в-вом кол-во теплоты (Q) в джоулях: ";

cin>>q1;

 

//Решение

m = q1/l;

 

//Ответ

cout<<"\n\nМасса в-ва = "<<m<<" кг\nЗадача решена";

break;

 

case 3:

//Ввод данных

cout<<"\nНужно найти полученное/отданное в-вом кол-во теплоты\n";

cout<<"Введите удельную теплоту парообразования в-ва (l) в джоулях на килограмм-градус: ";

cin>>l;

cout<<"Введите массу в-ва (m) в килограммах: ";

cin>>m;

 

//Решение

q1 = l*m;

 

//Ответ

cout<<"\n\nПолученное/отданное в-вом кол-во теплоты = "<<q1<<" Дж\nЗадача решена";

break;

}

break;

 

case 4:

//Вступление и вывод таблиц

cout<<"\n\nВы выбрали тип задачи 4, т.е. сгорание топлива\nВ таких задачах понадобятся следующие величины:\nУдельная теплота сгорания топлива\nМасса в-ва\nКоличество теплоты";

cout<<"\n\nНужно ли вывести на экран таблицу удельной теплоты сгорания некоторых видов топлива?\nЕсли да, введите 1, если нет, введите 0\n";

do

{

cout<<"Вывести таблицу? (введите 1 или 0): ";

cin>>tabl;

}

while (tabl!= 0 && tabl!= 1);

if (tabl == 1)

{

cout<<"\n\nУДЕЛЬНАЯ ТЕПЛОТА СГОРАНИЯ ТОПЛИВА (10^6 Дж/кг)\nБензин - 46\nВодород - 120\nКаменный/древесный уголь - 30/34\nПриродный газ - 44\nНефть - 44\nКеросин - 46\nСпирт - 27\nПорох - 3,8\n\n";

}

 

//Что найти?

cout<<"\nЧто нужно найти - удельную теплоту сгорания топлива (1), массу (2) или кол-во теплоты (3)?\n";

do

{

cout<<"Введите цифру, соответствующую переменной, которую надо найти: ";

cin>>fnd;

}

while (fnd!= 1 && fnd!= 2 && fnd!= 3 && fnd!= 4 && fnd!= 5);

 

switch (fnd)

{

case 1:

//Ввод данных

cout<<"\nНужно найти удельную теплоту сгорания топлива\n";

cout<<"Введите массу в-ва (m) в килограммах: ";

cin>>m;

cout<<"Введите полученное/отданное в-вом кол-во теплоты (Q) в джоулях: ";

cin>>q1;

 

//Решение

q = q1/m;

 

//Ответ

cout<<"\n\nУдельная теплота сгорания топлива = "<<q<<" Дж/кг\nЗадача решена";

break;

 

case 2:

//Ввод данных

cout<<"\nНужно найти массу\n";

cout<<"Введите удельную теплоту сгорания топлива (q) в джоулях на килограмм: ";

cin>>l;

cout<<"Введите полученное/отданное в-вом кол-во теплоты (Q) в джоулях: ";

cin>>q1;

 

//Решение

m = q1/q;

 

//Ответ

cout<<"\n\nМасса в-ва = "<<m<<" кг\nЗадача решена";

break;

 

case 3:

//Ввод данных

cout<<"\nНужно найти полученное/отданное в-вом кол-во теплоты\n";

cout<<"Введите удельную теплоту сгорания топлива (q) в джоулях на килограмм-градус: ";

cin>>q;

cout<<"Введите массу в-ва (m) в килограммах: ";

cin>>m;

 

//Решение

q1 = q*m;

 

//Ответ

cout<<"\n\nПолученное/отданное в-вом кол-во теплоты = "<<q1<<" Дж\nЗадача решена";

break;

}

break;

}

cout<<"\n\nНужно ли решить ещё одну задачу?\nЕсли да, введите 1, если нет, введите 0\n";

do

{

cout<<"Продолжить решать задачи? (введите 1 или 0): ";

cin>>cont;

}

while (cont!= 1 && cont!= 0);

cout<<"\n\n";

}

cout<<"Спасибо за использование данной программы! Нажмите любую клавишу для выхода";

getch();

}



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: