Programozás Alapjai 

1. Miért programozzunk? Programnyelvek. Hello world - Az első programunk készítése.

Tajkov Zoltán

2024.03.04.

Hogyan tanuljunk?

  • Órai alkalmakon aktív részvétel
  • Feltöltött jegyzet alapos átnézése, értelmezése
  • Gyakorló feladatok elvégzése
  • Gyakorolni... gyakorolni... gyakorolni...

Források:

  • Elsődleges forrás a jegyzet
  • Másodlagos a felvétel
  • Harmadlagos a jegyzetben található linkek
  • Google

Teljesítés

Egy darab projektszoftver elkészítése, dokumentálása és bemutatása.

Programozás Alapjai - 01

Miért programozzunk?

Tények és tévhitek

  • A programozás száraz, monoton
  • A programozás nehéz
  • Matekzseninek kell lenni
  • Mérnöki szaktudást igényel
  • 10 hét múlva programozó leszel

Programozás Alapjai - 01

Mire jó egy számítógép?

Add össze az első ezer páros számot!

Mi van a képen?

Programokészítés

  1. Specifikálás (miből?, mit?)
  2. Tervezés (adatszerkezet és algoritmus)
  3. Kódolás (számítógépi megvalósítás (implementáció) )
  4. Tesztelés, hibakeresés és javítás
  5. Dokumentálás (fejlesztői, felhasználói)
  6. Üzemeltetés, karbantartás

Programozás Alapjai - 01

Kódolás (implementáció)

Programozás Alapjai - 01

Adatok és algoritmusok

számítógépes program = adatok + algoritmusok

Programozás Alapjai - 01

Algoritmusok

  • Recept! Egy folyamat, mely egyszerű lépések meghatározott sorozatával általános megoldást ad egy adott problémára.

Eratoszthenész szitája

  1. Írjuk fel a számokat egymás alá 2-től ameddig a prímtesztet elvégezni kívánjuk. Ez lesz az A lista.
  2. Kezdjünk egy B listát 2-vel, az első prím számmal.
  3. Húzzuk le 2-t és az összes többszörösét az A listáról.
  4. Az első át nem húzott szám az A listán a következő prím. Írjuk fel a B listára.
  5. Húzzuk át az így megtalált következő prímet és az összes többszörösét.
  6.  Ismételjük a 3–5. lépéseket, amíg az A listán nincs minden szám áthúzva.

Programozás Alapjai - 01

Algoritmusok

Eratoszthenész szitája

  1. Írjuk fel a számokat egymás alá 2-től ameddig a prímtesztet elvégezni kívánjuk. Ez lesz az A lista.
  2. Kezdjünk egy B listát 2-vel, az első prím számmal.
  3. Húzzuk le 2-t és az összes többszörösét az A listáról.
  4. Az első át nem húzott szám az A listán a következő prím. Írjuk fel a B listára.
  5. Húzzuk át az így megtalált következő prímet és az összes többszörösét.
  6.  Ismételjük a 3–5. lépéseket, amíg az A listán nincs minden szám áthúzva.

Programozás Alapjai - 01

Algoritmusok

  • Jól specifikált
  • Végrehajtható
  • Véges
  • Általános megoldást ad

Programozás Alapjai - 01

Hogyan kommunikálunk a számítógéppel?

Programnyelvek

  • Feladatuk az algoritmus számítógép számára érthető formátumban történő megadása.
  • Probléma: A „könnyű” használhatóság miatt a programozási nyelveknek hasonlítaniuk kell az ember által használt nyelvhez (angol), de ugyanakkor egyértelműnek és könnyen átfordíthatónak kell lenni a számítógép által beszélt „0” és „1” jelekből álló nyelvre (gépi kód).
  • Eredmény: Rengeteg programozási nyelv van. Gyakorlatilag minden feladatra található megfelelő, illetve nem megfelelő  programozási nyelv

Programozás Alapjai - 01

Programnyelvek

C ("Daddy")

  • Mérföldkő
  • Innen számítjuk a programozási nyelveket
  • Kicsi, tömör, egyszerű, erős
  • Windows, Unix, első böngészők, Python

Programozás Alapjai - 01

Programnyelvek

Python 1994

  • Magas szintű és általános célú programozási nyelv
  • Többelvű: imperatív; funkcionális és objektumorientált
  • Interpretált
  • Interaktív módban is használható
  • Nagybetű ≠ kisbetű
  • A kulcsszavak csupa kisbetűsek
  • A blokkok behúzással (azonos darabszámú szóközökkel) jelölhetők ki
  • Az utasításlezáró jel a sor vége
  • A fejlesztői környezet számos platformra elérhető

Programozás Alapjai - 01

Programnyelvek

Interpretáció

1. Forráskód

#include <stdio.h>
int main() {  
    int number;

    printf("Enter an integer: ");  

    // reads and stores input
    scanf("%d", &number);

    // displays output
    printf("You entered: %d", number);

    return 0;
}

Programozás Alapjai - 01

Programnyelvek

Interpretáció

1. Forráskód

#include <stdio.h>
int main() {  
    int number;

    printf("Enter an integer: ");  

    // reads and stores input
    scanf("%d", &number);

    // displays output
    printf("You entered: %d", number);

    return 0;
}

3. Futtató

2. Fordító

Programozás Alapjai - 01

Programnyelvek

Interpretáció

#include <stdio.h>
int main() {  
    int number;

    printf("Enter an integer: ");  

    // reads and stores input
    scanf("%d", &number);

    // displays output
    printf("You entered: %d", number);

    return 0;
}

Előfordítunk

ByteCode

Interpreter

Eredmény

Programozás Alapjai - 01

Programnyelvek

Fejlesztői rendszer

Programozás Alapjai - 01

Tervezett Tematika

Alkalom Dátum Téma
1. 03.04. Miért programozzunk? Programnyelvek. Hello world - Az első programunk készítése
2. 03.11. Hogy gondolkodik a számítógép? (Bináris számrendszer). Adatok struktúrába rendezése. Adattípusok
3. 03.18. Algoritmikus gondolkodás. Ciklusok, elágazások
4. 03.25. Függvények definiálása. Fájlműveletek
5. 04.08. Osztályok: első lépés az objektum orientált programozás felé. Projektfeladatok megbeszélése
6. 04.15 NumPy, vektorok és mátrixok. Véletlen számok. Regresszió
7. 04.22. Adatvizualizáció Matplotlib-bel. Ábrázolási fajták (plot, scatter, piechart, barplot, hisztogram)
8. 04.29. JSON, CSV, pandas, statiszitka
9. 05.06. Adatelemzés, idősorok elemzése
10. 05.13 Modulok. Package-k. Tesztelés. ChatGPT

Programozás Alapjai

By novidad21

Programozás Alapjai

  • 520