Основи програмування

Re: Основи програмування

Повідомлення GorbachenkoVasyl » 11 листопада 2010, 21:09

Сорри, не получилось сделать... ибо физика подвела...
GorbachenkoVasyl
Site Admin
 
Повідомлень: 150
З нами з: 16 вересня 2010, 19:59

Re: Основи програмування

Повідомлення Василь » 25 листопада 2010, 12:55

буду по чучуть вылаживать...
Код: Виділити все
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 (ємність), необхідні для роботи програми конструктори,
    Дав. коментарі-підказки у вигляді " // !!! "
 */
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

Re: Основи програмування

Повідомлення Максим Нікітченко » 25 листопада 2010, 12:55

Вася,ти можеш написати друге третє завдання?
Максим Нікітченко
 
Повідомлень: 12
З нами з: 11 листопада 2010, 12:57

Re: Основи програмування

Повідомлення Максим Нікітченко » 25 листопада 2010, 12:58

виклади повністю,не можна виділити
Максим Нікітченко
 
Повідомлень: 12
З нами з: 11 листопада 2010, 12:57

Re: Основи програмування

Повідомлення Василь » 25 листопада 2010, 13:06

Код: Виділити все
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 (ємність), необхідні для роботи програми конструктори,
    Дав. коментарі-підказки у вигляді " // !!! "
 */
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

Re: Основи програмування

Повідомлення Василь » 25 листопада 2010, 13:08

первое и второе задание вот:
Код: Виділити все
    //описи типів для п.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;

        }
    }
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

Re: Основи програмування

Повідомлення Максим Нікітченко » 25 листопада 2010, 13:11

дякуємо
чекаємо третє
Максим Нікітченко
 
Повідомлень: 12
З нами з: 11 листопада 2010, 12:57

Re: Основи програмування

Повідомлення Василь » 25 листопада 2010, 13:40

Трейтее готово
Код: Виділити все
    //++++++++++++++++++ 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
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

Re: Основи програмування

Повідомлення Максим Нікітченко » 25 листопада 2010, 13:42

дякую
але в нас різні крапаль умови,тобто по різному написано
це палєвно
Максим Нікітченко
 
Повідомлень: 12
З нами з: 11 листопада 2010, 12:57

Re: Основи програмування

Повідомлення Василь » 25 листопада 2010, 13:46

ошибка.... в трейтем
Код: Виділити все
        double Pnetto(Freight x)
        {
            if (x == freight ){
                return V * density()*g;
            }
            return 0;
           
        }
        double Pbrutto()
        {
            return g * (S * d * freightDensity()  + V * density());       
        }
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

Поперед.Далі

Повернутись до Семестр 1

Хто зараз онлайн

Зараз переглядають цей форум: Немає зареєстрованих користувачів і 3 гостей