Informatică, întrebare adresată de infooo34, 8 ani în urmă

1. Ce erori de sintaxă conţin expresiile de mai jos?

a) (x+3, unde x este o variabilă întreagă

b) x+1, unde x este o variabilă de tip str (șir de caractere)

c) (x+1/((x+2)-1 (x este variabilă întreagă)

d) y=5x (x,y sunt variabile reale)


2.Considerăm

a = 2

b = 5

Care este valoarea rezultată în urma evaluării expresiei de mai jos?

True == a < b

Dar True == (a < b) ?

Dar not a + b ?

Dar a += b+1 ?

Explicați rezultatele.

Răspunsuri la întrebare

Răspuns de adrianbuf18
0

1. a) paranteza nepereche
b) operatorul '+' folosit asupra a doua tipuri de variabile incompatibile
c) paranteza nepereche
d) lipsa operatorului dintre 5 si x

2. True == a<b
a este intr-adevar mai mic decat b, deci a<b este adevarat.
true == true este adevarat
deci valoarea expresiei va fi true.
la fel si pentru true == (a<b), pentru ca oricum se evalueaza intai fiecare parte a operatorului == iar apoi se compara, deci parantezele nu schimba nimic.

not a are valoarea 0, daca a e diferit de 0, si valoarea 1, daca a e 0.
a este 2, deci not a va fi 0.
deci valoarea not a + b va fi 0+5, adica 5

operatorul += adauga la valoarea initiala a variabilei valoarea din dreapta sa. deci a+=b+1 va adauga valorii lui a valoarea b+1, adica noua valoare a lui a va fi 2+5+1, adica 8.  
se poate efectua operatia de adunare dintre a si b+1, deci daca ai folosi expresia a += b+1 drept conditie pentru o instructiune if spre exemplu, valoarea sa va fi true.




Alte întrebări interesante