Webprogramozás szakkör



Hasonló dokumentumok
Webprogramozás szakkör

Vezérlési szerkezetek

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

Szoftvertervezés és -fejlesztés I.

Webprogramozás szakkör

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

Komputeralgebra Rendszerek

A C# programozási nyelv alapjai

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

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

S z á m í t ó g é p e s a l a p i s m e r e t e k

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

Java programozási nyelv

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

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

Objektumorientált Programozás III.

Programozási segédlet

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

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

Vezérlési szerkezetek. Szelekció Ciklusok

1. Alapok. #!/bin/bash

Szelekció. Döntéshozatal

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

Informatika terméktervezőknek

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

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Felvételi tematika INFORMATIKA

6. fejezet: Ciklusok

Óbudai Egyetem. C programozási nyelv

Vezérlési szerkezetek

Bevezetés a programozásba I.

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

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

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

Gyakorló feladatok Gyakorló feladatok

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

Nézzük tovább a lexikai egységeket!

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

Szkriptnyelvek. 1. UNIX shell

3 A C programozási nyelv szintaktikai egységei

Programozási nyelvek JAVA EA+GY 1. gyakolat

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 3. előadás

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

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

A C# PROGRAMOZÁSI NYELV

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

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

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

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

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

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

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

Programozás I. gyakorlat

Python tanfolyam Python bevezető I. rész

Programozás alapjai 1.Gy: Algoritmizálás P R O

Programozás alapjai (ANSI C)

A programozás alapjai

Szoftvertechnológia alapjai Java előadások

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Python bevezető foglalkozás Python bevezető foglalkozás

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

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

Bevezetés a programozásba I.

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

Programozási alapismeretek 3. előadás

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

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

Smalltalk 2. Készítette: Szabó Éva

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával

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

Hardver leíró nyelvek (HDL)

Atomerőművek üzemtanának fizikai alapjai. MATLAB használata

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. #!

BASH SCRIPT SHELL JEGYZETEK

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

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

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

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

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

1. Egészítsük ki az alábbi Python függvényt úgy, hogy a függvény meghatározza, egy listába, az első n szám faktoriális értékét:

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

A JavaScript főbb tulajdonságai

Apple Swift kurzus 3. gyakorlat

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

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

HTML. Ismerkedés a JavaScripttel. A JavaScript lehet ségei. A JavaScript kód helye. Önálló JavaScript fájlok

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés

Forráskód formázási szabályok

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb

A programozás alapjai 1 Rekurzió

C programozás. 1 óra Bevezetés

MATLAB alapismeretek II.

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Kezdő programozók hibái

2016, Diszkrét matematika

Operációs Rendszerek II. labor. 2. alkalom

Átírás:

Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás (elkészítjük) o Tesztelés (ellenőrizzük, hogy jól csináltuk-e meg) Hogyan írunk ki tetszőleges szöveget / számot (document.write( )) Kommentezés Változók Különböző típusok összefűzése (+) Feladat 1 írjuk ki 1-től 3-ig a számokat Szükséges ismeretek: kiíratás // Megoldás 1: document.writeln(1); document.writeln(2); document.writeln(3); // Megoldás 2: document.write( 1, 2, 3 ); document.write(1, 2, 3); // szövegként // számok felsorolva Operátorok Műveleti: +, -, *, /, %, ++, -- Relációs (összehasonlítás): <, <=, >, >=, =, == (érték egyezés), === (típus és érték egyezés),!= (nem egyenlő) Logikai (ÉS VAGY NEGÁLÁS (tagadás)): &&,,! Feltételes: változó = (feltétel)? ha igaz : ha hamis; Szövegre a + operátor szöveg összefűzését jelenti Feladat 2 műveletek Szükséges ismeretek: kiíratás, változók, operátorok Inicializáljunk (adjunk neki értéket) néhány változót, és írjuk ki a következőket (kifejezéseket): Szent Angéla Webprogramozási szakkör (Paksy Patrik) 1

var a = 5; var b = 8; var c = "programozás"; var d; var e = false; var f = true; document.writeln(d = a+b); document.writeln(d); document.writeln(b/a); document.writeln(b*a); document.writeln(a-b); document.writeln(b % 3); a++; document.writeln(a); a--; document.writeln(a); document.writeln(a == c); document.writeln(a!= c); document.writeln(e); document.writeln(!e); document.writeln(e && f); document.writeln(e && e); document.writeln(f && f); document.writeln(e f); document.writeln(e e); document.writeln(f f); document.writeln(e && e); document.writeln(f && f); document.writeln(a + " " + c); document.writeln(a >= 5? "igggaaaz" : "hammiiiis"); document.writeln(a > 5? "igggaaaz" : "hammiiiis"); Mutassuk meg, hogy nem csak a document.write-ban végezhetjük el a műveleteket (pl. a legelső sor helyett d = a+b;, majd kiírjuk d-t. Nézzük meg, hogy mi történik az alábbi esetekben: document.writeln(d); document.writeln(c % 2); // első sorba téve: undefined // NaN = Not a Number Az első esetben nem adtunk a változónak értéket, így definiálatlan lesz (undefined), a második esetben pedig szövegen próbálunk olyan műveletet végezni, ami számra értelmes (maradékképzés), így jelez, hogy nem számon próbálkozunk. Következtetések: A műveletek sorrendjének változtatása nem ugyanazt az eredményt adja A program soronként fut végig, és az alkalmazott változtatások érvényben maradnak Elágazás If-else Az if kötelező, az else if-ből 0..N darab lehet, az else-ből pedig 0..1 darab. Szent Angéla Webprogramozási szakkör (Paksy Patrik) 2

if (feltétel) { ha teljesül else if (feltétel) { ha ez teljesül else { egyébként ez történik Feladat 3 elágazás Szükséges ismeretek: kiíratás, változók, operátorok, elágazás var a = 5; var b = 8; var c = "programozás"; var d; var e = false; var f = true; if (a > 3 && c == "Programozás") { document.writeln("if"); else if (a > 3 && c == "programozás") { document.writeln("elseif"); else { document.writeln("else"); Figyeljünk a kód tördelésére is (space-ek, tabok)! Switch-case (NEM VOLT ÓRÁN) Ugyanazt valósítja meg, mint az IF-ELSE szerkezet, csak annyi különbséggel, hogy akkor tudjuk ezt használni, ha ugyanaz a kifejezés szerepelne minden feltételben, csak az a kérdés, hogy mi az értéke. IF-ELSE példa: if (n == 1) { document.writeln( ha 1-el egyenlő az n ); else if (n == 2) { document.writeln( ha 2-vel egyenlő az n ); else { document.writeln( ha nem 1 és nem 2 ); UGYANEZ switch-case-el: switch(n) { case 1: document.writeln( ha 1-el egyenlő az n ); break; case 2: document.writeln( ha 2-vel egyenlő az n ); break; default: document.writeln( ha nem 1 és nem 2 ); A break; utasítások azért kellenek, hogy kilépjünk a szerkezetből, és a switch lezáró kapcsos zárójele után folytatódjon a program futása. Ha nem tennénk ki, de belefutnánk például a case 1: ágba, akkor utána megvizsgálja az összes többi ágat is, így olyan lesz, mintha nem a fenti IF-ELSE IF-ELSE szerkezet lenne, hanem az alábbi (két különálló egymás utáni IF): Szent Angéla Webprogramozási szakkör (Paksy Patrik) 3

if (n == 1) { ha 1-el egyenlő az n if (n == 2) { ha 2-vel egyenlő az n ha nem 1 és nem 2 Ciklusok For ciklus Adott kezdőértéktől, adott végértékig egy változót növelünk, és ellenőrizzük, hogy mikor teljesül a végérték feltétele. for (ciklusváltozó_neve = kezdőérték; végérték feltétel; ciklusváltozó változtatása) { <minden ciklusban végrehajtandó utasítások> A ciklusváltozót ha a for()-ban deklaráljuk, akkor csak azon belül lesz érvényes. Feladat 4 írjuk ki 1-től 10-ig a számokat (fejlesszük tovább az 1. feladatot) Szükséges ismeretek: kiíratás, változók, operátorok, for ciklus for (var i = 0; i < 11; i++) { document.writeln(i); Feladat 5 írjuk ki 1-től 10-ig a páros számokat Szükséges ismeretek: kiíratás, változók, operátorok, for ciklus for (var i = 2; i < 11; i = i+2) { document.writeln(i); Feladat 6 ÖNÁLLÓ FELADAT írjuk ki 1-től 10-ig a páratlan, nem 3-al osztható számokat Szükséges ismeretek: kiíratás, változók, operátorok, elágazás, for ciklus for (var i = 1; i < 11; i = i + 2) { if (i % 3!= 0) { document.writeln(i); Az előző feladat is megoldható cikluson belüli elágazással vizsgálva, hogy 2-vel osztható-e. While ciklus Egy adott feltétel teljesüléséig megy a ciklus 2 típus o Előltesztelő: 0..N darab futás Megvizsgáljuk a feltételt, és ha nem teljesük, akkor be se lépünk a ciklusba Ha teljesül, akkor addig ismétlünk, amíg a feltétel teljesül Szent Angéla Webprogramozási szakkör (Paksy Patrik) 4

o Hátultesztelő: 1..N darab futás Mindenképpen egyszer belépünk, futtatjuk a ciklust, utána megvizsgáljuk a feltételt, és ha IGAZ, akkor folytatjuk a ciklust, ha HAMIS, akkor kilépünk belőle. Ha folytatjuk, akkor addig megy, amíg IGAZ a feltétel VIGYÁZZUNK! o A feltételnek valamikor hamisnak kell lennie, különben végtelen ciklusba kerülünk, vagyis soha nem fog a program leállni, hanem ismétlődik folyamatosan a megadott parancs // ELÖLTESZTELŐ while (feltétel) { <utasítások> // HÁTULTESZTELŐ do { <utasítások> while (feltétel); Feladat 7 írjuk ki while ciklussal 1-től 10-ig a számokat Szükséges ismeretek: kiíratás, változók, operátorok, while ciklus do { document.writeln(i); i++; while (i <= 10); Próbáljuk ki a kétféle ciklust, milyen feltételre fut az egyik 0-szor, a másik 1-szer? (Pl: i < 0) Változók elnevezése Ciklusváltozók: egybetűsek, tipikusan: i,j,k Segédváltozó: ideiglenes használat (pl. két változó értékének megcserélése) tmp Egyéb változó: funkciója szerint szoktuk elnevezni Szent Angéla Webprogramozási szakkör (Paksy Patrik) 5

Összefoglalás Kiíratás: document.writeln( szöveg ) hogy legyen valami kimenetünk Változók: o egyszerű (pl: var x = 5;) o összetett (objektum) tömbök (később lesz róla szó) Operátorok o műveletek, összehasonlítás o egy változóra használt például:!a o két változóra használt például: a+b A program hogyan futhat le? o Szekvenciálisan: egymás után írt utasítások, azok megadásának sorrendjében futnak le (lásd pl. Feladat 2 egymás utáni kiíratásai) o Elágazások: feltételektől függően döntünk arról, hogy mit hajtson végre a program IF - ELSE IF ELSE SWITCH - CASE o Ismétlések: ciklusokkal egymás után többször hajtunk végre hasonló kódrészleteket (esetleg különböző paraméterekkel) FOR ciklus WHILE ciklus Szent Angéla Webprogramozási szakkör (Paksy Patrik) 6

Órai feladatok 1. Írjuk ki a számokat 10-től 5-ig, tehát visszafelé. 2. Írjunk ki egy 5x5-ös szorzótáblát táblázatos formában. a. Szükséges ismeretek: kiíratás, változók, operátorok, ciklusok, HTML <script type="text/javascript"> document.write("<table>"); for (var i = 1; i <= 5; i++) { document.write("<tr>"); for (var j = 1; j <= 5; j++) { document.write("<td>" + i*j + "</td>"); document.write("</tr>"); document.write("</table>"); </script> Szent Angéla Webprogramozási szakkör (Paksy Patrik) 7

Otthoni feladatok Ajánlott példák 1. Írj programot, mely megcseréli két változó értékét. 2. Írj programot, mely kiírja a Fibonacci-sorozatot 1-től 100-ig. a. Fibonacci sorozat: i. az első két eleme 1 ii. mindegyik elem az előtte lévő kettő összege, így a harmadik az első kettőé, vagyis 1 + 1 = 2 iii. a negyedik: 1 + 2 = 3 iv. az ötödik: 2 + 3 = 5 v. és így tovább b. Helyes megoldás: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 További gyakorló példák 1. Írj programot, mely egy tetszőleges számot négyzetre emel. 3. Írj programot, ami meghatározza egy tetszőleges szám faktoriálisát! c. Faktoriális (!): 10! = 1*2*3*4* *9*10 (1-től az adott számig a számok szorzata) d. Helyes megoldás 5-re: 120 ( = 1*2*3*4*5) 2. Írj programot, mely a következőképpen viselkedik e. Kiírja a számokat 1-től 50-ig sorban, de i. ha 3-al osztható, akkor a szám helyett azt írja, hogy: X ii. ha 5-el osztható, akkor a szám helyett azt írja, hogy: Y iii. ha 3-al és 5-el is, akkor: JOKER 3. Írj programot, mely kiírja a legkisebb 10 prímszámot. Szent Angéla Webprogramozási szakkör (Paksy Patrik) 8