Programozás I. gyakorlat



Hasonló dokumentumok
Programzás I gyakorlat

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.

main int main(int argc, char* argv[]) { return 0; } main return 0; (int argc, char* argv[]) main int int int main main main

Programozás 6. Dr. Iványi Péter

Programozás I. gyakorlat

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai 9.Gy: Struktúra 2.

1. Alapok. Programozás II

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ;

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Programozás 1. Dr. Iványi Péter

Bevezetés a programozásba I.

Bevezetés a programozásba I.

Programozás C++ -ban 2007/1

Programozás I gyakorlat

Programozás II. 2. Dr. Iványi Péter

Programozás. Programozás villamosmérnököknek

7. gyakorlat Sorozatok, Fájlkezelés

Programozás I gyakorlat

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Adatbázis és szoftverfejlesztés elmélet

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Programozás C nyelven (13. ELŐADÁS) Sapientia EMTE

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó

Szövegek C++ -ban, a string osztály

12. gyakorlat Enum; Tárolási osztályok Preprocesszor utasítások; Moduláris programozás

Programozás I. 5. Előadás: Függvények

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Programozás I gyakorlat. 10. Stringek, mutatók

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

C változók. Feladat: Deklaralj egy valos, egy karakter es ket egesz tipusu valtozot! int main() {

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Elemi alkalmazások fejlesztése I.

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Programozási Nyelvek (C++) Gyakorlat

INFORMATIKA javítókulcs 2016

Programozás C és C++ -ban

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

Programozás C és C++ -ban

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE

1. Írjunk programot mely beolvas két számot és ellenőrzi hogy mindkét szám zérus-e:

Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája:

A NetBeans IDE Ubuntu Linux operációs rendszeren

INFORMATIKA tétel 2019

Pénzügyi algoritmusok

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

1. Alapok. #!/bin/bash

Programozás alapjai 8.Gy: Program struktúra

Felhasználói dokumentáció

Tartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!

Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

I. Bevezetés. 1. ábra A Java "logója"

C programozási nyelv

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

5. gyakorlat. Konstansok Tömbök Stringek

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket.

Mérnöki programozás 7. Szerkesztette: dr. Vass Péter Tamás

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Programozás C++ -ban

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Java I. A Java programozási nyelv

Programozás II gyakorlat. 6. Polimorfizmus

INFORMATIKAI ALAPISMERETEK

3 A C programozási nyelv szintaktikai egységei

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

C# nyelvhez kapcsolódó programozási feladatok

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

Bevezetés a programozásba. 6. Előadás: C++ bevezető

7/8. gyakorlat Karaktertömbök és sztringkezelés

C++ fejlesztés az ECLIPSE környezetben

Feladatgyűjtemény a C programozási nyelvhez

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

2018, Funkcionális programozás

Programozási alapismeretek 1. előadás

BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!

C programozás. 1 óra Bevezetés

Munkavegzes tavoli bejelentkezessel

Vezérlési szerkezetek

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Átírás:

Programozás I. gyakorlat 1. gyakorlat Alapok

Eszközök Szövegszerkesztő: Szintaktikai kiemelés Egyszerre több fájl szerkesztése pl.: gedit, mcedit, joe, vi, Notepad++ stb. Fordító: Szöveges file-ban tárolt forráskódból készít futtatható állományt gcc, MSVC, Intel Compiler stb.

Fapados módszer Indítsunk el egy szövegszerkeszőt Gépeljük be a következőt: #include <stdio.h> int main() { printf( Hello world!\n ); return 0; }

Fapados módszer Vegyük észre, hogy bizonyos szavakat kiemel a szövegszerkesztő! Ezek közül némelyek a c kulcsszavai közé tartoznak. Mentsük el a forráskódot, a fájl kiterjesztése legyen.c Nyissunk meg egy terminált

Fapados módszer Navigáljunk abba a könyvtárba, ahol a forrásfile található Könyvtár listázás Linuxban: ls Könyvtárba belépés: cd <könyvtár neve> Szülő könyvtárba lépés: cd.. Fordítsuk le a programunkat: gcc -Wall -o elso elso.c

Magyarázat gcc : a fordítóprogram -Wall: kapcsoló, amely utasítja a fordítót, hogy minden figyelmeztetést írjon ki a képernyőre (tanuláshoz érdemes használni) -o elso : megadjuk a kimeneti fájl, azaz a futtatható program nevét elso.c : a bemeneti file, azaz a forrásfile neve

Fapados módszer Amennyiben a forráskódot helyesen gépeltük be, a fordító lefut, és nem ad visszajelzést Futtassuk a programunkat:./elso Hello world!

Fapados módszer Írjunk át valamit a forráskódban, hogy hibás legyen Nézzük meg, hogy a fordító mit ír ki!

IDE használata IDE: Integrated development environment, azaz Integrált fejlesztői környezet Szövegszerkesztő, fordító, hibakereső, projekt kezelő, verziókövető, stb. Példák: Eclipse, Netbeans, Anjuta, Geany, Dev-C++, Code::Blocks, Microsoft Visual Studio

Geany Az egyszerűbb IDE-k közé tartozik Alkalmas szövegszerkesztésre, fordításra, futtatásra

Geany Hozzunk létre új forrásfile-t Mentsük el Összeállítás\Összeállítás vagy F9 Futtassuk a kész programot (F5)

Változók Hozzunk létre egy változót: Típusa legyen integer, és adjunk neki értéket! #include <stdio.h> int main(int argc, char** argv) { int a = 42; printf("ez egy szam: %d\n", a); return 0; }

Változók Irassuk ki a változót különböző módokon! #include <stdio.h> int main(int argc, char** argv) { int a = 42; printf("ez egy szam: %d\n", a); printf("ez egy szam: %u\n", a); printf("ez egy szam: %x\n", a); printf("ez egy szam: %X\n", a); printf("ez egy szam: %o\n", a); printf("ez egy szam: %c\n", a); return 0; }

Változók Hozzunk létre egy karakter típusú változót! Írassuk ki kétféleképpen! Adjunk neki értéket kétféleképpen! #include <stdio.h> int main(int argc, char** argv) { char ch1 = 'A'; char ch2 = 65; printf("ch1 = %c\n", ch1); printf("ch2 = %c\n", ch2); return 0; }

Változók Nézzük meg a lebegőpontos változókat is! #include <stdio.h> int main(int argc, char** argv) { double a = 65.3; printf("lebegopontos: %f\n", a); printf("lebegopontos: %g\n", a); return 0; }

Bekérés, kiíratás Olvassunk be egy egész típusú számot a billentyűzetről, majd írassuk ki! #include <stdio.h> int main(int argc, char** argv) { int a = 0; int res = scanf("%d", &a); printf("a bekert szam: %d\n", a); printf("a visszateresi ertek: %d\n", res); return 0; }

Bekérés, kiíratás Írjunk programot, amely beolvas egy számot, és kiírja a kétszeresét! #include <stdio.h> int main(int argc, char** argv) { int a = 0; scanf("%d", &a); printf("a bekert szam: %d\n", a); printf("a bekert szam ketszerese: %d\n", a*2); return 0; }

Összetettebb program Kérjük be egy téglatest oldalainak hosszát, majd írassuk ki a téglatest felszínét és térfogatát! Kérjük be egy háromszög alaplapjának és magasságának hosszát, majd írjuk ki a területét!

Egyik megoldás #include <stdio.h> int main(int argc, char** argv) { int a, b, c; printf("\n"); scanf("%d", &a); scanf("%d", &b); scanf("%d", &c); printf("a terfogat: %d\n", a*b*c); printf("felszin: %d\n", (a*b + b*c + c*a)*2); return 0; }

Kicsit eltérő megoldás #include <stdio.h> int main(int argc, char** argv) { int a, b, c, terf, felsz; printf("\n"); scanf("%d", &a); scanf("%d", &b); scanf("%d", &c); terf = a*b*c; felsz = (a*b + b*c + c*a)*2; printf("a terfogat: %d\n", terf); printf("felszin: %d\n", felsz); return 0; }

2. feladat Írjon programot, amely bekéri egy osztály létszámát, majd megkérdezi, hogy ebből hányan tanulnak német, angol és francia nyelven (tegyük fel, hogy a bevitt adatok lehetségesek). A program írja ki, hogy az osztály hány százaléka tanulja az egyes nyelveket (% jellel együtt). A százalékot egy tizedes pontossággal írja ki!

2. feladat, példa Osztály létszáma: 34 Német: 12 Angol: 30 Francia: 6 Németet tanulnak: 35.3 % Angolt tanulnak: 88.2 % Franciát tanulnak: 17.6 %

2. feladat, megoldás #include <stdio.h> int main(int argc, char** argv) { int letszam, angol, nemet, francia; printf("osztaly letszama: "); scanf("%d", &letszam); printf("nemet: "); scanf("%d", &nemet); printf("angol: "); scanf("%d", &angol); printf("francia: "); scanf("%d", &francia);

2. feladat, megoldás } printf("\nnemetet tanulnak: %.1f %%", ((double)nemet / letszam)*100); printf("\nangolt tanulnak: %.1f %%", ((double)angol / letszam)*100); printf("\nfranciat tanulnak: %.1f %%", ((double)francia / letszam)*100); return 0;

3. feladat Írja ki a képernyőre egy idézetet, valamint annak szerzőjét az alábbi módon: A repülés titka az, hogy valaki próbálja ledobni magát a földre, de elvéti. \ Douglas Adams \ A szerző neve előtt legyen 2 tabulátor is Oldja meg a feladatot egy printf használatával is!

3. feladat, megoldás #include <stdio.h> int main(int argc, char** argv) { printf("\"a repülés titka az, hogy valaki próbálja\n"); printf("ledobni magát a földre, de elvéti.\"\n"); printf("\t\t\\ Douglas Adams \\\n"); return 0; } Egy printf-el: printf("\"a repülés titka az, hogy valaki próbálja\nledobni magát a földre, de elvéti.\"\n \t\t\\ Douglas Adams \\\n");

4. feladat A korábban írt programokban vétsen hibákat, például: Töröljön ki egy pontosvesszőt Hagyjon el egy -t a printf függvény hívásánál A printf függvénynél a -t cserélje '-ra Írja át az int-et Int-re Hagyja el a return 0; sort Figyelje meg, hogy a szintaktikai kiemelés mely esetekben segít a hiba előrejelzésében Figyelje meg, hogy a fordító mely hibára, mit ír ki

4. feladat Ötlet gyakorláshoz: szükséges 2 vagy több személy Mindenki írjon valamilyen programot, ami tartalmaz valamilyen hibát Cseréljenek forráskódot, és próbálják megtalálni a mások által vétett hibákat, először a kód átolvasása, majd ha így nem megy, a fordító hibaüzenetei, esetleg a program futása alapján