using System;
using System.Collections.Generic;
using System.Text;
namespace _6_solution
{
class Program
{
static PiratesHold piratesHold = new PiratesHold();
static void Main(string[] args)
{
piratesHold.loadBarrels(10, Material.wood, Freight.rum);
piratesHold.loadBarrels(5, Material.wood, Freight.water);
piratesHold.loadBarrels(20, Material.iron, Freight.powder);
piratesHold.loadBattles(100, Freight.rum);
piratesHold.loadBattles(100, Freight.water);
double Pbrutto = piratesHold.GetPbrutto();
double Pnetto = piratesHold.GetPnetto(Freight.rum);
}
}
//====================================================
class PiratesHold
{
//List<Vessel> vesselList = new List<Vessel>();
const int max = 200;
Barrel[] Barrels = new Barrel[max];
Bottle[] Bottles = new Bottle[max];
int N_Barrels = 0;
int N_Bottles = 0;
public void loadBarrels(int number, Material material, Freight freight)
{
/*
int rndInit = (int)(DateTime.Now.Ticks);
Random Rnd = new Random(rndInit);
for (int N = 0; N < number; N++)
{
double H = 0.5 + Rnd.NextDouble() / 2;
double R = 0.2 + Rnd.NextDouble() / 20;
double d = 0.02 + Rnd.NextDouble() / 100;
if (material == Material.iron) d = 0.001;
// vesselList.Add(new Barrel(H, R, d, material, freight));
if (N_Barrels + 2 < max) Barrels[N_Barrels++] = new Barrel(H, R, d, material, freight); // !!!
}
*/
}
public void loadBattles(int number, Freight freight)
{
/*
int rndInit = (int)(DateTime.Now.Ticks);
Random Rnd = new Random(rndInit);
for (int N = 0; N < number; N++)
{
double R = 0.05 + Rnd.NextDouble() / 50;
double d = 0.005 + Rnd.NextDouble() / 300;
// vesselList.Add(new Bottle (R,d, freight));
if (N_Bottles + 2 < max) Bottles[N_Bottles++] = new Bottle(R, d, freight); // !!!
}
*/
}
public double GetPbrutto()
{
double Pbrutto = 0;
/*
* foreach (Barrel X in Barrels)
if (X != null) Pbrutto += X.Pbrutto(); // !!!
foreach (Bottle X in Bottles)
if (X != null) Pbrutto += X.Pbrutto(); // !!!
*/
return Pbrutto;
}
public double GetPnetto(Freight freight)
{
double Pnetto = 0;
/*
foreach (Barrel X in Barrels)
if (X != null) Pnetto += X.Pnetto(freight); // !!!
foreach (Bottle X in Bottles)
if (X != null) Pnetto += X.Pnetto(freight); // !!!
*/
return Pnetto;
}
}
//++++++++++++++++++ for LAB ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ begin
//описи типів для п.1.завдання
enum Material { wood, iron, glass };
enum Freight { water, rum, powder };
//----------------------------
class Vessel : object
{
static double g = 9.81;
protected double S; // площа стінок ємності
protected double d; // товщина стінок
protected double V; // обїем ємності
protected Material material; // матеріал ємності
public Freight freight; // речовина вмісту ємності
// 2. Реалізувати методи density, freightDensity,
// які повертають густину ємності та грузу.
double density() // кг/м^3
{
return 1/v;
}
double freightDensity() // кг/м^3
{
return 0;
}
}
//-----------
class Barrel : Vessel
{
}
//-----------
class Bottle : Vessel
{
}
//++++++++++++++++++ for LAB ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ end
}
/*
В трюм піратського фрегата завантажено груз (Freight) найважливіших для піратів видів
water: 1000 кг/м^3;
rum: 930 кг/м^3;
powder: 1600 ru/м^3;
у ємностях двох видів
Діжка (Barrel)циліндричної форми
Пляшка (Bottle) сферичної форми
Матеріали (Material) ємностей
wood: 690 кг/м^3; (діжка)
iron: 7800 кг/м^3; (діжка)
glass: 2500 кг/м^3; (пляшка)
------------------------------------------------------
1. Реалізувати як перерахування (Enum) свій тип для використання вантажів та матерыалів ємностей.
2. Реалізувати методи density, freightDensity, які повертають густину ємності та грузу.
3. Реалізувати у класі Vessel методи для визначення ваги-брутто ємності та ваги-нетто для певної речовини,
що наповнює ємність. Дав. коментарі-підказки у вигляді " // !!! "
4. Реалізувати у двох класах, що походять від Vessel (ємність), необхідні для роботи програми конструктори,
Дав. коментарі-підказки у вигляді " // !!! "
*/
using System;
using System.Collections.Generic;
using System.Text;
namespace _6_solution
{
class Program
{
static PiratesHold piratesHold = new PiratesHold();
static void Main(string[] args)
{
piratesHold.loadBarrels(10, Material.wood, Freight.rum);
piratesHold.loadBarrels(5, Material.wood, Freight.water);
piratesHold.loadBarrels(20, Material.iron, Freight.powder);
piratesHold.loadBattles(100, Freight.rum);
piratesHold.loadBattles(100, Freight.water);
double Pbrutto = piratesHold.GetPbrutto();
double Pnetto = piratesHold.GetPnetto(Freight.rum);
}
}
//====================================================
class PiratesHold
{
//List<Vessel> vesselList = new List<Vessel>();
const int max = 200;
Barrel[] Barrels = new Barrel[max];
Bottle[] Bottles = new Bottle[max];
int N_Barrels = 0;
int N_Bottles = 0;
public void loadBarrels(int number, Material material, Freight freight)
{
/*
int rndInit = (int)(DateTime.Now.Ticks);
Random Rnd = new Random(rndInit);
for (int N = 0; N < number; N++)
{
double H = 0.5 + Rnd.NextDouble() / 2;
double R = 0.2 + Rnd.NextDouble() / 20;
double d = 0.02 + Rnd.NextDouble() / 100;
if (material == Material.iron) d = 0.001;
// vesselList.Add(new Barrel(H, R, d, material, freight));
if (N_Barrels + 2 < max) Barrels[N_Barrels++] = new Barrel(H, R, d, material, freight); // !!!
}
*/
}
public void loadBattles(int number, Freight freight)
{
/*
int rndInit = (int)(DateTime.Now.Ticks);
Random Rnd = new Random(rndInit);
for (int N = 0; N < number; N++)
{
double R = 0.05 + Rnd.NextDouble() / 50;
double d = 0.005 + Rnd.NextDouble() / 300;
// vesselList.Add(new Bottle (R,d, freight));
if (N_Bottles + 2 < max) Bottles[N_Bottles++] = new Bottle(R, d, freight); // !!!
}
*/
}
public double GetPbrutto()
{
double Pbrutto = 0;
/*
* foreach (Barrel X in Barrels)
if (X != null) Pbrutto += X.Pbrutto(); // !!!
foreach (Bottle X in Bottles)
if (X != null) Pbrutto += X.Pbrutto(); // !!!
*/
return Pbrutto;
}
public double GetPnetto(Freight freight)
{
double Pnetto = 0;
/*
foreach (Barrel X in Barrels)
if (X != null) Pnetto += X.Pnetto(freight); // !!!
foreach (Bottle X in Bottles)
if (X != null) Pnetto += X.Pnetto(freight); // !!!
*/
return Pnetto;
}
}
//++++++++++++++++++ for LAB ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ begin
//описи типів для п.1.завдання
enum Material { wood, iron, glass };
enum Freight { water, rum, powder };
//----------------------------
class Vessel : object
{
static double g = 9.81;
protected double S; // площа стінок ємності
protected double d; // товщина стінок
protected double V; // обїем ємності
protected Material material; // матеріал ємності
public Freight freight; // речовина вмісту ємності
// 2. Реалізувати методи density, freightDensity,
// які повертають густину ємності та грузу.
double density()
{// кг/м^3
switch (material)
{
case Material.wood : return 690;
case Material.iron : return 7800;
case Material.glass : return 2500;
}
return 0;
}
double freightDensity() // кг/м^3
{
switch (freight)
{
case Freight.water: return 1000;
case Freight.rum: return 930;
case Freight.powder: return 1600;
}
return 0;
}
}
//-----------
class Barrel : Vessel
{
}
//-----------
class Bottle : Vessel
{
}
//++++++++++++++++++ for LAB ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ end
}
/*
В трюм піратського фрегата завантажено груз (Freight) найважливіших для піратів видів
water: 1000 кг/м^3;
rum: 930 кг/м^3;
powder: 1600 ru/м^3;
у ємностях двох видів
Діжка (Barrel)циліндричної форми
Пляшка (Bottle) сферичної форми
Матеріали (Material) ємностей
wood: 690 кг/м^3; (діжка)
iron: 7800 кг/м^3; (діжка)
glass: 2500 кг/м^3; (пляшка)
------------------------------------------------------
1. Реалізувати як перерахування (Enum) свій тип для використання вантажів та матерыалів ємностей.
2. Реалізувати методи density, freightDensity, які повертають густину ємності та грузу.
3. Реалізувати у класі Vessel методи для визначення ваги-брутто ємності та ваги-нетто для певної речовини,
що наповнює ємність. Дав. коментарі-підказки у вигляді " // !!! "
4. Реалізувати у двох класах, що походять від Vessel (ємність), необхідні для роботи програми конструктори,
Дав. коментарі-підказки у вигляді " // !!! "
*/
//описи типів для п.1.завдання
enum Material { wood, iron, glass };
enum Freight { water, rum, powder };
//----------------------------
class Vessel : object
{
static double g = 9.81;
protected double S; // площа стінок ємності
protected double d; // товщина стінок
protected double V; // обїем ємності
protected Material material; // матеріал ємності
public Freight freight; // речовина вмісту ємності
// 2. Реалізувати методи density, freightDensity,
// які повертають густину ємності та грузу.
double density()
{// кг/м^3
switch (material)
{
case Material.wood: return 690;
case Material.iron : return 7800;
case Material.glass : return 2500;
}
return 0;
}
double freightDensity() // кг/м^3
{
switch (freight)
{
case Freight.water: return 1000;
case Freight.rum: return 930;
case Freight.powder: return 1600;
}
return 0;
}
}
//++++++++++++++++++ for LAB ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ begin
//описи типів для п.1.завдання
enum Material { wood, iron, glass };
enum Freight { water, rum, powder };
//----------------------------
class Vessel : object
{
static double g = 9.81;
protected double S; // площа стінок ємності
protected double d; // товщина стінок
protected double V; // обїем ємності
protected Material material; // матеріал ємності
public Freight freight; // речовина вмісту ємності
// 2. Реалізувати методи density, freightDensity,
// які повертають густину ємності та грузу.
double Pnetto()
{
return V * density()*g;
}
double Pbrutto(Freight x)
{
return g * (S * d * freightDensity() + V * density());
}
double density()
{// кг/м^3
switch (material)
{
case Material.wood: return 690;
case Material.iron : return 7800;
case Material.glass : return 2500;
}
return 0;
}
double freightDensity()
{// кг/м^3
switch (freight)
{
case Freight.water: return 1000;
case Freight.rum: return 930;
case Freight.powder: return 1600;
}
return 0;
}
}
//-----------
class Barrel : Vessel
{
}
//-----------
class Bottle : Vessel
{
}
//++++++++++++++++++ for LAB ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ end
double Pnetto(Freight x)
{
if (x == freight ){
return V * density()*g;
}
return 0;
}
double Pbrutto()
{
return g * (S * d * freightDensity() + V * density());
}
Зараз переглядають цей форум: Немає зареєстрованих користувачів і 0 гостей