1. gyakorlat

Hasonló dokumentumok
Bevezetés a programozásba I.

Bevezetés a programozásba I.

Bevezetés a programozásba I.

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

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Bevezetés a programozásba

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

Számelmélet Megoldások

Bevezetés a programozásba I 1. gyakorlat. Programozási alapismeretek, a PLanG programozási nyelv

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

Bevezetés a programozásba I.

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Számelmélet

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

Programzás I gyakorlat

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.

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

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

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

Bevezetés a programozásba I 1. gyakorlat. Programozási alapismeretek, a PLanG programozási nyelv. Programozási alapismeretek.

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

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

Bevezetés a programozásba I.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Számelmélet

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

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

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

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék

3 A C programozási nyelv szintaktikai egységei

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

HTML ÉS PHP ŐSZI FÉLÉV

Programozás I. gyakorlat

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

10. gyakorlat Struktúrák, uniók, típusdefiníciók

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

Webprogramozás szakkör

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

Szövegek C++ -ban, a string osztály

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

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

M. 33. Határozza meg az összes olyan kétjegyű szám összegét, amelyek 4-gyel osztva maradékul 3-at adnak!

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

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

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

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Java II. I A Java programozási nyelv alapelemei

Bevezetés az informatikába

5. Gyakorlat. struct diak {

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

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

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

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

Felvételi tematika INFORMATIKA

Flex tutorial. Dévai Gergely

8. gyakorlat Pointerek, dinamikus memóriakezelés

Oktatási Hivatal. A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. II. (programozás) kategória

Formális nyelvek és automaták

Az egyenes egyenlete: 2 pont. Az összevont alak: 1 pont. Melyik ábrán látható e függvény grafikonjának egy részlete?

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

1. Alapok. #!/bin/bash

Programozás I gyakorlat

7. gyakorlat Sorozatok, Fájlkezelés

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

Rekurzió. Dr. Iványi Péter

Programozás I. zárthelyi dolgozat

C programozási nyelv

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

Fényerősség. EV3 programleírás. Használt rövidítések. A program működésének összegzése

Programozás I gyakorlat. 10. Stringek, mutatók

Példatár a bevezetés a Matlab programozásába tárgyhoz

2. Adott a valós számok halmazán értelmezett f ( x) 3. Oldja meg a [ π; π] zárt intervallumon a. A \ B = { } 2 pont. függvény.

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

Programozási nyelvek (ADA)

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

IBAN: INTERNATIONAL BANK ACCOUNT NUMBER. I. Az IBAN formái

INFORMATIKAI ALAPISMERETEK

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

MATEMATIKA ÉRETTSÉGI május 10. KÖZÉP SZINT I.

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

LEGO robotok. XII. rész

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.

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

MATEMATIKAI FÜGGVÉNYEK

A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Programozás I gyakorlat

OKTV 2005/2006 döntő forduló

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

az Excel for Windows programban

Gyakorló feladatok az 1. nagy zárthelyire

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

Hardverközeli programozás 1 1. gyakorlat. Kocsis Gergely

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

BASH SCRIPT SHELL JEGYZETEK

2018, Diszkrét matematika

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

SZÁMTANI SOROZATOK. Egyszerű feladatok

A C# programozási nyelv alapjai

Átírás:

Követelményrendszer Bevezetés a programozásba I. 1. gyakorlat Surányi Márton PPKE-ITK 2010.09.07.

Követelményrendszer Követelményrendszer A gyakorlatokon a részvétel kötelező! Két nagyzárthelyi Röpzárthelyik a gyakorlatok elején Kötelező házifeladatok

Követelményrendszer Jelenlét Jelenlét A gyakorlatokon maxmimum három hiányzás megengedett. A negyediknél az illető nem kap aláírást, vagyis a tárgyat nem teljesítette.

Követelményrendszer Nagyzárthelyik Nagyzárthelyik Az első nagyzárthelyit az ötödik-hatodik gyakorlat táján írjuk, papírra, -ból. Erre mindenki kap egy jegyet (1-5). Ezen a ZH-n semmilyen segédeszközt nem lehet használni. A másodikat a félév végén, gépteremben, C++-ból. Pár óra alatt kell egy működő programot írni. Kizárólag bolti könyv (tehát nem saját kezűleg nyomtatott/írt papír) használható segédeszközként. Legalább kettest el kell érni. Lehet javítani, de csak az egyikből!

Követelményrendszer Röpzárthelyik Röpzárthelyik Minden gyakorlat elején röpzárthelyit írunk az addigi előadások és gyakorlatok anyagából Jó válasz esetén +1 Nem jó, de elfogadható válasz esetén 0 Rossz válasz esetén -1 Illetve, ha valaki nincs jelen a gyakorlaton, akkor szintén -1 A félév végére a röpzárthelyikre kapott pontok összegének legalább nullának kell lennie, ha nem, akkor az illető nem kap aláírást. A félév végén lesz javítási lehetőség.

Követelményrendszer Házi feladatok Házi feladatok Minden gyakorlaton kiadunk kötelező házi feladatokat, illetve szorgalmi feladatokat A házi feladatok megoldására egy hét lesz, pontosabban a következő gyakorlat napján, reggel 6:00-ig (tehát őszi szünet előtt kiadott házira két hét lesz) Ha a házit időben megkapjuk, és jól működik, akkor 0. Ha nem működik, vagy nem időben érkezik, akkor -1. A szorgalmikat pedig pluszpontokkal honoráljuk. A kapott pontokat összeadjuk; elosztjuk tízzel, és hozzáadjuk a gyakorlati jegyhez. Így tehát lehet javítani/rontani is.

Követelményrendszer Gyakorlati jegy Gyakorlati jegy számítása 1:2 arányban az első és második ZH eredménye, plusz a házifeladatokból szerzett/vesztett pontok.

Követelményrendszer Aláírásmegtagadás FONTOS Nem kaphat jegyet: akinek a röpzárthelyik összege kisebb mint nulla akinek bármelyik házifeladatáról kiderül, hogy MÁSOLTA elégtelen géptermi ZH

Programozás alapok Alapok Alapfogalmak Gépi kód: a számítógép számára közvetlenül értelmezhető utasítások sorozata (pl. futtatható állományok; exe-k). Pl. 100008000800BC16BC1EBC12BC190E28BC15472023. Ebben nem könnyű programot írni. Programozási nyelv: Egy magasabb szintű eszköz, amivel könnyebben tudunk programokat írni (pl. Pascal, Basic, C++,, stb.). Forrás kód (source code): az adott programozási nyelven megírt program. Általában ember által írt. Fordítás: az a folyamat, amikor a forrásprogramból gépi kódot álĺıtunk elő, a fordítóprogram feladata. A fordítóprogram ellenőrzi a forráskód szintaktikáját, közben fordítási hibákat kaphatunk.

Programozás alapok Változók Változók A változó memóriában tárolt adat, amelynek a futás során megváltoztatható az értéke. A legtöbb programozási nyelvben a változónak van típusa. A típus meghatározza, hogy mit tárolhatunk benne, illetve, hogy milyen műveleteket végezhetünk rajta. A változók elérésére neveket használunk (pl. a:=5). A változók neveit mi adhatjuk meg, érdemes beszédes neveket használni, amelyek utalnak a változó feladatára.

Programozás alapok Végrehajtás Végrehajtás A program (miután lefordult) soronként, lépésről lépésre hajtódik végre (példa később). Az eközben keletkező hibákat futási hibának nevezzük. (pl. Elfogyott a memória, a program érvénytelen memóriaterületet akar elérni, stb.) Specifikáció: megadjuk, hogy mi a be- illetve kimeneti feltétel. (pl. később)

A fejlesztői környezet A egy fejlesztői környezet, célja a programozás oktatása. Az első öt-hat hétben ezzel fogunk foglalkozni. PROGRAM program_neve VÁLTOZÓK: ** deklarációs rész ** programtörzs PROGRAM_VÉGE Változókat a deklarációs részben definiálhatunk. Maga a program utasításai a programtörzsbe kerülnek.

Hello World! Hello World! Első programunk kíırja, hogy Hello World!. Specifikáció: BE: (nincs bemenet) KI: Hello World! PROGRAM hello_world KI: "Hello World!" PROGRAM_VÉGE Láthatjuk, hogy most nincs deklarációs rész, mert nem használunk változókat.

Típsuok -ban Típusok -ban Változókat a deklarációs részben definiálhatunk. Már tudjuk, hogy a változóknak van típusa. Alaptípusok (a teljesség igénye nélkül): EGÉSZ: felvehető értékek: pozitív és negatív egész számok és a nulla (..., -2, -1, 0, 1, 2,...) VALÓS: értékek: pozitív és negatív valós számok és a nulla (pl. 7.786, 0.0012, 768.05) LOGIKAI: felvehető értékek: IGAZ, HAMIS KARAKTER: felvehető értékek: betűk, számok, írásjelek, szóköz, sorvége jel ( A, 2,,?, @, SV) SZÖVEG: felvehető értékek: karakterek sorozata (lehet üres is) ("alma", "", "körte banán") A típusokról bővebben a honlapon, leírásnál olvashattok.

Kifejezések Kifejezések A kifejezés számok, változók, műveleti jelek (és függvények) sorozata. (pl. 1+1 vagy 4*(5+9)/2 vagy 4 (5+9) 2 ). Amikor a program futása egy kifejezéshez ér, akkor kiertékeli azt. Az így kapott eredmény a kifejezés értéke. Úgy, mint a változóknak, a kifejezések értékének is van típusa. Pl: 1 + 1 - Két egész számot adunk össze, EGÉSZ típusú érték lesz az eredmény(2). 2<5 - Két egész számot hasonĺıtunk össze. Az eredmény LOGIKAI típusú (IGAZ).

Kifejezések Kifejezés - példa Specifikáció: BE: (nincs bemenet), KI: 28 PROGRAM kifejezes1 KI: 2 * (5 + 9) PROGRAM_VÉGE A bal alsó sarokban látható a kifejezésfa.

Beolvasás, változók használata Változók, beolvasás Olvassunk be egy számot, majd írjuk ki a kétszeresét! Specifikáció: BE: egész szám(a) KI: a szám kétszerese(a*2) (egész szám) PROGRAM valtozo1 VÁLTOZÓK: a: EGÉSZ BE: a KI: a * 2 PROGRAM_VÉGE

Beolvasás, változók használata Feladat Feladatgyűjtemény I. 1.) Döntsd el egy egész számról, hogy páros-e. Specifikáció: BE: egész szám(a) KI: logikai (páros-e) PROGRAM feladatgy_i_1 VÁLTOZÓK: a: EGÉSZ BE: a KI: (a MOD 2) = 0 PROGRAM_VÉGE

Logikai műveletek Logikai műveletek, összehasonĺıtások NEM: logikai tagadás (pl. a NEM IGAZ kifejezés értéke HAMIS) ÉS: logikai ÉS (pl. az a ÉS b kifejezés értéke pontosan akkor IGAZ, ha a és b is külön-külön igaz. ) VAGY: logikai VAGY (pl. az a VAGY b kifejezés értéke pontosan akkor IGAZ, ha legalább az egyik igaz.) a = b két EGÉSZ, VALÓS, KARAKTER vagy SZÖVEG közt végez egyenlőségvizsgálatot (ha megegyeznek, akkor IGAZ, különben HAMIS) (a nem egyenlő művelet: /=) a<b két EGÉSZ, VALÓS közt végez összehasonĺıtást (ha a kisebb, mint b, akkor IGAZ, egyébként HAMIS) (hasonlóképpen működik: >,<=,>=)

Feladatok 1. Feladatok I. 2.) Döntsd el egy tetszőleges számról, hogy egy adott intervallumba esik-e. I. 3.a) Döntsd el egy koordinátákkal adott pontról, hogy az origó-e. I. 3.b) Döntsd el, hogy az egyik koordinátatengelyre esik-e. Írj programot, ami megmondja: Hány óra van egy évben? Hány perc van egy évtizedben?

Szövegkezelés Szövegkezelés A Plang-ban van lehetőség szövegek kezelésére. Karakterrel végezhető főbb műveletek(a és b karakter típusok): NAGY a: az a változóban lévő karaktert nagybetűvé alakítja. (FIGYELEM! Ekkor az a változó értéke nem változik meg!) A kifejezés értékének típusa KARAKTER KIS a: ugyanaz, mint fönt, csak kisbetűvé alakít a<b: ábécésorrend szerint összehasonĺıt (ha a előrébb van az ábécében, mint b, akkor igaz) (hasonlóképpen létezik >,<=,>=) A kifejezés értékének típusa LOGIKAI. BETŰ a: ellenőrzi, hogy a karakterben tárolt érték betű-e (tehát nem szám, írásjel, stb.). Ha az, akkor a kifejezés értéke IGAZ. (hasonlóképpen a SZÁM a azt ellenőrzi, hogy szám-e a tárolt érték)

Szövegkezelés Szövegkezelés Szöveggel végezhető főbb műveletek(sz,szov1,szov2 SZÖVEG típusúak; kar1,kar2 pedig KARAKTER): Összefűzés (konkatenáció): egy szöveget összefűzhetünk egy másik szöveggel, vagy karakterrel. Pl. szov1 + szov2, szov1 + kar1, kar1 + szov1 Hossz lekérdezése: sz (egész értékű kifejezés) Adott helyen álló karakter lekérdezése: sz[4] az ötödik helyen álló karaktert adja vissza. (Tehát az első helyen álló karaktert az sz[0] kifejezéssel érhetjük el)

Szövegkezelés Szövegkezelés (folytatás) A szövegekre ugyanúgy működik az összehasonĺıtás, mint karakterekre, vagyis ábécésorrendben hasonĺıtja össze őket. szov1@kar1 karakter első előfordulásának helye (a karakter indexe; ha nem fordulelő, akkor szov 1 az eredmény) szov1@szov2 résszöveg első előfordulásának helye (a résszöveg első karakterének az indexe; ha nem fordul elő, akkor szov 1 az eredmény) Figyelem! Nem soroltuk föl az összes műveletet! A házi feladatok megoldásához lehet, hogy szükség van további műveletek ismeretére. Ezeket a honlapon találjátok meg.

Feladatok 2. Feladatok I. 14. Döntsd el egy szövegről, hogy szóközzel kezdődik-e. I. 15. Döntsd el egy szövegről, hogy nagybetűvel kezdődik e. I. 16. Döntsd el egy szövegről, hogy számjegyre végződik-e. I. 19.a) Add meg egy tetszőleges szöveg első szavát.

Házi feladatok Házi feladatok Kötelező (I. fejezetből): 4.) Számítsd ki egy adott sugarú gömb térfogatát. (tehát a bemenet a sugár) 5.a) Döntsd el két egész számról, hogy az első osztója-e a másodiknak. (bemenet a két szám) 7.) Döntsd el két számról, hogy megegyezik-e az előjelük. 8.a) Add meg egy számtani sorozat első két elemének ismeretében a harmadik elemét. 17.a) Döntsd el egy szövegről, hogy ugyanazzal a karekterrel kezdődik-e, mint amivel végződik. 20.) Egy tetszőleges szót alakíts át úgy, hogy nagybetűvel kezdődjön.

Házi feladatok Házi feladatok Szorgalmi (plusz pontért): 5.b) Döntsd el két számról, hogy bármelyik osztója-e a másiknak! 8.b) Add meg egy számtani sorozat első két elemének ismeretében az N-edik elemét! 8.c) Mértani sorozatra is add meg az N-edik elemet! 19.b) Egy tetszőleges szövegnek töröld le az első szavát! 21.a) Két tetszőleges szövegről döntsd el, hogy az első megtalálható-e a másodikban!