Megoldás: A feladatsor egy lehetséges megoldása elérhető ide kattintva.
Egy több tagú baráti társaságban mindenki mindenkivel kezet fog (nyilván önmagával senki sem fog kezet, ennyire kétségbeesettek azért nem vagyunk). Írj egy kezfogas
nevű függvényt, amely a társaságban lévő emberek számát kapja paraméterül, és visszaadja, hogy összesen hány kézfogás történt!
Példa:
Input: 10 Return: 45
Írj egy egyezes
nevű függvényt, amely két tetszőleges típusú paramétert vár! A függvény adja vissza, hogy a két paraméter értékre és típusra is megyezik-e!
Példa:
Input: 1, true Return: false Input: false, false Return: true
Amikor egy városba látogatunk, egy üdvözlő tábla fogad minket. Írj egy udvozol
nevű függvényt, amely egy város nevét várja paraméterül, és visszatér egy Udvozoljuk {varosNeve} varosaban!
alakú szöveggel (a kapcsos zárójelek közé a paraméterben kapott városnév legyen behelyettesítve)!
Érd el, hogy a függvény paraméterének ne legyen kötelező értéket adni a függvényhíváskor! Abban az esetben, ha nem adjuk meg a paraméter értékét, akkor a város neve legyen alapból Szeged
!
Példa:
Input: 'Mucsarocsoge' Return: 'Udvozoljuk Mucsarocsoge varosaban!' Input: Return: 'Udvozoljuk Szeged varosaban!'
Egy tudományos kutatás megállapította, hogy a Ferenc nevű emberek kedvesek. Írj egy kedves
nevű függvényt, amely egy nevet kap paraméterül! Ha a név Ferenc
, akkor a függvény térjen vissza igaz, egyéb név esetén pedig hamis értékkel! Ha a függvényhíváskor nem adunk át paramétert a függvénynek, akkor a visszatérési érték legyen null
!
A feladat megoldása során NE használj default paraméter értéket! Ehelyett a gyakorlati jegyzetben tárgyalt módon ellenőrizd, hogy megadták-e a függvény paraméterének értékét!
Példa:
Input: 'Ferenc' Return: true Input: 'Bela' Return: false Input: Return: null
Írj egy kobosszeg
nevű függvényt, amely két egész számot kap paraméterül: rendre egy zárt intervallum alsó és felső végpontját! A függvény adja vissza az intervallumba eső számok köbének az összegét! (A végpontok természetesen még beletartoznak az intervallumba.)
Példa:
Input: 1, 3 Return: 36 Input: 10, 100 Return: 25500475
Használjuk fel az előző feladatban megírt kobosszeg
függvényt, miután meggyőződtünk arról, hogy helyes paraméterekkel hívjuk meg azt!
Írj egy kobosszegetMeghiv
függvényt, amely 3 paramétert vár: két egész számot és egy callback függvényt (ez most a kobosszeg
függvény lesz)! Amennyiben minden paraméter megfelelő típusú (két szám és egy függvény), hívd meg a paraméterben kapott callback függvényt úgy, hogy az első paramétere a két szám közül a kisebbik, míg a második paramétere a két szám közül a nagyobbik legyen! A callback függvény visszatérési értékével térj vissza!
Példa:
Input: 100, 10, kobosszeg Return: 25500475
A TeveClub oldalon virtuálisan nevelhetünk tevéket. Egy új teve igénylésekor meg kell adnunk a teve nevét és hívójelét (ez kb. egy jelszónak feleltethető meg).
Írj egy tevetIgenyel
függvényt, amely két paramétert vár: rendre a teve nevét és hívójelét (szöveges adatok)! A függvényben ellenőrizd, hogy a megadott hívójel megfelelő erősségű-e! Ezt a következőképpen tedd meg:
Tul rovid hivojel!
hibaüzenettel!Tul nyilvanvalo hivojel!
hibaüzenettel!teve
szöveget bármilyen formában (kis- és nagybetűket nem megkülönböztetve), akkor a függvény térjen vissza a Tiltott szoveg a hivojelben!
hibaüzenettel!Sikeres teveigenyles!
szöveg legyen a visszatérési érték!Példa:
Input: 'MyEpicCamel', 'epicTeve20' Return: 'Tiltott szoveg a hivojelben!' Input: 'Leenhurbertindrund', 'sivatag4life' Return: 'Sikeres teveigenyles!'
Írj egy szamjegyAtlag
nevű függvényt, amely egy egész számot vár paraméterül (akár negatív paraméter is lehet), és visszaadja a számban található számjegyek átlagát (tehát osszuk el a számjegyek összegét a számjegyek darabszámával)! Ha a függvény nem szám típusú paramétert kap, akkor a visszatérési érték legyen -1
!
Példa:
Input: 741258 Return: 4.5 Input: -97968 Return: 7.8 Input: 'kecske' Return: -1
Ninja az egyik Discord szerveren az indokolatlan tagelgetéseivel sikeresen magára haragította az egyik admint. Emiatt azt a büntetést kapta, hogy mostantól az üzenetei cenzúrázva jelennek meg.
Írj egy cenzura
függvényt, amely Ninja egy üzenetét kapja paraméterül, és ezt átalakítja úgy, hogy az összes magánhangzót lecseréli a *
(csillag) karakterre! A magánhangzók vizsgálata során a kis- és nagybetűket ne különböztesd meg! A paraméterben érkező szöveg garantáltan nem tartalmaz ékezetes betűket.
Példa:
Input: 'He, miert igy jelennek meg az uzeneteim?' Return: 'H*, m**rt *gy j*l*nn*k m*g *z *z*n*t**m?' Input: 'Elhagyom ezt a csoportot, mert serto az elmult tobb mint 10 eves Discordos tapasztalatom es multammal szemben.' Return: '*lh*gy*m *zt * cs*p*rt*t, m*rt s*rt* *z *lm*lt t*bb m*nt 10 *v*s D*sc*rd*s t*p*szt*l*t*m *s m*lt*mm*l sz*mb*n.'
Ági a NASA-nál dolgozik webfejlesztőként. Egyik napon a NASA úgy döntött, hogy a CSS kódjaikban található összes hexadecimális színkódot át szeretnék írni decimális RGB-formátumra. Írj egy konvertal
nevű függvényt, amely egy hexadecimális színkódot (string) vár paraméterben, és visszaadja a színnek megfelelő decimális RGB-kódot rgb({vörös szín mennyisége}, {zöld szín mennyisége}, {kék szín mennyisége})
formátumban!
#
(kettőskereszt) karakter után szerepel 6 darab, 16-os számrendszerbeli számjegy - például #FF0077
(az input mindig ilyen formátumú lesz, a hexadecimális színkódok tömörebb megadási módjával nem foglalkozunk).#FF0077
decimális RGB-alakban: rgb(255, 0, 119)
.
Példa:
Input: '#FF0077' Return: 'rgb(255, 0, 119)' Input: '#06C2E9' Return: 'rgb(6, 194, 233)'
Írj egy betucsere
nevű függvényt, amely egy szöveget kap paraméterül! A függvény visszatérési értéke egy szöveg, amit úgy kapunk, hogy a paraméterben kapott szövegben felcseréljük a kis- és nagybetűket (tehát ami az eredeti szövegben kisbetű volt, az a visszatérési értékben nagybetű lesz és fordítva).
Példa:
Input: 'SegITsEg! elROMloTt A cAPs LocK!' Return: 'sEGitSeG! ELromLOtT a CapS lOCk!'
Tomi kedvenc programozási nyelve a Python. Amikor JavaScriptet kezdett el tanulni, akkor Tomi nagyon hiányolta a nyelvből a Pythonból ismerős negatív string-indexelést, ezért úgy döntött, hogy ír erre egy függvényt.
Írj egy python
nevű függvényt, amely rendre egy szöveget és egy (garantáltan egész) indexet kap paraméterül! A függvény adja vissza a string adott indexű karakterét úgy, hogy a Pythonból ismerős negatív indexelés is működjön (ekkor a string végétől kezdünk el számolni)! Amennyiben túl- vagy alulindexeljük a stringet, akkor a visszatérési érték undefined
legyen!
Példa:
Input: 'Lehet-e a Pythonos indexelest JavaScriptben szimulalni?', 0 Return: 'L' Input: 'Lehet-e a Pythonos indexelest JavaScriptben szimulalni?', -1 Return: '?' Input: 'Lehet-e a Pythonos indexelest JavaScriptben szimulalni?', -45 Return: 'P' Input: 'Lehet-e a Pythonos indexelest JavaScriptben szimulalni?', -2000 Return: undefined
Írj egy karakterTobbszoroz
nevű függvényt, amely egy szöveget vár paraméterül! A függvény visszatérési értéke egy szöveg, amit úgy kapunk, hogy a paraméterben kapott szöveg minden karakterét leírjuk annyiszor, mint ahányadik a karakter a szövegben (tehát az 1. karaktert 1-szer, a 2. karaktert 2-szer, a 3. karaktert 3-szor és így tovább).
Amennyiben a függvény paramétere nem string típusú vagy a paraméterben kapott érték az üres string, akkor a függvény térjen vissza a HIBA!
szöveggel!
Példa:
Input: 'sajt' Return: 'saajjjtttt' Input: true Return: 'HIBA!'
Írj egy haromszog
nevű függvényt, amely egy háromszög 3 oldalának hosszát kapja paraméterül centiméterben (mindhárom oldalhossz garantáltan szám típusú)!
HIBA! Nem letezo haromszog!
szöveggel!HIBA! Nem letezo haromszog!
szöveggel!Kerulet: {kerulet} cm, terulet: {terulet} cm2
formátumú szövegben!Math.sqrt()
függvénnyel végezhetünk, míg 2 tizedesjegyre kerekítésre használhatjuk a toFixed()
metódust (leírás és példa a metódussal kapcsolatban).
Példa:
Input: 3, -1, 3 Return: 'HIBA! Nem letezo haromszog!' Input: 7, 4, 2 Return: 'HIBA! Nem letezo haromszog!' Input: 5, 4, 7 Return: 'Kerulet: 16.00 cm, terulet: 9.80 cm2'
Gábor a szabadidejében egy online csapatjátékkal játszik. A játék során feljegyzi, hogy a játék egyes köreiben a csapata győzött-e vagy veszített-e.
Írj egy leghosszabbNyeroszeria
nevű függvényt, amely a játék egyes köreinek eredményét elkódoló szöveget kap paraméterül! A paraméterben kapott szöveg csak 0
és 1
karaktereket tartalmaz: a 0
azt jelenti, hogy Gábor csapata az adott kört elveszítette, az 1
pedig azt, hogy megnyerte. A függvény adja vissza, hogy mennyi volt Gábor csapatának leghosszabb nyerőszériája a játékban (azaz milyen hosszú a paraméterben kapott szövegben a leghosszabb, közvetlenül egymás utáni 1
-esekből álló sorozat)!
Példa:
Input: '0000100111000000110000101' Return: 3 Input: '1101001111010000011110011' Return: 4 Input: '0000000000000000000000000' Return: 0
Írj egy kibont
nevű függvényt, amely egy tömörített szöveget kap paraméterül, amit "kibont"! A függvény lépkedjen végig a paraméterben kapott szöveg karakterein, és ha számjegy jön, akkor vegye a következő karaktert annyiszor, mint amennyi a számjegy értéke, és az azt követő karakterrel folytassa a műveletet! A kibontott szöveg legyen a függvény visszatérési értéke! Feltehetjük, hogy az inputban egy számjegy után mindig szerepel legalább 1 karakter.
Példa:
Input: 'Hah5o! Van i2t valaki3?' Return: 'Hahooooo! Van itt valaki???'