Személyes eszközök
Keresés

 

A InfoWiki wikiből

(Változatok közti eltérés)
(Új oldal, tartalma: „<cim cim3="Módszerek" cim2="Magasszintű Programozási Nyelvek I." cim1="Imperatív, procedurális nyelvek alapjai" prev="mp1/page490" next="mp1/page500" kep="hz...”)
15. sor: 15. sor:
= Módszerek =
= Módszerek =
 +
 +
Tegyük fel, hogy programunk egy tömböt tölt fel véletlen számokkal, majd meghatározza, hány szám esik
 +
a tömb átlagának +/-10% -os környezetébe.
 +
 +
A program jól felbontható modulokra:
 +
* a tömb feltöltése véletlen számokkal
 +
* a tömb elemeinek megjelenítése képernyőn (opcionális)
 +
* a tömb átlagának kiszámítása (összeg osztva darabszámmal)
 +
* a +/- 10% intervallum meghatározása
 +
* a darabszám meghatározása
 +
* az eredmény kiírása
 +
 +
A programban meg kell határozni a közös változókat:
 +
* a tömb maga
 +
* az átlagot reprezentáló double
 +
* az intervallumot leíró két int
 +
* a darabszám
 +
* a véletlenszám generáló (ez utóbbi nem feltétlenül megosztott változó, hiszen csak a feltöltő alprogram használja)
 +
 +
<code lang="csharp">
 +
class Program
 +
{
 +
  static int[] tomb = new int[30];
 +
  static Random rnd = new Random();
 +
  static double atlag;
 +
  static int also;
 +
  static int felso;
 +
  static int db;
 +
 
 +
  //........................................................
 +
  static void feltoles()
 +
  {
 +
    for(int i=0;i<tomb.Length;i++)
 +
    tomb[i] = rnd.Next(10,30);
 +
  }
 +
  //........................................................
 +
  static void kiiras()
 +
  {
 +
    Console.Write("A tömb elemei:  ");
 +
    foreach(int x in tomb)
 +
  Console.Write("{0}, ",x);
 +
Console.WriteLine();
 +
  }
 +
  //........................................................
 +
  static void atlagszamitas()
 +
  {
 +
      int sum = 0;
 +
  foreach(int x in tomb)
 +
    sum = sum+x;
 +
  atlag = (double)sum / tomb.Length;
 +
  }
 +
  //........................................................
 +
  static void intervallum_szamol()
 +
  {
 +
      also = (int)(atlag*0.9);
 +
  felso = (int)(atlag*1.1);
 +
  }
 +
  //........................................................
 +
  static void darabszam()
 +
  {
 +
    db=0;
 +
foreach(int x in tomb)
 +
  if (also<=x && x<=felso)
 +
      db++;
 +
  }
 +
  //........................................................
 +
  static void eredmeny_kiirasa()
 +
  {
 +
    Console.WriteLine("A tomb elemeinek atlaga={0}",atlag);
 +
Console.WriteLine("Az intervallum [{0},{1}]",also,felso);
 +
    Console.WriteLine("Az intervallumba {0} db elem esett",db;
 +
  }
 +
  //........................................................
 +
  static void Main()
 +
  {
 +
      feltoltes();
 +
  kiiras();
 +
  atlagszamitas();
 +
  intervallum_szamol();
 +
  darabszam();
 +
  eredmeny_kiiras();
 +
  }
 +
  //........................................................
 +
}
 +
</code>
 +
 +
__NOTOC__
 +
<alairas>Hernyák Zoltán</alairas>

A lap 2009. november 14., 18:51-kori változata

Módszerek

Tegyük fel, hogy programunk egy tömböt tölt fel véletlen számokkal, majd meghatározza, hány szám esik a tömb átlagának +/-10% -os környezetébe.

A program jól felbontható modulokra:

  • a tömb feltöltése véletlen számokkal
  • a tömb elemeinek megjelenítése képernyőn (opcionális)
  • a tömb átlagának kiszámítása (összeg osztva darabszámmal)
  • a +/- 10% intervallum meghatározása
  • a darabszám meghatározása
  • az eredmény kiírása

A programban meg kell határozni a közös változókat:

  • a tömb maga
  • az átlagot reprezentáló double
  • az intervallumot leíró két int
  • a darabszám
  • a véletlenszám generáló (ez utóbbi nem feltétlenül megosztott változó, hiszen csak a feltöltő alprogram használja)
class Program
{
   static int[] tomb = new int[30];
   static Random rnd = new Random();
   static double atlag;
   static int also;
   static int felso;
   static int db;
 
   //........................................................
   static void feltoles()
   {
     for(int i=0;i<tomb.Length;i++)
	    tomb[i] = rnd.Next(10,30);
   }
   //........................................................
   static void kiiras()
   {
     Console.Write("A tömb elemei:  ");
     foreach(int x in tomb)
	   Console.Write("{0}, ",x);
	 Console.WriteLine();
   }
   //........................................................
   static void atlagszamitas()
   {
      int sum = 0;
	  foreach(int x in tomb)
	    sum = sum+x;
	  atlag = (double)sum / tomb.Length;
   }
   //........................................................
   static void intervallum_szamol()
   {
      also = (int)(atlag*0.9);
	  felso = (int)(atlag*1.1);
   }
   //........................................................
   static void darabszam()
   {
     db=0;
	 foreach(int x in tomb)
	   if (also<=x && x<=felso)
	      db++;
   }
   //........................................................
   static void eredmeny_kiirasa()
   {
     Console.WriteLine("A tomb elemeinek atlaga={0}",atlag);
	 Console.WriteLine("Az intervallum [{0},{1}]",also,felso);
     Console.WriteLine("Az intervallumba {0} db elem esett",db;
   }
   //........................................................
   static void Main()
   {
      feltoltes();
	  kiiras();
	  atlagszamitas();
	  intervallum_szamol();
	  darabszam();
	  eredmeny_kiiras();
   }
   //........................................................
}


Hernyák Zoltán
A lap eredeti címe: „http://wiki.ektf.hu/wiki/Mp1/page495
Nézetek
nincs sb_18.219.22.169 cikk