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

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

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

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

A C# programozási nyelv alapjai

Java programozási nyelv

Vezérlési szerkezetek

Python tanfolyam Python bevezető I. rész

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

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

Bevezetés a programozásba I.

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

BASH SCRIPT SHELL JEGYZETEK

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

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

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

Komputeralgebra Rendszerek

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

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Vezérlési szerkezetek Vezérlési szerkezetek: feltételes elágazás és ciklusok

1. Alapok. #!/bin/bash

Egyszerű programozási tételek

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

ELEMI PROGRAMOZÁSI TÉTELEK

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

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

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

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

Szkriptnyelvek. 1. UNIX shell

INFORMATIKAI ALAPISMERETEK

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

Gyakorló feladatok Gyakorló feladatok

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

Szoftvertervezés és -fejlesztés I.

Fü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. Függvények. Függvények(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.

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

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

A JavaScript főbb tulajdonságai

Programozási segédlet

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

Gyakorló feladatok az 1. nagy zárthelyire

Programozási tételek feladatok

INFORMATIKAI ALAPISMERETEK

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

OOP #1 (Bevezetés) v :39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

Vezérlési szerkezetek. Szelekció Ciklusok

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

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Mutató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

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

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

I. Specifikáció készítés. II. Algoritmus készítés

3 A C programozási nyelv szintaktikai egységei

Programozási nyelvek Python

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

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

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

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

Bevezetés a programozásba I.

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

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

Objektum Orientált Programozás VII.

Algoritmusok, adatszerkezetek, objektumok

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

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

7/8. gyakorlat Karaktertömbök és sztringkezelés

Algoritmizálási feladatok

Összetett programozási tételek

Imperatív programozás

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

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

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

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

A programozás alapjai

Bevezetés a programozásba I.

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

Felvételi tematika INFORMATIKA

BME MOGI Gépészeti informatika 1.

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

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Apple Swift kurzus 3. gyakorlat

Informatika terméktervezőknek

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

Programozási nyelvek (ADA)

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

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

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

Webprogramozás szakkör

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

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

AZ ALGORITMUS. az eredményt szolgáltatja

START. Billentyűzár ki. Üss be egy számot. Beütöttem az összes számot. Hívás. Várakozás. felveszik. Beszélek. Befejezem a beszélgetést.

Ö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.

2016, Diszkrét matematika

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Programok értelmezése

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


Átírás:

Python

Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt változhat.

Változók Változó neve: ált.ban betűvel (angol abc) kezdődik, és betűvel vagy számmal, egyéb jelekkel folytatódhat. Pl.: X1, abc12, 3D -nem jó Értékadás: Értékadás bal oldalán a változó címét veszi figyelembe a program, jobb oldalon szereplő változó az értékét képviseli X=2; 2=X; X=Z; X = X + 1; változó címe = érték

Beolvasás a billentyűzetről adat = input ( Kérem az adatot ) Feladat: Kérjünk be két számot, és írjuk ki, mennyi az összegük: a = input ( Írja be az első számot ) b = input ( Írja be a másik számot ) print (a + b ) Miért nem működik jól a program?

Beolvasás a billentyűzetről Az input midig szöveges adatot olvas be! 2 megoldás lehet (számmá alakítjuk, vagy kiértékeljük): szam = int ( input ( Írjon be egy számot ) ) -egész szám szam = float ( input ( Írjon be egy számot ) ) -tizedestört szam = eval ( input ( Írjon be egy számot ) ) -kiértékelés Az eval() fv. kiértékel egy kifejezést írhatunk műveletet is: adat = input ( "Írjon be egy műveletet: " ) print(adat," értéke: ", eval ( adat ) )

Kiírás print (..) print (..,end = \n ) print (a, és, b, összege:,a+b) Formázott kiírás: print ( %s és %s összege: %s % (a, b, a+b) ) A string után nincs vessző!

Feladat Kérjük be egy háromszög három oldalának mérőszámát a felhasználótól, és írjuk ki a háromszög kerületét és területét. Használjuk a: t²=s*(s-a)*(s-b)*(s-c) összefüggést, a gyökvonáshoz a math.sqrt( n ) függvényt Szükség lesz a math eszközkészletre: import math

Szintaxis A program nyelvi helyességét értjük Szintaktikai hibák elírásból, hiányzó jelekből (zárójel, kettőspont, stb.) erednek Pl.: print ( x pritn (x) Nem szintaktikai hiba a program hibátlan, de nem az csinálja, amit kellene szemantikai hiba

Vezérlési szerkezetek Böhm Jacopini sejtés (Mills tétel) 3 vezérlési szerkezettel minden struktúrált program felírható: Szekvencia (sor) Szelekció (elágazás) Iteráció (ciklus)

Elágazás szintaktikája IF logikai feltétel: utasítás1 utasítás2 utasítás -ez már nem tartozik a szerkezetbe behúzás (ident) fontos IF logikai feltétel: utasítás1 utasítás2 ELSE: utasítás1 utasítás2

Logikai kifejezések == egyenlő!= nem egyenlő && -és -vagy IF a==20 && b>=20: IF a!=20 b!=20:

Ciklusok Feltételes ciklus A ciklus addig fut, amíg egy feltétel teljesül. Ha a feltétel nem teljesül, a ciklus leáll Ciklus amíg: nem ütnek egy billentyűt Ciklus amíg: x értéke 1000-nél kisebb Ciklus, amíg el nem értük a fájl végét

Ciklusok Előírt lépésszámú ciklus: A ciklus kezdetekor meghatározható, hogy hányszor fut le a ciklus magja Pl.: számok 1-től 120-ig Feltételes ciklus Egy feltételtől függően áll meg Pl.: addig, amíg Entert nem ütnek

Ciklus részei Ciklusfej: ez határozza meg a feltételeket, kezdőértéket, stb. (A while vagy a for utáni rész) Ciklusmag: ez a programrészlet ismétlődik (a behúzott rész) Ciklusváltozó: csak előírt lépésszámú ciklusnál van, ebben számoljuk a lépéseket minden ismétlődésnél változik

Vezérlési szerkezet szintaktikája for változó in range(x,y,z): ciklusmag utasítás ciklusmag utasítás ez már nem a for-hoz tartozik if (feltétel/logikai érték): utasítás utasítás else: utasítás

Feladat Számok 1- től 100-ig For i in range (1,101): print(i)

Feladat Kérjünk be egy számot, írjuk ki az osztóit! Mekkora lehet a legnagyobb osztó? Hogyan tudjuk megállapítani egy számról, hogy osztója-e egy másiknak.

Feladat Készítsük el az alábbi feladat algoritmusát: A gép kitalál egy véletlen egész számot 1-100 között A felhasználó beírja a tippjét Ha kitalálta a számot a program megáll Egyébként: a gép megadja, hogy a gondolt szám kisebb v. nagyobb

Sztringek a= dfg dg dg d print(a[2:5]) print(len(a)) print(a[0,10,2]) print(a[::-1]) print( dg in a)

Feladat Kérjünk be 2 szöveget, és állapítsuk meg, hogy a hosszabb tartalmazza-e a rövidebbet Döntsük el, hogy 2 szó anagramma-e (azonos betűkből áll) Tipp: a sorted() fv.-t használjuk rendezésre!

Halmaz A halmaz minden eleme egyszer fordul elő A sorrend lényegtelen Műveletek: Metszet: a&b Unió: a + b

Feladat Kérjünk be egy szöveget, írjuk ki a benne lévő betűket abc rendbe!

Feladat Kérjünk be egy szöveget, írjuk ki, hány szóból áll Használjuk a sztring split() metódusát! Metódus OOP fogalom, egy objektum eljárása

Feladat Vicces nevek: Kérjük be a felhasználó nevét, és cseréljük meg a vez. Név és keresztnév első 2 betűjét, így írassuk ki: Hogyan cserélnénk fel a az első szótagot? (feltételezzük, hogy nem rendhagyó szót adtak meg, az első szótag a második mgh-ig, vagy az azt megelőző betűig tart ki-et-len, al-ma, kont-ra) Ötlet: Hozzunk létre egy magánhangzó halmazt!

Nevezetes algoritmusok Eldöntés, Kiválasztás, Leválogatás Összegzés Minimum / maximum Megszámlálás Kereső és rendező algoritmusok (ezt nem vesszük)

Eldöntés, Kiválasztás, Leválogatás Egy n elemű adathalmazban lévő, egy adott tulajdonsággal rendelkező elemek közül kiválasztunk egyet, leválogatjuk az összeset, vagy csak eldöntjük, hogy van-e ilyen Algoritmus eldöntés letezik = hamis Ciklus i=1-től n-ig Ha tulajdonság ( elem( i ) ) == igaz letezik = igaz Ciklus vége Ki: letezik Algoritmus vége

Megszámlálás Megszámoljuk, hogy egy n elemű adathalmazban hány darab adott tulajdonságú elem létezik Algoritmus megszámlálás Darab = 0 Ciklus i=1-től n-ig Ha tulajdonság ( elem( i ) ) == igaz darab = darab +1 Ciklus vége Ki: darab Algoritmus vége

Összegzés Összeadjuk, egy n elemű adathalmazban lévő számok értékét Algoritmus összegzés Összeg = 0 Ciklus i=1-től n-ig Összeg = összeg + elem (i) Ciklus vége Ki: összeg Algoritmus vége

Feladat Olvassunk be egy számot, és számoljuk meg, hány osztója van Határozzuk meg az osztók összegét! Állapítsuk meg, hogy tökéletes számot adtak-e meg!

Feladat Készítsünk a korábbi feladat algoritmusa alapján egy programot: A gép kitalál egy véletlen egész számot 1-100 között A felhasználó beírja a tippjét Ha kitalálta a számot a program megáll Egyébként: a gép megadja, hogy a gondolt szám kisebb v. nagyobb

Eseményvezérlés A program események bekövetkezésekor tesz vmit. (reagál egy eseményre) Milyen eseményeket kezelhetünk? Oldal betöltődik (pl.: reklámok) Oldalt elhagyjuk Klikkelünk egy objektumon Egér egy objektum felé megy (onmouseover) Stb.