Дани у недељи

Примери

Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and active in your browser (Click here to install Java now)

*У случају да се анимација не приказује, притиснути дугме Прикажи слику




Пример 1. Написати програм који за унети редни број дана исписује који је то дан у недељи.

Решење :
Програм треба да нам врати назив дана у недељи, ако унесемо његов редни број (број од 1 до 7),
или да нам испише поруку о погрешном уносу ако смо унели неки број који није редни број дана у недељи.


Правимо форму облика:
Слика 6.56. Почетни изглед форме
Преименујемо label-e и button1
Слика 6.57. Изглед форме након преименовања компоненти

Пишемо одговарајући код у делу програма које се отвара двоструким кликом на дугме (button1) :

private void button1_Click(object sender,  EventArgs e)
{
    //Promenljiva koju koristimo
    int broj;
    broj = int.Parse(textBox1.Text);
    //Ako unesemo broj 1
    if (broj == 1)
        //Ispisujemo poruku
        label3.Text = "Prvi dan u nedelji je ponedeljak.";
    //U suprotnom ako unesemo broj 2
    else if (broj == 2)
        //Ispisujemo poruku
        label3.Text = "Drugi dan u nedelji je utorak.";
    //U suprotnom ako unesemo broj 3
    else if (broj == 3)
         //Ispisujemo poruku
         label3.Text = "Treci dan u nedelji je sreda.";
    //U suprotnom ako unesemo broj 4
    else if (broj == 4)
        //Ispisujemo poruku
        label3.Text = "Cetvrti dan u nedelji je cetvrtak.";
    //U suprotnom ako unesemo broj 5
    else if (broj == 5)
        //Ispisujemo poruku
        label3.Text = "Peti dan u nedelji je petak.";
    //U suprotnom ako unesemo broj 6
    else if (broj == 6)
        //Ispisujemo poruku
        label3.Text = "Sesti dan u nedelji je subota.";
    //U suprotnom ako unesemo broj 7
    else if (broj == 7)
        //Ispisujemo poruku
        label3.Text = "Sedmi dan u nedelji je nedelja.";
    //Ako u unesemo neki drugi broj
    else
        //Ispisujemo poruku
        label3.Text = "Uneti redni broj nije broj dana u nedelji!";
}

Покренемо програм и проверимо :



Слика 6.58. Изглед форми након покретања програма

Пример 2. Написати програм који за унети дан у недељи одређује његов редни број.

Решење :
Програм треба да нам врати редни број дана у недељи, ако унесемо његов назив,
или да нам испише поруку о погресшном уносу ако смо унели неки назив који није назив дана у недељи
(Обрнут пример у односу на пример 1).


Правимо форму облика:
Слика 6.59. Почетни изглед форме
Преименујемо label-e и button1
Слика 6.60. Изглед форме након преименовања компоненти

Пишемо одговарајући код у делу програма које се отвара двоструким кликом на дугме (button1) :

private void button1_Click(object sender, EventArgs e)
{
    //Promenljiva koju koristimo
    string dan;
    dan = textBox1.Text;
    //Ako unesemo broj unesemo rec ponedeljak
    if (dan == "ponedeljak")
        //Ispisujemo poruku
        label3.Text = "Ponedeljak je prvi dan u nedelji.";
    //U suprotnom ako unesemo rec utorak
    else if (dan == "utorak")
        //Ispisujemo poruku
        label3.Text = "Utorak je drugi dan u nedelji.";
    //U suprotnom ako unesemo rec sreda
    else if (dan == "sreda")
        //Ispisujemo poruku
        label3.Text = "Sreda je treci dan u nedelji.";
    //U suprotnom ako unesemo rec cetvrtak
    else if (dan == "cetvrtak")
        //Ispisujemo poruku
        label3.Text = "Cetvrtak je cetvrti dan u nedelji.";
    //U suprotnom ako unesemo rec petak
    else if (dan == "petak")
        //Ispisujemo poruku
        label3.Text = "Petak je peti dan u nedelji.";
    //U suprotnom ako unesemo rec subota
    else if (dan == "subota")
        //Ispisujemo poruku
        label3.Text = "Subota je sesti dan u nedelji.";
    //U suprotnom ako unesemo rec nedelja
    else if (dan == "nedelja")
        //Ispisujemo poruku
        label3.Text = "Nedelja je sedmi dan u nedelji.";
    //U suprotnom ako u unesemo neku drugu rec
    else
        //Ispisujemo poruku
        label3.Text = "Uneti tekst nije naziv dana u nedelji!";
}

Покренемо програм и проверимо :



Слика 6.61. Изглед форми након покретања програма

Пример 3 се препоручује ученицима ѕа самостални рад.

Пример 3. Написати програм који
(а) када унесемо редни број месеца враћа назив тог месеца
(б) када унесемо назив месеца враћа нјегов редни број.

Решење :

(а) Програм треба да нам врати назив месеца у години, ако унесемо његов редни број (број од 1 до 12),
или да нам испише поруку о погрешном уносу ако смо унели неки број који није редни број месеца у години.


Правимо форму облика:
Слика 6.62. Почетни изглед форме
Преименујемо label-e и button1
Слика 6.63. Изглед форме након преименовања компоненти

Пишемо одговарајући код у делу програма које се отвара двоструким кликом на дугме (button1):

(б) Програм треба да нам врати редни број месеца у години, ако унесемо његов назив или да нам испише поруку о погрешном уносу ако смо унели неки назив који није назив месеца у години.


Правимо форму облика:
Слика 6.64. Почетни изглед форме
Преименујемо label-e и button1
Слика 6.65. Изглед форме након преименовања компоненти

Пишемо одговарајући код у делу програма које се отвара двоструким кликом на дугме (button1):

Пример 4. Написати програм који када унесемо редни број месеца враћа колико дана има у том месецу.

Решење :
Опште је познато да месеци у години немају исти број дана. Јануар, Март, Мај, Јул, Август, Октобар и Децембар имају по 31 дан, Април, Јун, Септембар и Новембар имају по 30 дана сваке године, док у зависности од тога да ли је година преступна или не Фебруар има 29 или 28 дана.
Колико има дана у ком месецу, једноставно можете одредити на својим рукама.

Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and active in your browser (Click here to install Java now)

*У случају да се анимација не приказује, притиснути дугме Прикажи слику





Правимо форму облика:
Слика 6.66. Почетни изглед форме
Преименујемо label-e и button1
Слика 6.67. Изглед форме након преименовања компоненти

Пишемо одговарајући код у делу програма које се отвара двоструким кликом на дугме (button1) :

private void button1_Click(object sender, EventArgs e)
{
    //Promenljive koje koristimo
    int m, g, p, b;
    m = int.Parse(textBox1.Text);
    g = int.Parse(textBox2.Text);
    //Proveravamo da li je godina prestupna
    if ((g % 4 == 0) && (g % 100 != 0) || (g % 400 == 0))
        p = 1;
    else
        p = 0;

    //Odredjujemo koliko dana ima koji mesec
    if (m == 2)
        b = 28 + p;
    else if ((m == 4) || (m == 6) || (m == 9) || (m == 11))
        b = 30;
    else 
        b = 31;

    //Redni broj meseca ne moze biti veci od 12 ni manji od 1
    if ((m > 12) || (m < 1))
        //Ispisujemo poruku o pogresnom unosu
        label3.Text = "Uneli ste pogresan datum!!!";
    //U suprotnom uneli smo ispravan datum
    else
    {
        //Ako unesemo broj 1
        if (m == 1)
            //Iispisujemo poruku
            label3.Text = "Januar ima " + b + " dana.";
        //U suprotnom ako unesemo broj 2
        else if (m == 2)
            //Ispisujemo poruku
            label3.Text = "Februar ima " + b + " dana.";
        //U suprotnom ako unesemo broj 3
        else if (m == 3)
            //Ispisujemo poruku
            label3.Text = "Mart ima " + b + " dana.";
        //U suprotnom ako unesemo broj 4
        else if (m == 4)
            //Ispisujemo poruku
            label3.Text = "April ima " + b + " dana.";
        //U suprotnom ako unesemo broj 5
        else if (m == 5)
            //Ispisujemo poruku
            label3.Text = "Maj ima " + b + " dana.";
        //U suprotnom ako unesemo broj 6
        else if (m == 6)
            //Ispisujemo poruku
            label3.Text = "Jun ima " + b + " dana.";
        //U suprotnom ako unesemo broj 7
        else if (m == 7)
            //Ispisujemo poruku
            label3.Text = "Jul ima " + b + " dana.";
        //U suprotnom ako unesemo broj 8
        else if (m == 8)
            //Ispisujemo poruku
            label3.Text = "Avgust ima " + b + " dana.";
        //U suprotnom ako unesemo broj 9
        else if (m == 9)
            //Ispisujemo poruku
            label3.Text = "Septembar ima " + b + " dana.";
        //U suprotnom ako unesemo broj 10
        else if (m == 10)
            //Ispisujemo poruku
            label3.Text = "Oktobar ima " + b + " dana.";
        //U suprotnom ako unesemo broj 11
        else if (m == 11)
            //Ispisujemo poruku
            label3.Text = "Novembar ima " + b + " dana.";
        //U suprotnom ako unesemo broj 12
        else if (m == 12)
            //Ispisujemo poruku
            label3.Text = "Decembar ima " + b + " dana.";
    }
}

Пример 5. Написати програм који када унесемо датум одређује редни број дана у години.

Решење :
Како година има 365, а ако је преступна 366 дана, програм треба да нам врати бројеве од 1 до 365 (366), у зависности од датума који смо унели.


Правимо форму облика:
Слика 6.68. Почетни изглед форме
Преименујемо label-e и button1
Слика 6.69. Изглед форме након преименовања компоненти

Пишемо одговарајући кода у делу програма које се отвара двоструким кликом на дугме (button1) :

private void button1_Click(object sender, EventArgs e)
{
    //Promenljive koje koristimo
    int d, m, g, p, b;
    d = int.Parse(textBox1.Text);
    m = int.Parse(textBox2.Text);
    g = int.Parse(textBox3.Text);
    //Ispitujemo da li je godina prestupna
    if ((g % 4 == 0) && (g % 100 != 0) || (g % 400 == 0))
        p = 1;
    else
        p = 0;

    //Odredjujemo koliko dana ima koji mesec
    if (m == 2)
        b = 28 + p;
    else if ((m == 4) || (m == 6) || (m == 9) || (m == 11))
        b = 30;
    else 
        b = 31;

    //Redni broj dana ne moze biti manji od 1 ni veci od broja dana u mesecu u kom je taj dan
    //Rеdni broj meseca ne moze biti veci od 12 ni manji od 1
    if ((d > b) || (d < 1) || (m > 12) || (m < 1))
        //Ispisujemo poruku o pogresnom unosu
        label3.Text = "Uneli ste pogresan datum!!!";
    //U suprotnom uneli smo ispravan datum
    else
    {
        //Broj meseca koji smo uneli smanjimo za 1
        m = m - 1;
        //Ako je posle smanjenja redni broj meseca 1
        //Kao redni broj meseca uneli smo 2 (februar)
        if (m == 1)
        {   
            //Broju dana dodamo 31, toliko dana ima januar
            d = d + 31;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
        //Kao redni broj meseca uneli smo 3 (mart)
        else if (m == 2)
        {
            //Broju dana dodamo broj dana prethodna dva meseca
            d = d + 31 + 28 + p;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
        //Kao redni broj meseca uneli smo 4 (april)
        else if (m == 3)
        {
            //Broju dana dodamo broj dana prethodna tri meseca
            d = d + 31 + 28 + p + 31;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
        //Kao redni broj meseca uneli smo 5 (maj)
        else if (m == 4)
        {
            //Broju dana dodamo broj dana prethodna cetiri meseca
            d = d + 31 + 28 + p + 31 + 30;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
        //Kao redni broj meseca uneli smo 6 (jun)
        else if (m == 5)
        {
            //Broju dana dodamo broj dana prethodnih pet meseci
            d = d + 31 + 28 + p + 31 + 30 + 31;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
        //Kao redni broj meseca uneli smo 7 (jul)
        else if (m == 6)
        {
            //Broju dana dodamo broj dana prethodnih sest meseci
            d = d + 31 + 28 + p + 31 + 30 + 31 + 30;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
        //Kao redni broj meseca uneli smo 8 (avgust)
        else if (m == 7)
        {
            //Broju dana dodamo broj dana prethodnih sedam meseci
            d = d + 31 + 28 + p + 31 + 30 + 31 + 30 + 31;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
        //Kao redni broj meseca uneli smo 9 (septembar)
        else if (m == 8)
        {
            //Broju dana dodamo broj dana prethodnih osam meseci
            d = d + 31 + 28 + p + 31 + 30 + 31 + 30 + 31 + 31;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
        //Kao redni broj meseca uneli smo 10 (oktobar)
        else if (m == 9)
        {
            //Broju dana dodamo broj dana prethodnih devet meseci
            d = d + 31 + 28 + p + 31 + 30 + 31 + 30 + 31 + 31 + 30;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
        //Kao redni broj meseca uneli smo 11 (novembar)
        else if (m == 10)
        {
            //Broju dana dodamo broj dana prethodnih deset meseci
            d = d + 31 + 28 + p + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
        //Kao redni broj meseca uneli smo 12 (decembar)
        else if (m == 11)
        {
            //Broju dana dodamo broj dana prethodnih jedanest meseci
            d = d + 31 + 28 + p + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30;
            //Ispisemo poruku
            label3.Text = "Uneti datum je " + d + " dan u godini.";
        }
    }
}

Покренемо програм и проверимо :


Слика 6.70. Изглед форме након покретања програма