c# https://info.aszevgim.hu/index.php/programozzunk/c 2024-05-18T07:53:43+00:00 info.aszevgim.hu Joomla! - Open Source Content Management Modern programozási nyelvek 2022-04-06T15:12:25+00:00 2022-04-06T15:12:25+00:00 https://info.aszevgim.hu/index.php/programozzunk/81-modern-programozasi-nyelvek Super User <p>A portfolio.hu oldalon megjelent (és archivalt) cikk nyomtatott változata <a href="https://info.aszevgim.hu/doku\ezek_most_a legnepszerubb_pr_nyelvek.pdf" target="_blank" rel="noopener noreferrer">ITT </a>olvasható!</p> <p>A portfolio.hu oldalon megjelent (és archivalt) cikk nyomtatott változata <a href="https://info.aszevgim.hu/doku\ezek_most_a legnepszerubb_pr_nyelvek.pdf" target="_blank" rel="noopener noreferrer">ITT </a>olvasható!</p> ÉRETTSÉGI PROGRAMOZÁSI FELADATOK MEGOLDÁSA C#-BAN 2020-06-11T16:34:48+00:00 2020-06-11T16:34:48+00:00 https://info.aszevgim.hu/index.php/programozzunk/58-erettsegi-feladatok-megoldasa-c-ban Super User <p><span style="color: #000080;">A 2020. májusi emelt szintű érettségi vizsga programozási feladatát oldottam meg. Részletesen elmagyarázom és megmutatom a megoldást az alábbi videókon. Remélem, sokan kedvet kaptok a prgramozáshoz!</span></p> <p>Az 1. és 2. rész megoldása:</p> <p><video controls="controls" width="854" height="480"> <source src="https://info.aszevgim.hu/erettsegi2020/meteorologia-feladat1.mp4" type="video/mp4" /></video></p> <p>A 3. és 4. rész megoldása:</p> <p><video controls="controls" width="854" height="480"> <source src="https://info.aszevgim.hu/erettsegi2020/meteorologia-feladat2.mp4" type="video/mp4" /></video></p> <p>Az 5. rész megoldása:</p> <p><video controls="controls" width="854" height="480"> <source src="https://info.aszevgim.hu/erettsegi2020/meteoroligia-feladat3.mp4" type="video/mp4" /></video></p> <p><a href="https://info.aszevgim.hu/erettsegi2020/meteorologia-kod.pdf">És itt az általam megírt programkód!</a></p> <p> </p> <p> </p> <p> </p> <p><span style="color: #000080;">A 2020. májusi emelt szintű érettségi vizsga programozási feladatát oldottam meg. Részletesen elmagyarázom és megmutatom a megoldást az alábbi videókon. Remélem, sokan kedvet kaptok a prgramozáshoz!</span></p> <p>Az 1. és 2. rész megoldása:</p> <p><video controls="controls" width="854" height="480"> <source src="https://info.aszevgim.hu/erettsegi2020/meteorologia-feladat1.mp4" type="video/mp4" /></video></p> <p>A 3. és 4. rész megoldása:</p> <p><video controls="controls" width="854" height="480"> <source src="https://info.aszevgim.hu/erettsegi2020/meteorologia-feladat2.mp4" type="video/mp4" /></video></p> <p>Az 5. rész megoldása:</p> <p><video controls="controls" width="854" height="480"> <source src="https://info.aszevgim.hu/erettsegi2020/meteoroligia-feladat3.mp4" type="video/mp4" /></video></p> <p><a href="https://info.aszevgim.hu/erettsegi2020/meteorologia-kod.pdf">És itt az általam megírt programkód!</a></p> <p> </p> <p> </p> <p> </p> C# lépésről-lépésre 2019-10-20T14:49:36+00:00 2019-10-20T14:49:36+00:00 https://info.aszevgim.hu/index.php/programozzunk/41-c-lepesrol-lepesre Super User <p>Az <strong>Info Tanár Mentor Program Klub</strong> támogatásával elkészült egy videó sorozat, amely  a C# programozás elsajátítást segíti lépésről-lépésre.<br /><em>(egy korábbi cikkben már felkerült a sorozat első három része)</em></p> <p>Az egyes részek elérhetőségei és a film hossza:</p> <table> <thead> <tr> <th>Tananyag</th> <th>Hossz</th> </tr> </thead> <tbody> <tr> <td><a href="https://www.youtube.com/watch?v=JsLEG9WXCDk" rel="nofollow">C# Programozás 1.rész - Alapok</a></td> <td>15:37</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=hHszJUvynlc" rel="nofollow">C# Programozás 2.rész - Operátorok, adatbekérés</a></td> <td>14:26</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=imaXNPzJ3yw" rel="nofollow">C# Programozás 3.rész - Elágazások: if-else</a></td> <td>17:48</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=m1FXvelQhiU" rel="nofollow">C# Programozás 4.rész - Elágazások: switch</a></td> <td>10:08</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=pvpl0um-nFc" rel="nofollow">C# Programozás 5.rész - Iterációk, ciklusok</a></td> <td>20:05</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=hR3fezxvdZs" rel="nofollow">C# Programozás 6.rész - Prefix, postfix, túlcsordulás</a></td> <td>10:35</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=9xFduYQ99UI" rel="nofollow">C# Programozás 7.rész - Randomolás, Tömbök: vektorok, mátrixok, mutatóvektorok, stringek</a></td> <td>27:06</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=FiFpJdWpwuE" rel="nofollow">C# Programozás 9.rész - Alprogramok:eljárások és függvények</a></td> <td>31:14</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=KqldoFnBqw0" rel="nofollow">C# Programozás 10.rész - Alprogramok - feladatok</a></td> <td>19:36</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=7csSb-wGTRc" rel="nofollow">C# Programozás 14.rész - List és ArrayList + Elmélet</a></td> <td>29:22</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=Y3oPacf3klY" rel="nofollow">C# Programozás 19. rész - Struktúrák</a></td> <td>11:29</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=qW9yqzQd7k0" rel="nofollow">C# Programozás 23. rész - OOP1 - Alapok, konstruktor</a></td> <td>18:36</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=xIPKJB5jYus" rel="nofollow">C# Programozás 24. rész - OOP2 - Láthatóságok, jellemzők</a></td> <td>16:19</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=Gls_UMXWCjA" rel="nofollow">C# Programozás 25. rész - OOP3 - Jellemzők, osztálymetódus, statikus mezők, osztályok</a></td> <td>14:04</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=2mQ_c0GVf0E" rel="nofollow">C# Programozás 26. rész - OOP4 - Öröklődés, is a viszony</a></td> <td>35:29</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=CLNd8LU-LW4" rel="nofollow">C# Programozás 27. rész - OOP5 - Öröklődés: override, virtual, new, sealed</a></td> <td>12:08</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=pmUy7ZLuRf8" rel="nofollow">C# Programozás 28. rész - OOP6 - Késői, korai kötés, polimorfizmus</a></td> <td>12:07</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=MycYPaDD4-Q" rel="nofollow">C# Programozás 31. rész - OOP9 - Interfészek</a></td> <td>11:45</td> </tr> </tbody> </table> <p>Ezen kívül elérhető <strong>Karsa Zoltán: C# programozás</strong> c. jegyzete, amelyet <a href="https://mega.nz/#F!cZ10zbQI!KT-iiSP26pZewhrDolDk0A" target="_blank" rel="noopener noreferrer">ITT </a>lehet elolvasni! (..de letölthető <a href="https://info.aszevgim.hu/doku/c#konyv.pdf" target="_blank" rel="noopener noreferrer">innet </a>is!)</p> <p>Az <strong>Info Tanár Mentor Program Klub</strong> támogatásával elkészült egy videó sorozat, amely  a C# programozás elsajátítást segíti lépésről-lépésre.<br /><em>(egy korábbi cikkben már felkerült a sorozat első három része)</em></p> <p>Az egyes részek elérhetőségei és a film hossza:</p> <table> <thead> <tr> <th>Tananyag</th> <th>Hossz</th> </tr> </thead> <tbody> <tr> <td><a href="https://www.youtube.com/watch?v=JsLEG9WXCDk" rel="nofollow">C# Programozás 1.rész - Alapok</a></td> <td>15:37</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=hHszJUvynlc" rel="nofollow">C# Programozás 2.rész - Operátorok, adatbekérés</a></td> <td>14:26</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=imaXNPzJ3yw" rel="nofollow">C# Programozás 3.rész - Elágazások: if-else</a></td> <td>17:48</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=m1FXvelQhiU" rel="nofollow">C# Programozás 4.rész - Elágazások: switch</a></td> <td>10:08</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=pvpl0um-nFc" rel="nofollow">C# Programozás 5.rész - Iterációk, ciklusok</a></td> <td>20:05</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=hR3fezxvdZs" rel="nofollow">C# Programozás 6.rész - Prefix, postfix, túlcsordulás</a></td> <td>10:35</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=9xFduYQ99UI" rel="nofollow">C# Programozás 7.rész - Randomolás, Tömbök: vektorok, mátrixok, mutatóvektorok, stringek</a></td> <td>27:06</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=FiFpJdWpwuE" rel="nofollow">C# Programozás 9.rész - Alprogramok:eljárások és függvények</a></td> <td>31:14</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=KqldoFnBqw0" rel="nofollow">C# Programozás 10.rész - Alprogramok - feladatok</a></td> <td>19:36</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=7csSb-wGTRc" rel="nofollow">C# Programozás 14.rész - List és ArrayList + Elmélet</a></td> <td>29:22</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=Y3oPacf3klY" rel="nofollow">C# Programozás 19. rész - Struktúrák</a></td> <td>11:29</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=qW9yqzQd7k0" rel="nofollow">C# Programozás 23. rész - OOP1 - Alapok, konstruktor</a></td> <td>18:36</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=xIPKJB5jYus" rel="nofollow">C# Programozás 24. rész - OOP2 - Láthatóságok, jellemzők</a></td> <td>16:19</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=Gls_UMXWCjA" rel="nofollow">C# Programozás 25. rész - OOP3 - Jellemzők, osztálymetódus, statikus mezők, osztályok</a></td> <td>14:04</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=2mQ_c0GVf0E" rel="nofollow">C# Programozás 26. rész - OOP4 - Öröklődés, is a viszony</a></td> <td>35:29</td> </tr> <tr> <td><a href="http://www.youtube.com/watch?v=CLNd8LU-LW4" rel="nofollow">C# Programozás 27. rész - OOP5 - Öröklődés: override, virtual, new, sealed</a></td> <td>12:08</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=pmUy7ZLuRf8" rel="nofollow">C# Programozás 28. rész - OOP6 - Késői, korai kötés, polimorfizmus</a></td> <td>12:07</td> </tr> <tr> <td><a href="https://www.youtube.com/watch?v=MycYPaDD4-Q" rel="nofollow">C# Programozás 31. rész - OOP9 - Interfészek</a></td> <td>11:45</td> </tr> </tbody> </table> <p>Ezen kívül elérhető <strong>Karsa Zoltán: C# programozás</strong> c. jegyzete, amelyet <a href="https://mega.nz/#F!cZ10zbQI!KT-iiSP26pZewhrDolDk0A" target="_blank" rel="noopener noreferrer">ITT </a>lehet elolvasni! (..de letölthető <a href="https://info.aszevgim.hu/doku/c#konyv.pdf" target="_blank" rel="noopener noreferrer">innet </a>is!)</p> Programozás kezdőknek-VIDEÓK! 2019-07-13T16:51:18+00:00 2019-07-13T16:51:18+00:00 https://info.aszevgim.hu/index.php/programozzunk/30-programozas-kezdoknek-videok Super User <p>Telepítés, alapok</p> <p><iframe width="560" height="315" src="https://www.youtube.com/embed/JsLEG9WXCDk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p> <p>Operátorok, adatbekérés</p> <p><iframe width="560" height="315" src="https://www.youtube.com/embed/hHszJUvynlc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p> <p>Elágazások</p> <p><iframe width="560" height="315" src="https://www.youtube.com/embed/imaXNPzJ3yw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p> <p>Ciklusok</p> <p><iframe width="560" height="315" src="https://www.youtube.com/embed/pvpl0um-nFc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p> <p> </p> <p>Telepítés, alapok</p> <p><iframe width="560" height="315" src="https://www.youtube.com/embed/JsLEG9WXCDk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p> <p>Operátorok, adatbekérés</p> <p><iframe width="560" height="315" src="https://www.youtube.com/embed/hHszJUvynlc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p> <p>Elágazások</p> <p><iframe width="560" height="315" src="https://www.youtube.com/embed/imaXNPzJ3yw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p> <p>Ciklusok</p> <p><iframe width="560" height="315" src="https://www.youtube.com/embed/pvpl0um-nFc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p> <p> </p> Bővített változat 2019-07-13T16:28:39+00:00 2019-07-13T16:28:39+00:00 https://info.aszevgim.hu/index.php/programozzunk/29-bovitett-valtozat Super User <p><img src="https://info.aszevgim.hu/images/cikkek/csharp.png" /></p><p><strong>Gyors segítség:</strong></p> <p><span style="text-decoration: underline;">Ha elírjuk a változók nevét:</span></p> <p>Kis és nagybetű számít</p> <p>Sokan használják ugyanazt a nevet eltérő betűmérettel, pl.: ha egy függvény beállítja egy osztály „PontokSzama” mezőjét, a paraméter lehet „pontokSzama” nevű.</p> <p>Ne cseréljünk fel betűket.</p> <p><span style="text-decoration: underline;">Ha tünetek jelentkeznek:</span></p> <p>—Piros aláhúzás</p> <p>——Ha a View / Error List menüponttal megjelenítjük az Error List ablakot&gt;&gt;</p> <p>——A kódkiegészítés nem ajánlja fel a változó nevét, és az utána leütött pontra sem jelenik meg metódus lista.</p> <p><span style="text-decoration: underline;">Gyakran előfordul:</span></p> <p>—A tömbnél kapcsos zárójel kell:  szamok[5] és nem szamok(5)</p> <p>—A for ciklus fejlécében pontosvesszők vannak:  for(int i=0; i&lt;10; i++)</p> <p>—A do{ … }while(…) után kell pontosvessző: do{ i++; }while(i&lt;10);</p> <p>A sima while-nál viszont nem kell.</p> <p> </p> <p><strong>Ha segítségre szorulsz, keress az alábbi könyvekben:</strong></p> <p><a href="https://info.aszevgim.hu/doku/c-alapok.pdf">A C# alapjai</a></p> <p><a href="https://info.aszevgim.hu/doku/c-programozas.pdf">A programozás lépései</a></p> <p><a href="https://info.aszevgim.hu/doku/c-operatorok.pdf">Operátorok</a></p> <p><a href="https://info.aszevgim.hu/doku/adatstrukturak.pdf">Adatstruktúrák</a></p> <p><img src="https://info.aszevgim.hu/images/cikkek/csharp.png" /></p><p><strong>Gyors segítség:</strong></p> <p><span style="text-decoration: underline;">Ha elírjuk a változók nevét:</span></p> <p>Kis és nagybetű számít</p> <p>Sokan használják ugyanazt a nevet eltérő betűmérettel, pl.: ha egy függvény beállítja egy osztály „PontokSzama” mezőjét, a paraméter lehet „pontokSzama” nevű.</p> <p>Ne cseréljünk fel betűket.</p> <p><span style="text-decoration: underline;">Ha tünetek jelentkeznek:</span></p> <p>—Piros aláhúzás</p> <p>——Ha a View / Error List menüponttal megjelenítjük az Error List ablakot&gt;&gt;</p> <p>——A kódkiegészítés nem ajánlja fel a változó nevét, és az utána leütött pontra sem jelenik meg metódus lista.</p> <p><span style="text-decoration: underline;">Gyakran előfordul:</span></p> <p>—A tömbnél kapcsos zárójel kell:  szamok[5] és nem szamok(5)</p> <p>—A for ciklus fejlécében pontosvesszők vannak:  for(int i=0; i&lt;10; i++)</p> <p>—A do{ … }while(…) után kell pontosvessző: do{ i++; }while(i&lt;10);</p> <p>A sima while-nál viszont nem kell.</p> <p> </p> <p><strong>Ha segítségre szorulsz, keress az alábbi könyvekben:</strong></p> <p><a href="https://info.aszevgim.hu/doku/c-alapok.pdf">A C# alapjai</a></p> <p><a href="https://info.aszevgim.hu/doku/c-programozas.pdf">A programozás lépései</a></p> <p><a href="https://info.aszevgim.hu/doku/c-operatorok.pdf">Operátorok</a></p> <p><a href="https://info.aszevgim.hu/doku/adatstrukturak.pdf">Adatstruktúrák</a></p> Egyszerűbb programok 1. 2019-07-13T15:58:47+00:00 2019-07-13T15:58:47+00:00 https://info.aszevgim.hu/index.php/programozzunk/28-egyszerubb-programok-1 Super User <h3>Két szám legnagyobb közös osztója és legkisebb közös többszöröse</h3> <p>A program az Euklideszi algoritmust használja. Az algoritmus addig vonja ki a nagyobb számból a kisebb számot, amíg egyenlők nem lesznek. Az így kapott érték a két szám legnagyobb közös osztója.</p> <div class="kod"> <pre>int a, b, x, y;<br />Console.WriteLine("Írj be légy szíves 2 egész számot, kiírom a legnagyobb közös osztóját\nEgyik szám: ");<br />a = Int32.Parse(Console.ReadLine());<br />Console.WriteLine("A másik szám: ");<br />b = Int32.Parse(Console.ReadLine());<br />x=a;<br />y=b;<br />while (a != b)<br />{<br /> if (a &gt; b)<br /> a = a - b;<br /> else<br /> b = b - a;<br />}<br />Console.WriteLine("A legnagyobb közös osztó: {0}\nA legkisebb közös többszörös: {1}",<br /> a, x*y/a);<br />Console.ReadKey();</pre> </div> <h3>Másodfokú egyenlet megoldása</h3> <p>A következő programrész másodfokú egyenlet gyökeit keresi. Tovább lehet fejleszteni. Nincs megoldva benne az az eset, ha a másodfokú tag együtthatója 0. Az eredménykiírás formátumán is lehet javítani.</p> <div class="kod"> <pre>double a, b, c;<br /><br />Console.WriteLine(" 2\na x + b x + c = 0 egyenlet gyökeinek meghatározása\n");<br />Console.Write("a: ");<br />a = Convert.ToDouble(Console.ReadLine());<br />Console.Write("b: ");<br />b = Convert.ToDouble(Console.ReadLine());<br />Console.Write("c: ");<br />c = Convert.ToDouble(Console.ReadLine());<br />double d = Math.Pow(b,2) - 4 * a * c, gyök1, gyök2;<br />if (d &lt; 0)<br /> Console.WriteLine("Nincs valós gyök.");<br />else<br />{<br /> if (d == 0)<br /> {<br /> gyök1 = -b / (2 * a);<br /> Console.WriteLine("Egy valós gyök van, értéke: {0}", gyök1);<br /> }<br /> else<br /> {<br /> gyök1 = (-b + Math.Sqrt(d)) / (2 * a);<br /> gyök2 = (-b - Math.Sqrt(d)) / (2 * a);<br /> Console.WriteLine("Két valós gyök van, értékük: {0} és {1}", gyök1, gyök2);<br /> }<br />}<br />Console.Write("A kilépéshez üss le egy billentyűt!");<br />Console.ReadKey();</pre> </div> <h3>Az első 10000 prímszám előállítása és szövegfájlba írása</h3> <p>A megoldás során a 2-es számot beírjuk elsőnek a <em>prímek.txt</em> nevű szövegfájlba. Ez a fájl a kész program könyvtárában jön létre. 3-tól kezdve végigvizsgáljuk a páratlan számokat, hogy van-e valódi osztójuk. Az osztó keresni csak a szám négyzetgyökéig érdemes. Ha nem találunk a számhoz osztót, akkor beírjuk mint soron következő prímet a szövegfájlba.</p> <div class="kod"> <pre>StreamWriter prímek = new StreamWriter("prímek.txt");<br />prímek.WriteLine("2");<br />int szám=3, h=1, osztó;<br />const int db = 10000;<br />while(h&lt;db)<br />{<br /> osztó=3;<br /> bool prím=true;<br /> while ((Math.Pow(osztó,2) &lt;= szám) &amp;&amp; prím)<br /> {<br /> if ((szám % osztó) == 0)<br /> prím = false;<br /> osztó += 2;<br /> }<br /> if (prím)<br /> {<br /> primek.WriteLine(szám);<br /> h++;<br /> }<br /> szám += 2;<br />}<br />prímek.Close();</pre> </div> <h3>Lottósorsolás</h3> <p>5 egész számot sorsolunk 1 és 90 között, és sorba rendezve kiíratjuk. A lottószámok előállításához a véletlen szám generátort használjuk. A generátor paraméter nélküli híváskor a rendszeridőt veszi alapul. A "húzás" során arra is kell figyelni, hogy ha olyan számot kapunk, ami már szerepel az eddig előállítottak között, akkor újat kell helyette generálni. Az öt lottószámot egy külön függvény rendezi sorba a buborék módszerrel.</p> <div class="kod"> <pre>int[]lotto_számok = new int[5];<br />int k;<br />Random kalap = new Random();<br />lotto_számok[0]=kalap.Next(1,91);<br />int húzások_száma = 1;<br />do<br />{<br /> lotto_számok[húzások_száma] = kalap.Next(1, 91);<br /> k=0;<br /> while (lotto_számok[k]!=lotto_számok[húzások_száma])<br /> k++;<br /> if (k == húzások_száma)<br /> húzások_száma++;<br />} while (húzások_száma&lt;5);<br />rendezés(lotto_számok);<br />Console.Write("A kihúzott számok:");<br />foreach(int szám in lotto_számok)<br />Console.Write("\t"+szám);<br />Console.Write("\n\nA kilépéshez üss le egy billentyűt!");<br />Console.ReadKey();</pre> </div> <p>A rendezés függvénye:</p> <div class="kod"> <pre>static void rendezés(int[] s)<br /> {<br /> for (int i = 0; i &lt; s.Length; i++)<br /> {<br /> for (int j = 0; j &lt; s.Length - i - 1; j++)<br /> {<br /> int csere;<br /> if (s[j + 1] &lt; s[j])<br /> {<br /> csere = s[j];<br /> s[j] = s[j + 1];<br /> s[j + 1] = csere;<br /> }<br /> }<br /> }<br /> return;<br /> }</pre> </div> <h3>Két szám legnagyobb közös osztója és legkisebb közös többszöröse</h3> <p>A program az Euklideszi algoritmust használja. Az algoritmus addig vonja ki a nagyobb számból a kisebb számot, amíg egyenlők nem lesznek. Az így kapott érték a két szám legnagyobb közös osztója.</p> <div class="kod"> <pre>int a, b, x, y;<br />Console.WriteLine("Írj be légy szíves 2 egész számot, kiírom a legnagyobb közös osztóját\nEgyik szám: ");<br />a = Int32.Parse(Console.ReadLine());<br />Console.WriteLine("A másik szám: ");<br />b = Int32.Parse(Console.ReadLine());<br />x=a;<br />y=b;<br />while (a != b)<br />{<br /> if (a &gt; b)<br /> a = a - b;<br /> else<br /> b = b - a;<br />}<br />Console.WriteLine("A legnagyobb közös osztó: {0}\nA legkisebb közös többszörös: {1}",<br /> a, x*y/a);<br />Console.ReadKey();</pre> </div> <h3>Másodfokú egyenlet megoldása</h3> <p>A következő programrész másodfokú egyenlet gyökeit keresi. Tovább lehet fejleszteni. Nincs megoldva benne az az eset, ha a másodfokú tag együtthatója 0. Az eredménykiírás formátumán is lehet javítani.</p> <div class="kod"> <pre>double a, b, c;<br /><br />Console.WriteLine(" 2\na x + b x + c = 0 egyenlet gyökeinek meghatározása\n");<br />Console.Write("a: ");<br />a = Convert.ToDouble(Console.ReadLine());<br />Console.Write("b: ");<br />b = Convert.ToDouble(Console.ReadLine());<br />Console.Write("c: ");<br />c = Convert.ToDouble(Console.ReadLine());<br />double d = Math.Pow(b,2) - 4 * a * c, gyök1, gyök2;<br />if (d &lt; 0)<br /> Console.WriteLine("Nincs valós gyök.");<br />else<br />{<br /> if (d == 0)<br /> {<br /> gyök1 = -b / (2 * a);<br /> Console.WriteLine("Egy valós gyök van, értéke: {0}", gyök1);<br /> }<br /> else<br /> {<br /> gyök1 = (-b + Math.Sqrt(d)) / (2 * a);<br /> gyök2 = (-b - Math.Sqrt(d)) / (2 * a);<br /> Console.WriteLine("Két valós gyök van, értékük: {0} és {1}", gyök1, gyök2);<br /> }<br />}<br />Console.Write("A kilépéshez üss le egy billentyűt!");<br />Console.ReadKey();</pre> </div> <h3>Az első 10000 prímszám előállítása és szövegfájlba írása</h3> <p>A megoldás során a 2-es számot beírjuk elsőnek a <em>prímek.txt</em> nevű szövegfájlba. Ez a fájl a kész program könyvtárában jön létre. 3-tól kezdve végigvizsgáljuk a páratlan számokat, hogy van-e valódi osztójuk. Az osztó keresni csak a szám négyzetgyökéig érdemes. Ha nem találunk a számhoz osztót, akkor beírjuk mint soron következő prímet a szövegfájlba.</p> <div class="kod"> <pre>StreamWriter prímek = new StreamWriter("prímek.txt");<br />prímek.WriteLine("2");<br />int szám=3, h=1, osztó;<br />const int db = 10000;<br />while(h&lt;db)<br />{<br /> osztó=3;<br /> bool prím=true;<br /> while ((Math.Pow(osztó,2) &lt;= szám) &amp;&amp; prím)<br /> {<br /> if ((szám % osztó) == 0)<br /> prím = false;<br /> osztó += 2;<br /> }<br /> if (prím)<br /> {<br /> primek.WriteLine(szám);<br /> h++;<br /> }<br /> szám += 2;<br />}<br />prímek.Close();</pre> </div> <h3>Lottósorsolás</h3> <p>5 egész számot sorsolunk 1 és 90 között, és sorba rendezve kiíratjuk. A lottószámok előállításához a véletlen szám generátort használjuk. A generátor paraméter nélküli híváskor a rendszeridőt veszi alapul. A "húzás" során arra is kell figyelni, hogy ha olyan számot kapunk, ami már szerepel az eddig előállítottak között, akkor újat kell helyette generálni. Az öt lottószámot egy külön függvény rendezi sorba a buborék módszerrel.</p> <div class="kod"> <pre>int[]lotto_számok = new int[5];<br />int k;<br />Random kalap = new Random();<br />lotto_számok[0]=kalap.Next(1,91);<br />int húzások_száma = 1;<br />do<br />{<br /> lotto_számok[húzások_száma] = kalap.Next(1, 91);<br /> k=0;<br /> while (lotto_számok[k]!=lotto_számok[húzások_száma])<br /> k++;<br /> if (k == húzások_száma)<br /> húzások_száma++;<br />} while (húzások_száma&lt;5);<br />rendezés(lotto_számok);<br />Console.Write("A kihúzott számok:");<br />foreach(int szám in lotto_számok)<br />Console.Write("\t"+szám);<br />Console.Write("\n\nA kilépéshez üss le egy billentyűt!");<br />Console.ReadKey();</pre> </div> <p>A rendezés függvénye:</p> <div class="kod"> <pre>static void rendezés(int[] s)<br /> {<br /> for (int i = 0; i &lt; s.Length; i++)<br /> {<br /> for (int j = 0; j &lt; s.Length - i - 1; j++)<br /> {<br /> int csere;<br /> if (s[j + 1] &lt; s[j])<br /> {<br /> csere = s[j];<br /> s[j] = s[j + 1];<br /> s[j + 1] = csere;<br /> }<br /> }<br /> }<br /> return;<br /> }</pre> </div>