INFORMATIKA javítókulcs 2016

Hasonló dokumentumok
Felvételi tematika INFORMATIKA

INFORMATIKA tétel 2019

INFORMATIKA tétel 2018

INFORMATIKA tétel 2017

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

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

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

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

1. numere.txt n (1 n 10000) n növekvő kilenc a) Pascal/C++ Például: NUMERE.TXT

A rész (30 pont) A.1. Vajon mit csinál? (5 pont) A generál(n) algoritmus egy n természetes számot dolgoz fel (0 < n < 100).

Programozás C nyelven 5. ELŐADÁS. Sapientia EMTE

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

2016, Diszkrét matematika

BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli. A versenyzők figyelmébe:

2018, Diszkrét matematika

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)

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

Függvények int, long 1. Adott a mellékelt f alprogram.

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

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

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

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

BABEŞ-BOLYAI TUDOMÁNYEGYETEM MATEMATIKA-INFORMATIKA KAR Felvételi verseny - minta Informatika írásbeli

Í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!

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

Bevezetés a programozásba I.

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

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

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

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

2018, Funkcionális programozás

1. Alapok. Programozás II

Adatbázis rendszerek Gy: Algoritmusok C-ben

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai. INFORMATIKA II. (programozás) kategória

2015, Diszkrét matematika

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ;

Java II. I A Java programozási nyelv alapelemei

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

Algoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE

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

C# feladatok gyűjteménye

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

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

A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni.

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

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

Programozás alapjai 9.Gy: Struktúra 2.

Programozás I gyakorlat. 5. Struktúrák

Lineáris algebra zárthelyi dolgozat javítókulcs, Informatika I márc.11. A csoport

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

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

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

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó

Programozás Minta programterv a 1. házi feladathoz 1.

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Gyakorló feladatok Gyakorló feladatok

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

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

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation

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

I. Egydimenziós tömb elemeinek rendezése

Programozás I. gyakorlat

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

Algoritmuselmélet 2. előadás

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Számsorok. 1. Definíció. Legyen adott valós számoknak egy (a n ) n=1 = (a 1, a 2,..., a n,...) végtelen sorozata. Az. a n

2018, Diszkre t matematika. 10. elo ada s

Algoritmusok és adatszerkezetek gyakorlat 07

117. AA Megoldó Alfréd AA 117.

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).

Megoldott programozási feladatok standard C-ben

BME MOGI Gépészeti informatika 5.

Rekurzív algoritmusok

Tartalomjegyzék Algoritmusok - pszeudókód

1. Írjunk programot mely beolvas két számot és ellenőrzi hogy mindkét szám zérus-e:

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

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

A programozás alapjai 1 Rekurzió

Programozás alapjai 8.Gy: Program struktúra

Partíció probléma rekurzíómemorizálással

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.

OOP: Java 8.Gy: Abstract osztályok, interfészek

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

Programozás I. zárthelyi dolgozat

Szoftvertechnolo gia gyakorlat

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

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

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

7. Strukturált típusok

Ajánlott elemi feladatok az AAO tárgyhoz 41 feladat

Programozás I. gyakorlat

Operációs rendszerek 1.

Példák tematikus csoportosításban

Algoritmusok pszeudókód... 1

Átírás:

INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak. [2 pont] GYAKORLATI TÉTEL: 1. Legyen az alábbi pszeudokód program (a beolvasott érték természetes szám; a / operátor osztási hányadost, a % operátor pedig osztási maradékot ad meg): beolvas a amíg a > 0 végezd kiír a % 10 a = a / 10 Mit ír ki a program, ha a beolvasott érték 2016? [0.5 pont] 6102 2. Legyen az alábbi pszeudokód program (a beolvasott érték természetes szám; a / operátor osztási hányadost, a % operátor pedig osztási maradékot ad meg): beolvas a k1 = 0 k2 = 0 amíg a > 0 végezd ha a % 2 == 1 akkor k1 = k1 * 10 + a % 10 különben k2 = k2 * 10 + a % 10 a = a / 10 kiír k1,,, k2 Mit ír ki a program, ha a beolvasott érték 2016? [0.5 pont] 1,602 3. Legyen az alábbi pszeudokód programrészlet (az x[1..n] (n 1) tömbszakasz egy növekvő sorrendbe rendezett természetesszám- sorozatot tárol, az n változó pedig ennek hosszát): beolvas a i = n amíg i > 0 ÉS x[i] a végezd x[i+1] = x[i] i = i - 1 x[i+1] = a minden i = 1,n+1 végezd kiír x[i] Mit ír ki a program, ha n=5, a számsorozat elemei 13, 17, 23, 23, 53, a beolvasott érték pedig 55? [0.5 pont] 13, 17, 23, 23, 53,55 Mit valósít meg a programrészlet (fogalmazd meg tömören)? [0.5 pont] Beszúrja a-t, a helyére, a növekvő sorozatba

4. Legyen az alábbi pszeudokód programrészlet (a beolvasott értékek természetes számok; a / operátor osztási hányadost, a % operátor pedig osztási maradékot ad meg): beolvas n minden i = 1,n végezd beolvas x amíg x > 9 végezd s = 0 amíg x > 0 végezd s = s + x%10 x = x / 10 x = s kiír x Mit ír ki a program, ha n-be az 5 értéket, majd az x változóba sorra az 139, 999, 89, 6, 11 értékeket olvassuk be? [0.5 pont] 4,9,8,6,2 5. Legyen az alábbi pszeudokód programrészlet (az y[1..n][1..n] (n 1) tömb egy négyzetes mátrixot tárol, az n változó pedig ennek méretét; figyelem az aláhúzott változók sorrendjére): i = n amíg i > 0 végezd j = n amíg j > 0 végezd kiír y[j,i] j = j - 1 i = i - 1 Mit ír ki a program, ha n=4, a mátrix elemei pedig (sorfolytonosan) 1,2,3,4, 9,9,9,9, 1,2,3,4, 1,2,3,4? [0.5 pont] 4,4,9,4,3,3,9,3,2,2,9,2,1,1,9,1 6. Írj Pascal vagy C/C++ programot, amely billentyűzetről beolvassa az n értéket (1 n 999), valamint egy n elemű számsorozatot (elemei egész számok), majd kiírja a képernyőre a számsorozat elemeinek összegét. [1 pont] #include <stdio.h> int main(){ int n, szam, i, s = 0; scanf("%i", &n); for( i = 0 ; i < n ; ++i ){ scanf("%i", &szam); s += szam; printf("osszeg: %i\n", s); return 0; 7. Írj Pascal vagy C/C++ programot, amely a matrix.txt állományból beolvassa az n és m értékeket (2 n,m 999), valamint egy nxm méretű mátrixot (elemei egész számok), és kiírja a képernyőre, hogy a mátrix hány sora alkot szigorúan növekvő számsorozatot. [1 pont]

#include <stdio.h> int main(){ int n, m, x, y, i, j, db = 0;//x,y adott sor ket egymasutani elemet tarolja bool kem; freopen("matrix.txt", "r", stdin); //az allomanyt standard input-ta teszuk scanf("%i%i", &n, &m); for( i = 0 ; i < n ; ++i ){ scanf("%i", &x); // beolvassuk a sorelsot kem = true; for( j = 1 ; j < m ; ++j ){ scanf("%i", &y); if( x >= y ){ kem = false; x = y; if(kem){ ++db; freopen("con", "r", stdin);//ujra a billentyuzet legyen a standard input printf("ennyi sora szigoruan novekvo: %i\n", db); return 0; 8. Írj függvényt (Pascal vagy C/C++ nyelven), amely visszatéríti egy keresett érték pozícióját egy növekvő sorrendbe rendezett számsorozatban. Tekintsd úgy, hogy a keresett értéket az x változó, a számsorozat hosszát az n változó, a számsorozatot pedig az a[1..n] tömb (Pascal változat) vagy az a[0..n-1] tömb (C/C++ változat) tárolja. Ha többször is előfordul az illető érték a számsorozatban (monoton növekvő), akkor az utolsó előfordulási pozícióban vagyunk érdekeltek. Ha nem szerepel a keresett érték a számsorozatban, akkor a függvény térítse vissza a -1 értéket. A függvényt implementáld iteratívan is és rekurzívan is. Mindkét esetben add meg azt is, hogy miként hívnád meg függvényedet. Törekedj hatékony megoldásra! [1 pont] int rekurziv(int *a, int kezdet, int veg, int x){ //meghivas: rekurziv(a,0,n-1,x) if( kezdet > veg ){ return -1; int kozep = (kezdet + veg) / 2; if( x == a[kozep] ){ while( kozep < veg && x == a[kozep+1] ){ ++kozep; return kozep; else if( x < a[kozep] ){ return rekurziv(a,kezdet,kozep-1,x); else{ return rekurziv(a,kozep+1,veg,x); int iterativ(int *a, int n, int x){ //meghivas: iterativ(a,n,x) int kezdet = 0, veg = n-1, kozep; while( kezdet <= veg ){ kozep = (kezdet + veg) / 2; if( x == a[kozep] ){ while( kozep < veg && x == a[kozep+1] ){ ++kozep; return kozep; else if( x < a[kozep] ){ veg = kozep-1; else{ kezdet = kozep+1; return -1;

9. Egy sajátos módszert definiálunk az {1,2,3,,n halmaz valamely permutációjának rendezésére, amelyben egy lépés abból áll, hogy a számsorozat valamely elemét a számsorozat végére tesszük. Írj függvényt (Pascal vagy C/C++ nyelven), amely visszatéríti a minimális lépés-számot, amellyel a paraméterként kapott permutáció (mint n elemű számsorozat) elemi növekvő sorrendbe rendezhetőek. Például a 3,1,5,2,4 permutáció/számsorozat esetén a minimális lépésszám 3. (Példa egy tetszőleges lépésre: az adott példában az 5-ös elemet a számsor végére tesszük; e lépés nyomán a számsor 3,1,2,4,5 re változik) [1 pont] Megjegyzés: Megszámoljuk az 1-es értékkel kezdődő leghosszabb, egymás utáni értékeket tartalmazó, nem föltétlenül egymás utáni pozíciókban levő részsorozat hosszát. A minimális lépésszámot úgy kapjuk, hogy n- ből kivonjuk a fentebb meghatározott értéket. A példára, azon részsorozat, amelynek elemeit nem kell végére-léptetni:1,2 (3,1,5,2,4). A többi elemet (5-2=3 darabot), növekvő sorrendben, egyenként végéreléptetjük: (3,1,5,2,4) >> (1,5,2,4,3) >> (1,5,2,3,4) >> (1,2,3,4,5) int minlepes(int *a, int n){ int i, p; p = 1; for( i = 0 ; i < n ; ++i ){ if( a[i] == p ){ ++p; return n - (p - 1);