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

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

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

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

INFORMATIKA javítókulcs 2016

INFORMATIKA tétel 2019

Felvételi tematika INFORMATIKA

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

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

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

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

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:

2016, Diszkrét matematika

84)Adott a következőképpen értelmezett f alprogram. Milyen értéket térit vissza f(1)? És f(100)? function f(x:integer):integer; begin

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

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

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

2018, Funkcionális programozás

Amortizációs költségelemzés

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

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

Maximum kiválasztás tömbben

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Algoritmusok helyességének bizonyítása. A Floyd-módszer

2018, Diszkre t matematika. 8. elo ada s

MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga

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)

Gyakorló feladatok Gyakorló feladatok

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

Hatványozás. A hatványozás azonosságai

Bevezetés a programozásba I.

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

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

Programozás II. 2. Dr. Iványi Péter

Oszthatósági problémák

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

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

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

MATEK-INFO UBB verseny április 6.

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

2018, Diszkre t matematika. 10. elo ada s

Programozási segédlet

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

INFORMATIKA tétel 2018

Adatszerkezetek II. 10. előadás

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

Racionális számok: Azok a számok, amelyek felírhatók két egész szám hányadosaként ( p q

2018, Diszkrét matematika

6. A Pascal nyelv utasításai

Gyakorló feladatok 9.évf. halmaznak, írd fel az öt elemű részhalmazokat!. Add meg a következő halmazokat és ábrázold Venn-diagrammal:

INFORMATIKA tétel 2017

7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel?

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

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

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

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Programozási módszertan. Mohó algoritmusok

Bevezetés a programozásba I.

1. Alapok. Programozás II

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

2018, Diszkrét matematika

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.

Országos Középiskolai Tanulmányi Verseny 2009/2010 Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló feladatainak megoldása

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

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

.Net adatstruktúrák. Készítette: Major Péter

Diszkrét matematika I.

Kombinatorikai algoritmusok. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Webprogramozás szakkör

2016, Diszkrét matematika

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

3. Osztályok II. Programozás II

C# feladatok gyűjteménye

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

Kongruenciák. Waldhauser Tamás

Informatika terméktervezőknek

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

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

NULLADIK MATEMATIKA ZÁRTHELYI

1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás

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

Vezérlési szerkezetek

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

A 2013/2014 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

Megoldott feladatok. Informatika

TANMENETJAVASLAT. Dr. Korányi Erzsébet MATEMATIKA. tankönyv ötödikeseknek. címû tankönyvéhez

FELVÉTELI VIZSGA, július 21. Írásbeli próba MATEMATIKÁBÓL A. RÉSZ

Komputeralgebrai Algoritmusok

Struktúra nélküli adatszerkezetek

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

Kombinatorikai algoritmusok

Összetett programozási tételek

2018, Diszkrét matematika

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

angolul: greedy algorithms, románul: algoritmi greedy

2017, Diszkrét matematika

törtet, ha a 1. Az egyszerűsített alak: 2 pont

Tuesday, March 6, 12. Hasító táblázatok

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

Átírás:

BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív természetes szám) egész értékek tárolására képes a következő intervallumból: a. [0, 2 x ] b. [0, 2 x-1 1] c. [ 2 x-1, 2 x-1 1] d. [ 2 x, 2 x 1] e. [0, 10 x ] 2. (5p) Adott a következő alprogram: Alprogram f(a, b): Ha a > 1, akkor Visszatérít: b * f(a - 1, b) Különben Visszatérít: b * f(a + 1, b) Ha vége Alprogram vége Határozzuk meg, hogy a következő kód esetén hányszor hívódik meg az f függvény: x 4 y 3 z f(x, y) a. 4-szer b. 3-szor c. végtelen sokszor d. egyszer sem e. egyszer 3. (5p) Legyen x egy egész típusú változó, amely a legkisebb olyan nemnulla természetes számot tartalmazza, amely 36 többszöröse és osztható minden 10-nél kisebb prímszámmal. Határozzuk meg, mely kijelentések igazak az alábbiak közül: a. (x < 1000) and ((x*x*x) mod 1000 = 0) b. (x mod 100 = 0) or (x div 100 = 0) c. (x > 1000) && (x mod 7 = 0) d. ((x*x) div 16) mod 2 = 1 e. ((x*x) div 16) mod 2 = 0 4. (5p) Tekintsük az összes l {1, 2, 3 hosszúságú tömböt, melyek az {a, b, c, d, e betűkből épülnek fel. Ezek közül hány tömb lesz szigorúan csökkenő sorrendbe rendezett, páratlan számú magánhangzóval (magánhangzók: a és e)? a. 14 b. 7 1

c. 81 d. 78 e. 0 5. (5p) Adott a következő kódrészlet: void pozitivszamok(int m, int a[], int &n, int b[]){ n = 0; for(int i = 0; i < n; i++){ if (a[i] > 0){ n = n + 1; b[n] = a[i]; procedure pozitivszamok(m:integer; a:tomb; var n:integer; var b:tomb) Begin n := 0; for i := 1 to n do if (a[i] > 0) then begin n := n + 1; b[n] := a[i]; end; End; Mi lesz a pozitivszamok(k, x, l, y) hívás eredménye k = 4, x = (-1, 2, -3, 4), l = -1 és y = () (üres tömb) esetén? a. l = 3 és y = (2, 4). b. l = 0 és y = (2, 4). c. l = 0 és y = (). d. A k értékétől függ. e. Fordítási hiba. 6. (5p) Tekintsük a következő alprogramot: Alprogram SA6(a): Ha a < 50, akkor Ha a mod 3 = 0, akkor Visszatérít: SA6(2 * a - 3) Különben Visszatérít: SA6(2 * a - 1) Ha vége Különben Visszatérít a Ha vége Alprogram vége Az a paraméter mely értéke esetén lesz 61 a visszatérített érték? a. 16 b. 61 c. 4 d. 31 e. 51 2

B. tételsor (60 pont) 1. Csokikóstolás (2) Egy reklámügynökség egy új csokoládéhoz készít reklámot, és csokoládédarabokat készül szétosztani n (10 n 10 000 000) gyerek között, akik egy körben ülnek. A cég alkalmazottai rájönnek, hogy a csokidarabok szétosztása minden gyerek között túl sokba kerülne. Ezért úgy döntenek, hogy csak minden k-adik (0 < k < n) gyerek kap csokit. Megszámolják a körben ülő gyerekeket, és minden k-adiknak adnak egy darab csokoládét (ha az utolsó gyerekhez érnek, akkor a számlálás az elsőtől folytatódik). A számlálásnál minden gyereket figyelembe vesznek, függetlenül attól, hogy kapott-e már csokoládét vagy sem. A számlálás akkor fejeződik be, ha egy olyan gyereknek kellene újból csokoládét osztani, aki már korábban kapott. Írjunk egy alprogramot, amely meghatározza a gyerekek számát (nr), akik nem kapnak csokoládédarabkákat. Az n, k bemenő paraméterek természetes számok, a kimenő paraméter az nr természetes szám. 1. példa: Ha n = 12 és k = 9, akkor nr = 8 (az 1., 2., 4., 5., 7., 8., 10. és 11. gyerek nem kap csokoládét). 2. példa: Ha n = 15 és k = 7, akkor nr = 0 (minden gyerek kap csokoládét). 2. Bűvös számok (1) Tekintsünk két, p és q (2 p 10, 2 q 10) természetes számot. Egy természetes számot bűvösnek nevezünk, ha a p alapú számrendszerbeli felírásához felhasznált számjegyek halmaza megegyezik a q alapú számrendszerbeli felírásához szükséges számjegyek halmazával. Például, p = 9 és q = 7 értékekre (31)10 egy bűvös szám, mivel (34)9 = (43)7, illetve p = 3 és q = 9 értékek esetén (9)10 bűvös szám, mert (100)3 = (10)9. Írjunk egy olyan alprogramot, amely a p és q alapszámokra meghatározza azt az x tömböt, amely az összes 0-nál szigorúan nagyobb és egy adott n természetes számnál (1 < n 10 000) szigorúan kisebb bűvös számokat tartalmazza. A bemenő paraméterek a p, q alapszámok, illetve n, a kimenő paraméterek pedig az x tömb, illetve annak k hossza. Példa: p = 9, q = 7 és n = 500 esetén az x tömb k = 11 elemet fog tartalmazni: (1, 2, 3, 4, 5, 6, 31, 99, 198, 248, 297). 3. Keresés () Adott a következő alprogram: 1: Alprogram kereses(x, n, val): 2: Ha n = 0, akkor 3: Visszatérít: (x[0] = val) 4: Különben 5: Visszatérít: kereses(x, n - 1, val) 6: Ha vége 7: Alprogram vége Milyen utasítással vagy utasításokkal kell ezt kibővíteni és pontosan hol ahhoz, hogy meghívása esetén a függvény meghatározza, a val elem megtalálható-e vagy sem az n elemű x tömbben (az n érték szigorúan nagyobb mint 0)? 4. Ellenőrző számjegy () 3

Adott az alábbi alprogram egy legkevesebb 2 számjegyű természetes szám ellenőrző számjegyének kiszámítására: 1: Alprogram ellenorzoszamjegy(x): 2: Amíg x > 9, végezd el: 3: s 0 4: Amíg x > 0, végezd el: 5: s s + x MOD 10 {x mod 10 x 10-zel való osztási maradékát adja meg 6: x x DIV 10 {x div 10 x 10-zel való osztási hányadosát adja meg 7: Amíg vége 8: x s 9: Amíg vége 10: Visszatérít: x 11: Alprogram vége Helyettesítsük az alprogram belsejét legfennebb 2 utasítással úgy, hogy az alprogram ugyanazt a műveletet végezze. Megjegyzések: 1. Minden tétel kötelező. 2. A megoldásokat a vizsgalapokra kell felvezetni (a piszkozatokat nem vesszük figyelembe). 3. Hivatalból jár. 4. A munkaidő 3 óra. 4

JAVÍTÓKULCS HIVATALBÓL A. TÉTELSOR 30 pont A.1. b, c válaszok A.2. c válasz A.3. c, d válaszok A.4. a válasz A.5. c válasz A.6. a, b, d válaszok B. TÉTELSOR 60 pont B.1. Csokikóstolás 2 V1: nr értékének helyes meghatározása az nr = n - n/lnko(n, k) képlettel 2 V2: nr értékének helyes meghatározása szimulációval, körkörös listával 1 B.2. Bűvös számok 1 - a bűvös tulajdonság ellenőrzése: V1: a két (p és q alapú számrendszerbeli) reprezentáció alapján felépített, a szám számjegyei halmazának karakterisztikus vektorai összehasonlítása alapján V2: más helyes, alacsonyabb hatékonyságú algoritmus maximum - az x tömb megépítése B.3. Keresés - feltétel beazonosítása (x[n] = val) - az 5. sorban lévő összetett feltétel igazságértékének visszatérítése B.4. Ellenőrző számjegy - egy szám ellenőrző számjegyének kiszámítása nr mod 9 módon 5

MEGOLDÁS B.1. Csokikóstolás 2 #include <iostream> using namespace std; //Kiszámítja és visszatéríti az a és b számok legnagyobb közös osztóját int lnko(int a, int b){ if ((a == b) && (a == 0)) return 1; if (a * b == 0) return a + b; while (b!= 0){ int c = b; b = a % b; a = c; return a; // Meghatározza és visszatéríti azon gyerekek számát, akik nem kapnak // csokoládét az n gyerek közül, számlálással meghatározva minden k-adik // gyereket. A körkörös számlálást úgy is tekinthetjük, mint egy lineáris // számlálás több kisebb tömbben, mindegyik n gyereket tartalmazva, így egy // nagy, p gyereket tartalmazó tömböt kapva (p többszöröse n-nek). // A számolás akkor fejeződik be, amikor (egy kicsi tömbben) az n-edik // gyerek kap csokoládét (így a következő gyerek, akinek csokoládét kellene // kapnia, a k-adik lesz a következő kicsit tömbben), tehát p k-nak is // többszöröse kell legyen. Ezért p = lnko(n, k). Az összes p gyerek közül // pontosan p/k kapott csokoládét, tehát a csokoládét nem kapó gyerekek // száma nr = n - p/k = n - lnko(n, k)/k = n - (n*k/lnko(n, k))/k // = n - n/lnko(n, k). int csokikostolas(int n, int k){ return n - n/lnko(n, k); MEGOLDÁS B.2. Bűvös számok 1 #include <iostream> using namespace std; // Megépítjük az x szám p alapú számrendszerbeli ábrázolásában szereplő // számjegyek megjelenéseinek vektorát. // Rendre meghatározzuk x q alapú ábrázolásának számjegyeit. // ha az aktuális számjegy nem jelenik meg a p alapú ábrázolásban, // akkor az x szám nem bűvös; // különben a számjegyek megfelelő értéket növeljük a számjegyek vektorában. // Ha a számjegyek vektorában bizonyos számjegyek esetén 1-es maradt, // és ezek megjelennek a p alapú reprezentációban, de a q alapúban nem, // akkor a szám nem bűvös. bool buvosszam(int x, int p, int q){ 6

//ellenőrzni, hogy x bűvös-e p és q alapszámok esetén int szamjegyek[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; int mas = x; while (mas!= 0){ //meghatározzuk x számjegyeinek halmazát p alapszámmal int usz = mas % p; //usz - utolsó számjegy (p alapszámmal) szamjegyek[usz] = 1; mas = mas / p; mas = x; while (mas!= 0){ //meghatározzuk x számjegyeinek halmazát q alapszámmal int usz = mas % q; if (szamjegyek[usz] == 0) //ha az aktuális számjegy (q alapszámmal) nincs //használva p alapszám esetén return false; szamjegyek[usz]++; mas = mas / q; for (int i = 0; i < 10; i++){ if (szamjegyek[i] == 1) //ha az i számjegy használva van p alapszám esetén, //de q alapszám esetén nincs return false; return true; void buvosszamok(int p, int q, int n, int &k, int tomb[]){ k = 0; for (int i = 1; i < n; i++){ if (buvosszam(i, p, q)) tomb[k++] = i; MEGOLDÁS B.3. Keresés Az 5. sort a következőképpen kell módosítani: Visszatérít: ((x[n] = val) és kereses(x, n - 1, val)) 1: Alprogram kereses(x, n, val): 2: Ha n = 0, akkor 3: Visszatérít: x[0] = val 4: Különben 5: Visszatérít: ((x[n] = val) és kereses(x, n - 1, val)) 6: Ha vége 7: Alprogram vége MEGOLDÁS B.4. Ellenőrző számjegy 1: Alprogram ellenorzoszamjegy(x): 2: Visszatérít: x mod 9 3: Alprogram vége 7