Răspuns :
Afirmatiile a, b, c si d sunt adevarate
a. m este declarata local si primeste o valoare necunoscuta care poate fii para sau impara
b. z nu o sa fie niciodata 24 pentru ca nu este modificat
c. nu afecteaza programul sau raspunsul dar este o afirmatie adevarata
d. lui p nu i se atribuie p-1, doar se verifica daca este egal cu p-1 si in cazul asta o sa ramana 10
raspunsul cred ca e a,b,d pentru ca c nu e un motiv pentru care nu se afiseaza "DA"
Problema scrisa de tine este o problema de pe wellcode.ro ...
Pentru ca sa arate "DA" pe ecran, conditia lui IF trebuie indeplinita
((n + m) % 2 == 0 && p == 9 && z == 24) < ---- conditia lui IF
pentru ca ea sa fie indeplinita, trebuie ca atat partea stanga... (n + m) % 2 == 0, partea din centru p == 9 cat si partea din dreapta z == 24 sa fie adevarate in acelasi timp ... true && true &&true
if ((n + m) % 2 == 0 && p == 9 && z == 24)
In linia a 2-a variabila m nu are nici o valoare,
int n = 1, m, p = 5, z = 23, k = 5;
Partea din stanga nu poate fii adevarata deoarece lui m nu ii s-a atribuit nici o valoare, prin urmare (n + m) % 2 == 0 nu se poate calcula.
deci pe wellcode bifeaza varianta a, pentru ca nu a fost initializata, gen m=3; etc
variabila z nu isi schimba valoarea, z=23, fiindca nu exista posibilitatea ca sa fie si 24, conditia lui IF nu va putea fii indeplinita niciodata.
deci pe wellcode bifeaza si varianta b.
variabila k aici nu ne intereseaza pentru ca nu face parte din conditia lui IF.
linia a 7-a adica p == p - 1; nu are nici un efect, variabila p fost initializata cu valoarea 5, dar == nu este semnul de la atribuire si chiar daca ar fii fost, p scadea, nu avea cum sa ajunga la valoarea 9 pentru a fii adevarata conditia lui IF.
Mult succes!
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că resursele disponibile v-au fost de ajutor. Pentru întrebări sau asistență suplimentară, nu ezitați să ne contactați. Ne bucurăm să vă revedem în curând și vă invităm să ne salvați în lista de site-uri preferate!