Személyes eszközök
Keresés

 

A InfoWiki wikiből

(Változatok közti eltérés)
1. sor: 1. sor:
<cim  
<cim  
-
cim3="Módszerek"
+
  cim3="Módszerek"
-
cim2="Magasszintű Programozási Nyelvek I."  
+
  cim2="Magasszintű Programozási Nyelvek I."  
-
cim1="Imperatív, procedurális nyelvek alapjai"  
+
  cim1="Imperatív, procedurális nyelvek alapjai"  
-
prev="mp1/page490"
+
  prev="mp1/page490"
-
next="mp1/page500"
+
  next="mp1/page500"
-
kep="hz_csik.png"  
+
  kep="hz_csik.png"  
-
back="mp1/Nyitolap"  
+
  back="mp1/Nyitolap"  
-
szerzo="hz|Hernyák Zoltán"
+
  szerzo="hz|Hernyák Zoltán"
/>
/>
<path p1="Kezdolap|Kezdőlap" p2="EBooks|Jegyzetek" p3="mp1/Nyitolap|Tartalomjegyzék"  
<path p1="Kezdolap|Kezdőlap" p2="EBooks|Jegyzetek" p3="mp1/Nyitolap|Tartalomjegyzék"  
48. sor: 48. sor:
   {
   {
     for(int i=0;i<tomb.Length;i++)
     for(int i=0;i<tomb.Length;i++)
-
    tomb[i] = rnd.Next(10,30);
+
        tomb[i] = rnd.Next(10,30);
   }
   }
   //........................................................
   //........................................................
55. sor: 55. sor:
     Console.Write("A tömb elemei:  ");
     Console.Write("A tömb elemei:  ");
     foreach(int x in tomb)
     foreach(int x in tomb)
-
  Console.Write("{0}, ",x);
+
    Console.Write("{0}, ",x);
-
Console.WriteLine();
+
    Console.WriteLine();
   }
   }
   //........................................................
   //........................................................
   static void atlagszamitas()
   static void atlagszamitas()
   {
   {
-
      int sum = 0;
+
    int sum = 0;
-
  foreach(int x in tomb)
+
    foreach(int x in tomb)
-
    sum = sum+x;
+
        sum = sum+x;
-
  atlag = (double)sum / tomb.Length;
+
    atlag = (double)sum / tomb.Length;
   }
   }
   //........................................................
   //........................................................
   static void intervallum_szamol()
   static void intervallum_szamol()
   {
   {
-
      also = (int)(atlag*0.9);
+
    also = (int)(atlag*0.9);
-
  felso = (int)(atlag*1.1);
+
    felso = (int)(atlag*1.1);
   }
   }
   //........................................................
   //........................................................
76. sor: 76. sor:
   {
   {
     db=0;
     db=0;
-
foreach(int x in tomb)
+
    foreach(int x in tomb)
-
  if (also<=x && x<=felso)
+
      if (also<=x && x<=felso)
-
      db++;
+
        db++;
   }
   }
   //........................................................
   //........................................................
84. sor: 84. sor:
   {
   {
     Console.WriteLine("A tomb elemeinek atlaga={0}",atlag);
     Console.WriteLine("A tomb elemeinek atlaga={0}",atlag);
-
Console.WriteLine("Az intervallum [{0},{1}]",also,felso);
+
    Console.WriteLine("Az intervallum [{0},{1}]",also,felso);
     Console.WriteLine("Az intervallumba {0} db elem esett",db;
     Console.WriteLine("Az intervallumba {0} db elem esett",db;
   }
   }
90. sor: 90. sor:
   static void Main()
   static void Main()
   {
   {
-
      feltoltes();
+
    feltoltes();
-
  kiiras();
+
    kiiras();
-
  atlagszamitas();
+
    atlagszamitas();
-
  intervallum_szamol();
+
    intervallum_szamol();
-
  darabszam();
+
    darabszam();
-
  eredmeny_kiiras();
+
    eredmeny_kiiras();
   }
   }
   //........................................................
   //........................................................

A lap 2009. november 14., 18:55-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.217.116.183 cikk