- Keszits JS fuggvenyt, ami... - Egy parameterul kapott szovegrol eldonti, hogy palindrom-e - madam >> igen, palindrom (elorol es hatulrol is ugyan az) */ function palindromE(szoveg:string):boolean { var eredmeny:boolean = true; for (var i:number = 0; i < szoveg.length /*/ 2*/; i++) { if (szoveg[i] != szoveg[szoveg.length - 1 - i]) { eredmeny = false; break; } } return eredmeny; } console.log(palindromE("madam")); console.log(palindromE("indulagorogaludni")); console.log(palindromE("almafa")); /* - Egy parameterul kapott szoveg szavainak elso karaktereit nagybetusiti - szeretem a javascriptet >> Szeretem A Javascriptet */ function titleCase(szoveg:string):string { szoveg = szoveg.replace(/\b([a-z])/g, function (karakter) { return karakter.toUpperCase(); }); return szoveg; } console.log(titleCase("szeretem a javascriptet.")); console.log(titleCase("ez egy mondat aminek semmi ertelme.")); /*function elsoKarakterNagybetu(text) { var szavak = text.split(" "); for (var i = 0; i < szavak.length; i++) { szavak[i] = szavak[i].charAt(0).toUpperCase() + szavak[i].slice(1); } return szavak.join(" "); }*/ /* - Ami egy parameterul kapott szam tombbol visszaadja a MASODIK legkisebb elemet - [3, 5, 2, 4, 1] >> 2 */ function masodikLegkisebb(szamok:number[]):any { let elso:number = Infinity; let masodik:number = Infinity; for (let szam of szamok) { if (szam < elso) { masodik = elso; elso = szam; } else if (szam < masodik && szam != elso) { masodik = szam; } } return ((masodik == Infinity) ? null : masodik); } console.log(masodikLegkisebb([1, 2, 3, 4, 5])); console.log(masodikLegkisebb([45, 33, 42, 5, 36, 79, 88, 95, 19])); /* - Keszits alprogramot, amely parameterul egy szoveget var, es visszaadja a szoveg leghosszabb szavat - Szeretem a JavaScriptet >> JavaScriptet - Szeretem az almat >> Szeretem */ function leghosszabbSzo(mondat:string):string{ var szavak = mondat.split(" "); var max = szavak[0]; for(var i:number = 1; i < szavak.length; i++){ if(szavak[i].length > max.length){ max = szavak[i]; } } return max; } console.log(leghosszabbSzo('Szeretem a JavaScriptet')); console.log(leghosszabbSzo('Szeretem az almat')); /* - Keszits alprogramot, amely parameterul beker egy osszeget (pl. 460 forint) - Az alprogram egy tombben adja vissza, hogy hany darab egesz ermevel lehetne az osszeget kifizetni - 460 >> 200, 200, 50, 10 - 600 >> 200, 200, 200 SZORGALMI (5ft-ra kerekites): - 572 >> 570 >> 200, 200, 100, 50, 20 - 573 >> 575 >> 200, 200, 100, 50, 20, 5 - 577 >> 575 >> 200, 200, 100, 50, 20, 5 - 578 >> 580 >> 200, 200, 100, 50, 20, 10 - 678 >> 680 >> 200, 200, 200, 50, 20, 10 */ function aproSzamolas(osszeg:number){ var ermek:number[] = [200, 100, 50, 20, 10, 5]; var ermekAmikbolKijon:number[] = []; if(osszeg % 5 != 0){ var maradek:number = osszeg % 5; if(maradek <= 2){ osszeg -= maradek; } else{ osszeg += (5 - maradek); } } for(var i:number = 0; i < ermek.length; i++){ if(osszeg >= ermek[i]){ var egeszDb = Math.floor(osszeg / ermek[i]); for(var j:number = 0; j < egeszDb; j++){ ermekAmikbolKijon.push(ermek[i]); } osszeg -= egeszDb * ermek[i]; } } return ermekAmikbolKijon; } interface tanulo{ nev:string; kor:number; aktiv:boolean }; function tanulokapp(): tanulo []{ var t1:tanulo={nev: "Kovács Péter", kor: 16, aktiv: true} var t2:tanulo={nev: "Nagy Anna", kor: 17, aktiv: true} var t3:tanulo={nev: "Kis János", kor: 32, aktiv: false} return [t1,t2,t3] }; function visszad(fv:() => tanulo[]):number{ var tarolo:number=0; var adat:tanulo[]=fv(); for(var i: number = 0; i < adat.length; i++){ tarolo +=tanulokapp[i].kor } tarolo/=tanulokapp.length return tarolo; } function legFiatalabb(fv:()=> tanulo[]):string{ var neve:string=""; var adat:tanulo[]=fv(); var legfiatalabb:number=Infinity for(var i:number = 0; i < adat.length; i++){ if(adat[i].kor tanulo[]):tanulo[]{ var aktive:tanulo[]=[]; var adat:tanulo[]=fv(); for(var i : number= 0; i < adat.length; i++){ if (adat[i].aktiv === false) { aktive.push(adat[i]) } } return aktive; } function aktivAtlagKor(fv:()=> tanulo[]):number{ var aktivTanulo:number=0; var adat:tanulo[]=fv(); for(var i:number = 0; i < adat.length; i++){ if (adat[i].aktiv === true) { aktivTanulo+=adat[i].kor } } aktivTanulo/=adat.length return aktivTanulo } // /* // - Keszits fuggvenyt, ami: // - Egy parameterul kapott szam tombbol visszaadja a szamok atlagat // - Egy parameterul kapott szoveg tombbol megadja, hogy hany karakteres a legrovidebb szo function atlagolo(szamtomb:number[]):number{ var tarolo:number=0; for(var i:number = 0; i < szamtomb.length; i++){ tarolo+=szamtomb[i]; } return tarolo / szamtomb.length } console.log(atlagolo([45,45,87,96,31])) function short(szovegtömb:string[]):number{ var eredmeny:any = Infinity; for(var i:number=0; i < szovegtömb.length; i++){ if(szovegtömb[i].length < eredmeny){ eredmeny =szovegtömb[i].length } } return eredmeny; } console.log(short(["kajak","arc","ajak","palack"])) // - Keszits interface-t Auto neven // - Rendszam: szoveg // - Gyarto: szoveg // - Hengerurtartalom: szam // - Keszits fuggvenyt, ami egy parameterul kapott Auto tombbol megadja a(z): // - Atlag hengerurtartalmat // - A legnagyobb hengerurtartalmu auto rendszamat function dbetus(autotomb:auto[]):number{ var dbetus:number=0; var regex:RegExp=/[Dd]/g for(var i:number=0; i < autotomb.length; i++){ if (regex.test(autotomb[i].rendszam[0])){ dbetus++ } } return dbetus; } console.log(dbetus([{rendszam:"GTJ654",gyarto:"Ople",henger:3200}, {rendszam:"TGF423",gyarto:"Audi",henger:1322}, {rendszam:"LOU987",gyarto:"BMW",henger:6000}, {rendszam:"Dhk654",gyarto:"Mercedes",henger:1000} ])) function valogat(autotomb:auto[]):any{ var alati:auto[]=[]; var feletti:auto[]=[] for(var i:number=0; i < autotomb.length; i++){ if(autotomb[i].henger>2000){ feletti.push(autotomb[i]) }else{alati.push(autotomb[i])} } return [feletti,alati] } console.log(valogat([{rendszam:"GTJ654",gyarto:"Ople",henger:3200}, {rendszam:"TGF423",gyarto:"Audi",henger:1322}, {rendszam:"LOU987",gyarto:"BMW",henger:6000}, {rendszam:"Dhk654",gyarto:"Mercedes",henger:1000} ])) // - Keszits fuggvenyt, ami egy parameterul kapott Auto tombbol megadja a(z): // - Hany darab auto rendszama kezdodik D betuvel // - Ami szetvalogatja az autokat 2 tombre >> amiknek a hengerurtartalma 2000 alatt van, es ami // felette van // - A visszateres tuple-el legyen megoldva! // /* interface auto { rendszam:string, gyarto:string, henger:number, } function car(autotomb:auto[]):any[]{ var legnagyobhenger:number=0; var hengeratleg:number=0; var legnagyobrendszam:any="0"; for(var i:number = 0; i < autotomb.length; i ++){ hengeratleg+=autotomb[i].henger; if (autotomb[i].henger>legnagyobhenger) { legnagyobhenger=autotomb[i].henger legnagyobrendszam=autotomb[i].rendszam } } return [hengeratleg/autotomb.length,legnagyobrendszam] } console.log(car([{rendszam:"GTJ654",gyarto:"Ople",henger:3200}, {rendszam:"TGF423",gyarto:"Audi",henger:1322}, {rendszam:"LOU987",gyarto:"BMW",henger:6000}, {rendszam:"Dhk654",gyarto:"Mercedes",henger:1000} ])) // - Keszits fuggvenyt, ami: // - Parameterul kapott szam tombbol megadja, hogy hany darab paratlan szam volt benne function valogatparatlan(szamtomb:number[]):number{ var tarolo:number=0; for(var i:number=0; i < szamtomb.length; i++){ if (szamtomb[i] !% 2 === 0) { tarolo++ } } return tarolo; } console.log(valogatparatlan([2,3,3,3,4,4,5,6,45,45,87,96,31])) // - Parameterul kapott szoveg tombbol megadja, hogy hany szo tartalmazott A, B vagy C betut // (kics es nagy is szamit) function worldsercher(szovegtomb:string[]):number{ var regex:RegExp=/[A,a,B,b,C,c]/ var tarolo:number=0; for(var i:number=0; i < szovegtomb.length; i++){ if(regex.test(szovegtomb[i])){ tarolo++ } }return tarolo; } console.log(worldsercher(["cica","kuta","elelem","balta"])) // - Parameterul kapott szam tombon eldonti, hogy a tomb tartalmazott-e negativ szamot function negaivee(szamtomb:number[]):boolean{ var tarolo:boolean=false; for(var i:number=0; i < szamtomb.length; i++){ if (szamtomb[i] < 0) { tarolo = true; } } return tarolo } console.log(negaivee([2,3,3,3,4,4,5,6,45,45,87,96,31])) // - Keszits enum-ot uzemanyag neven: // - benzin // - gazolaj // - LPG // - elektromos // - hibrid enum uzemanyag { benzin="Benzin", gazolaj="Gázolaj", lpg="LPG", elektromos="Elektric", hibrid="Hybrid" }; // - Keszits interface-t motor neven // - uzemanyag (uzemanyag enum) // - hengerurtartalom (szam) // - hengerDb (szam) // - szelepDb (szam) interface motor { uzemanyag:uzemanyag, hengerurtart:number, hengerDB:number, szelepDB:number } // - Keszits interface-t jarmu neven // - gyarto (szoveg) // - tipus (szoveg) // - motor (motor interface) // - gyartasiEvek (szam tomb) >> pl. 1990-1995 = 1990, 1991, 1992, 1993, 1994, 1995 // - kerekSzama (szam) interface jarmu { gyarto:string, tipus:string, motor:motor, gyarttasiev:number[], kerekek:number } // - Keszits alprogramot, ami egy parameterul kapott szam tombbol visszaadja a legnagyobb szamot // - Keszits alprogramot, ami egy parameterul kapott szam tombrol eldonti, hogy van-e benne paratlan szam enum rom { DDR1="ddr1", DDR2="ddr2", DDR3="ddr3", DDR4="ddr4" } interface szamitogep { cikkszam:string, gyarto:string, ar:number, ram:rom } // - Keszits interface-t Szamitogep neven: // - Cikkszam (szoveg) // - Gyarto (szoveg) // - Ar (szam) // - RAM (enum, DDR1 DDR2 DDR3 DDR4) function atlagpc(pctömb:szamitogep[]):number{ var tarolo:number=0; for(var i:number = 0; i < pctömb.length; i++){ tarolo += pctömb[i].ar } return tarolo / pctömb.length; } const pc1:szamitogep={ cikkszam:"lki4587", gyarto:"Intel", ar:350000, ram:rom.DDR4 }; const pc2:szamitogep={ cikkszam:"lkju5487", gyarto:"AMD", ar:450000, ram:rom.DDR4 } console.log(atlagpc([pc1,pc2])); // - Keszits alprogramot, amely egy parameterul kapott Szamitogep tombbol megadja, hogy mennyi a // szamitogepek aranak atlaga // - Keszits alprogramot, amely egy parameterul kapott Szamitogep tombbol megadja, hogy hany darab // gepnek van DDR4-es ramja