Programozás C nyelven 5. ELŐADÁS. Sapientia EMTE

Hasonló dokumentumok
Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

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

INFORMATIKA tétel 2019

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

INFORMATIKA javítókulcs 2016

Felvételi tematika INFORMATIKA

INFORMATIKA tétel 2018

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

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

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

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

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

A C programozási nyelv II. Utasítások. A függvény.

Programozás Minta programterv a 1. házi feladathoz 1.

INFORMATIKA tétel 2017

6. fejezet: Ciklusok

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

/* 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 ) ;

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

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

10. gyakorlat Tömb, mint függvény argumentum

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

1. Alapok. Programozás II

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

1. Jelölje meg az összes igaz állítást a következők közül!

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

2016, Diszkrét matematika

Programozási alapismeretek 3. előadás

BME MOGI Gépészeti informatika 5.

Megoldott programozási feladatok standard C-ben

2018, Diszkrét matematika

Programozás C nyelven 6. ELŐADÁS. Sapientia EMTE

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

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

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

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!

A C# programozási nyelv alapjai

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

BASH script programozás II. Vezérlési szerkezetek

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

AWK programozás, minták, vezérlési szerkezetek

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

AWK programozás, minták, vezérlési szerkezetek

Informatika terméktervezőknek

BME MOGI Gépészeti informatika 4.

PROGRAMOZÁS ALAPFELADATOK

Bevezetés a C++ programozásba

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

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union

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

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

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.

2016, Diszkrét matematika

Megoldott programozási feladatok standard C-ben

Programozási alapismeretek 2009/2010

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Algoritmizálás + kódolás C++ nyelven és Pascalban

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

BME MOGI Gépészeti informatika 13.

Java programozási nyelv

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Imperatív programozás

Óbudai Egyetem. C programozási nyelv

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

Internet programozása. 3. előadás

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

Szoftvertervezés és -fejlesztés I.

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

BME MOGI Gépészeti informatika 7.

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei

Bevezetés a programozásba. 8. Előadás: Függvények 2.

Mintavételes szabályozás mikrovezérlő segítségével

Programozás I gyakorlat. 5. Struktúrák

Algoritmusok és adatszerkezetek II.

Algoritmizálás + kódolás C++ nyelven és Pascalban

3. Osztályok II. Programozás II

Gregorics Tibor Tanácsok modularizált programok készítéséhez 1

Bevezetés a programozásba I.

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Occam 1. Készítette: Szabó Éva

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

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

Gyakorló feladatok Gyakorló feladatok

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

Imperatív programozás

A programozás alapjai 1 Rekurzió

Komputeralgebra Rendszerek

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

6. A Pascal nyelv utasításai

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Algoritmizálás és adatmodellezés tanítása 1. előadás

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás

Bevezetés a programozásba. 11. Előadás: Esettanulmány

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

Vezérlési szerkezetek

Alprogramok, paraméterátadás

Függvények int, long 1. Adott a mellékelt f alprogram.

Átírás:

Programozás C nyelven. ELŐADÁS Sapientia EMTE 201-16 1

while vs. for int szam, s; cin >> szam; s = 0; while ( szam > 0 ){ s += szam%10; szam /= 10; cout << szamjegyosszeg << s; int szam, s; cin >> szam; for ( s = 0 ; szam > 0 ; szam /= 10 ){ s += szam%10; cout << szamjegyosszeg << s; 2

for ciklus int n, i; for ( i=1 ; i<=n ; ++i ){ cout << ( << i << ) ; (1)(2)(3)(4)()_ int n; for ( ; n ; --n ){ cout << ( << n << ) ; int n, i, j; for ( i=0,j=n-1; i<j ; ++i,--j ){ cout << ( << i << ) << ( << j << )\n ; ()(4)(3)(2)(1)_ 7 (0)(6) (1)() (2)(4) _ int n, i; for ( i=0; i<n ; ++i ){ cout << ( << i << ) << ( << n-1-i << )\n ; (0)(4) (1)(3) (2)(2) (3)(1) (4)(0) _ 3

for ciklus int n, i, j; for ( i=0; i<n ; ++i ){ cout << ( << i << ) ; cout << \n ; for ( j=0; j<n ; ++j ){ cout << ( << j << ) ; cout << \n ; (0)(1)(2)(3)(4) (0)(1)(2)(3)(4) _ int n, i, j; for ( i=0; i<n ; ++i ){ for ( j=0; j<n ; ++j ){ cout << ( << i <<, << j << ) ; cout << \n ; (0,0)(0,1)(0,2)(0,3)(0,4) (1,0)(1,1)(1,2)(1,3)(1,4) (2,0)(2,1)(2,2)(2,3)(2,4) (3,0)(3,1)(3,2)(3,3)(3,4) (4,0)(4,1)(4,2)(4,3)(4,4) _ 4

Egymásba ágyazott ciklusok Jelenítsünk meg a képernyőn nxn méretű csillag-mátrixot! int n, i; for( i=0 ; i < n*n ; ++i){ if (i%n == 0){ cout << \n ; //n-szer cout << * ; //n*n-szer _ int n, i, j; fin >> n; for( i=1 ; i <= n ; ++i){ for( j=1 ; j <= n ; ++j){ cout << * ; //n*n-szer cout << \n ; //n-szer _

Egymásba ágyazott ciklusok int n, i, j; fin >> n; for( i=0 ; i < n ; ++i){ if (i%2){ for( j=0 ; j < n ; ++j){ cout << - ; else{ for( j=0 ; j < n ; ++j){ cout << + ; cout << \n ; +++++ ----- +++++ ----- +++++ _ int n, i, j; fin >> n; for( i=1 ; i <= n ; ++i){ for( j=1 ; j <= n ; ++j){ if (i<j){ cout << - ; else if(i>j){ cout << + ; else{ cout << o ; cout << \n ; o---- +o--- ++o-- +++o- ++++o _ 6

Adott egy nxm méretű mátrix a be.txt állományban. Írassuk ki a képernyőre az elemek összegét. ifstream fin; fin.open( be.txt ); if (!fin.is_open()) {cout << No file! ; int szam, n, m, i, s; fin >> n >> m; s = 0; for( i=1 ; i <= n*m ; ++i){ fin >> szam; //(n*m)-szer s += szam; //(n*m)-szer fin.close(); cout << s; be.txt 2 3 44 13 7-10 11 be.txt 2 3 44 13 7-10 11 ifstream fin; fin.open( be.txt ); if (!fin.is_open()) {... int szam, n, m, i, j, s = 0; fin >> n >> m; for( i=1 ; i <= n ; ++i){ for( j=1 ; j <= m ; ++j){ fin >> szam; //(n*m)-szer s += szam; //(n*m)-szer fin.close(); cout << s; 7

Adott egy nxm méretű mátrix a be.txt állományban. Írassuk ki az elemek soronkénti összegeit. ifstream fin; fin.open( be.txt ); if (!fin.is_open()) {cout << No file! ; int szam, n, m, i, s; fin >> n >> m; s = 0; for( i=0 ; i < n*m ; ++i){ fin >> szam; //(n*m)-szer s += szam; if (i%m == m-1){ cout << s; s = 0; //n-szer fin.close(); be.txt 2 3 44 13 7-10 11 be.txt 2 3 44 13 7-10 11 ifstream fin; fin.open( be.txt ); if (!fin.is_open()) {... int szam, n, m, i, j, s; fin >> n >> m; for( i=1 ; i <= n ; ++i){ s = 0; //n-szer for( j=1 ; j <= m ; ++j){ fin >> szam; //(n*m)-szer s += szam; //(n*m)-szer cout << s << \n ; //n-szer fin.close(); 8

Adott egy nxn méretű mátrix a be.txt állományban. Írassuk ki a főátló feletti elemek összegeit. ifstream fin; fin.open( be.txt ); if (!fin.is_open()) {cout << No file! ; int szam, n, k, i, j, s; fin >> n; s = 0; for( k=0 ; k < n*n ; ++k){ fin >> szam; i = k/m; j = k%m; if (i < j){ s += szam; cout << s; fin.close(); be.txt 3 3 44 13 7-10 11 6 7 1 be.txt 3 3 44 13 7-10 11 6 7 1 ifstream fin; fin.open( be.txt ); if (!fin.is_open()) {... int szam, n, i, j, s = 0; fin >> n; for( i=1 ; i <= n ; ++i){ for( j=1 ; j <= n ; ++j){ fin >> szam; if (i < j){ s += szam; cout << s; fin.close(); 9

Egymásba ágyazott ciklusok Adott n természetes szám. Hány közülük prím? int n,i,j,szam,k; k = 0; for( i=1 ; i<=n ; ++i ){ cin >> szam; if ( szam == 0 szam == 1 ) {continue; bool prim = true; for( j=2 ; j<=sqrt(szam) ; ++j ){ if ( szam%j == 0 ){ prim = false; break; if ( prim ) { ++k; cout << k; 10

TOP-DOWN programozás bool prim_e (int); int n,i,szam,k; k = 0; for( i=1 ; i<=n ; ++i){ cin >> szam; if ( prim_e(szam) ) { ++k; cout << k; bool prim_e (int x){ int i; if (x==0 x==1) {return false; for( i=2 ; i<=sqrt(x) ; ++i ){ if ( x%i == 0 ){ return false; return true; 11

Természetes számokat olvasunk be 0 végjelig. Hány közülük szuper-prím? bool prim_e (int); int szam,k; k = 0; for( ; ; ){ cin >> szam; if (!szam ) { break; if ( szuperprim_e(szam) ) { ++k; cout << k; bool szuperprim_e (int x){ while ( x ) { if (!prim_e(x) ){ return false; x /= 10; return true; bool szuperprim_e (int); 2333 233 23 2 bool prim_e (int y){ int i; if (y==0 y==1) {return false; for( i=2 ; i<=sqrt(y) ; ++i ){ if ( y%i == 0 ){ return false; return true; 12

Generáljunk n véletlen számot a [0,10000) intervallumból. Hánynak prím a számjegyösszege? bool prim_e (int); int szam,k=0,n,i; int szamjegyosszeg(int); srand(time(0)); // <stdlib.h>, <time.h> for( i=1 ; i<=n ; ++i){ szam = rand() % 10000; if ( prim_e( szamjegyosszeg (szam) ) ) { ++k; cout << k; int szamjegyosszeg (int x){ int s =0; while ( x ) { s += x%10; x /= 10; return s; bool prim_e (int y){ int i; if (y==0 y==1) {return false; for( i=2 ; i<=sqrt(y) ; ++i ){ if ( y%i == 0 ){ return false; return true; 13

ÖSSZEFOGLALÓ Egymásba-ágyazott ciklusok TOP-DOWN programozás Szám-sorozatok: generáljuk szabály véletlen beolvassuk billentyűzetről állományból ismert elemszám / végjelig Számpár-sorozatok Prím-tesztelés technikája Mátrixok FÜGGVÉNYEK 14

Függvény DEKLARÁCIÓ <típus> <azonosító> (<típus 1 >,, <típus N >); HÍVÓ Függvény Függvény HÍVÁS <változó> = <azonosító> (<kif 1 >,, <kif N >); <típus> <azonosító> (<típus 1 > <név 1 >,, <típus n > <név n >){ o o o forgatókönyv o o o return <eredmény>; Függvény DEFINÍCIÓ 1

deklaráció szereplők Claudius Hamlet Polonius Horatio Laertes Gertrude Ophelia... definíció színészek Makranczi Zalán Szabó Kimmel Tamás Rába Roland Mátyássy Bence Szatory Dávid Söptei Andrea Radnay Csilla... dublőr 16