2010. június 22., kedd

Absztrakció - lépjünk közelebb a kódoláshoz

A programozással készen is vagyunk. Ha meg tudsz fogalmazni ilyen módon problémákat (bemenet, kimenet, adatok, műveletek) akkor már tudsz programozni. Nagyon fontos hogy leírd ezeket, mert különben azt hiszed hogy tudod és mikor vizsgán valóban adoptálni kell akkor meg lesünk ki a fejünkből és nem tudjuk miért nem megy.
Szóval még néhány példa:

Két bekért számról döntsük el hogy mennyi a különbségük. Ezt írjuk is ki.
Kérjük be az első számot (SZ1)
Kérjük be a második számot (SZ2)
Vonjuk ki az elsőből a másodikat, majd vegyük annak abszolút értékét. (K=ABS(SZ1-SZ2))
Írjuk ki a különbséget (K)
Kérjük be egy személy születési évét, majd írjuk ki hogy hány éves:
Kérjük be a születési évet (SZULEV)
Vonjuk ki az aktuális évből a születési évet és tároljuk (KOR=YEAR()-SZULEV)
Írjuk ki a kiszámolt értéket (KOR)
Nem ragozom tovább.
Mint láthatod vannak általában használható egyéb műveletek is. Ilyen az ABS() és a YEAR(). Ezek olyan dolgok amit feltételezünk hogy rendelkezésre állnak. Mindig utána kell járni hoyg valóban léteznek-e. (Nekünk a Széchenyi Egyetemen egy absztrakt pszeudó nyelvet találtak ki és abban léteztek ilyen funkciók. Ezt ki is emelték és alkalmazhattuk! A dokumentációban szerepelt.)

És akkor nézzünk egy picit absztraktabb úgynevezett pszeudó nyelven megfogalmazott példát.
Először természetesen a kerületszámoló algoritmust nézzük:
Be: A
Be: B
Be: C
K<- A+B+C
Ki: K
Két szám különbsége (fenti első példa):
Be: SZ1
Be: SZ2
K<-ABS(SZ1-SZ2)
Ki: K
Életkor kiírása:
Be: SZULEV
KOR<-YEAR()-SZULEV
Ki: KOR
Hú mennyi programot írtunk hirtelen.....
Ezek nagyon egyszerű dolgok, de ne felületesen kezeld ezeket. Legalább 10 problémát keress, fogalmazd meg és írd le ilyen pszeudó kóddal.
Eleve az hogy keresel magadnak feladatot az is nagyon sokat segít, hiszen már analitikusan vizsgálod a körülötted lévő világot. Azon gondolkodsz vajon mi az amit ilyen módon algoritmizálni lehet?

Nincsenek megjegyzések:

Megjegyzés küldése