1.Expresia C++
!(x<2001) && !(x<2002 || x>2020) && !(x>2021)
are valoarea 1 dacă și numai dacă valoarea memorată de variabila reală x aparține intervalului:
a. [2001,2002]
b. [2001,2020]
c. [2002,2020]
d. [2002,2021]
2. Algoritmul alăturat este reprezentat în pseudocod. S-a notat cu a%b restul împărțirii numărului natural a la numărul natural nenul b și cu [c] partea întreagă a numărului real c.
citește x (număr natural)
p←1; y←0
┌repetă
│ c←x%10; x← [x/10]
│┌dacă c≠0 atunci
││┌dacă x%10 0
d. x-y>0
4. Variabilele întregi fa şi fb memorează numărătorul, respectiv numitorul unei fracţii. Indicați o secvenţă de instrucțiuni C++ care să memoreze în variabilele întregi sa şi sb numărătorul, respectiv numitorul fracţiei obţinute prin scăderea fracţiei menţionate mai sus din fracția 2020/ 2021 .
a. sa=2020*fb-2021*fa; sb=fb*2021;
b. sa=2020*(fa-fb); sb=fb*2021;
c. sa=2020-fa; sb=fb*2021;
d. sa=2020/fb-2021/fa; sb=fb/2021;
5. Șirul lui Fibonacci are termenii 1, 1, 2, 3, 5, 8 …. În secvența C++ alăturată toate variabilele sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie, astfel încât, în urma executării secvenţei obţinute, variabila z să aibă valoarea 1 dacă numerele nenule memorate inițial în variabilele x și y (x 0)
{ z=y-x;
y=x;
x=z;
}
if(.........)z=1;
else z=0;
a. x==0 || y==1
b. x==1 || y==0
c. x==0 && y==1
d. x==1 && y==1
6. În secvenţa de mai jos toate variabilele sunt de tip întreg, iar de la tastatură se citesc 10 numere naturale. Scrieţi secvența înlocuind punctele de suspensie astfel încât, în urma executării secvenţei obţinute, valoarea variabilei maxp să fie egală cu cel mai mare dintre numerele citite care sunt pare și au două cifre, sau să fie egală cu -1 dacă nu există astfel de numere.
maxp=......;
for(i=1;i<=10;i++)
{ cin>>x;
.............
}
7. Se consideră șirul 1, 3, 7, 13, 21, 31, 43 ... definit astfel: f0=1, iar fn=fn-1+2*n, dacă n≥1 (unde n este un număr natural).
Se citesc de la tastatură două numere naturale din intervalul [1,109], x și y (x
Exemplu: dacă x=21 și y=31, se vor afișa valorile 31 21 13 7 3 1
Răspunsuri la întrebare
1. c) [2002,2020]
2. (STIU SIGUR CA AI LUAT SUBIECTUL DIN SIMULARE BAC 2021 DECI ITI VOI RASPUNDE CHIAR DACA NU SE INTELEGE)
a) 2197553
b) 2012, 2201, 2210
c)
#include<iostream>
using namespace std;
int main(){
int x,p=1,y=0,c;
cin>>x;
do{
c=x%10;
x/=10;
if(c!=0){
if(x%10<c)
y=y*10+c;
else
y=c*p+y;
p*=10;
}
}while(x!=0);
cout<<y;
return 0;
}
d)
citește x (număr natural)
p<-1; y<-0
┌dacă x≠0 atunci
│┌cât timp x≠0 execută
││c<-x%10; x<-[x/10]
││┌dacă c≠0 atunci
│││┌dacă x%10<c atunci y<-y*10+c
││││altfel y<-c*p+y
│││└■
│││ p<-p*10
││└■
│└■
└■
scrie y
4 a) sa=2020*fb-2021*fa; sb=fb*2021;
5. c. x==0 && y==1
6.
maxp=-1
for(i=1;i<=10;i++)
{ cin>>x;
if(x%2==0&&(x>=10&&x<=99))
maxp=x;
}