Számítógépek programozásának alapjai

gyakorlat

2021

Visual Studio


Információk

Tantárgyi információk

Tantárgy adatlapja

Teams anyagok

Visual Studio

Telepítési útmutató
  1. Tanulásra szolgáló ingyenes verzió letöltése: (Microsoft fiók kell hozzá)

    Egyetemi verzió letöltése: (edu-s email cím, és termékkulcs kell hozzá)

  2. A letöltött telepítőt futtassuk, ha szükséges, akkor rendszergazdaként.
  3. Válasszuk ki a .Net desktop development és Development with C++ munkakörnyezeteket. A későbbi tanulmányokban szükségünk lesz a C++/CLI-re, ennek támogatását jobb oldalon a C++/CLI support elem bepipálásával adhatjuk még hozzá.
  4. A telepítés befejezésekor egy ingyenesen létrehozható Microsoft fiókkal léphetünk be (Community verzió), vagy meg kell adni a termékkulcsot (Enterprise verzió).

Számonkérések

L05
  • 1. ÖT: 2021.10.05. 14:15-15:45
  • 2. ÖT: 2021.11.09. 14:15-15:45
  • 3. ÖT: 2021.12.07. 14:15-15:45

Pótlások

  • 1. ÖT: 2021.10.15. 16:15-17:45
  • 2. ÖT: 2021.11.19. 16:15-17:45
  • 3. ÖT: 2021.12.13. 10:15-11:45
L07
  • 1. ÖT: 2021.10.15. 14:15-15:45
  • 2. ÖT: 2021.11.12. 14:15-15:45
  • 3. ÖT: 2021.12.10. 14:15-15:45

Pótlások

  • 1. ÖT: 2021.10.22. 16:15-17:45
  • 2. ÖT: 2021.11.19. 16:15-17:45
  • 3. ÖT: 2021.12.16. 10:15-11:45

1. óra

Tananyag

  • Bevezető
  • Ismerkedés a Visual Studio 2019 fejlesztő környezettel
  • Egyszerű C projekt létrehozása
  • Változók bevezetése
    • változó deklarálása
    • változó értékadása
    • típusok
      • egész (integer)
      • tört (float, double)
      • karakter (char)
  • sizeof operátor
  • #define használata
  • printf függvény használata

Órai anyag


2. óra

Tananyag

  • Változók hatásköre
  • Globális/lokális változók
  • Típuskonverziók
    • implicit típusmódosítás
    • explicit típusmódosítás
  • Kifejezések kiértékelése
  • Műveletek sorrendisége (precedencia szabály)
  • Aritmetikai műveletek: +, -, *, / , %
  • Matematikai kifejezések (math.h)
  • scanf függvény használata

Órai anyag

Gyakorló feladat

  • Konzolról kérje be egy kör átmérőjét. Írja ki a kör kerületét és területét 3 tizedesjegy pontosággal.
  • Konzolban adjon meg egy hőmérséklet értéket °C-ban. Számítsa át Fahreinheit-be és írja ki 1 tizedesjegy pontosággal.

3. óra

Tananyag

Órai anyag

Gyakorló feladat

  • Billentyűzetről kérje be a másodfokú függvény három együtthatóját. Vizsgálja meg a megadott együtthatókat és oldja meg az egyenletet. Mutassa be a működését!
  • Oldja meg a következő egyenletet: a*sin(3x)+b=0 (a és b bemenő paraméterek)
  • Határozza meg egy d átmérőjű körnek az l távolságra lévő pontból húzott érintőjének a hosszát.
  • Kérjen be egy 0..16 közötti számot. Vizsgálja meg, hogy valóban ebben a tartományban kapott értéket. Írja ki a képernyőre binárisan (ne használjon ciklust!)

4. óra

Tananyag

Órai anyag

Gyakorló feladat

  • Billentyűzetről kérje be az aktuális hőmérsékletet Celsius fokban. Írja ki, hogy ezen a hőmérsékleten milyen halmazállapotú a víz. Írja ki a hőmérsékletet Fahrenheitben 2 tizedesjegy pontosággal.
  • Számítsa ki egy kúpos pohár térfogatát, ha alul 53 mm átmérőjű, felül 83 mm átmérőjű és az alkotójának a hossza 110mm. Belefér 4 dl víz?
  • Készítsen programot, amely v0 kezdősebességű [km/h] alfa [fok] szöggel kilőtt labda legnagyobb magasságát és leesésének távolságát meghatározza. Használja a ferde hajlítás képletét. A nehézségi gyorsulás értéke 9.817 m/s^2 legyen.
  • Határozza meg egy "a" kis- és "b" nagytengelyű ellipszis közelítő kerületét.
  • Billentyűzetről kérje be 3 db pontnak a koordinátáit (x,y). Döntse el, hogy egy egyenesbe esnek-e? Alkalmazzon tűrést.

6. óra

Tananyag

Órai anyag

Gyakorló feladat

  • Kérjen be egy 0..64 közötti számot. Vizsgálja meg, hogy valóban ebben a tartományban kapott értéket. Írja ki a képernyőre binárisan, használjon while ciklust!
  • Készítsen egy véletlen számot 25-183 tartományon. Határozza meg, hogy a szám prímszám vagy sem!

7. óra

Órai anyag

Gyakorló feladat

  • Készítsen egy for ciklust, amely adott elemszámíg kiírja a Fibonacci sorozat elemeit.
  • Készítsen egy váletlen számot 25-183 tartományon. Határozza meg for ciklussal, hogy a szám prímszám vagy sem!

8. óra

Órai anyag

Gyakorló feladat

  • Készítsen egy 20 elemből álló dinamikus tömböt, amely olyan 0 és 999 közötti véletlen számokból áll, amik 3-mal és 5-tel is oszthatók.
    • Határozza meg a tömbben tárolt számok átlagát.
    • Keresse meg azokat a számokat, amelyek oszthatók 6-tal.
    • Rendezze a számokat csökkenő sorrendbe.

9. óra

Órai anyag

Gyakorló feladat

  • Készítsen egy 100 elemű egészek tárolására alkalmas dinamikus tömböt. A tömböt töltse fel 1 és 20 közé eső egész számokkal. Írassa ki a képernyőre, hogy melyik szám hányszor szerepel.
  • Készítsen egy 100 elemű egészek tárolására alkalmas dinamikus tömböt. A tömböt töltse fel 10 és 20 közé eső egész számokkal. Határozza meg az átlagot és a szórást!
  • Készítsen egy 50 elemű egészek tárolására alkalmas dinamikus tömböt. A tömböt töltse fel 2 és egy megadható (scanf) szám közé eső egész számokkal. Írassa ki a képernyőre a tömbben található prímszámokat.
  • Írjon be egy 200-nál nem nagyobb számot és írassa ki az értékét 8-as számrendszerben. A printf("%o",szam) segítségével ellenőrizze le.
  • Készítsen egy 10 elemű dinamikus tömböt és töltse fel 11 és 11111 közötti számokkal. Határozza meg egy függvénnyel azt a számot, amelyikben a legtöbb egyes szerepel.
  • Készítsen egy komplex szám struktúrát (double re, im). Készítsen olyan függvényt, amely két komplex számot összead, illetve egy másikat amely megadja a hosszát.

11. óra

Tananyag

Órai anyag

Gyakorló feladat

Elemezze a következő verset: (forrás: https://www.nng.com/hanagyleszek)



char vers[] = "Tudom en mar, mit csinalok:\n\
szoftverfejlesztonek allok.\n\
Lesz majd harom monitorom,\n\
a szekemet odatolom,\n\
bucsut intek minden nyugnek,\n\
Nyomkodom a billentyuket.\n\
Mozi, szinhaz? Masnak hagyom,\n\
nekem mindig van programom.\n\
Kodot irok, mint a kemek,\n\
szamitogepul beszelek.\n\
Kitalalsz egy jo kis tervet,\n\
elmondom a kompjuternek.\n\
Igy fejlesztek szoftvert, sokat,\n\
telefonra jatekokat,\n\
GPS-t a kocsitokba\n\
(belefer egy kicsi tokba),\n\
szimulalhatsz helikoptert,\n\
hogyha irok neki szoftvert,\n\
hatart csak a kepzelet szab!\n\
Es egesz nap gepezek csak.\n";

Határozza meg:

  • a határozott és határozatlan névelők számát
  • a mondatok számát
  • a magánhangzók számát

13. óra

Tananyag

  • Konvertálás
  • C fájlkezelés
    • Szöveges fájlok ismertetése
    • Bináris fájlok ismertetése
    • FILE * f - file struktúra
    • fopen(_s) - file megnyítása
      • "r" - olvasásra
      • "w" - írásra (létrehozza v felülírja)
      • "a" - hozzáírásra
      • "b" - bináris fájlkezeléshez pl. ("rb")
      • Hiba esetén NULL-al tér vissza: if (!f) ...)
    • fclose - file becsukása
    • feof - file vége
      • elöl tesztelt ciklus alkalmazása
      • while (!feof(f)) { .... };
    • fprintf(_s) - kiírás fájlba
    • fgets - beolvasás fájlból

Órai anyag

Gyakorló feladat

  • Készítsen Excel segítségével egy olyan CSV fájlt, amely 3 oszlopában egy-egy 3D-os vektor (x,y,z) koordinátája található. Olvassa be a fájlt és készítsen egy másik fájlt, amely a beolvasott sorokban található vektorok hosszát fogja tartalmazni. A feladathoz alkalmazzon struktúrát!
  • A fájlban található szövegben számolja meg, hogy az egyes szóhosszakból hány darab szó fordul elő. Egy fájlba írja ki a szóhosszak száma szerint rendezve a darabszámot és a megtalált szavakat. (A ’.’ ’,’ ’!’ ’?’ ’\n’ ’\r’ karakterek nem részei a szavaknak)
    szavak.txt
  • A fájlban található gyümölcsnevek elé írjuk be a magyar nyelv szabálya szerint a határozott névelőt. A névelővel rendelkező gyümölcsöket írjuk ki fordított sorrendben egy másik fájlba.
    gyumolcs.txt
  • A fájlban található szövegben számolja meg a mondatok számát és cserélje meg az elsőt és az utolsót!
    mondatok.txt
  • Számolja ki a fájlban megadott sebesség és idő függvényében a megtett távot méterben. A sorokat a számítási eredménnyel együtt írjuk ki a képernyőre.
    tavolsag.txt
  • Készítsen el egy olyan struktúrát, amely térbeli erők és/vagy helyvektorok tárolására alkalmas. Töltse be a struktúrába a helyvektort és az erőkomponenseket a fájlból (rx,ry,rz,Fx,Fy,Fz). Határozza meg az eredő erőt és a nyomatékot az origóra! Egyensúlyban van?
    ero.txt
  • NTC termisztorral mérek hőmérsékletet. A fájlban található kalibrációs görbe alapján határozzuk meg a hőmérsékletet, ha az ellenállás értéke 1,55kΩ.
    ntc.txt
  • Végezze el, a fájlban található vérvétel kiértékelését! A megadott tartomány átlépése esetén a sor végére tegyen egy * karaktert!
    ver.txt
  • Dolgozza fel a szerver log fájlját. Keresse meg a visszautasított SSH próbálkozásokat és írja ki a hozzá tartozó IP címet egy hosts.deny nevű fájlba.
    auth.log

Minta ZH

Olvassa be a következő tvműsorokat tartalmazó szövegfájlt: tvmusor.txt

  • Billentyűzetről kérje be az egyik csatorna nevét, és listázza ki az aznapi műsort! Szűrje le azokat a műsorokat, amelyek 16:15 és 20:00 között kezdődtek!
  • Milyen műsorok mennek adott bekért időpontban? (pl.:18:15)
  • Milyen műsorok fognak kezdődni adott bekért időpont után? (pl.:18:15)
  • Milyen műsor fog kezdődni adott bekért időpont után legkorábban? (pl.:18:15)
  • Melyik a leghosszabb műsor?
  • Melyik a legrövidebb műsor?
  • Mikor van CSI vagy NCIS?

Letölthető segédanyagok

Kiadványok

Hasznos webhelyek

Órán használt sablon
  • Visual Studio 2019 C konzol
    Helye: Domunemtumok\Visual Studio 2019\Templates\ProjectTemplates\Visual C++ Project
    Ha nem jelenik meg a Visual Studioban, akkor a %appdata%\Microsoft\VisualStudio könyvtár tartalmát ki kell törölni!
    Ha a gépre újabb SDK van feltelepítve, mint a sabloné, akkor állítsuk át az SDK-t -> Project -> Retarget solution


Elérhetőség