Pomoc s maturitníma otázkama C# a trochu algoritimzace

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
gorilino
Nováček
Nováček
Registrován: 10. pro 2010
Kontaktovat uživatele:

Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od gorilino »

Prosím Vás, byl by někdo ochotný mi pomoci s vypracováním maturitních otázek do programování v C# ... potřeboval bych vymyslet k pár jednoduchým programkům algoritmus a syntaxi v C# . Pokud možno jestli by byl tak někdo ochotný a probral to se mnou třeba přes icq.

Děkuji mockrát
Gorilino
jan.svoboda
Středně pokročilý
Středně pokročilý
Registrován: 25. pro 2009
Bydliště: Chrudim

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od jan.svoboda »

Ahoj, mohl by jsi sem alespoň uvést nějaký příklad maturitní otázky?
Zde na foru již nejsem aktivní, vyskytuji se na Google+ (http://gplus.to/JanSvoboda), kde aktivně píšu nejen o IT.
gorilino
Nováček
Nováček
Registrován: 10. pro 2010
Kontaktovat uživatele:

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od gorilino »

První maturitní otázka:
Metody a funkce praktické příklady C#

a potom ještě musím vypracovat následující:

1. Navrhněte algoritmus, který řeší základní matematické operace sčítaní, odčítaní násobení a dělení. Ošetřete dělení nulou.
2. Převeďte algoritmus na praktický zápis v programovacím jazyce C#.

a další:

1. Navrhněte algoritmus, který nám určí nejmenšího společného dělitele u dvou celých čísel.
2. Převeďte algoritmus na praktický zápis v programovacím jazyce.

a ještě jeden:

1. Navrhněte algoritmus, který nám určí největšího společného dělitele u dvou celých čísel.
2. Převeďte algoritmus na praktický zápis v programovacím jazyce.

Je toho dost a vůbec si s tím nevím rady
jan.svoboda
Středně pokročilý
Středně pokročilý
Registrován: 25. pro 2009
Bydliště: Chrudim

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od jan.svoboda »

Na maturitu to není dle mě nic strašného nebo nereálného :) Jako s kódem není problém pomoci, ale znáš alespoň základy C#? Protože celý kód ke všemu se mi vážně psát nechce... A algoritmy se dají udělat i podle toho kódu, ač by měly být první (já je snad ještě nikdy nevyužil... :roll: ).


// OndraSter - otázka cirka minuty každá úloha. Jestli z toho má maturovat, tak C# měl alespoň měsíc ve škole a měl by to určitě zvládnout.
// jan.svoboda - souhlasím, s dotazama rád(i) poradím(e), ale psát celý kód ke všemu, pokud na to někdo ve škole slušně řečeno kašlal, nebudeme... Ty úlohy mi přijdou určený pro 1. ročník SŠ - na maturitu nějak hodně lehké dle mě...
Zde na foru již nejsem aktivní, vyskytuji se na Google+ (http://gplus.to/JanSvoboda), kde aktivně píšu nejen o IT.
gorilino
Nováček
Nováček
Registrován: 10. pro 2010
Kontaktovat uživatele:

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od gorilino »

Já moc neznám ani ty základy C# .. my totiz jeden rok delali delphi , pak pascal , pak zas delphi a pred pul rokem sme zacli C# ... jo ty algoritmy neni tezke vypracovat podle kodu ... já vím že to jsou stupidní úlohy ... ale potřeboval bych je vyřešit nějak elegantně což já neumím ...
Navíc učitel nás ted uci C# stylem ze nam ukaze jak to ma vypadat co to ma delat at to zrobime ... takze ani zadna teorie se moc nekonala ... max cykly a metoda parse a tryparse
jan.svoboda
Středně pokročilý
Středně pokročilý
Registrován: 25. pro 2009
Bydliště: Chrudim

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od jan.svoboda »

Je fakt, že ne všude na školách učitelé dobře a pochopitelně vyučují C#... Jedná se o Console Application / Windows Forms?
Zde na foru již nejsem aktivní, vyskytuji se na Google+ (http://gplus.to/JanSvoboda), kde aktivně píšu nejen o IT.
gorilino
Nováček
Nováček
Registrován: 10. pro 2010
Kontaktovat uživatele:

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od gorilino »

Windows Forms ... jako on neni spatny ucitel ... jenze dostal nas ctvrtaky co sme neumeli ani poradne programovat v delphi ... protoze ucitel na delphi opisoval programy z knizky a kdyz neco neslo tak se odkazoval na knizku ... no a ted nas ma ucitel pul roku pred maturitou naucit programovat v C# a navic ted jsou vselijake prazdniny ... takze na teorii moc casu neni ...
jan.svoboda
Středně pokročilý
Středně pokročilý
Registrován: 25. pro 2009
Bydliště: Chrudim

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od jan.svoboda »

Jo, chápu...

Ukázka řešení v C#:
1. Navrhněte algoritmus, který řeší základní matematické operace sčítaní, odčítaní násobení a dělení. Ošetřete dělení nulou.
2. Převeďte algoritmus na praktický zápis v programovacím jazyce C#.
S využitím funkcí:

Kód: Vybrat vše

        int _a;
        int _b;

        private void button1_Click(object sender, EventArgs e)
        {
            _a = Convert.ToInt32(textBox1.Text);
            _b = Convert.ToInt32(textBox2.Text);
            try
            {
                label1.Text = secti().ToString();
                label2.Text = odecti().ToString();
                label3.Text = vynasob().ToString();
                label4.Text = vydel().ToString();
            }
            catch (DivideByZeroException)
            {
                MessageBox.Show("Chyba: Nulou nelze dělit");
            }   
        }
        private int secti()
        {
            return _a + _b;
        }
        private int odecti()
        {
            return _a - _b;
        }
        private int vynasob()
        {
            return _a * _b;
        }
        private int vydel()
        {
            return _a / _b;
        }
Bez využití funkcí:

Kód: Vybrat vše

        private void button1_Click(object sender, EventArgs e)
        {
            int a = Convert.ToInt32(textBox1.Text);
            int b = Convert.ToInt32(textBox2.Text);
            try
            {
                label1.Text = (a + b).ToString();
                label2.Text = (a - b).ToString();
                label3.Text = (a * b).ToString();
                label4.Text = (a / b).ToString();
            }
            catch (DivideByZeroException)
            {
                MessageBox.Show("Chyba: Nulou nelze dělit");
            }

Tady máš ukázku, jak by mohla vypadat tato úloha... způsobu řešení je samozřejmě více, tohle mě napadlo jako první teď v rychlosti. Zkus se na to podívat a pochopit princip, a doporučuji kouknout třeba sem http://projektysipvz.gytool.cz/Projekty ... aspx?uid=1 a pročíst si to...
Zde na foru již nejsem aktivní, vyskytuji se na Google+ (http://gplus.to/JanSvoboda), kde aktivně píšu nejen o IT.
gorilino
Nováček
Nováček
Registrován: 10. pro 2010
Kontaktovat uživatele:

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od gorilino »

Děkuji mockrát .... už to chápu ... přidám takový další stupidní dotaz ... metody a funkce jsou to samé nebo ne?
jan.svoboda
Středně pokročilý
Středně pokročilý
Registrován: 25. pro 2009
Bydliště: Chrudim

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od jan.svoboda »

Nemáš za co.
metody a funkce jsou to samé nebo ne?
Víceméně jsou to samé (funkce = metody, které vrací výsledek).
Zde na foru již nejsem aktivní, vyskytuji se na Google+ (http://gplus.to/JanSvoboda), kde aktivně píšu nejen o IT.
gorilino
Nováček
Nováček
Registrován: 10. pro 2010
Kontaktovat uživatele:

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od gorilino »

takže hlavička metody má obsahovat void ( nevrací hodnotu ) a hlavička funkce má obsahovat datový typ vrácené hodnoty? pokud to dobře chápu
jan.svoboda
Středně pokročilý
Středně pokročilý
Registrován: 25. pro 2009
Bydliště: Chrudim

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od jan.svoboda »

Pokud mi to ještě teď o půlnoci trošku myslí, tak ano. Ale raději Ti na to kouknu až jindy, teď už musím jít (zítra tu budu asi navečer).
Zde na foru již nejsem aktivní, vyskytuji se na Google+ (http://gplus.to/JanSvoboda), kde aktivně píšu nejen o IT.
gorilino
Nováček
Nováček
Registrován: 10. pro 2010
Kontaktovat uživatele:

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od gorilino »

Ok . Tak zas zítra pokud budeš mít čas. Dobrou a mockrát ti děkuju.
jan.svoboda
Středně pokročilý
Středně pokročilý
Registrován: 25. pro 2009
Bydliště: Chrudim

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od jan.svoboda »

Jasně, díky, a není za co.
Zde na foru již nejsem aktivní, vyskytuji se na Google+ (http://gplus.to/JanSvoboda), kde aktivně píšu nejen o IT.
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od OndraSter »

gorilino píše:takže hlavička metody má obsahovat void ( nevrací hodnotu ) a hlavička funkce má obsahovat datový typ vrácené hodnoty? pokud to dobře chápu
Ne tak docela. Metoda, narozdíl od funkce, se používá v objektovém programování (což ani jinak v C# nejde, C# je striktně objektový jazyk). Funkce se nazývá mimo objekty.

Jinak veškerá definice metod obsahuje:

Kód: Vybrat vše

[viditelnost (přístupnost)] [návratový typ] [název] ([parametr1[, parametr2[, parametr3, ...]]])
{
     [obsah metody]
}
a funkce obsahuje

Kód: Vybrat vše

[návratový typ] [název] ([parametr1[, parametr2[, parametr 3]]])
{
    [obsah funkce]
}
(Ty [ ] tam ofc nejsou v reálu, je to jako naznačení vlastního textu)
-- funkce neobsahuje tu viditelnost, neboť je vidět odevšad, neboť se neřeši objekty a neviditelná funkce by byla k ničemu.


// jan.svoboda - Díky za doplnění info :)
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
gorilino
Nováček
Nováček
Registrován: 10. pro 2010
Kontaktovat uživatele:

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od gorilino »

Takže všechny funkce jsou jakoby public ? ... dneska sem si cetl plno materialu o OOP a porad nechapu jak si mam v kodu představit objekt ... nebo jak ho vymezit v tom kódu ... dá se to vůbec nějak vymezit v tom kódu?

Jinak díky za příspěvky a objasnění
Exp
Začátečník
Začátečník
Registrován: 24. črc 2004
Bydliště: Tábor
Kontaktovat uživatele:

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od Exp »

Objekt je instance (reprezentace) třídy. Třída může být pro představu např. továrna na automobily (Škodovka), kdežto objekt je automobil (Škoda Octavia) s vlastnostmi, které definují třídní proměnné. Tyto vlastnosti se pak nastavují při vytváření objektu.

Kód: Vybrat vše

class Skodovka
{
//následují třídní proměnné
promenna barvaAuta;
promenna vykonMotoru;
promenna typKaroserie;

//konstruktor - pokud o této metodě nic nevíš, doporučuju nastudovat. V zásadě je to metoda, která vytváří objekt dané třídy
metoda konstruktorObjektu(barvaAuta, vykonMotoru, typKaroserie)
{
...inicializace proměnných...
}

//další metody - např. přístupové (settery a gettery) apod.
}

//vytvoření objektu skodaOctavia třídy Skodovka
skodaOctavia = new Skodovka(cervena, 55, sedan); 

gorilino
Nováček
Nováček
Registrován: 10. pro 2010
Kontaktovat uživatele:

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od gorilino »

Snažím se vytvořit ten program nejvetsi spolecny delitel a potreboval bych zkontrolovat jestli to dava smysl to co sem napsal a jeste bych nekde potřeboval zařadit příkaz pro vypsání výsledku do labelu (label1.Text = Vysledek.ToString();) myslím si že to mám všechno špatně ... celý program

Kód:

Kód: Vybrat vše

private void button1_Click(object sender, EventArgs e)
        {
        }
            public void NejvetsiSpolecnyDelitel(int A,int B,int Vysledek,int zbytek)
            {
                A =Convert.ToInt32(textBox1.Text);
                B =Convert.ToInt32(textBox2.Text);
            do
                {
                zbytek=A % B;
                A=B;

                     if (zbytek!=0)
                        {
                        Vysledek=B;                      
                        }

                } while (zbytek==0);
        
            }
     
        }

//jan.svoboda - kód vložen do code
Saphire
Začátečník
Začátečník
Uživatelský avatar
Registrován: 17. kvě 2009

Re: Pomoc s maturitníma otázkama C# a trochu algoritimzace

Příspěvek od Saphire »

Tohle ne! Takhle: (Onanisté nad absolutní objektovostí a přehledností zdroje mě budou asi chtít kamenovat, ale já to tak dělám a vždy to fungovalo :razz: )

Kód: Vybrat vše

private void button1_Click(object sender, EventArgs e)
        {
            resultLabel.Text = (NejvetsiSpolecnyDelitel(Convert.ToInt32(textBox1.Text),Convert.ToInt32(textBox2.Text))).ToString();
        }
            public int NejvetsiSpolecnyDelitel(int A,int B)
            {
            int zbytek;
            do
                {
                zbytek=A % B;
                A=B;
                     if (zbytek!=0)
                        {
                        return B;                     
                        }
                } while (zbytek==0);
            }
        }
MB: Fujistu-Siemens D1961 CPU: Intel P4HT 521 2.8Ghz GPU: ATI Radeon 9600 Atlantis 128MB RAM: 2x1GB DDR400 ADATA PREMIER HDD: 2x 40GB Samsung SP0411c, 250GB WD Caviar D2500AAJB-00J3A0 OS: Windows XP/Linux Mndriva 2010.2
Airsoft archivements: Bloody BB, Amphibious operations, Calm under fire, Sugar rush, Dance, F**ker Dance!, Speedy Gonzales, 1 of 300
Odpovědět

Zpět na „Programování a web“