Egy feladat megoldásának gondolatmenete
Feladat: Generáljuk véletlen számokat 1 és 6 között, amíg legalább 10 darab egyes és 10 darab hatos nem lesz.
do { } while (); 1.Sok számot generálunk, ezért kell egy ciklus. 2.Mivel nem tudjuk előre, hogy hányszor fog lefutni a ciklus, ezért dinamikus ciklusra van szükségünk.
3.Véletlen számokat kell generálni, így a cikluson kívül meg kell adni, hogy lesznek véletlen számaink. 4.Sok számot kell csinálunk ezért a cikluson belülre írjuk, hogy milyen típusú legyen a változó, amiben eltároljuk a számot, mi a neve és mekkora legyen. 6-osokat még szeretnénk, ezért 7-et kell ide írnunk. 5.Írassuk ki a számokat, egymás mellé, szóközzel elválasztva. Random r=new Random(); do { int a =r.Next(1,7); Console.Write(a+” ”); } while ();
6.Figyelnünk kell, hogy a generált szám egyes-e. Ehhez kell egy elágazás. Az elágazásban egy változó értékét növeljük, hogy a darabszámukat megkapjuk. 7.Ugyanezt meg kell tenni a hatossal. Random r=new Random(); do { int a =r.Next(1,7); Console.Write(a+” ”); if (a==1) {darabegyes=darabegyes+1;} if (a==6) {darabhatos=darabhatos+1;} } while ();
8.Meg kell adnunk a cikluson kívül, hogy milyen típusú a darabegyes és a darabhatos nevű változó. És kezdőértéket is adjunk nekik. Random r=new Random(); int darabegyes=0; int darabhatos=0; do { int a =r.Next(1,7); Console.Write(a+” ”); if (a==1) {darabegyes=darabegyes+1;} if (a==6) {darabhatos=darabhatos+1;} } while ();
9.A ciklus addig fusson, amíg nincs 10 egyes és 10 hatos, a darabszámukat a darabegyes és a darabhatos változókban tároljuk, vagyis ezeknek kell 10-nél kisebbnek lenni. Random r=new Random(); do { int a =r.Next(1,7); Console.Write(a+” ”); if (a==1) {darabegyes=darabegyes+1;} if (a==6) {darabhatos=darabhatos+1;} } while ((darabegyes<10) && (darabhatos<10));
10. Lássuk a futó program eredményét. 11. Írjuk ki az elejére a feladatot. 12. A számok előtt szerepeljen a Számok felirat. Console.WriteLine(”10 darab egyes és hatos generálása dinamikus ciklussal.”); Console.Write(”Számok: ”); Random r=new Random(); do { int a =r.Next(1,7); Console.Write(a+” ”); if (a==1) {darabegyes=darabegyes+1;} if (a==6) {darabhatos=darabhatos+1;} } while ((darabegyes<10) && (darabhatos<10)); Console.Readkey();
KÉSZ