Sunteți pe pagina 1din 2

1. Variabila xeste de tip real.

Care dintre urmtoarele expresii C/C++are valoarea 1dac i


numai dac numrul real memorat n variabila xaparine intervalului (5,8]? (4p.)
a. (x<8)&&(x>=5)b. (x<=8)||(x>5)
c. (x>8)||(x<=5)d. (x<=8)&&(x>5)
Raspuns:Dacaxapartineintervalului(5,8],inseamnacax>5six<=8.
Prinurmare,variantacorectaested).

2. Se consider algoritmul alturat, descris n pseudocod.


citeten(numr natural)
z0
p1
cttimpn>0execut
cn%10
n[n/10]
dac c%3=0atunci
zz+p*(9c)
pp*10

scriez
S-a notat cu x%yrestul mpririi numrului ntreg xla numrul ntreg nenul yi cu [a]partea
ntreag a numrului real a.
a)Scriei valoarea care se va afia dac se citete n=103456. (6p.)
Raspuns : pas 1 : n=103456, c=6, n=10345, z=3, p=10
pas 2 : c=5, n=1034,
pas 3 : c=4, n=103
pas 4 : c=3, n=10, z=63, 100
pas 5 : c=0, n=1, z=963,p=1000
pas 6 : n=0 => se va afisa 963
b)Scriei toate numere naturale impare, distincte, fiecare avnd exact dou cifre, care pot fi citite
pentru variabila nastfel nct s se afieze valoarea 3. (4p.)
Raspuns : Pentru a se afisa 3 (adica z), numerele trbuie sa aiba o cifra divizibila cu 3 , iar 9-c=3
=> c=6 numerele trebuie sa fie impare => numerele sunt 61, 65 si 67
c) Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc structura ct
timp...execut cu o structur repetitiv de alt tip. (6p.)
citesten
z0
p1
executa
cn%10
n[n/10]
dac c%3=0atunci
zz+p*(9c)

pp*10

cttimpn>0
scriez
d) Scriei programul C/C++corespunztor algoritmului dat. (10p.)
#include<stdio.h>
#include<stdlib.h>
int main () {
int n, z, p, c;
scanf ( %d,&n);
z=0; p=1;
while (n>0)
c=n%10;
n=n/10;
if(c%3==0)
z=z+p*(9-c)
p=p*10;
printf (z);
return 0;
}

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