Információs Technológia
|
|
- Attila Nándor Kozma
- 8 évvel ezelőtt
- Látták:
Átírás
1 Információs Technológia A C programozási nyelv elemei, rendező algoritmusok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu november 25.
2 Kommunikáció a program és az operációs rendszer között Operációs rendszer fő feladatai Program elindítása File kezelés Tárgazdálkodás Felhasználói felület Perifériák kezelés Erőforrásokkal való gazdálkodás Ütemezés Hálózatkezelés Programok és állományok védelme Fodor Attila (Pannon Egyetem) Információs technológia november / 40
3 Kommunikáció a program és az operációs rendszer között Program indítása, leállítása menete Program elindítása Programot tartalmazó állomány megkeresése a háttértárolón Programkód betöltése a háttértárból a memóriába Környezet átadásához a meghatározott memóriaterület lefoglalása, feltöltése Program neve Elérési út Paraméterek Vezérlés átadása a betöltött program meghatározott címére Program futtatása... Program visszatérési érték átadása az operációs rendszernek Program által használt memória felszabadítása Fodor Attila (Pannon Egyetem) Információs technológia november / 40
4 Kommunikáció a program és az operációs rendszer között Program elindítása Paraméterek átadása a programnak Program meghívása programneve param1 param2 param3 \eleresi\ut\programneve param1 param2 param3 Program kódja C nyelvben int main(int argc, char* argv[])... return 0; Fodor Attila (Pannon Egyetem) Információs technológia november / 40
5 Kommunikáció a program és az operációs rendszer között A main függvény változatai Program elindítása ANSI szabvány által megengedett void main( void ); int main( void ); int main( int argc[, char *argv[ ] [, char *envp[ ] ] ] ); Microsoft specifikus: int wmain( ); int wmain( int argc[, wchar_t *argv[ ] [, wchar_t *envp[ ] ] ] ); Paraméterek argc - Parancssor-argumentumok száma argv - Karaktersorozatokat tartalmazó tömböt címző mutató A 0. paraméter a program neve envp - Felhasználói környezetben lévő változók Fodor Attila (Pannon Egyetem) Információs technológia november / 40
6 Kommunikáció a program és az operációs rendszer között A main függvény változatai Program elindítása ANSI szabvány által megengedett void main( void ); int main( void ); int main( int argc[, char *argv[ ] [, char *envp[ ] ] ] ); Microsoft specifikus: int wmain( ); //int main( int argc, char *argv[ ], char *envp[ ] ) int main(int argc, char* argv[])... return 0; Fodor Attila (Pannon Egyetem) Információs technológia november / 40
7 Kommunikáció a program és az operációs rendszer között Program elindítása Paraméterek és környezeti változók feldolgozása int main( int argc, char *argv[ ], char *envp[ ] ) int i; for(i=0; i<argc; i++) printf("%d. parameter: %s\n", i, argv[i]);... \\paraméterek feldolgozása while (envp[i+1]!= NULL) printf("%d. körny. változó: %s\n", i, envp[i]);... \\környezeti változók feldolgozása i++;... return 0; Fodor Attila (Pannon Egyetem) Információs technológia november / 40
8 Kommunikáció a program és az operációs rendszer között Program elindítása Paraméterek és környezeti változók feldolgozása (példa) J:\FOA\Egyetem\Inf_tech\Orai_peldak\Inftech_lista\Debug\Inftech_lista.exe aaaa bbb c 0. parameter: J:\FOA\Egyetem\Inf_tech\Orai_peldak\Inftech_lista\Debug\Inftech_lista. 1. parameter: aaaa 2. parameter: bbb 3. parameter: ccc 4. korny. valtozo: ComSpec=C:\windows\system32\cmd.exe 5. korny. valtozo: DFSTRACINGON=FALSE 6. korny. valtozo: FARLANG=English 7. korny. valtozo: FP_NO_HOST_CHECK=NO 8. korny. valtozo: HOMEDRIVE=C: 9. korny. valtozo: HOMEPATH=\Users\fodora 10. korny. valtozo: INCLUDE=C:\Program Files\Microsoft Visual Studio.NET 2003\SDK\v 11. korny. valtozo: KMP_DUPLICATE_LIB_OK=TRUE 12. korny. valtozo: LIB=C:\Program Files\Microsoft Visual Studio.NET 2003\SDK\v1.1\ 13. korny. valtozo: LOCALAPPDATA=C:\Users\fodora\AppData\Local 14. korny. valtozo: LOGONSERVER=\\CHARON 15. korny. valtozo: MKL_SERIAL=YES 16. korny. valtozo: NIDAQmxSwitchDir=C:\Program Files\National Instruments\NI-DAQ\Sw 17. korny. valtozo: NIIVIPATH=C:\Program Files\IVI\ korny. valtozo: VXIPNPPATH=C:\Program Files\IVI Foundation\VISA\ 43. korny. valtozo: windir=c:\windows Fodor Attila (Pannon Egyetem) Információs technológia november / 40
9 Kommunikáció a program és az operációs rendszer között Program elindítása Paraméterek és környezeti változók feldolgozása (példa) Inftech_lista.exe aaaa bbb ccc 0. parameter: Inftech_lista.exe 1. parameter: aaaa 2. parameter: bbb 3. parameter: ccc 4. korny. valtozo: ComSpec=C:\windows\system32\cmd.exe 5. korny. valtozo: DFSTRACINGON=FALSE 6. korny. valtozo: FARLANG=English 7. korny. valtozo: FP_NO_HOST_CHECK=NO 8. korny. valtozo: HOMEDRIVE=C: 9. korny. valtozo: HOMEPATH=\Users\fodora 10. korny. valtozo: INCLUDE=C:\Program Files\Microsoft Visual Studio.NET 2003\SDK\v 11. korny. valtozo: KMP_DUPLICATE_LIB_OK=TRUE 12. korny. valtozo: LIB=C:\Program Files\Microsoft Visual Studio.NET 2003\SDK\v1.1\ 13. korny. valtozo: LOCALAPPDATA=C:\Users\fodora\AppData\Local 14. korny. valtozo: LOGONSERVER=\\CHARON 15. korny. valtozo: MKL_SERIAL=YES 16. korny. valtozo: NIDAQmxSwitchDir=C:\Program Files\National Instruments\NI-DAQ\Sw 17. korny. valtozo: NIIVIPATH=C:\Program Files\IVI\ korny. valtozo: VXIPNPPATH=C:\Program Files\IVI Foundation\VISA\ 43. korny. valtozo: windir=c:\windows Fodor Attila (Pannon Egyetem) Információs technológia november / 40
10 Goto C programozási nyelv Goto Nehezen átlátható Strukturált programozás elveivel ellentétes Minden olyan probléma, amely goto-val van megoldva megoldható struktúráltan is (Bizonyos esetekben a goto alkalmazása egyszerűbb megoldást eredményezne) Néha azonban megkerülése felesleges (Például: többszörösen egymásba ágyazott ciklusok) A cégek Coding Standard-jai általában tiltják!!! Fodor Attila (Pannon Egyetem) Információs technológia november / 40
11 Goto alkalmazása C programozási nyelv Goto Függvényen belüli (lokális) C nyelv által támogatott goto cimke_neve HELYETTE: break continue Függvényen kívül (globális) C nyelv által támogatott setjmp, longjmp TILOS!!! Ha mégis, akkor különösen indokolt esetben!!! Fodor Attila (Pannon Egyetem) Információs technológia november / 40
12 Goto (példa) C programozási nyelv Goto #include <stdio.h> int main() int i, j; for ( i = 0; i < 10; i++ ) printf( "Kulso ciklus i = %d\n", i ); for ( j = 0; j < 2; j++ ) printf( " Belso ciklus j = %d\n", j ); if ( i == 3 ) goto stop; /* Ezt nem irja ki... */ printf( "Ciklus vege i = %d\n", i ); stop: printf( "stop cimkere ugras i = %d\n", i ); Fodor Attila (Pannon Egyetem) Információs technológia november / 40
13 Typedef C programozási nyelv Typedef Olyan azonosítot definiál, amely későbbiekben saját típusnévként használható Így létrehozott típusok megnevezése: typedef nevek Valóságban nem vezet be új típust, csupán szinonímát hoz létre Létrehozása: Deklarátorban szereplő névhez hozzárendel egy típusnevet typedef int egeszszam, *egeszmutato; typedef struct double x, y, r; kor; Változó létrehozása, használata: egeszszam i; egeszmutato p; kor k; k.x = 1.23; Fodor Attila (Pannon Egyetem) Információs technológia november / 40
14 Függvénypointer C programozási nyelv Függvénypointer A változókhoz hasonlóan, függvényt is el lehet érni indirekten Alkalmazás oka: Függvény is átadható paraméterként A függvényekre mutató pointerek tömbökbe is szervezhetőek Sokkal rugalmasabb program készíthető Függvényre mutató pointer: int (*fp)(double x); int - visszatérési érték fp - pointer neve x - függvény paramétere (double típus) Fodor Attila (Pannon Egyetem) Információs technológia november / 40
15 C programozási nyelv Pointerek fajtái (áttekintés) Függvénypointer char a char *a char **a char *a[] char **a[] char (*a)[] char a() char *a() - karakter típusú változó - karakter típusú pointer - karakter típusú mutatóra mutató mutató - karakter típusú pointerek tömbje - karakter típusú mutatóra mutató mutatók tömbje - karakter típusú tömbre mutató pointer - karakter típusú függvény - karakter típusú pointerrel visszatérő függvény char (*a)() - karakter típusú függvényre mutató pointer char (*a[])() - karakter típusú függvényre mutató pointereket tartalmazó tömb Fodor Attila (Pannon Egyetem) Információs technológia november / 40
16 Rendezések Buborék rendezés 1. (ismétlés) Rendezések (ismétlés) egesz i, j, minind, tmp, v[], n n = egesz_tomb_merete / egy_elem_merete for(i=n-1; i>1; i-- ) for(j=0; j<i-1; j++) if (v[j] < v[j+1]) tmp = v[j+1]; v[j+1] = v[j]; v[j] = tmp; end if end for end for Összehasonlítás: N(N 1)/2 O(n 2 ) Mozgatás: 3N(N 1)/2 O(n 2 ) Fodor Attila (Pannon Egyetem) Információs technológia november / 40
17 Rendezések Buborék rendezés 1. (ismétlés) Rendezések (ismétlés) int i, j, minind, tmp, v[10], n; n=sizeof(v)/sizeof(int); for(i=n-1; i>1; i-- ) for(j=0; j<i-1; j++ ) if( v[j] < v[j+1] ) tmp = v[j+1]; v[j+1] = v[j]; v[j] = tmp; Fodor Attila (Pannon Egyetem) Információs technológia november / 40
18 Rendezések Buborék rendezés 2. (ismétlés) Rendezések (ismétlés) egesz i, j, minind, tmp, v[], n n = egesz_tomb_merete / egy_elem_merete for(i=0; i<n-1; i++ ) for(j=i+1; j<n; j++) if (v[j] < v[i]) tmp = v[i]; v[i] = v[j]; v[j] = tmp; end if end for end for Összehasonlítás: N(N 1)/2 O(n 2 ) Mozgatás: 3N(N 1)/2 O(n 2 ) Fodor Attila (Pannon Egyetem) Információs technológia november / 40
19 Rendezések Buborék rendezés 2. (ismétlés) Rendezések (ismétlés) int i, j, minind, tmp, v[10], n; n=sizeof(v)/sizeof(int); for(i=0; i<n-1; i++ ) for(j=i+1; j<n; j++ ) if( v[j] < v[i] ) tmp = v[i]; v[i] = v[j]; v[j] = tmp; Fodor Attila (Pannon Egyetem) Információs technológia november / 40
20 Rendezések Rendezések (ismétlés) Minimum kiválasztásos rendezés (ismétlés) egesz i, j, minind, tmp, n egesz v[] n = egesz_tomb_merete / egy_elem_merete for(i=0; i<n-1; i++) minind = i; for(j=i+1; j<n; j++) if( v[j] < v[minind] ) minind = j end if end for tmp = v[i] v[i] = v[minind] v[minind] = tmp end for // csere Összehasonlítás: N(N 1)/2 O(n 2 ) Mozgatás: 3(N 1) O(n) Fodor Attila (Pannon Egyetem) Információs technológia november / 40
21 Rendezések Rendezések (ismétlés) Minimum kiválasztásos rendezés (ismétlés) int i, j, minind, tmp; int v[10], n; n=sizeof(v)/sizeof(int); for(i=0; i<n-1; i++) minind = i; for(j=i+1; j<n; j++) if( v[j] < v[minind] ) minind = j; tmp = v[i]; v[i] = v[minind]; v[minind] = tmp; // csere Fodor Attila (Pannon Egyetem) Információs technológia november / 40
22 Koktél rendezés Rendezések Rendezések (ismétlés) Hasonlóan mőködik mint a buborék rendezés Kettő irányból történik a vizsgálat. A legrosszabb eset: is O(n 2 ) műveletre Majdnem rendezett lista esetén: körülbelül O(n) Fodor Attila (Pannon Egyetem) Információs technológia november / 40
23 Koktél rendezés Rendezések Rendezések (ismétlés) int bottom = 0; int top = n-1; int swap = TRUE; //csere volt while (swap == TRUE) swap = FALSE; for(int i=bottom; i<top; i++) if (a[i]>a[i+1]) swap = TRUE; tmp = a[i]; a[i] = a[i+1]; a[i+1] = tmp; top--; // top = top-1; for(int i=top; i>bottom; i--) if (a[i]<a[i-1]) swap = TRUE; tmp = a[i]; a[i] = a[i-1]; a[i-1] = tmp; bottom++ ; // bottom = bottom+1; Fodor Attila (Pannon Egyetem) Információs technológia november / 40
24 Kerti törpe rendezés Rendezések Rendezések (ismétlés) Megkeresi az első olyan helyet, ahol két egymást követő elem rossz sorrendben van megcseréli őket Ha egy ilyen csere után rossz sorrend keletkezik (csak a legutolsó csere előtt lehet) ellenőrizni kell int i=1, tmp; while (i<n) if (a[i-1]<=a[i]) i++; else tmp = a[i-1]; a[i-1] = a[i]; a[i] = tmp; i--; if (i==0) i = 1; //ha jó a sorrend előre lép Fodor Attila (Pannon Egyetem) Információs technológia november / 40
25 Beillesztéses rendezés Rendezések Rendezések (ismétlés) A soron következő elemnek megkeressük a helyét a tőle balra lévő rendezett részben Ezzel párhuzamosan a nagyobb elemeket rendre eggyel jobbra kell mozgatni int v[10], i, j, y, n; n=sizeof(v)/sizeof(int); for(i=1; i<n; i++) y = v[i]; for(j=i-1; (j>0) && (v[j]>y); j--) v[j+1] = v[j]; j = j-1; v[j+1] = y; Összehasonlítás: O(n 2 ) Mozgatás: O(n 2 ) Fodor Attila (Pannon Egyetem) Információs technológia november / 40
26 Rendezések Kupac adatszerkezet és tulajdonságai Kupac rendezés (Heap sort) Kupac adatszerkezet Bináris kupac: Egy majdnem teljes bináris fa egy tömbben ábrázolva A tömb mérete = kupac mérete = N Kupactulajdonsag Kupac tulajdonsag: A kupac minden i, gyökértől különböző eleme eseten: A[Szul.(i)]. A[i] Egy olyan binaris fát képvisel, amelyre igaz, hogy minden csúcs bal es jobb oldali részfájában csak kisebb vagy egyenlő értékek talalhatók. (Ez nem azonos a bináris keresőfa adatszerkezettel!!!) Fodor Attila (Pannon Egyetem) Információs technológia november / 40
27 A rossz helyen levő elemeket lefelé görgeti, mindig a nagyobb gyerek Fodor Attila felé (Pannon Egyetem) Információs technológia november / 40 Kupacolás Rendezések Kupac rendezés (Heap sort) /* TFH i-re nem teljesül a kupactulajdonság */ void kupacol(int i, int tomb[], int meret) int bal, jobb, legnagyobb, csere; bal = balkupac(i); jobb = jobbkupac(i); if (bal<=meret && tomb[bal]>tomb[i]) legnagyobb = bal; else legnagyobb = i; if (jobb<=meret && tomb[jobb]>tomb[legnagyobb]) legnagyobb = jobb; if (legnagyobb!=i) csere = tomb[i]; tomb[i] = tomb[legnagyobb]; tomb[legnagyobb] = csere; kupacol(legnagyobb);
28 Kupacolás (példa) Rendezések Kupac rendezés (Heap sort) Fodor Attila (Pannon Egyetem) Információs technológia november / 40
29 Kupacolás teljes fára Rendezések Kupac rendezés (Heap sort) Kupac építés A fa minden egyes elemére, a levelek feletti elemtől kezdve a gyökérig (bottom-up) void epit(int tomb[], int meret) int i; for (i=(meret-1)/2; i>0; i--) kupacol(i, tomb, meret); Fodor Attila (Pannon Egyetem) Információs technológia november / 40
30 Kupacolás teljes fára Rendezések Kupac rendezés (Heap sort) Kupac rendezés a legnagyobb elem a gyökér, az legyen a legutolsó az utolsót és az elsőt cseréljük Hatékonyság: O(nlog(n)) void rendez(int tomb[], int hossz) int i, csere; epit(tomb, hossz); for (i=hossz-1; i>0; i--) csere = tomb[i]; tomb[i]=tomb[0]; kupacol(0, tomb, hossz); Fodor Attila (Pannon Egyetem) Információs technológia november / 40
31 Kupacolás (példa) Rendezések Kupac rendezés (Heap sort) Fodor Attila (Pannon Egyetem) Információs technológia november / 40
32 Rendezések Gyorsrendezés (Quick sort) (Hoare, 1962) Gyorsrendezés (Quick sort) (Hoare, 1962) Alapelve: 1. felosztjuk az adatokat A[p..r] és A1[p..q] és A2[q..r] szakaszokra úgy, hogy A1<=A2 (NINCS RENDEZVE!!!) 2. Az A1 és A2 résztömböket rendezzük (az 1-es módszer folyamatos ismétlésével) Nincs szükség összefésülésre Az algoritmus sarokpontja: az 1. felosztó lépés Megvalósítása többféle lehet void gyorsrendez(int tomb[], int also, int felso) int kozep; if (also<felso) kozep = feloszt(tomb, also, felso); gyorsrendez(tomb, also, kozep); gyorsrendez(tomb, kozep+1, felso); Fodor Attila (Pannon Egyetem) Információs technológia november / 40
33 Rendezések Gyorsrendezés (Quick sort) (Hoare, 1962) Qsort megvalalósítása (csere, kiírás) void swap(int *x,int *y) int temp; temp = *x; *x = *y; *y = temp; int choose_pivot(int i,int j ) return((i+j) /2); void printlist(int list[],int n) int i; for(i=0;i<n;i++) printf("%d\t",list[i]); Fodor Attila (Pannon Egyetem) Információs technológia november / 40
34 Rendezések Gyorsrendezés (Quick sort) (Hoare, 1962) Qsort megvalalósítása (rendezés) void quicksort(int list[],int m,int n) int key,i,j,k; if( m < n) k = choose_pivot(m,n); swap(&list[m],&list[k]); key = list[m]; i = m+1; j = n; while(i <= j) while((i <= n) && (list[i] <= key)) i++; while((j >= m) && (list[j] > key)) j--; if( i < j) swap(&list[i],&list[j]); swap(&list[m],&list[j]); // rekurziv rendezes quicksort(list,m,j-1); quicksort(list,j+1,n); //2 elem csereje Fodor Attila (Pannon Egyetem) Információs technológia november / 40
35 Rendezések Gyorsrendezés (Quick sort) (Hoare, 1962) Qsort megvalalósítása (meghívása) void main() const int MAX_ELEMENTS = 10; int list[max_elements]; int i = 0; // veletlenszamok generalasa for(i = 0; i < MAX_ELEMENTS; i++ ) list[i] = rand(); printf("adatok rednezes elott:\n"); printlist(list,max_elements); // rendezes quicksort algoritmussal quicksort(list,0,max_elements-1); printf("adatok rednezes utan:\n"); printlist(list,max_elements); Fodor Attila (Pannon Egyetem) Információs technológia november / 40
36 Qsort függvény Rendezések Gyorsrendezés (Quick sort) (Hoare, 1962) Quick sort algoritmust használó függvény általános célra Az összehasonlító függvényt paraméterként nekünk kell megadni Prototípusa: void qsort(void *base, size_t num, size_t width, int (*cmp)(void *e1, void *e2)); base: Adatokra mutató pointer num: Adatok száma width: Adat mérete (byte-ban) Utolsó paraméter: Összehasonlító függvényre mutató pointer Például: int compare(int **a, int **b) return a>b?1:0; Fodor Attila (Pannon Egyetem) Információs technológia november / 40
37 Rendezések Gyorsrendezés (Quick sort) (Hoare, 1962) Beépített qsort rendezés alkalmazása #include <stdlib.h> #include <string.h> #include <stdio.h> int compare( const void *arg1, const void *arg2 ); int main( int argc, char **argv ) int i; /* Eliminate argv[0] from sort: */ argv++; argc--; /* Sort remaining args using Quicksort algorithm: */ qsort( (void *)argv, (size_t)argc, sizeof( char * ), compare ); /* Output sorted list: */ for( i = 0; i < argc; ++i ) printf( " %s", argv[i] ); printf( "\n" ); int compare( const void *arg1, const void *arg2 ) /* Compare all of both strings: */ return _stricmp( * ( char** ) arg1, * ( char** ) arg2 ); Fodor Attila (Pannon Egyetem) Információs technológia november / 40
38 Shell rendezés Rendezések Shell rendezés A Shell-módszer nem foglalkozik egyszerre minden elemmel Egyszerre egymástól adott távolságra lévőkkel foglalkozik A rendezés itt is több menetben történik Minden menet elején meghatározunk egy úgynevezett lépésközt, a L-t (adott menetben a vektor egymástól L távolságra lévő elemeit rendezzük) Az induló lépésköz meghatározása úgy történik, hogy a rendezéshez szükséges menetek száma körülbelül log 2 N legyen Lépésszám: O(nlog 2 n) Fodor Attila (Pannon Egyetem) Információs technológia november / 40
39 Shell rendezés Rendezések Shell rendezés egesz t[], L egesz i, j, y L = EGESZ_KONVERZIO( LOG(N)/LOG(2) ) Ciklus amíg L>=1 Ciklus k=l+1-től 2*L-ig Ciklus i=k-tól N-ig L-esével növelve j = i-l y = t[i] Ciklus amíg j>0 és t[j]>y t[j+l] = t[j] j = j-l Ciklus vége t[j+l] = y Ciklus vége Ciklus vége L = Kovetkezo_L(L) Ciklus vége Fodor Attila (Pannon Egyetem) Információs technológia november / 40
40 Rendezések További rendezési algoritmusok Shell rendezés Szétosztó rendezés Leszámláló rendezés Radix (számjegyes) rendezés Edény rendezés Fodor Attila (Pannon Egyetem) Információs technológia november / 40
Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union
Programozás alapjai C nyelv 10. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.21. -1- Standard függvények Standard függvények amelyeket
RészletesebbenTartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.
Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
RészletesebbenKeresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala
RészletesebbenRendezések. Összehasonlító rendezések
Rendezések Összehasonlító rendezések Remdezés - Alapfeladat: Egy A nevű N elemű sorozat elemeinek nagyság szerinti sorrendbe rendezése - Feltételezzük: o A sorozat elemei olyanok, amelyekre a >, relációk
RészletesebbenHaladó rendezések. PPT 2007/2008 tavasz.
Haladó rendezések szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Alapvető összehasonlító rendezések Shell rendezés Kupacrendezés Leszámláló rendezés Radix rendezés Edényrendezés
RészletesebbenJárműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza. A C nyelvű programokban gyakran használják a
RészletesebbenProgramozás 6. Dr. Iványi Péter
Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak
RészletesebbenAdatbázis rendszerek Gy: Algoritmusok C-ben
Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés
Részletesebben6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések
RészletesebbenA C programozási nyelv V. Struktúra Dinamikus memóriakezelés
A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.
RészletesebbenA számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem
A számítástudomány alapjai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Bináris keresőfa, kupac Katona Gyula Y. (BME SZIT) A számítástudomány
RészletesebbenMirő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.
Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Dinamikus memóriakezelés Dinamikus tömbök Dinamikus stringek Program kapcsolata a
RészletesebbenProgramozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék
9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,
RészletesebbenKupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]
Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.
RészletesebbenFüggvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.
Függvény pointer Több feladat közül futási időben döntöm el, hogy melyiket hajtom végre. A függvényre mutató pointer a függvény kódjának a címére mutat, azon keresztül meghívhatom a függvényt. A pointernek
RészletesebbenProgramozás I. 5. Előadás: Függvények
Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény
RészletesebbenAlgoritmuselmélet 2. előadás
Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés
RészletesebbenProgramozás alapjai. 5. előadás
5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk
RészletesebbenInformációs Technológia
Információs Technológia Rekurzió, Fa adatszerkezet Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 18. Rekurzió Rekurzió
RészletesebbenMutató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 alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenProgramozás I gyakorlat. 10. Stringek, mutatók
Programozás I gyakorlat 10. Stringek, mutatók Karakter típus A char típusú változókat karakerként is kiírhatjuk: #include char c = 'A'; printf("%c\n", c); c = 80; printf("%c\n", c); printf("%c\n",
RészletesebbenProgramozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. 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 Egy idő után az egyetlen main(){ függvénnyel megírt programunk túl nagy méretű lesz. Vannak
RészletesebbenOrszágzászlók (2015. május 27., Sz14)
Országzászlók (2015. május 27., Sz14) Írjon programot, amely a standard bemenetről állományvégjelig soronként egy-egy ország zászlójára vonatkozó adatokat olvas be! Az egyes zászlóknál azt tartjuk nyilván,
RészletesebbenProgramozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE
Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1 Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb. Felülnézet 2 #include: hatására a preprocesszor
RészletesebbenProgramozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenProgramozás II. 4. Dr. Iványi Péter
Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include
RészletesebbenAdatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)
Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),
RészletesebbenInformációs Technológia
Információs Technológia (Struktúra, mutatók, függvényhívás) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 október 14/21. Struktúra
RészletesebbenEdényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).
Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a
Részletesebbenmain int main(int argc, char* argv[]) { return 0; } main return 0; (int argc, char* argv[]) main int int int main main main
main int main(int argc, char* argv[]) { return 0; main main int int main int return 0; main (int argc, char* argv[]) main #include #include int main(int argc, char* argv[]) { double
RészletesebbenSzövegek C++ -ban, a string osztály
Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string
RészletesebbenKupac adatszerkezet. 1. ábra.
Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.
RészletesebbenAlgoritmusok és adatszerkezetek gyakorlat 07
Algoritmusok és adatszerkezetek gyakorlat 0 Keresőfák Fák Fa: összefüggő, körmentes gráf, melyre igaz, hogy: - (Általában) egy gyökér csúcsa van, melynek 0 vagy több részfája van - Pontosan egy út vezet
RészletesebbenProgramozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből
RészletesebbenKupacrendezés. Az s sorban lévő elemeket rendezzük a k kupac segítségével! k.empty. not s.isempty. e:=s.out k.insert(e) not k.
10. Előadás Beszúró rendezés Használjuk a kupacokat rendezésre! Szúrd be az elemeket egy kupacba! Amíg a sor ki nem ürül, vedd ki a kupacból a maximális elemet, és tedd az eredmény (rendezett) sorba! 2
RészletesebbenSzámjegyes vagy radix rendezés
Számláló rendezés Amennyiben a rendezendő elemek által felvehető értékek halmazának számossága kicsi, akkor megadható lineáris időigényű algoritmus. A bemenet a rendezendő elemek egy n méretű A tömbben
RészletesebbenProgramozás 5. Dr. Iványi Péter
Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct
RészletesebbenFüggvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok
RészletesebbenProgramozás alapjai 9.Gy: Struktúra 2.
Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).
Részletesebben1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás
Preorder ejárás Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban lévő adatokra.
Részletesebben10. gyakorlat Tömb, mint függvény argumentum
10. gyakorlat Tömb, mint függvény argumentum 1. feladat: A 6. gyakorlat 1. feladatát oldja meg a strukturált programtervezési alapelv betartásával, azaz minden végrehajtandó funkciót külön függvényben
RészletesebbenProgramozás alapjai C nyelv 9. gyakorlat. Rekurzió. Rekurzív algoritmus
Programozás alapjai C nyelv 9. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.14. -1- Rekurzió A feladat algoritmusa eleve rekurzív
RészletesebbenProgramozás C nyelven (10a. ELŐADÁS) Sapientia EMTE
Programozás C nyelven (10a. ELŐADÁS) Sapientia EMTE 2015-16 1 Karakterláncok A karakterláncokat char-tömbökben tároljuk. Egy karakterlánc végét a karakterlánc-végjel jelzi: \0 char s[10] = sapi ;... s
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenInformációs Technológia
Információs Technológia ZH feladatok megoldása (2009.11.26.) Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2009. november 26.
RészletesebbenRekurzió. Programozás alapjai C nyelv 9. gyakorlat. Rekurzív algoritmus. Rekurzív algoritmus fajtái. Példa: n! (2) Példa: n!
Programozás alapjai C nyelv 9. gyakorlat Szeberényi Imre BME IIT Rekurzió A feladat algoritmusa eleve rekurzív formában adott (ld: n!). A valójában nem rekurzív de valami hasznot húzunk
RészletesebbenProgramozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)
Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) I. A nyelv története C++ C (ős: B???) 1972 Ritchie AT&T Bell laboratórium UNIX 1978 Kernighan & Ritchie az első tankönyv,
RészletesebbenInformatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
RészletesebbenRendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat
9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:
RészletesebbenA programozás alapjai 1 Rekurzió
A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder
Részletesebben1. ábra. Számláló rendezés
1:2 2:3 1:3 1,2,3 1:3 1,3,2 3,1,2 2,1,3 2:3 2,3,1 3,2,1 1. ábra. Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással
RészletesebbenProgramozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók Dr. Bécsi Tamás 7. Előadás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza.
RészletesebbenProgramozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
Részletesebben/* 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. Írjunk programot, amely függvény alkalmazásával meghatározza n a értékét, (a az n-edik gyök alatt), az általunk megadott pontossággal, iterációval. Az iteráció képlete a következő: ahol : n-1 x uj =
Részletesebben1. Alapok. Programozás II
1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph
RészletesebbenProgramozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
RészletesebbenInformációs Technológia
Információs Technológia Sor és verem adatszerkezet Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2009. november 19. Alapötlet
RészletesebbenINFORMATIKA tétel 2019
INFORMATIKA tétel 2019 ELIGAZÍTÁS: 1 pont hivatalból; Az 1-4 feladatokban (a pszeudokód programrészletekben): (1) a kiír \n utasítás újsorba ugratja a képernyőn a kurzort; (2) a / operátor osztási hányadost
RészletesebbenProgramozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)
Programozás alapjai C nyelv 5. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.17. -1- Tömbök Azonos típusú adatok tárolására. Index
RészletesebbenKivételkezelés a C++ nyelvben Bevezetés
Kivételkezelés a C++ nyelvben Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Kivételkezelés a C++ nyelvben CPP9 / 1 Hagyományos hibakezelés Függvény visszatérési értéke (paramétere) hátrányai:
RészletesebbenC programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
Részletesebben11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.
11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;
RészletesebbenAdatszerkezetek és algoritmusok
Adatszerkezetek és algoritmusok 1 Bevezetés Adatszerkezet egyszerű vagy összetett alapadatok rendszerének matematikai, logikai modellje elég jó ahhoz, hogy tükrözze a valós kapcsolatokat elég egyszerű
RészletesebbenA C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
RészletesebbenProgramozás I gyakorlat
Programozás I. - 9. gyakorlat Sztringkezelés, mutatók Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 2, 2009 1 tar@dcs.vein.hu Tar
RészletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
RészletesebbenA C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
RészletesebbenA C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
RészletesebbenA C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
RészletesebbenProgramozás C nyelven (9. ELŐADÁS) Sapientia EMTE
Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE 2015-16 1 POINTEREK ismétlés double x = 3.14, *px = &x; unsigned char *p, *p1, *p2; p1 = (unsigned char*)px; p2 = p1 + sizeof(double); for ( p = p2-1 ;
RészletesebbenMérnöki programozás 7. Szerkesztette: dr. Vass Péter Tamás
Mérnöki programozás 7 Szerkesztette: dr. Vass Péter Tamás Függvények Függvény (function) egyedi azonosítónévvel ellátott számítási egység. A függvények formájában kidolgozott programkódok viszonylag egyszerűbb
RészletesebbenAlgoritmusok és adatszerkezetek gyakorlat 09 Rendezések
Algortmusok és adatszerkezetek gyakorlat 09 Rendezések Néhány órával ezelőtt megsmerkedtünk már a Merge Sort rendező algortmussal. A Merge Sort-ról tuduk, hogy a legrosszabb eset dőgénye O(n log n). Tetszőleges
RészletesebbenAAO 3. Csink László 2007
AAO 3 Csink László 2007 Algoritmus fogalma - ismétlés Az algoritmus egy eljárás (jóldefiniált utasítások véges halmaza), amelyet valamely feladat megoldására készítünk. A feladat egy adott kezdeti állapotból
Részletesebben2018, Funkcionális programozás
Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a
RészletesebbenFüggvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r
Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti
RészletesebbenA C programozási nyelv VI. Parancssori argumentumok File kezelés
A C programozási nyelv VI. Parancssori argumentumok File kezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv VI. (Parancssori argumentum, file kezelés) CBEV6 / 1 Parancssori
RészletesebbenProgramozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek
Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
RészletesebbenRendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.
Rendezések 8. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. október 24. Sergyán (OE NIK) AAO 08 2011. október 24. 1 / 1 Felhasznált irodalom
RészletesebbenStruktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája:
Struktúrák (struct) A struktúra egy olyan összetett adatszerkezet, amely nemcsak azonos típusú elemeket rendelhet össze. A struktúra definíciójában leírjuk, hogy a struktúra hogyan épül fel. A struktúra
Részletesebben7. fejezet: Mutatók és tömbök
7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata
RészletesebbenProgramozás I. gyakorlat
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
RészletesebbenJárműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás 4.11. A C előfeldolgozó rendszer A fordítás első lépése a C esetében a különböző nyelvi kiterjesztések feldolgozása: másik állomány tartalmának
RészletesebbenC++ Standard Template Library (STL)
Programozási Nyelvek és Fordítóprogramok Tanszék Programozási Nyelvek I. Témák 1 STL alapok 2 STL fogalmak 3 Konténerek 4 Iterátorok 5 Funktorok C++ STL Ne fedezzük fel újra spanyolviaszt! Sok adatszerkezet/algoritmus
RészletesebbenProgramozás I gyakorlat. 5. Struktúrák
Programozás I gyakorlat 5. Struktúrák Bemelegítés Írj programot, amely beolvassa 5 autó adatait, majd kiírja az adatokat a képernyőre. Egy autóról a következőket tároljuk: maximális sebesség fogyasztás
Részletesebben1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3
Darvay Zsolt Típusok és nevek a forráskódban Állandók és változók Hatókörök és az előfeldolgozó Bevitel és kivitel Kifejezések Utasítások Mutatók Függvények Struktúrák és típusok Állománykezelés C programozás
RészletesebbenKivételek, kivételkezelés a C++ nyelvben
2009. Kivételek, kivételkezelés a C++ nyelvben Haladó C++ programozás Kurucz Attila ELTE - IK 2009.06.09. Tartalomjegyzék Tartalomjegyzék... 2 Mi a kivételkezelés?... 3 Alapfogalmak... 3 Kivétel... 3 Try
RészletesebbenInformációs Technológia
Információs Technológia A C programozási nyelv (Típusok és operátorok) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 szeptember
RészletesebbenINFORMATIKA javítókulcs 2016
INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.
RészletesebbenA programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:
A programozás alapjai 1 Dinamikus adatszerkezetek:. előadás Híradástechnikai Tanszék Dinamikus adatszerkezetek: Adott építőelemekből, adott szabályok szerint felépített, de nem rögzített méretű adatszerkezetek.
RészletesebbenProgramozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,
RészletesebbenProgramozás alapjai 1. (BMEVIEEA100)
Programozás alapjai 1. (BMEVIEEA100) Gyakorlat anyaga az 6. oktatási héten (4-5. gyakorlat) A 7. oktatási hét péntekje előbbre csúszik a 6. hét szombatjára, ezért a 7. heti anyagot a szokottnál előbb kapjátok
RészletesebbenStack Vezérlés szerkezet Adat 2.
Stack Vezérlés szerkezet Adat 2. Kód visszafejtés. Izsó Tamás 2013. november 14. Izsó Tamás Stack Vezérlés szerkezet Adat 2./ 1 Változó típusú paraméterekátadása 1. #include < s t d i o. h> int64 myfunc
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. szeptember 27. Háromszög szerkeszthet ségének ellen rzése ANSI C (C89) megvalósítás #i n c l u d e i n t main ( v
RészletesebbenBevezetés a programozásba. 8. Előadás: Függvények 2.
Bevezetés a programozásba 8. Előadás: Függvények 2. ISMÉTLÉS Helló #include using namespace std; int main() cout
RészletesebbenJárműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás 6. Struktúrák A struktúra egy vagy több, esetleg különböző típusú változó együttese, amelyet a kényelmes kezelhetőség céljából önálló névvel látunk
RészletesebbenSpecifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot
RészletesebbenProgramozás C nyelven (3. ELŐADÁS) Sapientia EMTE
Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE 2015-16 Classic Empire - A turn Based Wargame Classic Empire is a real time, multiplayer, Internet-based game, featuring military, diplomatic, and economic
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
RészletesebbenÖsszetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.
Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,
Részletesebben