// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Hasonló dokumentumok
BME MOGI Gépészeti informatika 4.

BME MOGI Gépészeti informatika 5.

BME MOGI Gépészeti informatika 1.

BME MOGI Gépészeti informatika 7.

BME MOGI Gépészeti informatika 6.

BME MOGI Gépészeti informatika 13.

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

BME MOGI Gépészeti informatika 2.

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

BME MOGI Gépészeti informatika 8.

Szoftvertervezés és -fejlesztés I.

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

BME MOGI Gépészeti informatika 15.

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

BME MOGI Gépészeti informatika 14.

C# feladatok gyűjteménye

Form1 Form Size 400;400 Text Mozgó kör timer1 Timer Enabled True Interval 100

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

Számelmélet Megoldások

Gyakorló feladatok az 1. nagy zárthelyire

Felvételi tematika INFORMATIKA

Informatika terméktervezőknek

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

PROGRAMOZÁS ALAPFELADATOK

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

Webprogramozás szakkör

Programozás I. gyakorlat

2016, Diszkrét matematika

Gyakorló feladatok Gyakorló feladatok

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Programozás I. házi feladat

6. A Pascal nyelv utasításai

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

2018, Funkcionális programozás

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb

Bevezetés a programozásba I.

OOP: Java 1.Gy: Java alapok

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

OOP: Java 8.Gy: Gyakorlás

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Egyszerű példaprogramok gyakorláshoz

I. Specifikáció készítés. II. Algoritmus készítés

INFORMATIKA javítókulcs 2016

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Számelmélet

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

INFORMATIKAI ALAPISMERETEK

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

Szoftvertechnolo gia gyakorlat

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Számelmélet

Objektumorientált Programozás III.

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Bánsághi Anna 2014 Bánsághi Anna 1 of 35

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

Objektum Orientált Programozás VII.

Programozás alapjai 8.Gy: Program struktúra

7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel?

Vezérlési szerkezetek

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

A C# programozási nyelv alapjai

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

INFORMATIKAI ALAPISMERETEK

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

2018, Diszkre t matematika. 10. elo ada s

Access adatbázis elérése OLE DB-n keresztül

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

Objektumorientált Programozás VI.

Hatványozás. A hatványozás azonosságai

.Net adatstruktúrák. Készítette: Major Péter

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

BASH SCRIPT SHELL JEGYZETEK

C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán

Programozás alapjai 9.Gy: Struktúra 2.

2018, Diszkre t matematika. 8. elo ada s

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O

1. Egészítsük ki az alábbi Python függvényt úgy, hogy a függvény meghatározza, egy listába, az első n szám faktoriális értékét:

Vezérlési szerkezetek. Szelekció Ciklusok

Példatár a bevezetés a Matlab programozásába tárgyhoz

3. Gyakorlat Ismerkedés a Java nyelvvel

2016, Diszkrét matematika

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Informatika E FAKT , = ±

Gyakorló feladatok. Az alaputasítások olyanok, mint C-ben. (Részleteket ld. segedletek/02.pdf vagy bármelyik Java tutorial.)

OOP: Java 4.Gy: Java osztályok

Kalapácsvetés 2016 szöveges

2005_01/1 Leírtunk egymás mellé hét racionális számot úgy, hogy a két szélső kivételével mindegyik eggyel nagyobb a két szomszédja szorzatánál.

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Átírás:

BME MOGI Gépészeti informatika 3. 1. feladat Végezze el a következő feladatokat! Kérjen be számokat 0 végjelig, és határozza meg az átlagukat! A feladat megoldásához írja meg a következő metódusokat! a. Metódus egy szám ellenőrzött beolvasására! Kimenő paraméter: a szám, a visszaadott érték igaz, ha sikeres volt a beolvasás! b. Metódus a számok átlagának kiszámítására és kiírására! Bemenő paraméterek: a darabszám és az összeg! Határozza meg azt a legnagyobb faktoriális értéket, ami kisebb, mint százmillió! a. Elkészítendő metódus: adott szám faktoriálisának kiszámítása! Bemenő paraméter a szám, visszaadott érték a kiszámított faktoriális érték! Megoldási mód: konzolalkalmazás Oktatási cél: ciklusok használatának bemutatása do while, while, for, számlálás, összegzés, szorzatképzés módjának ismertetése A programkód: static void Main(string[] args) // olvassunk be számokat 0 végjelig, és határozzuk meg az átlagukat double szám=0, összeg=0; int darab=0, n=0; bool vanszám = false; do vanszám = EgySzámBeolvas(out szám); if (vanszám && szám!= 0) darab++; összeg += szám; while (!vanszám szám!=0); ÁtlagKiír(darab, összeg); // keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió while (Faktoriális(n)*(n+1)<=100000000) n++; Console.WriteLine("\nA legnagyobb érték: 0!=1", n, Faktoriális(n)); Console.ReadLine(); static bool EgySzámBeolvas(out double érték) bool sikerült = true; Console.WriteLine("Kérek egy valós számot:"); 1

if (!double.tryparse(console.readline(), out érték)) Console.WriteLine("Adatmegadási hiba!"); sikerült = false; return sikerült; static void ÁtlagKiír(int db, double szum) if (db!= 0) Console.WriteLine("A számok átlaga: " + (szum / db).tostring("f2")); else Console.WriteLine("Az osztó nem lehet nulla!"); static long Faktoriális(int n) long fakt = 1; for (int i = 1; i <= n; i++) fakt *= i; return fakt; 2. feladat önálló feldolgozásra Generáljon 1 és 100 közötti véletlen egész számokat mindaddig, amíg a szám nem osztható egy előre megadott számmal! A generált számokat ListBox vezérlőkben jelenítse meg, az egyikben a prímszámokat, a másikban az összetett számokat! Összetett számoknak nevezzük azokat a természetes számokat, amelyeknek 2-nél több, de véges számú osztója van (vagyis: van legalább egy valódi osztójuk)! Írja ki egy többsoros TextBox vezérlőbe egy kiválasztott összetett szám valamennyi osztóját! Tegye lehetővé a listákból az elemtörlést, mégpedig külön-külön a páros összetett, a páratlan összetett, valamennyi összetett és valamennyi prímszám törlését! A feladat megoldásához írja meg a következő metódusokat! 2

a. Metódus annak vizsgálatára, hogy egy szám prímszám-e! Bemenő paraméter: a szám, a visszaadott érték az igaz logikai érték, ha a szám prím, különben a hamis logikai érték! b. Metódus egy listából adott tulajdonságú elemek törlésére! Bemenő paraméterek: a listavezérlő és egy logikai érték, ez utóbbi azt jelzi, hogy a páros vagy a páratlan számokat kell-e törölni a listából! Megoldási mód: Windows Forms alkalmazás Oktatási cél: ciklusok és metódusok írásának gyakoroltatása, ListBox vezérlő használata elem beszúrása, elemtörlés, elem kiválasztása, vezérlő átadása paraméterként Az elkészítendő form: A Form1 osztályba írandó programkód: private void Form1_Load(object sender, EventArgs e) radiobutton1.checked = true; private void button1_click(object sender, EventArgs e) int szám=1, osztó; Random rnd = new Random(); if (!int.tryparse(textbox1.text,out osztó)) MessageBox.Show("Hibás adatmegadás!"); return; while (szám % osztó!=0) 3

szám = rnd.next(1, 101); if (PrímE(szám) &&!listbox2.items.contains(szám)) listbox2.items.add(szám); else if (!PrímE(szám) &&!listbox1.items.contains(szám)) listbox1.items.add(szám); private bool PrímE(int érték) bool prím = true; for (int i = 2; i < Math.Sqrt(érték)+1; i++) if (érték % i==0) prím = false; return prím; private void ElemTöröl(ListBox lista, bool páratlan) int i = 0; int maradék = (páratlan)? 1 : 0; do if (Convert.ToInt32(lista.Items[i].ToString()) % 2 == maradék) lista.items.removeat(i); i--; i++; while (i < lista.items.count); private void button2_click(object sender, EventArgs e) if (radiobutton1.checked) ElemTöröl(listBox1, false); else if (radiobutton2.checked) ElemTöröl(listBox1, true); else if (radiobutton3.checked) listbox1.items.clear(); else if (radiobutton4.checked) listbox2.items.clear(); if (!radiobutton4.checked) 4

textbox2.text = ""; private void listbox1_click(object sender, EventArgs e) int szám = int.parse(listbox1.items[listbox1.selectedindex].tostring ()); textbox2.text = ""; for (int i = 1; i <= szám; i++) if (szám % i==0) textbox2.text += i.tostring(); if (i!=szám) textbox2.text += ", "; 3. feladat önálló feldolgozásra Készítsen alkalmazást, mely egy négyműveletes számológép funkcióit valósítja meg! A számokat TextBox vezérlőben lehessen megadni, a műveleti jelek és az "=" jel kombinált listából (ComboBox) legyen kiválasztható! Az elvégzett műveletek és az eredmény egy ListBox vezérlőben jelenjenek meg! Valósítson meg ellenőrzött adatbevitelt a számoknál és a műveleti jeleknél is! Tegye lehetővé egy gomb segítségével a vezérlőelemek adatainak törlését! A gomb csak akkor legyen kiválasztható, ha a felhasználó már végrehajtott valamilyen műveletet! Megoldási mód: Windows Forms alkalmazás Oktatási cél: ComboBox vezérlő használatának bemutatása, sztring és sztring tömb kezelésének ismertetése Az elkészítendő form: A Form1 osztályba írandó programkód: 5

double szám, eredmény; string művelet; private void combobox1_selectedindexchanged(object sender, EventArgs e) listbox1.items.add(string.format("0,51,15", szám, combobox1.text)); if (listbox1.items.count == 2 művelet=="=") eredmény = szám; else switch (művelet) case "+": eredmény += szám; case "-": eredmény -= szám; case "*": eredmény *= szám; case "/": eredmény /= szám; művelet = combobox1.text; if (művelet=="=") listbox1.items.add(string.format("0,5", eredmény)); button1.enabled = true; private void combobox1_textupdate(object sender, EventArgs e) if (combobox1.text.length>1) MessageBox.Show("Csak egy karakteres művelet megengedett!"); return; if (!("+-*/=".Contains(comboBox1.Text))) MessageBox.Show("Csak listaelem megengedett!"); private void textbox1_textchanged(object sender, EventArgs e) bool jó = double.tryparse(textbox1.text, out szám); if (textbox1.text!="" && textbox1.text!= "+" && textbox1.text!= "-" &&!jó) MessageBox.Show("Csak valós szám megengedett!"); private void Form1_Load(object sender, EventArgs e) 6

string[] s = "-", "*", "/", "=" ; combobox1.items.add("+"); combobox1.items.addrange(s); listbox1.items.add("szám Művelet"); button1.enabled = false; private void button1_click(object sender, EventArgs e) textbox1.text = ""; listbox1.items.clear(); listbox1.items.add("szám Művelet"); listbox1.multicolumn = false; combobox1.text = ""; button1.enabled = false; 7

Gyakorló feladatok - ciklusok 1. Készítsen Windows Forms alkalmazást, mely addig generál két egész számot a [-50 ; 50] számtartományból, amíg az egyik pozitív, a másik negatív nem lesz! Írja ki a formra a generált számokat az abszolút értékük szerint csökkenő sorrendben! ( x kiszámítása Math.Abs(x) )! 2. Írjon Windows Forms alkalmazást, mely két 1 és 100 közötti egész számot generál mindaddig, amíg az egyik osztja a másikat (vagy A osztója B-nek, vagy B osztója A-nak)! Írja ki a formra a számokat, a hányadost és azt is, hogy hányszor kellett megismételni a generálást! 3. Írjon konzolalkalmazást, mely meghatározza, hogy hány páros számot kell összeszorozni kettőtől kezdve, hogy a szorzatuk nagyobb legyen, mint 100000! 4. Készítsen Windows Forms alkalmazást, ami két kockával 10 kockadobást szimulál! A dobások eredményét egy ListBox vezérlőben jelenítse meg, egy kísérlet két értékét egymás mellett, a különböző kísérletek adatait viszont új sorban! Számolja meg és írja ki, hogy a gép hányszor dobott egyforma értékeket! 5. Írjon konzolalkalmazást, mely táblázatos formában a képernyőre írja a sin(x) függvény értékeit adott foktól adott fokig, egy meghatározott lépésközzel! A sin(x) függvénynek a szöget radiánban kell megadni. Az átszámítási képlet: radián=fok* /180. Az eredménylistában a függvényérték előtt a fokok is jelenjenek meg. 6. Készítsen Windows Forms alkalmazást, mely a form betöltésekor feltölt egy kombinált listát 10 darab, az [1;100] tartományba eső, véletlenszerűen generált, egész számmal! A listából egy tetszőleges érték (n) kiválasztásakor végezze el a következő műveleteket: a. írja ki egy ListBox vezérlőbe 1-től n-ig a páros számokat. b. adja össze 1-től n-ig az 5-el osztható számokat, és jelenítse meg az eredményt egy TextBox vezérlőben, c. számolja meg, és jelenítse meg egy TextBox vezérlőben, hogy hány szám osztható 1-től n-ig 11-el! Tegye lehetővé egy-egy gombbal a lista és a beviteli mezők törlését, valamint a kombinált lista tartalmának újragenerálását! 7. Készítsen Windows Forms alkalmazást, mely egy ListBox vezérlőben megjeleníti azokat a pitagoraszi számhármasokat, ahol mindhárom szám 1-100 közötti! Pitagoraszi számhármas: két szám négyzetösszege egyenlő a harmadik szám négyzetével. Minden számhármas csak egyszer jelenjen meg, azaz nem tekintjük különbözőnek, ha csak a számok sorrendje változik meg. 8. Készítsen konzolalkalmazást, mely három darab dobókockával szimulál kockadobást, és figyeli a dobások összegét. A tapasztalat az, hogy a három kocka számainak összege jóval többször lesz 10, mint 15. 10000 dobás alapján határozza meg a program, hogy mennyi a gyakorisága a 10 és a 15 összegek előfordulásának. 9. Írjon Windows Forms alkalmazást, mely ellenőrzötten beolvas egy 1 és 20 közötti egész számot (n), majd meghatározza az első n Fibonacci-számot! A számokat egy többsoros TextBox vezérlőben jelenítse meg vesszővel elválasztva! A Fibonacci-számok képzésének módja: az első két szám 0 és 1, a további számokat az őket közvetlenül megelőző két szám összege adja. 10. Készítsen konzolalkalmazást, mely a képernyőre írja helyiérték-helyesen egymás alá a kettes szám első 32 hatványát! 11. Egy konzolalkalmazásban olvasson be egy egész számot, majd írja vissza egyesével, egymás alá, fordított sorrendben a számjegyeit! A számjegyekre bontás menete: a. veszi a szám 10-el való osztási maradékát ez adja a számjegyeket jobbról balra, 8

b. majd elosztja - egész osztást használva - 10-el a számot. 12. Írjon Windows Forms alkalmazást, mely meghatározza a háromjegyű Armstrong-számokat, amelyeknek a jegyeit külön-külön a harmadik hatványra emelve, és ezeket összeadva az eredeti számot kapjuk vissza! A számokat egy többsoros TextBox vezérlőben jelenítse meg! A számjegyekre bontáshoz lásd az előző feladatot! Például, 153 = 1 3 +5 3 +3 3. 13. Készítsen konzolalkalmazást, mely kiírja a képernyőre a 10x10-es szorzótáblát! A kiírásnál formázza úgy a számokat, hogy helyiérték-helyesen, egymás alatt jelenjenek meg! 14. Írjon konzolalkalmazást, mely kiírja a számjegyeket a következő formában! 0123456789 012345678 01234567 0123456 012345 01234 0123 012 01 0 9