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

Hasonló dokumentumok
Felvételi vizsga mintatételsor Informatika írásbeli vizsga

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

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

INFORMATIKA javítókulcs 2016

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

Felvételi tematika INFORMATIKA

2018, Diszkrét matematika

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

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

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

INFORMATIKA tétel 2019

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

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

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

Programozási segédlet

2016, Diszkrét matematika

A félév során előkerülő témakörök

2015, Diszkrét matematika

2018, Diszkre t matematika. 10. elo ada s

2018, Funkcionális programozás

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

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

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

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

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

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

Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy

BABEŞ-BOLYAI TUDOMÁNYEGYETEM MATEMATIKA-INFORMATIKA KAR MATEK-INFO VERSENY 2017, április 1 INFORMATIKA I. TÉTELSOR A versenyzők figyelmébe:

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

2016, Diszkrét matematika

6. A Pascal nyelv utasításai

MATEK-INFO UBB verseny április 6.

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

43. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY ORSZÁGOS DÖNTŐ, 1. forduló ÖTÖDIK OSZTÁLY- MEGOLDÁSVÁZLATOK

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

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)

43. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY MEGYEI FORDULÓ HATODIK OSZTÁLY JAVÍTÁSI ÚTMUTATÓ

Számelmélet Megoldások

Rekurzív algoritmusok

Algoritmusok és adatszerkezetek gyakorlat 07

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

Gyakorló feladatok javítóvizsgára szakközépiskola matematika 9. évfolyam

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

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

1. Írd le számjegyekkel illetve betűkkel az alábbi számokat! Tízezer-hétszáztizenkettő Huszonhétmillió-hétezer-nyolc

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

Számelmélet (2017. február 8.) Bogya Norbert, Kátai-Urbán Kamilla

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

C# feladatok gyűjteménye

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

Algoritmusok vektorokkal keresések 1

Programozási módszertan. Mohó algoritmusok

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

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

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

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

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

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

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

2018, Diszkre t matematika. 8. elo ada s

Arany Dániel Matematikai Tanulóverseny 2016/2017-es tanév első (iskolai) forduló Haladók II. kategória

Rendezések. Összehasonlító rendezések

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

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

;3 ; 0; 1 7; ;7 5; 3. pozitív: ; pozitív is, negatív is: ;

1. Mit nevezünk egész számok-nak? Válaszd ki a következő számok közül az egész számokat: 3 ; 3,1 ; 1,2 ; -2 ; -0,7 ; 0 ; 1500

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

Diszkrét matematika I.

Matematika 8. osztály

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

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.

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

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

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

Egyszerű programozási tételek

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

A L Hospital-szabály, elaszticitás, monotonitás, konvexitás

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.

A TERMÉSZETES SZÁMOK

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:

I. A gyökvonás. cd c) 6 d) 2 xx. 2 c) Szakaszvizsgára gyakorló feladatok 10. évfolyam. Kedves 10. osztályos diákok!

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

Gráfelméleti feladatok. c f

1. Mit nevezünk egész számok-nak? Válaszd ki a következő számok közül az egész számokat: 3 ; 3,1 ; 1,2 ; -2 ; -0,7 ; 0 ; 1500

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

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

1. A négyzetgyökre vonatkozó azonosságok felhasználásával állítsd növekvő sorrendbe a következő számokat!

Algoritmusok bonyolultsága

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

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)

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

BME MOGI Gépészeti informatika 1.

Diszkrét matematika 1. estis képzés. Komputeralgebra Tanszék ősz

Szabolcs-Szatmár-Bereg megyei Ambrózy Géza Matematikaverseny 2012/2013 II. forduló 5. osztály

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

Feladatok MATEMATIKÁBÓL II.

NULLADIK MATEMATIKA ZÁRTHELYI

Maximum kiválasztás tömbben

Az Országos Középiskolai Tanulmányi Verseny tanévi első fordulójának feladatmegoldásai

Átírás:

BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) 1. (5p) Tekintsük a következő alprogramot: Alprogram f(a): Ha a!= 0, akkor visszatérít: a + f(a - 1) különben visszatérít 0 Ha vége BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga Melyik kijelentés hamis az alábbiak közül? a. f egy rekurzív módon definiált alprogram. b. Hogyha a negatív, az alprogram 0-t térít vissza. c. Az f által kiszámolt érték a * (a+1) / 4. d. Az alprogram kiszámolja az a-nál kisebb vagy egyenlő természetes számok összegét. e. Az f(-5) hívás végtelen ciklust eredményez. 2. (5p) Legyen 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: 1 Ha vége Határozzuk meg, f hányszor kerül meghívásra az alábbi kódban: x 4; y 3; z f(x, y); a. 4-szer b. 2-szer c. végtelen sokszor d. egyszer sem e. egyszer 3. (5p) Tekintsük az összes l {1, 2 hosszúságú, {a, b, c, d, e elemekből felépített tömböt. Ezek közül hánynak lesznek szigorúan növekvő sorrendbe rendezett és páros számú magánhangzót tartalmazó elemei? (a és e magánhangzók) a. 7 b. 80 c. 81 d. 78

e. 2 4. (5p) Egy 8 sorból álló mátrix, amely a 0 és 1 elemekből épül fel, a következő három tulajdonsággal rendelkezik: a. az első sorban egyetlen 1-es értékű elem található, b. a j-edik sor kétszer annyi nemnulla elemet tartalmaz mint a j-1-edik, minden j {2, 3,..., 8-ra, c. az utolsó sor egyetlen 0 értékű elemet tartalmaz. Összesen hány 0 értékű elemet tartalmaz a mátrix? a. 777 b. 769 c. 528 d. nem létezik ilyen mátrix e. 1 5. (5p) Adottak az a, b, és c tömbök, melyek hossza rendre n, m és k, illetve adottak a következő alprogramok: Alprogram F1(x, 1): s 0 Minden i 1, l-re végezd el: s s + x[i] Minden vége visszatérít: s Alprogram F2(n1, n2): visszatérít: n1 + n2 Melyek utasítások lesznek helyesek az alábbiak közül a rendre n, m és k elemű a, b és c tömbök létezése esetén? a. F2(F2(F1(a,n), F1(b,m)), k) b. val = F1(c,k) + F2(F1(b,m), F1(a,n)) c. val = F1(c,k) + F2(F1(a,m), b,n) d. F2(F2(F1(a,n), F1(b,m)), F1(c, k)) e. val = F1(k, c) + F2(F1(m, b), F1(n, a)) 6. (5p) Adott a következő alprogram: Alprogram fc(a, s): k = 0 Minden i 1, hossz(s)-re végezd el: k = k + a Minden vége visszatérít: k Határozzuk meg, az alábbi utasítássorozatok közül melyek hatására jelenik meg 75? Megjegyzés: feltételeztük, hogy a tömbök indexelése 1-től kezdődik.

a. nr = fc("ana", 25) kiírás(nr) b. nr = fc(25, "ana") kiírás(nr) c. kiírás(fc(25, "ana")) d. nem létezik ilyen hívás e. kiírás(fc("ana", 25)) B. tételsor (60 pont) 1. Fénysugár (2) Van egy befelé néző tükrökből álló téglalap alakú keretünk. Egy fénysugár indul a téglalap bal alsó sarkából annak alsó oldalával 45 o -os szöget bezárva, és nekiütközik a téglalap felső oldalának. Itt a fénysugár visszatükröződik (elindul egy másik oldal irányába, újfent 45 o -os szöget bezárva azzal az oldallal, melynek nekiütközött). A sugár addig folytatja az útját, amíg a téglalap egy sarkába nem ér. Írjunk egy alprogramot, amely kiszámítja, hogy hányszor változtat irányt a fénysugár (valtszam), amíg végül megáll egy sarokban. A kezdőpontot nem számítjuk be. Az alprogram bemenő paraméterei a téglalap hosszúsága (1 < a < 10 000) és szélessége (1 < b < 10 000), a valtszam pedig a kimenő paraméter (a, b, valtszam N). 1. példa: ha a = 8 és b = 3, akkor valtszam = 9. 2. példa: ha a = 8 és b = 4, akkor valtszam = 1. 2. Vírusok (1) Egy kísérlet keretén belül egy n (3 <= n <= 1000) vírusból álló populáció a következőképpen fejlődhet: a. ha egy óra kezdetekor a populáció páros számú vírusból áll, akkor az óra végén a populáció 50%-kal csökken; b. ha egy óra kezdetekor a populáció páratlan számú vírusból áll, akkor az óra végén a víruspopuláció 1 vírussal szaporodik; c. ha egy óra végén a populáció egy túlélési küszöbértéknél szigorúan kevesebb vírusból áll, akkor a populáció eltűnik. Írjunk egy alprogramot, amely meghatározza az órák számát (oraszam), mely a kezdeti n vírusból álló populáció kipusztulásához szükséges, ismerve a k (2 k < n) túlélési küszöbértéket. A bemenő paraméterek n és k, a kimenő paraméter pedig az oraszam. Példa: ha n = 11 és k = 3, akkor a populáció oraszam = 5 óra alatt kipusztul. 3. Rendezés () Adott a következő alprogram:

1: Alprogram rendezés(a, n): 2: Ha n > 0, akkor 3: rendezés(a, n - 1) 4: x a[n] 5: j n - 1 6: Amíg (j >= 0 and a[j] > x), végezd el: 7: j j - 1 8: Amíg vége 9: a[j + 1] x 10: Ha vége 11: Milyen utasítással/utasításokkal kell ezt kiegészítenünk, illetve pontosan hol ahhoz, hogy a rendezés(a, n) hívás következtében az az n darab természetes számot tartalmazó tömb rendezve legyen? 4. Ellenőrző számjegy () 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: Helyettesítsük az alprogram belsejét legfeljebb 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.

JAVÍTÓKULCS HIVATALBÓL A. TÉTELSOR 30 pont A.1. b, c és d válaszok A.2. a válasz A.3. a válasz A.4. a válasz A.5. b válasz A.6. b és c válaszok B. TÉTELSOR 60 pont B.1. Fénysugár 2 V1: valtszam helyes értékének kiszámítása az lnko(a, b) felhasználásával 2 lnko(a, b) (vagy lkkt(a, b)) valtszam értékének kiszámítása 1 V2: valtszam értékének helyes meghatározása egy másik helyes algoritmussal (szimulációval) 1 B.2. Vírusok 1 - Iteratív vagy rekurzív megoldás - Helyes számítások (a populáció kihal egy óra végén) B.3. Rendezés - feltétel beazonosítása (a[j + 1] a[j]) - az utasítás beszúrása a 6. és 7. sorok közé B.4. Ellenőrző számjegy - egy szám ellenőrző számjegyének kiszámítása nr mod 9 módon

MEGOLDÁS MEGOLDÁS B.1. Fénysugár // Az a és b számok legnagyobb közös osztójának kiszámítása. int lnko(int a, int b){ if ((a == b) && (a == 0)) return 1; if (a * b == 0) return a + b; while (a!= b) if (a > b) a -= b; else b -= a; return a; 2 // A sugár irányváltoztatásai számának meghatározása. int sugar(int a, int b){ int d = lnko(a, b); return b / d + a / d - 2; MEGOLDÁS B.2. Vírusok // Adott k túlélési küszöbérték mellett meghatározza egy víruspopuláció // kihalásához szükséges órák számát. int virusok(int n, int k){ bool kihal = (n < k); int oraszam = 0; while (!kihal){ if (n % 2 == 0) // Páros számú vírus esetén felezzük a populációt. n = n / 2; else // Páratlan vírus esetén növeljük 1-gyel a populáció méretét. n = n + 1; oraszam = oraszam + 1; kihal = (n < k); // Ellenőrizzük a populáció kipusztulását. return oraszam; MEGOLDÁS B.3. Rendezés A 6. és 7. sor közé az a[j + 1] a[j] utasítást kell beilleszteni, azaz: 1 1: Alprogram rendezés(a, n): 2: Ha n > 0, akkor 3: rendezés(a, n - 1) 4: x a[n] 5: j n - 1 6: Amíg (j >= 0 and a[j] > x), végezd el: 7: a[j + 1] a[j]

8: j j - 1 9: Amíg vége 10: a[j + 1] x 11: Ha vége 12: MEGOLDÁS B.4. Ellenőrző számjegy Alprogram ellenorzoszamjegy(x): Visszatérít: x mod 9