Webprogramozás szakkör



Hasonló dokumentumok
Webprogramozás szakkör

Webprogramozás szakkör

Programozás alapjai (ANSI C)

Bevezetés a programozásba

Programzás I gyakorlat

Programozási alapismeretek 1. előadás

Regionális forduló november 19.

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

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

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

Regionális forduló november 19.

Programozás alapjai Bevezetés

Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.

Programozás I. gyakorlat

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

Programozási segédlet

KÖNYVTÁRRENDSZER. Igen

Informatika tanítási módszerek

ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK

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

Algoritmizálási feladatok

Javacript alapismeretek

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

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

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Információs technológiák 2. Gy: CSS, JS alapok

AZ ALGORITMUS. az eredményt szolgáltatja

A KÓDOLÁS TECHNIKAI ELVEI

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

Java programozási nyelv

Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk

Programozási tételek. Dr. Iványi Péter

Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás

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

Bevezetés az informatikába

Cikktípusok készítése a Xarayában

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

A webprogramozás alapjai. Óbudai Egyetem Neumann János Informatikai Kar 2018/19/1 szemeszter

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Operációs rendszerek. 10. gyakorlat. AWK - bevezetés UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Scratch bevezető foglalkozás Scratch bevezető foglalkozás

Algoritmusok tervezése

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

Bevezetés a programozásba. 5. Előadás: Tömbök

1. Alapok. #!/bin/bash

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

Amit a törtekről tudni kell Minimum követelményszint

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

Animáció készítése Scratch-ben

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

Operációs rendszerek gyak.

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

w w w. h a n s a g i i s k. h u

SZERZŐ: Kiss Róbert. Oldal1

Bevezetés a programozásba I.

Adatbázis és szoftverfejlesztés elmélet

Weblap készítése. Fapados módszer

Objektumorientált Programozás III.

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Szöveges fájlok szerkesztése Jegyzettömb használata

Matematika 8. osztály

4. Használati útmutatás

PPKE-ITK Bevezetés a programozásba 1.

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

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

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

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

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

Szkriptnyelvek. 1. UNIX shell

Harmadik gyakorlat. Számrendszerek

Rekurzió. Működése, programtranszformációk. Programozás II. előadás. Szénási Sándor.

A JavaScript főbb tulajdonságai

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

Java I. A Java programozási nyelv

DogsWorld nevelde telepítése és beállítása

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Programtervezés. Dr. Iványi Péter

Excel 2010 függvények

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

Amit a törtekről tudni kell 5. osztály végéig Minimum követelményszint

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

1. gyakorlat

Nyolcbites számláló mintaprojekt

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Tájékoztató. Használható segédeszköz: -

Aritmetikai kifejezések lengyelformára hozása

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

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

KOVÁCS BÉLA, MATEMATIKA I.

C programozási nyelv

Algoritmusok, adatszerkezetek, objektumok

Folyamatirányítás labor 4. mérés Gyártósori szállítószalag modell irányítása Modicon M340 PLC-vel. Feladat leírás

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

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Bevezetés a programozásba I.

Programozás alapjai. 7. előadás

ELEMI PROGRAMOZÁSI TÉTELEK

INFORMATIKAI ALAPISMERETEK

Programozási nyelvek 6. előadás

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

Átírás:

Webprogramozás szakkör Előadás 4 (2012.03.26) Bevezető Mi is az a programozási nyelv, mit láttunk eddig (HTML+CSS)? Az eddig tanult két nyelven is mondhatni programoztunk, de ez nem a klasszikus értelemben vett programozás volt. Programozási nyelv definíció: a számítástechnikában használt olyan, az ember által olvasható és értelmezhető utasítások sorozata, amivel közvetlenül, vagy közvetve (például: gépi vagy köztes kódra fordítás után) közölhetjük a számítógéppel egy adott feladat elvégzésének módját. Egyszerűbben fogalmazva egy programozási nyelvvel valamilyen módon, megadott szabályok szerint leírhatjuk, hogy egy feladatot miként szeretnénk elvégezni, milyen lépések szükségesek ahhoz. A közvetettség pedig arra utal, hogy vagy olyan a nyelv, hogy megírjuk, és máris láthatjuk az eredményét (például a HTML vagy a CSS ilyen, hiszen a böngésző értelmezte azt a kódot, amit mi írtunk). Vagy pedig először egy program segítségével le kell fordítanunk olyan kódra, amit a gép tud értelmezni (gépi kód a processzor által értelmezhető, a köztes kód az adott értelmező, pl. Java által), és ezt tudjuk majd futtatni. Idén csak az előbbi kategóriába tartozó nyelvekkel foglalkozunk. A HTML illetve a CSS úgynevezett leírónyelvek voltak. Ha valamiből 10 darab kellett, akkor megírtuk 10x. Hogyan lehetne másképpen? Mondhatnánk azt is, hogy ismételjük meg 10x. Ehhez más szemléletű nyelvek szükségesek, ilyen például a webprogramozásban gyakran használt JavaScript nyelv, mely jól kiegészíti majd az eddig tanult HTML-CSS ismereteinket. Mi is az a programozás? Adott egy feladat. Kérdés: hogyan tudjuk leírni az adott feladatot? Elvárás: adott bemenetre adott kimenetet adjon Pl: Szervezzük mozizást o START o Nézzük meg a moziműsort, UTÁNA o HA találunk jó filmet, AKKOR döntsük el, mikor és hol néznénk meg HA NEM, és még nem unjuk, AKKOR nézzük meg újra a moziműsort, AMÍG nem találunk megfelelőt EGYÉBKÉNT hagyjuk az egész mozizást Szent Angéla Webprogramozási szakkör (Paksy Patrik) 1

o HA a kiválasztott időpontban az adott helyen van elég szabad hely, AKKOR foglaljunk HA NEM, akkor keressünk új időpontot és helyet o A foglalás UTÁN a rendelést igazoljuk vissza, UTÁNA o Menjünk el a moziba, UTÁNA o Vegyük át a jegyet és nézzük meg a filmet o STOP Sokféle megoldás lehetséges! Ezt ábrázolhatjuk egy folyamatábrán (az alábbi példa a házi feladat írásának kezdetleges folyamatát szemlélteti) A folyamatábra elemei: Dőlt téglalap bemenet (mi kell a feladat megoldásához) / kimenet (milyen eredménye van, pl: sikeres/nem sikeres vagy igen/nem stb.) Téglalap tevékenység Rombusz eldöntendő kérdés, igen/nem válasszal, kétfelé megy ki nyíl Lekerekített téglalap vagy kör vagy ellipszis START illetve STOP Szent Angéla Webprogramozási szakkör (Paksy Patrik) 2

Hogyan programozzuk le? Lépésről lépésre való megvalósítás o A folyamatot modellezzük, felkészülve a hibákra is Nincs megadott recept o Ismerni kell hozzá egy nyelvet + ötlet + gyakorlás o Matematika az alapja Algoritmusok Készítsünk el egy egyszerű algoritmust, arra, hogy 20 szám közül hogyan találjuk meg a legnagyobbat. Ehhez írjunk pszeudokódot (az algoritmus programszerű leírása érthető nyelven, mely lehet emberi, matematikai, DE nem maga a programozott leírás). Írjunk fel mindent ami szükséges: Feladat: 20 szám közül a legnagyobb megtalálása Bemenet: 20 szám Kimenet: a legnagyobb szám Tegyük fel, hogy a számok tetszőleges sorrendben megvannak. Lépések a megoldáshoz: Jegyezzük meg az első számot, UTÁNA Menjünk végig az összes számon és ismételjük a következőket: o Ha az adott szám nagyobb, mint az utoljára megjegyzett, akkor az eddig megjegyzett számot elfelejthetjük, és jegyezzük meg ezt a számot o Utána továbblépünk a következő számra o Ha nincs több szám (elértük a huszadikat), akkor végeztünk és a legutoljára megjegyzett szám lesz a legnagyobb A programozás menete Szerkesztő: Specifikáció: a feladat megfogalmazása MIT SZERETNÉNK CSINÁLNI? Algoritmizálás: tervezés HOGYAN CSINÁLJUK MEG? o Módszer a feladat megoldására, véges sok lépésből Kódolás: megvalósítjuk egy programozási nyelven MEGCSINÁLJUK! Tesztelés: megvizsgáljuk, hogy helyes-e a működés JÓL CSINÁLTUK MEG? Minden bonyolultabb (felsőbb szintű) nyelvhez saját szerkesztő társul Az egyszerűbbekhez elég egy jegyzettömb is (mindenhez elég, de sokszor kényelmetlen) Szent Angéla Webprogramozási szakkör (Paksy Patrik) 3

o Kódkiegészítés o Szintaxis kiemelése Mi a Notepad++ programot fogjuk használni o Egyszerű, ingyenes Az első nyelv megtanulása a legnehezebb, utána más nyelveken többnyire ugyanazok az alapelvek használhatóak, csak más szabályok vannak arra, hogy mit hogyan fogalmazhatunk meg. Programozás alapok Programkód szerkezete Utasítás: a programozás alapegysége, tipikusan egy művelet elvégzését jelenti Kód: adott programnyelven megírt utasítások sorozata Az utasítások végrehajtási sorrendje lehet: Egymás után következő utasítások (szekvenciális) Ismétlés Elágazás (ha-akkor-egyébként) csak az adott feltételnek megfelelő utasítások hajtódnak végre JavaScript A JavaScript nyelv szoros kapcsolatban van a HTML és CSS nyelvvel, azok lehetőségeit kiegészíthetjük vele. Böngészőben lehet futtatni, így könnyen hordozható hasonlóan a HTML és CSS nyelvekhez. Kiíratás document.write( szöveg ); // szöveget idézőjelek közé tesszük document.write( szöveg ); // aposztrófokkal is jó document.write(2); // szám (nincs idézőjel/aposztróf) Ez egy utasítás, melynek a lezárása egy pontosvessző. Feladat 0: Hello World! Szükséges ismeretek: kiíratás Megoldás: Készítsünk Notepad++ programban egy új file-t (File/New), majd egyből üresen mentsük is el (File/Save as). A név megadásánál válasszuk ki, hogy ez egy HTML fájl legyen (HyperText Markup Language file - *.html, *.htm ). A <head> részbe írjuk a következőket: Szent Angéla Webprogramozási szakkör (Paksy Patrik) 4

<script type="text/javascript"> document.writeln( Hello World! ); </script> A <script> közti rész a JavaScript kód, ezt mindig meg kell adnunk (ha.html fájlba dolgozunk). A <script> csak egy HTML tag, ami azt jelöli, hogy utána például JavaScript kód következik. Feladat 1 írjuk ki 1-től 3-ig a számokat Szükséges ismeretek: kiíratás document.writeln(1); document.writeln(2); document.writeln(3); Az utasítások egymás utániságát szekvenciának nevezzük. Itt egy utasítás egy kiírást végző kód. Az utasítások végén pontosvesszőt írunk, majd új sorban folytatjuk a kódolást az áttekinthetőség érdekében. Kommentek (tetszőleges megjegyzés beírása a kódba) Egysoros: // ez itt a komment Többsoros: /* ez itt a komment, a lezárását jelző csillag-per jelekig tart */ <script type="text/javascript"> // egysoros komment document.writeln( Hello World! ); /* Többsoros komment akár ide is jöhet szöveg */ </script> Miért jó, ha kommenteket írunk? Hosszú kódoknál könnyebben találhatjuk meg, hogy mit hol és hogyan csináltunk meg. Ezt csak a saját magunk (a programozók) segítségére írjuk, a kommentben megadott szöveget a felhasználók a böngészőben nem látják. Akkor is segíthet, hogy ha később szeretnénk módosítani valamit a kódon és már nem emlékszünk, hogy mi hogyan volt. Kód formázása Minden új beágyazott egységet egy tabulátornyi (TAB gomb) hellyel beljebb kezdünk Beágyazott egység tipikusan kapcsoszárójel után következik Változók Matematika o x + 4 = 7 x = 3 o Itt az x az egy változó A változónak o neve van o értéket adhatunk neki Szent Angéla Webprogramozási szakkör (Paksy Patrik) 5

Inicializálás (kezdeti értékadás) o var x = 5; o var y = Szöveg ; VAGY var y = Szöveg ; var jelzi, hogy változót adunk meg o pontos jelentéséről későbbi alkalommal lesz szó o más nyelvekben helyette áll a típus, pl: int x = 5; (int jelenti, hogy egész szám típusú a változó) Feladat 2 hozzunk létre egy változót, írjuk ki az értékét Szükséges ismeretek: kiíratás, változók Inicializáljunk (adjunk neki értéket) néhány változót, és írjuk ki a következőket (kifejezéseket): var elso = 5; document.write(a); document.write( Az elso nevű változó értéke: + a); A plusz jel segítségével tudunk két különböző dolgot összefűzni, egymás után tenni. Itt egy szöveget és a változó értékét írtuk ki az utolsó sorban. Szent Angéla Webprogramozási szakkör (Paksy Patrik) 6

Otthoni feladatok 1. Készíts folyamatábrát ahhoz, hogy hogyan tudsz eljutni az iskoládtól egy adott helyig. Legyél kreatív, használj benne váratlan eseményeket (pl. nem jár egy busz) vagy olyan helyre menj, amit nem ismersz, így meg kell tudnod valakitől, hogy jó úton jársz-e? 2. Írj pszeudokódot (az algoritmus programszerű leírása érthető nyelven, mely lehet emberi, matematikai, DE nem maga a programozott leírás) két szám összeadására. Mindkettőre példa látható korábban a leírásban. Szent Angéla Webprogramozási szakkör (Paksy Patrik) 7