3. előadás (2005. március 1.) Utasítások, tömbök

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Vezérlő utasítások.
Programozás I. Szelekciók: egy- és kétágú szelekció
Algoritmusok.
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Ismétlés: Döntések a feltétel egy logikai kifejezés if feltétel then
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
A C nyelv utasításai. Kifejezés+ ; Utasítás printf("Hello")printf("Hello"); a=b+ca=b+c; fuggveny(a,b)fuggveny(a,b); Blokkok: több utasítás egymás után,
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Programozás alapjai.
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
C A C nyelv utasításai.
C A C nyelv utasításai. Ismétlés Utasítások csoportosítása.
Borland C/C++ mintapéldák függvényekre. 1. példa Írjunk olyan függvényt amely egy számot kiirat.
Programozás I. Horváth Ernő.
Java programozási nyelv 2. rész – Vezérlő szerkezetek
Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1.5 Programozó matematikus szak 2003/2004-es tanév II. félév.
Utasítások, elágazás- és ciklusszervezés C nyelvi utasítások
PHP Webprogramozás alapjai
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Szombathely Dinamikus WEB programozás: PHP és JSP.
Programozás I. Ciklusok
Programozás I. Egymásba ágyazott szelekciók, többágú szelekció
Lénárt Anett egyetemi adjunktus - PTE PMMK Rendszer- és Szoftvertechnológia Tanszék Előadás JavaScript Tananyag: W eb - programozás.
Vizuális és web programozás II.
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
ISZAM III.évf. részére Bunkóczi László
Vezérlési szerkezetek: elágazások, ciklusok
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Programozás C# -ban Elágazások.
C nyelv utasításai.
Farkas Tamás (blaq) PHP alapok Farkas Tamás (blaq)
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
ismétlődő (azonos vagy hasonló) tevékenységek megvalósítására szolgál
Ciklusok (iterációk).
PHP nyelv. PHP Interpreteres nyelv → parancsértelmező szükséges hozzá Rasmus Lerdorf 1995 → személyes felhasználás (internetes önéletrajzának megtekintésének.
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
Készítette: Csíki Gyula
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Készítette: Lipp Marcell
Algoritmusok.
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
Algoritmus szerkezetek
Nevezetes algoritmusok
Java programozási nyelv Vezérlési szerkezetek
Algoritmusok.
Objektum orientált programozás
Objektum orientált programozás
Egyágú elágazás Szintaxis: if (feltétel)
A Visual Basic nyelvi elemei
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
© Tóth Ákos, Óbudai Egyetem, 2010
Excel programozás (makró)
C++2. Ciklusok elöltesztelő (for, while) A ciklusmag feldolgozása előtt történik a vizsgálat  lehet, hogy egyszer sem fut le. A soronkövetkező iteráció.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Utasítás és blokk. Elágazás típusai, alkalmazása Kovács.
Algoritmus Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században élt perzsa tudós nevének pontatlan.
Forrás: Reiter István C_Sharp programozás lépésről lépésre (frissített tartalommal )
Programozási alapismeretek
Gépészeti informatika (BMEGEMIBXGI)
Excel programozás (makró)
Programozás C# -ban Elágazások.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
ITERÁCIÓ.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Utasítások, elágazás- és ciklusszervezés C nyelvi utasítások
Informatikai gyakorlatok 11. évfolyam
Előadás másolata:

3. előadás (2005. március 1.) Utasítások, tömbök utasítás: üres, összetett, feltételes utasítás, switch utasítás, ciklus utasítások, tömbök.

C utasítások kifejezés; Üres utasítás: ; Összetett utasítás (blokk vagy utasítás csoport): { .... } Belsejében változók deklarálhatók. Utána nem írunk pontosvesszőt (üres utasítás).

Vezérlési szerkezetek Elágazás 1: if (kifejezés) "igaz" utasítás else "hamis" utasítás Az else rész nem kötelező. A kifejezés csak int-re konvertálódó lehet.

Elágazás példa: Csellengő else: if (a==5) /* Hibalehetőség: a=5 */ if (...) if (...) if (...) if (...) if (...) { else else if (...) }

Elágazás: elseif if (kifejezés) "igaz" utasítás else if (kifejezés)

Több eset kezelése, switch utasítás: Formája: switch (kifejezés) { case konst_kif1: utasítás1 case konst_kif2: utasítás2 ... case konst_kifn: utasításn default: utasítás } Kifejezés: int, char, long, short típusú

Switch-default példa char c; c=getchar(); switch (c) { case 'a': case 'b': case 'c': printf("a vagy b vagy c"); return 1; default: return (0); }

Switch-break példa int i=5; switch (i%3) { case 0: printf("\nhárommal osztható"); break; case 1: printf("\nmaradék 1"); case 2: printf("\nmaradék 2"); }

A while ciklus utasítás while (kifejezés) utasítás Pl. char c; c='*'; while ((c!='n') && (c!='i')) c=getchar(); Előtesztelő ciklus utasítás, lehet, hogy a ciklusmag egyszer sem hajtódik végre.

A do ... while ciklus utasítás do utasítás while (kifejezés); Pl. char c; do c=getchar(); while ((c!='n') && (c!='i')); Utótesztelő ciklus, a ciklusmag legalább egyszer végrehajtódik.

A for ciklus utasítás for ( inicializáló_kif; ellenőrző_kif; újrainic_kif ) utasítás Működése: 1. inicializáló_kif kiszámítása 2. ha az ellenőrző_kif hamis, akkor kilépés a for utasításból 3. utasítás (ciklusmag) végrehajtása 4. újrainic_kif kiszámítása 5. visszaugrás a 2. pontra

A for utasítással egyenértékű (ekvivalens) while utasítás inicializáló_kif ; while (ellenőrző_kif ) { utasítás újrainic_kif ; }

for utasítás példák 1. for (i=0; i<N; a[i++]=0); for (c=1; c<=20; c++) printf("%d\n",c); for (c=100; c>0; c--) ... for (c=0; c<1000; c+=5) ... c=1; for (; c<1000; c++) ... for (c=1, printf("elkezdtem"); c<10; c++)... for (c=0; c<1000;) printf ("%d\n",c++);

for utasítás példák 2. for (c=0; c<1000 && a[c]!=0; c++) printf(" ", a[c]); for (c=0; c<1000 && a[c];) printf(" ", a[c++]); for (c=0; c<1000; a[c++]=5); for (i=0, j=999; i<1000; i++, j--) b[j] = a[i];

Végtelen ciklusok while (1) utasítás for (;;) utasítás Pl. hálózati szerver vagy interaktív programokban Leállítás: Adott feltétel esetén: exit(visszatérési_érték) Megszakítással: Ctrl+C, Ctrl+Break, Ctrl+\

A break utasítás for (i=0 ; ; i++) { if (getchar() == 'n') break; } printf ("\naz%d-edik leütött kar. az\'n\'!", i); Ciklusban a break-et tartalmazó ciklus megszakítására használható.

A continue utasítás int szamlalo; for (szamlalo=0, i=0; i<N; i++); /*!!!*/ { if (a[i]<0) continue; szamlalo++;/*nemnegatív elemek sz.*/ } A continue a ciklus újrainicializáló részére adja a vezérlést.

goto utasítás, címkék Hagyományőrzési céllal és néhány elkerülhetetlen esetben a hatékonyság növelésére. Pl. for ( ... ) for ( ... ) { ... if ( ... ) goto errorc; } errorc: hibakezeles ();

Egymásbaágyazott ciklusok for (i=0; i<N; i++) { for (j=0; j<M; j++) printf ("\n%d.sor %d.oszlop eleme %d", i,j,a[i][j]); } A belső ciklus befejeződése után folytatódik a külső. Fontos az utasítások megfelelő csoportosítása.

Tömbök Olyan összetett adattípus, amely azonos típusú elemekből áll és a memóriában folytonosan helyezkedik el. Tömb deklarációja típus név [elemszám1] {[elemszám2]…}; Az elemszám csak állandó kifejezés lehet. Hivatkozás egy elemre: név[indexkifejezés1]{[indexkifejezés2]…} Az index kifejezés tetszőleges egész típusú kifejezés. Az index alsó határa 0, 0 <= index <= elemszám-1. Az index érvényességét a fordítóprogram nem ellenőrzi!

A sizeof operátor használata A CPU függetlenség miatt fontos a sizeof operátor használata, pl.: int a[10]; sizeof(a[0]) sizeof(int)=4 (CPU függő) sizeof(a) 10*sizeof(int)=40 (CPU függő) sizeof(a)/sizeof(a[0]) =10 (CPU független)

Tömb elhelyezkedése a memóriában elem eltolás cím 0FFC a[0] 0 1000 a[1] 1*sizeof(int) 1004 a[2] 2*sizeof(int) 1008 a[3] 3*sizeof(int) 100C (CPU függő)

Tömb inicializálása 1. Egydimenziós: típus név [elemszám]= {konst_1, konst_2, ... , konst_elemszám-1}; Pl. double koord[3]={0.3, 0.6, 0.8}; double koord[]={0.3, 0.6, 0.8, 1.1};

Tömb inicializálása 2. Kétdimenziós: vagy int a[2][3]={{2, 3, 6}, {3, 6, 8}}; vagy int a[][3]={{2, 3, 6}, Az utolsó indexnek mindig ismertnek kell lennie, csak egy index lehet határozatlan (az első)!