info@topschool.hu
+36 70 361 71 38

Programozni egyszerű! Programozás alapjai és programozás kezdőknek.

belga sör, sör, sörök, programozás, oktatás, képzés, tanfolyam, tanfolyamok, programozás alapjai, programozás kezdőknek, c programozás, php programozás, számítógép oktatás, java programotás

Programozni egyszerű! Programozás alapjai kezdőknek

A Programozni egyszerű! weboldal célja segítséget nyújtani a programozással most ismerkedők számára. A programozás tanulása során a legnehezebb feladat az, hogy az algoritmusokhoz és a programozáshoz kapcsolódó szaknyelvet, az elvont, általánosan megfogalmazott programozási feladatokat képes legyen megérteni valaki.

Fő célunk a Programozni egyszerű! weboldal elkészítésével az volt, hogy a programozás szaknyelvét az átlagemberek számára érthető formában tudjuk átadni. Remélhetőleg ez az abszurd szituáción keresztül történő megközelítés közelebb hozza ezt az elmélet- és matematika-közeli tudományt a hétköznapi gondolkodáshoz.

Nem lehet kétségbe vonni a hagyományos programozási képzések azon végső célját, hogy általános,logikus gondolkodási képességet kell kialakítani a képzésben résztvevőkben, hiszen ennek hiányában nem lesz jó programozó valakiből. Nem akarunk szembe menni ezzel a szemlélettel, a hagyományos példákkal, de ennek a programozási tananyagnak nem célja az, hogy felkészítse az olvasót a programozás szigorlat eredményes teljesítésére, sokkal inkább a kezdő lépések megtételében szeretnénk segíteni.

Programozás videók
Get Adobe Flash player Get Adobe Flash player Get Adobe Flash player
összegzés tétele Lineáris keresés Buborék rendezés
Get Adobe Flash player Get Adobe Flash player Get Adobe Flash player
Lineáris keresés 2 Buborék rendezés 2 Maximum kiválasztás

Adatszerkezetek, programozás alapfogalmak

Változó fogalma a programozásban

Programozás szaknyelv

Programozni egyszerű! magyarázata

Sörös asszociáció

Névvel ellátott tároló hely a számítógép memóriájában

Az adatokat, értékeket, melyeket használni szeretnénk a számítógép programozás során tárolni, „raktározni” kell, különben a számítógép „elfelejti”őket.

Változónak megfelel egy sörös üveg, ha nincs üveg, kifolyik a sör!

 

Jellemzői: név, típus, tárbeli kezdőcím, érték

Azért hívjuk változónak ezeket a „tárolókat”, mert értékük megváltozhat a program futása során - nem biztos, hogy megfog, de megváltozhat!

A változó olyan, mint egy műanyag pohár egy fesztiválon vagy egy kempingezés során: sokféle ital kerülhet bele.

 

Szemben a konstansokkal, amelyek szintén „tárolók”, de azok nem változhatnak meg.

A konstans érték olyan, mint a belga sörök pohárkészlete: adott pohárba mindig ugyanazt a sörfajtát töltik.

Adatszerkezetekhez kapcsolódó fogalmak

Programozás szaknyelv

Programozni egyszerű! magyarázata

Sörös asszociáció

Elemi típus

Programozás szempontjából nem bonthatóak további részekre. Például: egész számok, karakterek, stb.

Sör: van benne maláta, víz, stb., - de ezt fogyasztás közben nem vizsgáljuk.

összetett típusok:

Tovább bontható elemi típusokra

Homogén típus

Olyan összetett szerkezet, amely azonos típusú elemeket tartalmaz

Ez olyan, mint amikor csak sört iszunk egész este!

Heterogén típus

Olyan összetett szerkezet, amely különböző típusú elemeket tartalmaz

Ez olyan, mint amikor sört, Unicumot és más italokat is fogyasztunk aznap este

 

Homogén adatszerkezet programozás

Homogén adatszerkezet: csak sörök

Heterogen adatszerkezet programozás

Heterogén adatszerkezet: néhány sör és egy Unicum

 

általános programozási fogalmak

Programozás szaknyelv

Programozni egyszerű! magyarázata

Sörös asszociáció

számsorozat

Számok, amelyek valamiért összetartoznak, van közöttük valamilyen logikai kapcsolat

Például a sörök alkoholfoka az ábrán

N

Gyakori kifejezés, jelentése tetszőleges mennyiség – tetszőleges darab

Akármennyi

N elemű sorozat

Tetszőleges elemszámú sorozat

Akármennyi sör

i. elem

A sorozat valamelyik, általában a vizsgált eleme

Valahányadik sör

i+1. elem

A sorozat valamelyik, általában a vizsgált elemét követő elem.

A „valahányadik” sörtől eggyel jobbra lévő

Programozás sorozat

Tömb fogalma a programozásban

Programozás szaknyelv

Programozni egyszerű! magyarázata

Sörös asszociáció

A tömb olyan homogén adatszerkezet, amelynek elemeit a sokaságon belül elfoglalt helyük alapján azonosítjuk.

Az általunk oktatott programozási nyelvekben
(C#, PHP, stb.) a tömböket nullával kezdik indexelni - azaz a tömb első eleme a 0. sorszámú elem

A sörös fadoboz a tömb.
A doboz első eleme a 0. indexű Mort Subite sör.

   

Az Orval sör a tömb harmadik eleme, amely a kettes sorszámot kapta.

   

Tömb utolsó eleme a Duvel sör, amely a négyes sorszámot kapta.

Programozás tömb

Programozás vezérlési szerkezetek

Szelekció - if, else

Programozás szaknyelv

Programozni egyszerű! magyarázata

Sörös asszociáció

A program futása közben fellépő körülmények szükségessé teszik,
hogy az utasítások ne minden esetben szekvenciálisan - egymást követve - hajtódjanak végre.

A programozásban feltételek alatt mindig logikai kifejezéseket értünk, amelyekről egyértelműen eldönthető, hogy igaz-e vagy hamis.

Például:
Ha a sör meleg. akkor tedd vissza a hűtőbe!

 

Bizonyos tevékenységek elvégzése különböző feltételektől függően hajtódjon végre.

 

Ha az alkoholfok kisebb,
mint 4°, akkor
      az csak maláta szörp különben
       jöhet az esti meccshez is!

Programozási feladat megoldása C# nyelven:

    if ( tanfolyam == "web tanfolyam" ){
        //Ez web tanfolyam
    }

    ...

    if( tanfolyam == "programozás tanfolyam" ){
        //Igen ez programozás képzés
    } else {
        //Nem ez valamilyen más tanfolyam
    }
        

Ciklus - while, for

Programozás szaknyelv

Programozni egyszerű! magyarázata

Sörös asszociáció

A programozásban a ciklusok az ismételt utasítás vagy tevékenység vérehajtásának eszközei.

Programozás során azért fontos eszköz a ciklus, mert ha másolás-beillesztés segítségével hajtanánk végre az utasításokat, akkor az egy bonyolultabb program esetén szerkeszthetetlen lenne.

A sör palackozása vagy akár az egész sörgyár működésének folyamata.

For ciklus

Pontosan tudjuk a programozás során, hogy a ciklus hányszor fogja a ciklusmag utasításait végrehajtani.

While ciklus

Az elöltesztelő ciklus megvizsgálja, hogy a ciklus feltétel
fennáll-e.

Ha igen, akkor lefuttatja a ciklusmagot, ha nem akkor a program ciklus utáni ponton folytatódik, azaz a ciklusmag kimarad.

Lehetséges, hogy az elöltesztelő ciklus egyszer sem fut le!

Hátul tesztelő ciklus

A feltételvizsgálat a ciklusmag után áll, ezért a hátul tesztelő ciklusban a ciklusmag utasításai legalább egyszer lefutnak akkor is, ha ciklus feltétele hamis.

    int i;

    //Előírt lépésszámú vagy léptető ciklus vagy léptető ciklus
    for (i = 0; i < 10; i++) {
        //Ciklus mag: utasítások amit a program végrehajt
    }

    //Elöltesztelő ciklus vagy while
    i = 0;
    while (i < 20) {
        //Ciklus mag: utasítások amit a program végrehajt
        i++;
    }

    //Hátul tesztelő ciklus
    {
        //Ciklus mag: utasítások amit a program végrehajt
        i++;
    } while(i<20)
    

Programozási tételek, nevezetes algoritmusok

összegzés tétele

Programozás szaknyelv

Programozni egyszerű! magyarázata

Sörös asszociáció

Feladat: adott egy N elemű számsorozat, határozzuk meg a sorozat összegét!
Megjegyzés: a sorozat elemeit egy vektor tömbben tároljuk.

Mivel a számítógép mindent „elfelejt”, amit nem tárolunk folyamatosan a program futása során, szükséges egy segédváltozó bevezetése, ami a program részeredményeit tartalmazza.

Tegyük fel, hogy a sörök átlagos alkohol tartalmát szeretnénk meghatározni.

 

A program végén az utolsó részeredmény lesz a végeredmény.

Balról jobbra haladva egyesével elkezdjük a táblán összeadni a sörök alkoholfokát.

 

összegzés elvégzéséhez egyesével végig kell menni a tömb összes elemén, és minden egyes elemet hozzáadunk a segédváltozóhoz.

Amikor végeztünk, a táblán lévő összeget elosztjuk a sörök számával és megkapjuk az átlagos alkoholtartalmat.

Get Adobe Flash player

Programozási feladat megoldása C# nyelven:

    static double[] a = new double[5];

    static void Main(string[] args) {
        a[0] = 8.5; a[1] = 6.2; a[2] = 4.5; a[3] = 8.5; a[4] = 11.3;

        double sum = 0;
        for (int i = 0; i <= 4; i++) {
            sum += a[i];
        }

    }
        

 

Lineáris keresés algoritmus

Programozás szaknyelv

Programozni egyszerű! magyarázata

Sörös asszociáció

Adott egy N elemű sorozat, a sorozat elemein értelmezett T tulajdonság.

A sorozatban vagy van ilyen elem, vagy nincs, de ezt egész addig nem tudjuk, amíg a program a ciklusból valamilyen okból ki nem lép.

Meggyes sört keresünk a dobozban.

Feladat:
meghatározni, hogy van-e a sorozatnak T tulajdonságú eleme!
Megjegyzés: a sorozat elemeit egy vektor tömbben tároljuk

A ciklus lefutása után azt kell vizsgálni, hogy miért állt le:
  - végig ment az összes elemen, vagy
  - talált egy megfelelő elemet

Egyesével vizsgáljuk a söröket, ha találunk egyet, akkor azonnal abbahagyjuk a keresést.

 

Ezt a ciklusváltozó értékének vizsgálatával tudjuk megállapítani. Ha ciklusváltozó értéke kisebb, mint a tömb elemeinek száma, akkor van ilyen elem, különben nincs.

Minden egyes vizsgálatnál felírjuk a táblára, hogy hányadik sörnél tartunk.

   

Ha a program végén a táblán szereplő szám kisebb, mint négy, akkor  találtunk ilyen sört, különben nem.

Kereső algoritmus: van a soroztatban keresett tulajdonságú elem

Get Adobe Flash player

Kereső algoritmus: nincs a soroztatban keresett tulajdonságú elem

Get Adobe Flash player

Programozási feladat megoldása C# nyelven:

    static double[] a = new double[5];

    static void Main(string[] args) {        
        a[0] = 8.5; a[1] = 11.3; a[2] = 6.2; a[3] = 4.52; a[4] = 8.5;
        
        int i = 0;
        while( (i <= 4) && (a[i] != 4.5) ){             
              i++;
        }
        
        if (i <= 4) {
            Console.WriteLine("Van ilyen");
        } else {
            Console.WriteLine("Nincs ilyen");
        }
    }    
    

 

Maximum kiválasztás tétele

Programozás szaknyelv

Programozni egyszerű! magyarázata

Sörös asszociáció

Feladat:
Határozzuk meg egy N elemű számsorozat legnagyobb elemét!

Feltételezzük az első elemről, hogy az a legnagyobb. Előfordulhat, hogy tényleg ez a legnagyobb, de ezt előre nem tudjuk megmondani!

Feladat: Keressük meg a legerősebb sört!

Megjegyzés:
a sorozat elemeit egy vektor tömbben tároljuk

Sorozat második elemétől kezdve folyamatosan összehasonlítjuk az elemeket ezzel a feltételes legnagyobbal.

Egyesével haladunk a dobozban, nehogy véletlenül kihagyjunk valamelyiket!

 

Ha találunk nagyobb elemet, mint amivel az összehasonlítást kezdtük, akkor a továbbiakban erről az elemről feltételezzük, hogy a legnagyobb, és ezzel hasonlítjuk össze a sorozat további elemeit.

Animációban:
Piros nyíl: a vizsgált sör - a ciklus változója, azaz az i. elem.
Szürke nyíl: feltételezett legerősebb sört mutatja.

 

Amikor a sorozat végére jutottunk, a feltételezett legnagyobb elem már biztosan a legnagyobb lesz!

 
Get Adobe Flash player

Programozási feladat megoldása C# nyelven:

    static double[] a = new double[5];
    
    static void Main(string[] args) {
        a[0] = 8.5; a[1] = 11.3; a[2] = 6.2; a[3] = 4.5; a[4] = 8.5;
    
        int max = 0;
        for (int i = 1; i <= 4; i++) {
            if(a[max] < a[i]){
                max = i;
            }
        }
    
    }
   

 

Rendező algoritmusok

Rendezési algoritmusok általános problémája

Programozás szaknyelv

Programozni egyszerű! magyarázata

Sörös asszociáció

Adott egy N elemű számsorozat, készítsük el a sorozat egy olyan permutációját, amelyre igaz, hogy a sorozat i. eleme az kisebb/ egyenlő, mint az i+1. eleme.

A permutáció átrendezést jelent, ami alatt itt a számok növekvő vagy csökkenő sorrendbe állítását értjük

Rendezzük alkohol fok szerint növekvő sorrendbe a söröket úgy, hogy a leggyengébb legyen az első és a legerősebb legutolsó!

Rendező algoritmusok hatékonysága:

Programozni egyszerű! magyarázata

Sörös asszociáció

A rendezéseket hatékonyság szempontjából az elvégzett műveletek száma és a lefoglalt tárterület alapján jellemezzük.

Mennyi összehasonlítást végeztünk?
Hányszor cseréltük fel az üvegeket?
Mennyi hely kell a sörök és a segéd objektumok tárolására?

Helyfoglalás

A sorozat elemeinek és a segédobjektumok memória igénye

összehasonlítás

Két elem viszonyának meghatározása

Melyik az erősebb sör?

Mozgatás

Elemek sorrendjének megváltoztatása

Sörök felcserélése

 

Közvetlen cserés rendezés

Programozni egyszerű! magyarázata

Sörös asszociáció

Közvetlen vagy egyszerű cserés rendezés az egyik legegyszerűbb rendezés, ugyanakkor a legkevésbé hatékony is, mivel túl sok felesleges cserét alkalmaz.

Animációban:
Piros nyíl: külső ciklus változója, azaz az i. elem
Kék nyíl: belső ciklus változója, azaz a j. elem

Az algoritmus a külső ciklus által mutatott helyre keresi a mutató után szereplő legkisebb elemet.

 
A vizsgált elemet az után következő összes elemmel összehasonlítja, nem megfelelő sorrend esetén megcseréli őket.  
Get Adobe Flash player

Programozási feladat megoldása C# nyelven:

    static double [] a = new double[5];

    static void Main(string[] args) {
        a[0] = 4.5; a[1] = 8.5; a[2] = 6.2; a[3] = 8.5; a[4] = 11.3;
        
        for (int i = 0; i <= 4; i++) {
            for (int j = i+1; j <= 4; j++) {
                if (a[i] > a[j]) swap(i, j);
            }
        }
    }
    
    static void swap(int i, int j) {
        double s = a[i];
        a[i] = a[j];
        a[j] = s;
    }        
        

 

Minimum kiválasztásos rendezés

Programozni egyszerű! magyarázata

Sörös asszociáció

A belső ciklus megkeresi a sorozat egy részsorozatának legkisebb elemét, és azt szükség esetén megcseréli a külső ciklus aktuális elemével.

A rendezés úgy működik, hogy az első körben megkeresi a leggyengébb sört (Mort Subite) majd beteszi azt az első, azaz a 0. helyre.

Mindig a legkisebb elemek kerülnek először a helyükre.

A második körben a maradék sörökből a leggyengébbet keressük, azaz a teljes sorozat második leggyengébb sörét (Orval), és az kerül a helyére.

 

Animációban:
Piros nyíl: külső ciklus változója, azaz az i. elem
Kék nyíl: belső ciklus változója, azaz a j. elem
Szürke nyíl: az eddig megvizsgált elemek (sörök) közül a legkisebb (leggyengébb).

Get Adobe Flash player

Programozási feladat megoldása C# nyelven:

    static double[] a = new double[5];

    static void Main(string[] args) {
        a[0] = 8.5; a[1] = 11.3; a[2] = 4.5; a[3] = 6.2; a[4] = 8.5;

        for (int i = 0; i <= 4; i++) {
            int min = i;
            for (int j = i + 1; j <= 4; j++) {
                if (a[min] > a[j]) min = j;
            }
            if (min != i) swap(i, min);
        }
    }
    
    static void swap(int i, int j) {
        double s = a[i];
        a[i] = a[j];
        a[j] = s;
    }
        
        

 

Buborékrendezés

Programozni egyszerű! magyarázata

Sörös asszociáció

Mindig két szomszédos elemet hasonlítunk össze, ha nem megfelelő a sorrendjük, akkor megcseréljük őket. Mindig a legnagyobb elemek kerülnek először a helyükre. Ezt a mozgást gyakran hasonlítják az italban lévő buborék mozgásához. Innen kapta a nevét az algoritmus.

Animációban:
Piros nyíl: külső ciklus változója, azaz az i. elem
Kék nyíl: belső ciklus változója, azaz a j. elem
Szürke nyíl: az j+1. elem, azaz a vizsgált sörtől eggyel jobbra lévő sör.

A mozgás a kettes példán jól követhető.
Az egyes példán megfigyelhetjük, hogy miért lehet hatékony javított módszerek alkalmazása, ugyanis a sorozat a külső ciklus első lefutása után rendezetté vált! így a további összehasonlítások feleslegesek.

 

Buborék rendezés (Bubble sort) algoritmus - 1. példa

Get Adobe Flash player

Buborék rendezés (Bubble sort) algoritmus - 2. példa

Get Adobe Flash player

Programozási feladat megoldása C# nyelven:

    static double[] a = new double[5];
        
    static void Main(string[] args) {
        a[0] = 4.5; a[1] = 8.5; a[2] = 6.2; a[3] = 11.3; a[4] = 8.5;

        for (int i = 4; i >= 1; i--) {
            for (int j = 0; j <= i-1; j++) {
                if (a[j] > a[j+1]) swap(j, j+1);
            }
        }
    }

    static void swap(int i, int j) {
        double s = a[i];
        a[i] = a[j];
        a[j] = s;
    }
    

 

A sörökről

  Mort Subite Kriek

Mort Subite

A kriek speciális belga önerjesztésű sör, különleges ízét a délnyugat-ázsiai vadmeggyből nemesített Morelli meggynek köszönheti.

A belga Keersmaeker sörgyár Mort Subite Kriek tölgyfahordóban érlelt, rubinvörös színű, kicsit édeskés-fanyar söre elnevezését arról a brüsszeli A La Morte Subite kávéházról kapta, ahol anno bárki egy pillanat alatt elkockázhatta minden vagyonát (a Mort Subite franciául hirtelen halált, illetve a dobókocka játékban utolsó dobást jelent).

  Orval

Orval

Bár az orvali Notre-Dame Apátság falai között élő trappista szerzetesek sörfőzdéjében az írásos dokumentumok szerint már 1628 óta készül sör, a mai sörfőzde épülete csak 1931-ben épült fel.

Az első hordó sörök 1932 májusában gurultak ki az apátságból, az Orval volt az első trappista sör, amelyet egész Belgium területén értékesítettek. Napjainkban kétféle sört készítenek, az Orvalt és a Petit Orvalt. Az Orvalt 15 fokos hőmérsékleten legalább 4 hétig érlelik a palackban (a csak az apátságban kapható Petit Orvalt hat hónapig!).

Világos színű, opálos, tömör habú, jellegzetesen fűszeres, enyhén földes különleges ízét az érlelési szakaszban a sörbe áztatott, zsákba kötött komlónak, illetve egy helyi élesztőgombának köszönheti.

  Duvel


Duvel

A soha nem kevesebb, mint 90 nap alatt készülő Duval sört a negyedik generációs Moortgat-család tulajdonában lévő sörüzemben
készítik 1871 óta.

A sör elnevezése egy helybéli cipésztől ered, aki a nedű felhörpintése után elragadtatásában így kiáltott: ez maga az ördög (duvel)! 1923 óta ezen a néven forgalmazzák, amely igencsak merész vállalkozás volt akkortájt a katolikus Flandriában!

1960-ban jelent meg az eredeti Duval kistestvére, a mindössze egyszer érlelt, kicsit világosabb, úgynevezett zöld Duvel. A múlt század 60-as éveitől a különleges sört különleges módon kínálták: a minden addiginál nagyobb, 33 cl-es, aroma, szénsav és habot megőrző híres tulipánformájú Duvel söröspohárban.

  Delirium Tremens

Delerium

A belga Melle-ben 1654 óta foglalkoztak már sörfőzéssel, de igazán világhírűvé a Huyghe Sörfőzde tette a települést: 1989. karácsonyának második napján piacra dobta 8,5 fokos Delirium Tremens nevű sörét - kölni porcelánra hasonlító üvegbe palackozva, címkéjén egy rózsaszín elefánttal. A Delirium Tremens orvosi értelemben súlyos alkoholmegvonásos tünet együttest jelent, a rózsaszín elefánt a betegséggel járó, jellegzetes hallucinációra utal.

A sör azon nyomban meghódította a világot, s mi sem természetesebb módon később elnyerte a chicagói világversenyen a világ legjobb
söre címet is.

2007-ben afféle kedves karácsonyi ajándékként piacra dobták a 10 fokos alkoholtartalmú Deirium Christmas-t, sajnos csak limitált mennyiségben.

  Trappist Rochefort

Trappist

A belga Rochefort város közeli Notre-Dame de Saint-Rémy apátságban 1595 óta, napjainkban is tucatnyinál alig több szerzetes által működtetett sörfőzde szigorúan őrzi titkát, látogatása nem engedélyezett. Mint a legtöbb erős belga sört, a Trappista Rochefort-okat is akár éveken át érlelik pincében, míg el nem érik a megfelelő minőséget.

3 féle trappista sört készítenek, mindhármat ugyanazon módszerrel és összetevőkkel, a különbséget csak alkoholtartalmuk adja.

  • A Rochefort 6-os (piros kupakos) kicsit földes-gyógyfüves ízű, pirosas színű, 1 évig érlelt sör, amely 7,5 fokos.
  • A Rochefort 8-as (zöld kupakos) sárgásbarna színű, kissé határozottabb, gyümölcsösebb íz-anyagú, 9,2 fokos sör, ebből adják el a legtöbbet.
  • A Rochefort 10-es (kék kupakos) mély vöröses-barnás színű, nagyon határozottan gyümölcsös (fügéhez hasonló) ízű, kicsit keserű csokoládéra hasonlító utóízű, erős és kemény habú, öntésekor "olajos" hatású, 11, 3 fokos sör.

Ha tetszik az oldal kövess a Facebook-on és ha úgy gondolod, hogy másoknak is
hasznos lehet oszd meg!

Become a fan of Top School on facebook

Programozás tanfolyamok:

Programozás tanfolyamok, képzések elvégzéséhez számítógépes előismeret szükséges. Amennyiben önnek nincs megfelelő számítógépes előképzettsége végezze el az ECDL tanfolyamot.