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

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

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

типо возможно последнее сделано....
Код: Виділити все
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 Pnetto(Freight x)
        {
            if (x == freight ){
                return V * density()*g;
            }
            return 0;
           
        }
        double Pbrutto()
        {
            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
    {
        public double H, R, d;
        public Material material;
        public Freight freight;

        public Barrel(double H, double R, double d, Material material, Freight freight)
        {
            this.freight = freight;
            this.material = material;
            this.H = H;
            this.R = R;
            this.d = d;
        }
    }
    //-----------
    class Bottle : Vessel
    {
        public double R, d;
        public Freight freight;
        public Bottle(double R,double d,Freight freight)
        {
            this.R=R;
            this.d=d;

            this.freight = freight;
        }
    }
    //++++++++++++++++++ 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: Основи програмування

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

Колесниченко Настя
Код: Виділити все
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;             // речовина вмісту ємності

        double density()      // кг/м^3
        {
           if(material==Material.wood)
            return 690;
            if(material==Material.iron)
            return 7800;
            if(material==Material.glass)
            return 2500;
        return 0;
        }

        double freightDensity()      // кг/м^3
        {
            if(freight==Freight.water)
            return 1000;
            if(freight==Freight.rum)
            return 930;
            if(freight==Freight.powder)
            return 1600;
        return 0;
        }
       public double GetPbrutto()
    {
        double Pbrutto=(d*S*freightDensity()+V*density());
        return Pbrutto;
    }
        double GetPnetto()
        {
           double Pnetto=(V*density()*g);
            return Pnetto;
        }
    }
    //-----------
    class Barrel : Vessel
    {
        public Barrel(double H, double R, double d,Material m,Freight f)
    {
        p= 3.14;
            S=(2*p*R*H+2*p*R*R);
            return S;
    }
    }
    //-----------
    class Bottle : Vessel
    {
        public Bottle(double R, double d, Material m, Freight f)
        {
            S = (4 * p * R * R);
            return S;
        }
    }
    //++++++++++++++++++ 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: Основи програмування

Повідомлення Василь » 08 грудня 2010, 17:46

Просил преподователя сбросить шаблон, в котором надо было дописать прогу, так он мне EXE-файл зафигачил... ну ничего, по аналогии можно сделать программу в VS...
Приєднані файли
08_task.rar
(4.86 Кб) Завантажено 439 разів
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

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

Повідомлення Василь » 08 грудня 2010, 19:26

ЛЯБА #0008
Вот код программы. Это для тех, кто будет пытаться сам делать... Учтите, названия некоторых елементов у Вас могут быть совсем другими. Код для ориентации....
И потом, когда писал - совесть не позволила писать очень просто... по этому есть некоторые "профессиональные трюки програмирования" в этой програмке. Програ 100% рябочая и вроде не к чему придраться.
Код: Виділити все
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace _8_task
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void команда1ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox4.Text = this.команда1ToolStripMenuItem.Text;    // Команда 1-1
        }

        private void команда12ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox4.Text = this.команда12ToolStripMenuItem.Text;   // Команда 1-2
        }

        private void команда21ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox4.Text = this.команда21ToolStripMenuItem.Text;   // Команда 2-1
        }

        private void команда22ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox4.Text = this.команда22ToolStripMenuItem.Text;   // Команда 2-2
        }
       
        private void комманда1ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox4.Text = this.комманда1ToolStripMenuItem.Text;   // Команда 1
        }

        private void комманда2ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            textBox4.Text = this.комманда2ToolStripMenuItem.Text;   // Команда 2
        }

        private void button2_Click(object sender, EventArgs e)
        {
            button1.Text = textBox1.Text;   // Даем новое имя нашей кнопке, которое мы написали в textBox1
       
                try // Если вдруг пользователь место цыфр введет какой-то бред который может 
                {   // не состоять из цыфр, тогда не даем программе ругаться
                    if (radioButton1.Checked) // Если дырка в radio1 тогда
                    {
                        // меняем размер кнопки, на тот который мы указали
                        button1.Size = new System.Drawing.Size(int.Parse(textBox2.Text), int.Parse(textBox3.Text));
                    }
                    else // иначе
                    {
                        // меняем размер положение кнопки, на то которое мы указали
                        button1.Location = new System.Drawing.Point(int.Parse(textBox2.Text), int.Parse(textBox3.Text));
                    }                     
                }
                catch // ААААА!!! Спаймали ашыпку...
                {
                    // ЫЫЫ Ашипка... молчим об этом... может пользователь не додумается... ГЫ ГЫ ГЫ
                }
                       
        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        { // если вдруг пользователь щелкнул на радио1, тогда меняем на W H.
            if (radioButton1.Checked) {// Если действительно оно с дыркой (для оптимизации. Вобще то работает и без if)
                label2.Text = "W =";
                label3.Text = "H =";
            }
        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {// если вдруг пользователь щелкнул на радио1, тогда меняем на X Y.
            if (radioButton2.Checked) { // Если действительно оно с дыркой (для оптимизации. Вобще то работает и без if)
                label2.Text = "X =";
                label3.Text = "Y =";
            }
        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void группа1ToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }
    }
}


Архив с программой для мега студентов также прикрепил. РыГоГо! Удачи! С Вас ПІВО!
Приєднані файли
08_task.rar
Архив с программой написаной в Visual Studio 2005
(35.35 Кб) Завантажено 450 разів
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

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

Повідомлення Василь » 23 грудня 2010, 13:17

Таск 9
первое сделано задание
Приєднані файли
Task9_GVA.rar
(33.1 Кб) Завантажено 459 разів
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

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

Повідомлення Василь » 23 грудня 2010, 13:29

Код: Виділити все
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication4
{
   
    public partial class Form1 : Form
    {
        public int lx, ly, countx,county;
        public double sum;
        bool m1f;
        public Form1()
        {
            InitializeComponent();
        }

        private void tabPage1_MouseDown(object sender, MouseEventArgs e)
        {
            lx = e.X;
            ly = e.Y;
            m1f = true;
            countx = county = 0;
            sum = 0;
        }

        private void tabPage1_MouseHover(object sender, EventArgs e)
        {

        }

        private void tabPage1_MouseUp(object sender, MouseEventArgs e)
        {
            m1f = false;
        }

        private void tabPage1_MouseMove(object sender, MouseEventArgs e)
        {
            if ( (m1f==true) && (e.X != lx || e.Y != ly))
            {
                Graphics g = tabPage1.CreateGraphics();
                Pen pen = new Pen(Color.FromArgb(255, 0, 0), 1.0F);
                g.DrawLine(pen, lx, ly, e.X, e.Y);

                countx += Math.Abs(e.X - lx);
                county += Math.Abs(e.Y - ly);
                sum += Math.Sqrt((e.X - lx) * (e.X - lx) + (e.Y - ly) * (e.Y - ly));

                textBox1.Text = Convert.ToString(countx);
                textBox2.Text = Convert.ToString(county);
                textBox5.Text = Convert.ToString( Math.Round(sum));
                lx = e.X;
                ly = e.Y;
            }
        }

        private void tabPage1_Click(object sender, EventArgs e)
        {

        }

        private void tabPage3_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            label7.Text = label7.Text + e.KeyData;
        }
    }
}
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

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

Повідомлення Василь » 23 грудня 2010, 13:42

Девятая лаба
1 вое и трейтее готово!!!!
Приєднані файли
Task9_GVA.rar
(34.29 Кб) Завантажено 434 разів
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

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

Повідомлення Василь » 23 грудня 2010, 14:01

Девятая лаба полностью готовая...
Приєднані файли
Task9_GVA.rar
(36.33 Кб) Завантажено 479 разів
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

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

Повідомлення Greg » 23 грудня 2010, 18:35

Дякую! :)
Кулик Паша, 3 група.
Зображення
Greg
 
Повідомлень: 13
З нами з: 23 грудня 2010, 18:06
Звідки: Богуслав

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

Повідомлення Василь » 06 січня 2011, 00:33

Вопросы на екзамен
http://radfiz.org.ua/files/k1/op/%2 ... %20A,B.doc
Аватар користувача
Василь
 
Повідомлень: 907
З нами з: 15 жовтня 2010, 02:08

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

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

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

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

cron