0% au considerat acest document util (0 voturi)
6 vizualizări55 pagini

Exercițiu JavaScript Corectat

Acest document conține 9 exerciții de programare în JavaScript cu soluțiile lor. Exercițiile acoperă concepte de bază precum funcțiile, operatorii aritmetici și șirurile de caractere, până la subiecte mai avansate precum tablourile și funcțiile recursive. Scopul este de a exersa pe diverse probleme în JavaScript.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
6 vizualizări55 pagini

Exercițiu JavaScript Corectat

Acest document conține 9 exerciții de programare în JavaScript cu soluțiile lor. Exercițiile acoperă concepte de bază precum funcțiile, operatorii aritmetici și șirurile de caractere, până la subiecte mai avansate precum tablourile și funcțiile recursive. Scopul este de a exersa pe diverse probleme în JavaScript.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Exercițiu JavaScript Corectat – Partea 1

14 aprilie 2020 5 Comentarii provocări de programare, corectat, provocare


programare
test

A veți avea exerciții corectate în JavaScript, veți practica diverse


concepte ale limbajului JavaScript. Vei începe cu exerciții
JavaScript de bază la exerciții mai avansate. Soluția este furnizată pentru
fiecare exercițiu. Trebuie să încercați să rezolvați fiecare problemă prin
tu însuți înainte de a verifica soluția. Dacă ai întrebări
în legătură cu fiecare problemă, vă încurajăm să le publicați pe
notreforum.

Exercițiul 1:
Creează o funcție care primește două numere ca argumente și returnează
suma lor.

Exemple:
adunare(1, 2)➞ 3

addition(-2, -4) ➞ -6

Corectat
Soluție:
functieadunare(x, y) {
dacă (typeof x !== "număr" || typeof y !== "număr") {
Eroare: vă rugăm să introduceți două numere!
}
returnx + y;
}

Exercițiul 2:
Scrieți o funcție care ia un număr întreg de minute și îl convertește în
secunde.

Exemple:
minuteLaSecunde(4)➞ 240
minuteLaSecunde(3)➞ 180

Corectat
Soluție:
funcție minuteÎnSecunde(minute) {
returnminute * 60;
}

Exercițiul 3:
Creează o funcție care primește un număr ca argument, crește numărul
+1 și returnează rezultatul.

Exemple:
incrementare(1)➞ 2

incrementare(4)➞ 5

Corectat
Soluție:
functionincrement(n) {
return++n;
}

Exercițiul 4:
Scrieți o funcție care primește baza și înălțimea unui triunghi și returnează
suprafața. Observați că suprafața unui triunghi este: (bază * înălțime) / 2

Exemple:
obtineSuprafata(8, 2)➞ 8

obțineSuprafața(7, 3)➞ 10.5

Corectat
(bază * înălțime) / 2
Soluție:
function getSurface(bază, înălțime) {
bazaîntoarcerii * înălțime / 2
}
Exercițiul 5:
Scrieți un program JavaScript pentru a inversa un șir de caractere.

Exemple:
naLeaToY➞ XnraeLoTyaW

strReverse('Hello')➞ olleH

Corectat
Soluție:
functionstrInversare(str) {
[Link](""").reverse().join(""");
}

Exercițiul 6:
Scrieți un program JavaScript pentru a găsi cel mai mare dintre cei trei întregi
date.

Exemple:
getMax(5, 9, 1)➞ 9

getMax(2, 3, 10)➞ 10

Corectat
Soluție:
functiongetMax(a, b, c) {
max =0;
dacă(a > b){
max = a;
}
altfel{
b;
}
dacă(c > maxim){
max = c;
}
returnmax;
}
Exercițiul 7:
Creează o funcție care primește un tablou și returnează primul element. Observați
că primul element al unui tablou începe întotdeauna cu indicele 0.

Exemple:
primul([1, 2, 3])➞ 1

getPrimul([50, 60, 70])➞ 50

Corectat
Solutie:
functiegetFirst(tab) {
returntab[0];
}

Exercițiul 8:
Scrieți un program JavaScript pentru a recupera URL-ul unui site web

// Scrieți codul dvs. aici

Corectat
Soluție:
[Link]([Link]);
Vezi și: Cum să recuperezi URL-ul paginii curente cu JavaScript

Exercițiul 9:
Scrieți un program JavaScript pentru a returna restul a două numere. El
există un singur operator în JavaScript, capabil să furnizeze restul unei
diviziune. Două numere sunt transmise ca parametri. Primul
parametrul împărțit la al doilea parametru.

Exemple:
resteDiv(1, 3)➞ 1

resteDiv(2, 4)➞ 2

resteDiv(3, 3)➞ 0

Corectat
Soluție:
funcțierestediv(a, b) {
returna % b;
}

Exercițiul 1:
Corectați următorul cod (eroare de sintaxă) pentru a calcula pătratul.
Exemple:
carte(2)➞ 4

cerc(4)➞ 16
Corectat
Soluție:
funcție pătrată(b) {
returnb*b;
}

Exercițiul 2: < 100


Cu două numere, returnați TRUE dacă suma celor două numere este
mai mică de 100. Altfel, returnați FALSE.
Exemple:
verifică(5, 20)➞ adevărat
// 5 + 20 = 25

verifică(60, 55)➞ fals


// 60 + 55 = 115
Corectat
Soluție:
functiecheck(a, b) {
returna + b <100;
}

Exercițiul 3:
Scrieți o funcție care convertește orele în secunde. Rețineți că există
60 de secunde într-un minut și 60 de minute într-o oră.
Exemple:
heureSeconde(1)➞ 3600

heureSeconde(5)➞ 18000

Corectat
Soluție:
functieoraSeconde(ora) {
returnheure * 3600;
}

Exercițiul 4:
Creează o funcție care primește un număr și returnează ADEVĂRAT dacă este
inferior sau egal cu zero, altfel întoarce FALSE.
Exemple:
verificaNr(1)➞ fals

verificăNr(-1)➞ adevărat

checkNbr(0)➞ adevărat
Corectat
Soluție:
funcție verificăNumăr(n) {
returnn <=0;
}

Exercițiul 5:
Creează o funcție care returnează ADEVĂRAT când nbr1 este egal cu nbr2; altfel
întoarce FALSE.
Exemple:
isEqual(3, 6)➞ fals

isEqual(1, '1')➞ fals

esteEchivalent(1, 1)➞ adevărat


Corectat
Soluție:
functionisEqual(nbr1, nbr2) {
returnnbr1 === nbr2
}

Exercițiul 6:
Creează o funcție care returnează ADEVĂRAT dacă un întreg este divizibil cu 5,
altfel întoarce FALSE.
Exemple:
esteDivizibil(5)➞ adevărat

esteDivizibil(10)➞ adevărat

esteDivizibil(6)➞ fals

Corectat
Soluție:
functionisDivisible(n) {
returnează %5===0;
}

Exercițiul 7:
Scrieți o funcție care primește două întregi (ore, minute) și le
convertit în secunde.
Exemple:
hmTos(1, 10)➞ 4200

hmTos(0, 59)➞ 3540

hmTos(0, 0)➞ 0
Corectat
Soluție:
funcțiehmTos(ora, minut) {
return(ora*3600)+(minut*60);
}
Exercițiul 8:
Scrieți o funcție pentru a inversa un tablou. Atenție: Nu folosiți
metodă integrată reverse();
Exemple:
reverseTab([1, 2, 3])➞ [3, 2, 1]

reverseTab([1, 1, 2, 2, 3])➞ [3, 2, 2, 1, 1]


Corectat
Soluție:
functie inversareTab(tab) {
letres =[];
pentru(let i = [Link] - 1; i > -1; i--) {
[Link][i];
}
returnres;
}

Exercițiul 9:
Creează o funcție care primește un tablou și returnează ultimul element al acestuia
tablou.
Exemple:
obțineUltimulElem([1, 2, 3, 4])➞ 4

getLastElem([‘Alex’, ‘Bob’, ‘Emily’])➞ Emily


Corectat
Soluție:
functie obtineUltimulElem(tab) {
returntab[[Link]-1]
}

Exercițiul 1:
Creează o funcț ie care verifică egalitatea a două parametru a ș i b. Valoarea ș i tipul de
parametrii trebuie testaț i pentru a avea o egalitate. Funcț ia trebuie să returneze TRUE dacă
parametrii sunt egali ș i FALSE dacă sunt diferiț i.
Exemple:
checkEq(5, 5)➞ adevărat
// număr = număr: tipul ș i valoarea lor sunt egale

checkEq(5, 0)➞ fals


// număr = număr: tipul lor este egal ș i valoarea lor este diferită

verificaEchivalenta(5, fals)➞
fals
// număr <> boolean: tipul lor este diferit

checkEq(5, '5')➞ fals


// număr <> ș ir: tipul lor este diferit

Corectat
Soluț ie
Manager de tranziț ie, trebuie să fii...
Pauză

Activează sunetul

Încărcat: 41,52%

Timp rămas -4:07

Ecran complet

Manager de tranziț ie, trebuie să fii independent?

functiecheckEq(a, b) {

returna === b;

}
Vezi ș i :Diferenț a dintre == ș i === în JavaScript

Exercițiul 2:
Creează o funcț ie care returnează TRUE dacă un ș ir este gol ș i altfel returnează FALSE.

Exemple:

isEmpty("1")➞ fals

isEmpty("WayToLearnX")➞ fals
esteGol(" ")➞ fals

isEmpty("")➞ adevărat

Corectat
Soluț ie:

functionisEmpty(str) {

[Link]==0;

Exercițiul 3: Concatenează două șiruri într-un singur șir


Cu două ș iruri, str1 ș i str2, returnaț i un singur ș ir în formatul „str1 | str2”.

Exemple:

concatStr("Adevărat", "Fals")➞ Adevărat

Concatenează("Activat", "Dezactivat")➞ Pornit | Oprit

concatStr("A", "B")➞ A | B

Corectat
Soluț ie:

functie concatStr(str1, str2) {

return `${str1} | ${str2}`;

Exercice 4
Creează o funcț ie care primeș te un nume ș i returnează un mesaj de bun venit sub forma unei
ș ir. Nu utilizaț i o funcț ie normală, ci folosiț i ofuncț ie cu săgeată
Exemple:

Thomas➞ Bună Thomas, Bun venit la WayToLearnX!

Alex➞ Bună Alex, Bun venit la WayToLearnX!

Emily➞ Bună Emily, Bun venit la WayToLearnX!

Corectat
Soluț ie:

constmsg = name=>`Bună ${name}, Bine ai venit la WayToLearnX!`


Vezi de asemenea :Funcț iile săgeată în Javascript

Exercice 5
Scrieț i o funcț ie care returnează lungimea unui ș ir. Utilizaț i o funcț ie recursivă.

Exemple:

dimensiune("alex")➞ 5

dimensiune("x")➞ 1

size➞ 0

Corectat
Soluț ie:

functionsize(str, n = 0) {

dacă (str[n] === undefined) {

returnează
}

returnsize(str, n +1)

Exercițiul 6:
Creează o funcț ie care primeș te două ș iruri str1 ș i str2 ca argumente ș i returnează TRUE dacă
numărul total de caractere din prima ș ir este egal cu numărul total de caractere
în a doua secvenț ă, altfel returnează FALSE.

Exemple:

comparăDimensiune("AA", "BB")➞ adevărat

comparaMarime("123", "1")➞ fals

comparaMarimea("Ali", "Bob")➞ adevărat

Corectat
Soluț ie:

funcț ionează comparăMărimea(str1, str2) {

[Link]=== [Link];

Exercițiul 7:
Creează o funcț ie care primeș te înălț imea ș i lăț imea ș i găseș te perimetrul unui dreptunghi.

Exemple:
obtinePerimetrul(2, 6)➞ 16

getPerimetrul(3, 10)➞ 26

obtinePerimetrul(1, 5)➞ 12

Corectat
Formula pentru a calcula perimetrul unui dreptunghi este (înălț ime + lăț ime) * 2
Soluț ie:

functie obtinePerimetru(inaltime, latime) {

return (înălț ime + lăț ime) * 2;

Exercițiul 8: Problema fermierului


În această provocare, un fermier te întreabă câte picioare pot fi numărate
printre toate animalele sale. Există trei specii:

. pui = 2 picioare

. vaci

. cai = 4 picioare

Fermerul a numărat animalele sale ș i vă oferă un subtotal pentru fiecare specie. Dumneavoastră
trebuie să implementaț i o funcț ie care returnează numărul total de picioare ale tuturor animalelor.

Ordinea animalelor transmisă funcț iei este nbrsPattes(pui, vaci, cai).

Exemple:
nbrsPattes(1, 4, 2)➞ 26

nbrsPattes(2, 2, 2)➞ 20

nbrsPattes(2, 0, 3)➞ 16

Nu uitaț i că fermierul vrea să ș tie numărul total de picioare ș i nu numărul


total de animale.

Corectat
Soluț ie:

functiune nbrsPattes(poulets, vaches, chevaux) {

returnpoulets *2+(vaches + chevaux)*4;

Exercițiul 9: Număr par sau impar


Creează o funcț ie care primeș te un număr ca argument ș i returnează „par” pentru
nume pare ș i „impar” pentru numerele impare.

Exemple:
verifică(2)➞ pereche

verifică(7)➞ deteriora

verificare(22)➞ pereche

Corectat
Soluț ie:

functioncheck(n) {

returnn %2?'impaire':'paire';

Exercițiul 1:
Creează o funcț ie pentru a concatena două tablouri întregi.

Exemple:
concatenare([1, 2], [3, 4])➞ [1, 2, 3, 4]

concatenare([9, 8], [1, 5, 6, 7])➞ [9, 8, 1, 5, 6, 7]

concatener([1, 1, 1], [2, 2, 2]) ➞ [1, 1, 1, 2, 2, 2]

Corectat
Cele trei puncte (…) reprezintă operatorul „Spread” în ES6 care permite să o
expresia de a fi lărgit.
Soluț ie
function concatener(tab1, tab2) {
return [...tab1, ...tab2]
}

Exercițiul 2:
Creează o funcț ie care găseș te indexul unui element dat. Dacă elementul nu există,
returnaț i -1.

Exemple:
găseș te([2, 7, 1], 7)➞ 1

găseș te([6, 9, 5], 6)➞ 0

găseș te([6, 7, 8], 9)➞ -1

Corectat
Soluț ie:
functie găseș te(tab, val) {
pentru(vari =0; i < [Link]; i++){
dacă(tab[i]== val)returni;
}
return-1;
}

Exercițiul 3:
Scrieț i o funcț ie pentru a verifica dacă un tablou conț ine un număr particular.

Exemple:
nbrExist([6, 7, 8], 7)➞ adevărat

nbrExist([1, 2, 3], 5)➞ fals

nbrExist([], 0)➞ fals

Corectat
Soluț ie
functionnbrExist(tab, val) {
pentru(vari =0; i < [Link]; i++){
dacă(tab[i]=== val){
returnează adevărat;

}
}
returnaț i fals;
}
Cum să devii manager de tranziț ie...
Pauză
Deblochează sunetul
Încărcat: 25,60%

Timp rămas -6:15


Ecran complet

Cum să devii manager de tranziț ie

Exercițiul 4:
Creează o funcț ie care primeș te un ș ir (un nume aleator). Dacă ultimul caracter al numelui este
un « s », returnează TRUE, altfel returnează FALSE.

Exemple:

verificăS("Thomas")➞ adevărat

verificăS("Ali")➞ fals

checkS("Alex")➞ fals

checkS("Alvis")➞ adevărat

Corectat
Soluț ie:
functiacheckS(str) {
returnstr[[Link]-1]==="s";
}

Exercițiul 5:
Creează o funcț ie care returnează TRUE dacă un ș ir conț ine spaț ii. Altfel returnează
FALS.

Exemple:

Thomas➞ fals

conț ineSpaț ii("Salut Lume!")➞ adevărat


conț ineSpaț ii(" ")➞ adevărat

➞ fals

Corectat
Soluț ie:
funcț ia conț ine spaț ii(str) {
[Link](' ')
}

Exercițiul 6:
Creează o funcț ie care primeș te un obiect ca argument ș i returnează un ș ir care reprezintă
o persoană. Atributele persoanei vor trebui extrase din cele trei proprietăț i ale obiectului:

. nume

. vârstă

. adresă

X are Y ani. El locuieș te în Z.


persoană, Y este vârsta ș i Z este adresa).

Exemple:

formatPrs({

Thomas

25

Paris

})

➞ Thomas are 25 de ani. El locuieș te la Paris.

formatPrs({

Emily
22

Nantes

})

➞ Emily are 22 de ani. El locuieș te în Nantes.

Corectat
Soluț ie:
functionformatPrs(persoană) {
${[Link]} are ${[Link]} ani. Locuieș te la ${[Link]}.
}

Exercițiul 7:
Creează o funcț ie care ia un ș ir reprezentând starea de spirit ș i returnează o propoziț ie.
formatul următor: „Astăzi, mă simt {sentiment}”. Cu toate acestea, dacă nu există niciun argument
Astăzi, mă simt neutră.

Exemple:

fericit➞ Astăzi, mă simt fericit

triste➞ Astăzi, mă simt trist

sentimentulMeu()➞ Astăzi, mă simt neutru

Corectat
Soluț ie:
funcț ia meaSentiment(sentiment) {
Astăzi, mă simt ${feeling || "neutru"}
}

Exercițiu 8:
Creează o funcț ie care returnează numărul de argumente cu care a fost apelată.

Exemple:
nbrArgs()➞ 0

nbrArgs({})➞ 1

nbrArgs("A")➞ 1

nbrArgs("A", "B")➞ 2

Corectat
Soluț ie:
funcț ionnbrArgs() {
[Link];
}

Exercițiul 9:
Creează o funcț ie care ia un cuvânt ș i determină dacă este plural sau singular. Un cuvânt plural
este cel care se termină cu „s”. Dacă este plural, returnează TRUE, altfel FALSE.

Exemple:

copii➞ adevărat

verifică("filles")➞ adevărat

verifică("fille")➞ fals

copil➞ fals

Corectat
Soluț ie:
functioncheck(str) {
returnstr[[Link]-1]=='s';
}

Exercițiul 1:
Scrieț i o funcț ie care primeș te un întreg ș i:

. Dacă numărul este un multiplu de 3, returnaț i „Hello”.

. Dacă numărul este un multiplicator de 5, returnaț i „World“.

. Dacă numărul este un multiplu de 3 ș i de 5, returnaț i „Hello World”.

Exemple:

verificăNr(3)➞ Bună

checkNbr(5)➞ lume

checkNbr(15)➞ Salut Lume

Corectat
Soluț ie:
functie verificaNbr(n) {
returnn %15===0?"Salut Lume": n %3===0?"Salut":"Lume";
}

Exercițiul 2:
Scrieț i expresia regulată care dezvăluie mesajul ascuns. Trebuie să ș tergeț i toate
nume pentru a dezvălui mesajul. Utilizaț i clasa de caractere \D în expresia dumneavoastră.

Corectat
Destinată pentru a găsi caracterul non-numeric. Efectuează o corespondenț ă
globale.
Soluț ie:
varpatt =/\D */g;
Exercițiul 3:
Creează o funcț ie care ia un array cu numere ș i întoarce un array cu
elemente înmulț ite cu doi.

Exemple:
tabX2([1, 2, 3])➞ [ 2, 4, 6 ]

tabX2([5, 10, 20])➞ [ 10, 20, 40 ]

tabX2([100, 200, 300])➞ [ 200, 400, 600 ]

Corectat
Soluț ie:
functiontabX2(tab) {
[Link](i=>i *2)
}

Exercițiul 4:
Creează o funcț ie care ia trei numere ca argumente ș i returnează TRUE dacă este un
triunghi, sinon returnează FALSE.

Exemple:

esteTriunghi(2, 3, 4)➞ adevărat

isTriunghi(2, 4, 5)➞ adevărat

esteTriunghi(8, 2, 1)➞ fals

Reț ineț i că a, b ș i c sunt lungimile laturilor triunghiului.

Corectat
Determinarea dacă lungimea celor trei laturi poate forma un triunghi este mai uș oară. Tot ce
ceea ce trebuie să faceț i este să folosiț i teorema inegalităț ii, care stipulează că suma lungimilor
Suma lungimilor a două laturi ale unui triunghi este întotdeauna mai mare decât lungimea celei de-a treia laturi. Dacă acest lucru este adevărat pentru

trei combinaț ii, veț i avea un triunghi.


La forumule:
a+b>c
a+c>b
b+c>a

Soluț ie:
functionisTriunghi(a, b, c) {
returna + b > c && b + c > a && c + a > b
}

Exercițiul 5:
Creează o funcț ie care returnează valoarea ASCII a caracterului transmis.

Exemple:

charToAscii("A")➞ 65

a➞ 97

translatedText➞ 43

Corectat
Metoda charCodeAt() returnează un întreg cuprins între 0 ș i 65535 care reprezintă unitatea de
cod UTF-16 la indexul dat.
Soluț ie:
functiecharToAscii(c) {
[Link](0);
}

Exercițiul 6:
Cu o fracț ie sub formă de ș ir, indică dacă este mai mare sau nu decât 1
când este evaluată.

Exemple:

FracSup1("2/2")➞ fals

FracSup1("8/2")➞ adevărat

FracSup1("1/2")➞ fals
Corectat
eval() este o funcț ie globală în JavaScript care evaluează un ș ir specificat ca fiind cod
JavaScript ș i îl execută.
Soluț ie:
functieFracSup1(f) {
returneval(f)>1;
}

Exercițiul 7:
Creaț i o funcț ie care primeș te un tablou ș i returnează suma tuturor numerelor din tablou.

Exemple:

sum([1, 1, 1])➞ 3

suma([1, 2, 3])➞ 6

sum([-2, 2, 1]) ➞ 1

Corectat
Soluț ie:
functionsum(tab) {
să lăsăm = 0

pentru(leti = 0; i < [Link]; i++) {


s += tab[i]
}
întoarceri
}

Exercițiul 8:
Creează o funcț ie care ia un tablou de cuvinte ș i îl transformă într-un tablou de lungime
fiecare cuvânt.

Exemple:

numărăȘ irul(["A", "B", "C"])➞ [1, 1, 1]


countStr(["Bine ai venit", "La", "WayToLearnX"])➞ [7, 2, 11]

countStr(["Bob", "Ali", "Thomas"]) ➞ [3, 3, 6]

Corectat
Soluț ie:
function countStr(tab) {
[Link](str=>[Link]);
}

Exercițiul 9:
Creează o funcț ie care returnează numărul de silabe dintr-un ș ir.

Exemple:

nbrDeSilabe("SOSOSOSO")➞ 4

nbrOfSyllables("HAHAHAHAHA")➞ 5

nbrOfSyllables("RIRIRIRIRIRIRIRIRIRI")➞ 10

Soluț ie:
funcț ionnbrOfSyllables(str) {
[Link]/2;
}

Exercițiul 1:
Creează o funcț ie care primeș te un ș ir ș i returnează ADEVĂRAT sau FALS, în funcț ie de caracterele
sunt în ordine sau nu.

Exemple:

verificaComanda("abc")➞ adevărat

verificăComanda("zyx")➞ fals

verificaComanda("123")➞ adevărat

verificaComanda("aabbcc")➞ adevărat

Corectat
Soluț ie:

functioncheckOrder(str) {

returnstr === [Link]("").sort().join("")

Exercițiul 2:
Creează o funcț ie care adaugă un subș ir la sfârș itul fiecărui ș ir din array.

Exemple:

addEnd(["accept", "achet", "adapt"], "able") ➞ ["acceptable", "achetable", "adaptable"]

addEnd(["aim", "act", "ard"], "ant") ➞ ["aimant", "actant", "ardant"]

Corectat
Soluț ie:

functie adaugăSfârș it(tablou, fin) {


[Link](mot=>mot + fin);

Exercițiul 3:
Creează o funcț ie care verifică dacă argumentul este un întreg sau un ș ir. Returnează „int” dacă acesta
este un întreg ș i „string” dacă este o ș ir.

Exemple:

checkIntOrStr("CaleaDeAÎnvaț aX")➞ ș ir

verificăIntSauStr(1)➞ int

verificaIntSauStr("250")➞ ș ir

Corectat
Soluț ie:

funcț ie verificăIntSauStr(x) {

dacă(typeofx ==="număr") {

return"int";

}else dacă typeofx ==="string" {

return "string";

Exercițiul 4:
Creează o funcț ie care primeș te o propoziț ie ș i returnează numărul de cuvinte.

Exemple:
Bine aț i venit la WayToLearnX➞ 3

numără("Salut Lume")➞ 2

Merg la ș coală.➞ 6

Corectat

Exercițiul 5:
Creează o funcț ie recursivă care returnează totalul tuturor numerelor impare până la
n(inclus). n va fi dat ca un număr impar.

Exemple:

sommeImpair(3)➞ 4

// 1 + 3 = 4

sommeImpair(7)➞ 16

sommeImpair(59)➞ 900

Corectat
Soluț ie:

functiesommeImpair(n) {

dacă(n ===1)return1

returnează +sommeImpair(n -2)

Exercițiul 6:
Creează o funcț ie care returnează ADEVĂRAT dacă ș irul trecut ca parametru nu conț ine decât
litere mari sau mici.
Exemple

isSameCase("WayToLearnX")➞ fals

isSameCase("waytolearnx")➞ adevărat

isSameCase("WAYTOLEARNX")➞ adevărat

Correctat
Soluț ie

functie esteAcelaș iCaz(str) {

[Link]()=== str || [Link]()=== str;

Exercițiul 7:
Creează o funcț ie pentru a multiplica toate valorile dintr-un tablou cu lungimea tabloului
dat

Exemple

mulByLen([1, 1, 1])➞ [ 3, 3, 3 ]

mulByLen([1, 2, 3])➞ [ 3, 6, 9 ]

mulByLen([0, 0, 0, 0, 2])➞ [ 0, 0, 0, 0, 10 ]

Corectat
Soluț ie:

functionmulByLen(tab) {
[Link](x=>x * [Link]);

Exercice 8
Creează o funcț ie pentru a elimina toate valorile nule dintr-un tablou.

Exemple:

deleteNull(["Alex", null, "Emily", "Bob"]) ➞ Alex

stergereNull([0, 1, null, 2, null, 3])➞ [0, 1, 2, 3]

ș tergeNull([null, null, null])➞ []

Corectat
Soluț ie:

functioneffaceNull(tab) {

[Link](i=>i !==null)

Exercițiul 9:
O anul bisect are o zi adăugată în februarie pentru a fi sincronizat cu anul.
saisonnière. O anul bisect apare cu o frecvenț ă regulată, determinată de
regulă de mai jos:

O anul trebuie să fie divizibil cu 400 sau divizibil cu 4 ș i să nu fie 100.

Trebuie să implementaț i o funcț ie care returnează ADEVĂRAT dacă este un an bisect, sau
FALSE si nu este cazul.

Exemple:

bissextil(2020)➞ adevărat

// Divizat la 4 ș i nu la 100.
bissextil(1200)➞ fals

// Împărț it la 4, dar de asemenea împărț it la 100.

bisectiune(2000)➞ adevărat

// Împărț it la 400.

Corectat
Soluț ie:

functiebissextilă(an) {

returnyear %400===0|| year %4===0&& year %100!==0;

Exercițiul 1:
Creează o funcț ie care găseș te toate numerele pare de la 1 la numărul dat.

Exemple:

nbrPaire(6)➞ [2, 4, 6]

nbrPaire(4)➞ [2, 4]

nbrPaire(2)➞ [2]

Corectat
Soluț ie:

functiunea nbrPaire(n) {
letpaire =[];

pentru(leti =1; i <= n; i++) {

dacă(i %2===0) {

[Link](i);

returnpaire;

Exercițiul 2:
Scrieț i o funcț ie care returnează TRUE dacă toate caracterele dintr-un ș ir sunt identice,
sinon returnează FALSE.

Exemple:

esteAcelasi("bbbbbb")➞ adevărat

esteLaFel("abababab")➞ fals

esteAcelaș i("111111")➞ adevărat

Corectat
Soluț ie:

functionisSame(str) {

returnnew Set([...str]).size===1;

Exercițiul 3:
Aveț i un tablou de numere, transformaț i acest tablou în oglindă.

Exemple:
miroir([1, 2, 3])➞ [1, 2, 3, 2, 1]

oglindă([9, 8, 7])➞ [9, 8, 7, 8, 9]

miroir([10, 20])➞ [ 10, 20, 10 ]

Corectat
Soluț ie

funcț ia oglindă(tab) {

return[...tab, ...[Link](0, [Link]-1).reverse()]

Exercițiu 4:
Scrieț i o funcț ie recursivă care găseș te suma primelor n numere naturale.

Exemple:

suma(3)➞ 6

// 1 + 2 + 3 = 6

suma(2)➞ 3

suma(10)➞ 55

Corectat
Soluț ie:

functie somme(n) {

dacă(n == 0) {
returnn;

returnează +suma(n -1);

Exercițiul 5:
Creează o funcț ie pentru a extrage numele categoriei din URL-ul său.

Exemple:

getCategory("[Link] html

obtineCategorie("[Link] css

getCategory("[Link] javascript

Corectat
Soluț ie:

functiongetCategory(url) {

[Link]("/")[3]

Exercițiul 6:
Scrieț i o funcț ie care returnează ADEVARAT dacă un obiect este gol, altfel returnează FALS.

Exemple:

isObjEmpty({ a: 1, b: 2 })➞ fals

isObjEmpty({ a: 1 })➞ fals


esteObiectGol➞ adevărat

Corectat
Soluț ie:

functionisObjEmpty(obj) {

întoarce! [Link](obj).length

Exercițiul 7:
Scrieț i o funcț ie care preia ultimele n elemente dintr-un tablou.

Exemple:

ultimeleNitem([8, 1, 5, 2, 4, 9], 3)➞ [2, 4, 9]

ultimulElement([1, 2, 3], 1)➞ [3]

ultimaNitem([1, 2, 3, 4], 10)➞ invalid

ultimulNitem➞ []

Corectat
Soluț ie:

funcț ionlastNitem(t, n) {

returnn <= [Link]? [Link]([Link]-n, [Link]):"invalide";

}
Exercițiul 8:
Scrieț i o funcț ie care elimină toate caracterelor speciale dintr-un ș ir.

Exemple:

WalyT8oLeernX➞ WayToLearnX

,A@[L]?e*$!x➞ ALex

Hella➞ Bună

Corectat
Soluț ie:

functionremoveSpecialChar(str) {

[Link](/[^a-z]/gi,'');

Exercice 9
Scrieț i o funcț ie care returnează ADEVĂRAT dacă un număr este un palindrom.

Exemple:

verificăPalindrom(212)➞ adevărat

verificaPalindrome(123)➞ fals

verificaPalindrom(75257)➞ adevărat

Solutie:

functie verificaPalindrom(n) {
returnString(n).split('').reverse().join('')==String(n);
}

Exercice 1
Distanț a Hamming este numărul de caractere care diferă între două ș iruri. Să luăm
un exemplu :

« abcdde »
abcdbe

Distanț a Hamming = 1 „d” ș i „b” este singura diferenț ă.

Creează o funcț ie care calculează distanț a Hamming între două ș iruri.

Exemple:

distantaHamming("abcdde", "abcdbe")➞ 1

distantaHamming("abefcd", "cdfgea")➞ 6

distantaHamming("agresser", "adresser")➞ 1

distantaHamming("atenț ie", "intenț ie")➞ 2

Corectat
Soluț ie:
YouTube ar fi pus în aplicare un nou...
Răspunde

Dezactivează silenț ios

Încărcat: 100,00%

Timp rămas -0:00

Ecran complet

#YouTube ar fi implementat un nou sistem care împiedică utilizarea extensiei #AdBlock

funcț ia distanț ăHamming(str1, str2) {


return [...str1].filter((x, i) => x != str2[i]).length

Exercițiu 2:
Creează o funcț ie care ia un array de numere ș i returnează minimul ș i maximul
într-un tabel [Min, Max].

Exemple:

getMinMax([8, 1, 9, 2, 6])➞ [1, 9]

getMinMax([22, 2])➞ [2, 22]

getMinMax([5])➞ [5, 5]

Corectat
Soluț ie:

funcț ia getMinMax(tab) {

return[[Link](...tab), [Link](...tab)];

Exercițiul 3:
Creează o funcț ie care contează numărul de litere mari dintr-un ș ir de caractere.

Exemple:

countMaj("abcdEFG")➞ 3

countMaj("WayToLearnX")➞ 4

countMaj("abcdefghigklmnopkrstvuwxyz")➞ 0
Corectat
Soluț ie:

functioncountMaj(str) {

[Link](/[A-Z]/).length-1;

Exercițiul 4:
Creează o funcț ie care numără numărul de silabe al unui cuvânt. Fiecare silabă este separat
printr-un tir (...) -

Exemple:

prin-temps➞ 2

nbrOfSlab("ar-rê-te")➞ 3

nbrOfSlab("ter-mo-me-tru")➞ 4

Corectat
Soluț ie:

functi nbrOfSlab(str) {

[Link]("-").length;

Exercițiul 5:
Implementaț i o funcț ie care returnează distanț a dată în kilometri convertită în mile.
Trebuie să rotunjiti rezultatul până la a patra zecimală.

Exemple:

laMile(5)➞ 3.1069
laMile(7)➞ 4.3496

laMile(10)➞ 6.2137

Corectat
Soluț ie:

functieInMile(km) {

returnparseFloat((km *0.621371).toFixed(4))

Exercițiul 6:
Creează o funcț ie care primeș te un număr (de la 1 la 12) ș i returnează numele său de lună
corespunzător sub formă de ș ir. De exemplu, dacă vi se dă 4 ca intrare,
funcț ia ar trebui să returneze Aprilie, deoarece Aprilie este a patra lună.

Nume Numele lunii

1 Ianuarie

2 Februarie

3 Marte

4 Aprilie

5 Mai

6 Iunie

7 Iulie

8 August

9 Septembrie

10 Octombrie

11 Noiembrie

12 Decembrie
Exemple:

martie➞ Marte

decembrie➞ Decembrie

iunie➞ Iunie

Corectat
Soluț ie:

functieNumeleLunii(n) {
Text provided is not translatable.

Ianuarie

Februarie

Martie

Aprilie

Mai

Iunie

Iulie

August

Septembrie

Octombrie

Noiembrie

Decembrie

};

returnmois[n];

}
Exercițiul 7:
Creează o funcț ie care returnează « Majuscule » dacă toate literele unui cuvânt sunt în
majuscule, « Minuscule » ș i toate literele unui cuvânt sunt în minuscule ș i „Mix” dacă
conț ine atât litere mari, cât ș i litere mici.

Exemple:

CUMSĂÎNVĂȚ I➞ Majusculă

cazulDe("waytolearnx")➞ Minuscule

CazDe("WayToLearnX")➞ Amestec

Corectat
Soluț ie:

functieCazDe(str) {

returnstr === [Link]() ? 'Majuscule' :

str === [Link]()?'Minuscule':'Mix';

Exercițiul 8:
Timpul are un format: ore:minute. Orele ș i minutele au două cifre, ca
07:00. Scrieț i expresia regulată pentru a găsi timpul (ore: minute) în ș ir.

Exemple:

Restaurantul se deschide la 08:00 situat pe bulevardul 200:200➞ 08:00

Am luat prânzul la 10:30.➞ 10:30


Voi merge la cinema mâine la ora 18:00 seara.➞ 18:00

Corectat
Soluț ie:

/\d{2}:\d{2}/

Exercițiul 9:
Scrieț i o funcț ie care primeș te un număr binar de 8 biț i sub formă de tabloul ș i
converteș te-l în zecimal.

Exemple:

binToDec([0, 0, 0, 1, 1, 1, 1, 1])➞ 31

binToDec([0, 0, 0, 0, 0, 0, 0, 1])➞ 1

binToDec([1, 0, 0, 0, 0, 0, 0, 0])➞ 128

Corectat
Soluț ie:

functie binToDec(tab) {

returnparseInt([Link](""),2);

Exercice 1
Un palindrom este un cuvânt care se scrie la fel după inversarea acestuia.
'ada' este un palindrom. Scrieț i o metodă care verifică dacă un ș ir este un palindrom.

Exemple:
estePalindrom("NON")➞ adevărat

estePalindrom("TOTO")➞ fals

estePalindrom("SOS")➞ adevărat

estePalindrom("SELLES")➞ adevărat

Corectat
Soluț ie:

functionisPalindrome(str) {

return[...str].reverse().join("")== str

Exercițiul 2:
Scrieț i o funcț ie care ia două numere ș i returnează dacă ar trebui să fie adunate,
scăzute, înmulț ite sau împărț ite pentru a obț ine 8. Dacă niciuna dintre operaț ii nu poate da 8,
returNUL.

Exemple:

operaț iune(4, 4)➞ a aduna

operaț iune(10, 2)➞ scădere

(32, 4)➞ divizor

operaț iune(6, 6)➞ NULL


Corectat
Soluț ie:

funcț ionare(n1, n2) {

dacă(n1 + n2 === 8) {

return 'adunare';

}else if(n1 * n2 ===8) {

return'multiplier';

}else dacă(n1 - n2 ===8) {

return'soustraire';

}else dacă(n1 / n2 ===8) {

întoarce'diviser';

}else{

returnează null;

Exercițiul 3:
Aț i angajat trei comerciale ș i le plătiț i. Creaț i o funcț ie care primeș te trei
numere (salariul pe oră al fiecărei comerciale) ș i returnează diferenț a între
comerciale cele mai bine plătite ș i cele mai puț in plătite.

Exemple:

getDiff(200, 10, 90)➞ 190

//200 - 10 = 190

obtineDiferenta(56, 29, 16)➞ 40

getDiff(2, 10, 5)➞ 8


Corectat
Soluț ie:

funcț ionareDiff(c1, c2, c3) {

return [Link](...arguments) - [Link](...arguments)

Exercițiul 4:
Ai un tablou de numere, creează o funcț ie care returnează acelaș i tablou, dar cu
indexul fiecărui element din tabloul adăugat lui însuș i. Asta înseamnă că adăugaț i 0
la numărul de la indexul 0, adăugaț i 1 la numărul de la indexul 1, adăugaț i 2 la numărul de la indexul 2 etc ...

Exemple:

adaugăIndiciLaElem([0, 0, 0, 0])➞ [0, 1, 2, 3]

adaugăIndexeLaElem([2, 1, 0, 1])➞ [2, 2, 2, 4]

adaugaIndiciLaElem([9, 8, 7, 6])➞ [9, 9, 9, 9]

Corectat
Soluț ie:

function adaugaIndexeLaElem(tab) {

[Link]((val,i)=>val + i);

Exercițiul 5:
Creează o funcț ie care primeș te un ș ir ș i returnează un ș ir cu spaț ii între toate
caractere.

Exemple:

adaugatiSpatiu("waytolearnx")➞ waytolearnx
adaugăSpaț iu("Salut BoB")➞ B u n ă d i n a

Îț i mulț umesc➞ Îț i mulț umesc

Corectat
Soluț ie:

function adaugăSpaț iu(str) {

return[...str].join(' ');

Exercițiul 6:
Aveț i un tabel de băuturi, fiecare băutură fiind un obiect cu două proprietăț i: nume ș i
preț . Creaț i o funcț ie care are ca argument tabloul băuturilor ș i returnaț i obiectul
băuturi sortate după preț în ordine crescătoare.

Să presupunem că tabelul de obiecte de băutură următor trebuie să fie sortat:

boissons = [

lămâie

mentă

căpș ună

Ieș irea obiectului băuturi sortate va fi:

Exemple:

sortareDupăPreț ( băuturi )➞ [

căpș ună
mentă

lămâie

Corectat
Soluț ie:

functie sortareDupăPreț ( băuturi) {

[Link]((a, b)=>[Link]- [Link]);

Exercițiul 7:
Un număr uniform este un număr pozitiv compus din aceeaș i cifră.

Creează o funcț ie care primeș te un întreg ș i returnează dacă este un număr uniform sau nu.

Exemple:

isUniforme(444)➞ adevărat

isUniforme(-444)➞ fals

isUniforme(0)➞ adevărat

Corectat
Soluț ie:

functionisUniforme(n) {

returnnew Set('' + n).size === 1

Exercițiul 8:
Cu două ș iruri, creaț i o funcț ie care returnează numărul total de caractere unice ale
ș ir concatenat.

Exemple:

uniquesChr("atenț ie", "intenț ie")➞ 6

// "attentionintention" a 6 caractere unice:

uniqueChr("plus", "tous")➞ 6

unicChar("bis", "lis")➞ 4

Corectat
Soluț ie:

funcț ie unicaChr(s1, s2) {

return new Set(s1 + s2).size;

Exercițiul 9:
Scrieț i o funcț ie recursivă care găseș te suma unui tablou.

Exemple:

suma([1, 2, 3])➞ 6

sumă([1, 2])➞ 3

somme([])➞ 0

Corectat
Soluț ie:

functionsumă(tab) {

dacă ([Link] === 0)

return0;

altfel

[Link]()+somme(tab);

Exercițiul 1:
Creează o funcț ie care acceptă două parametre ș i, dacă ambele parametre sunt ș iruri,
adunaț i-le ca ș i cum ar fi întregi sau dacă ambii parametri sunt întregi,
concatenează-le.

Exemple:

adauga("2", "3")➞ 5

adună(2, 3)➞ 23

adăugă("2", 3)➞ null

Corectat
Soluț ie:

functieadaugă(a, b) {

dacă(typeofa !==typeofb)

return null;

dacă (typeofa === 'string')


returnNumber(a)+Number(b);

return`${a}${b}`;

Exercițiul 2:
Creează o funcț ie care returnează produsul tuturor numerelor întregi impare dintr-un array.

Exemple:

prodImp([1, 2, 3, 4])➞ 3

prodImp([3, 6, 8, 5, 5, 7])➞ 525

prodImp([1, 0, 1, 0, 1, 0])➞ 1

Corectat
Soluț ie:

functionprodImp(tab) {

[Link](i=>i %2!==0).reduce((a,b)=>a * b);

Exercițiul 3:
Creează o funcț ie care repetă fiecare caracter dintr-un ș ir de n ori.

Exemple:

repeatChr("alex", 3)➞ aaallleeexxx

repeatChr("waytolearnx", 1)➞ moduldeinvatzarex


repeatChr("bob", 2)➞ bboobb

Corectat
Soluț ie:

functionrepeatChr(str, n) {

returnstr

.split('')

.map(c=>[Link]ă(n))

.alătură-te('');

Exercițiul 4:
Aveț i un tabel cu cuvinte aleatorii, dar programul dvs. nu acceptă cuvintele
începând cu litera mare « Z ». Ș tergeț i cuvintele neacceptate ș i trimiteț i-l
tablou nou.

Exemple:

filterWords(["Bob", "Alex", "Zoello"]) ➞ Bob

filterWords(["Lion", "Zebra", "Gazelle"]) ➞ ["Lion", Gazelle"]

filterWords(["Mercedes", "Bmw", "Audi"]) ➞ ["Mercedes", "Bmw", "Audi"]

Corectat
Soluț ie:

functieFiltreazaCuvinte(tab) {

[Link](str=>/^[^Z]/.test(str))

}
Exercițiul 5:
Scrieț i o funcț ie care ia un tablou de elemente ș i returnează doar numerele întregi.

Exemple:

getInt([1, 2, "3", "4", "5", 6])➞ [1, 2, 6]

getInt(["Vache", 20, "Cheval", 1, "Poule", 50]) ➞ [20, 1, 1]

getInt(["Str", false, 5.56, 6])➞ [6]

Corectat
Soluț ie:

functie getInt(tab) {

[Link]([Link]);

Exercițiul 6:
Creează o funcț ie care converteș te două tablou de coordonate x ș i y într-un tablou de
coordonate (x, y).

Exemple:

convert([0, 2, 5], [8, 6, 9]) ➞ [ [ 0, 8 ], [ 2, 6 ], [ 5, 9 ] ]

converteș te([2, 2], [4, 8])➞ [ [ 2, 4 ], [ 2, 8 ] ]

converti([1], [2])➞ [ [ 1, 2 ] ]

Corectat
Soluț ie:
funcț ie conversie(tabX, tabY) {

[Link]((ix, iy)=>[ix, tabY[iy]])

Exercițiul 7:
Creează o funcț ie care înlocuieș te toate vocalele dintr-un ș ir cu un caracter specificat.

Exemple:

v$y$ll$➞ v$y$ll$

b????l?v?rd➞ bulevard

b@ch@➞ f@@t@

Corectat
Soluț ie:

funcț ionareînlocuiveziune(str, c) {

[Link](/[aeoiu]/g, c);

Exercițiul 8:
Creează o funcț ie pentru a calcula determinantul unei matrice 2 x 2.

[[a, b],

[c, d]]

Determinantul matricei de mai sus este: ad – bc:

Exemple:
det(

[1, 1]

[2, 3]

]) ➞ 1

det(

[6, 4]

[2, 3]

]) ➞ 10

det(

[2, 4]

[4, 2]

]) ➞ -12

Corectat
Soluț ie:

functieDet(matrice) {

return(matrice[0][0]*matrice[1][1]- matrice[1][0]*matrice[0][1]);

Exercițiul 9:
Scrieț i o funcț ie care returnează extensia fiș ierelor.

Exemple:

obț ineExtensie(["[Link]", "[Link]"])➞ ["html", "js"]


getExtension(["[Link]", "[Link]", "[Link]"])➞ jpg

getExtensia([➞ ["pdf", "txt", "docx"]

Corectat
Soluț ie:

functiongetExtension(fisiere) {

[Link](file=>[Link](".").pop())

S-ar putea să vă placă și