Bacalaureat 2010-Sesiunea iunie-iulie

Subiecte bac 2010-Sesiunea de vara

Rezolvare bac 2010-Sesiunea de vara

Subiectul I

1. a

2.

a) 21

b) 10

c)

citeste n (numar natural nenul)

s<-0

-pentru i<1,n executa

| s<-s+i

|_

scrie s

d)

#include <iostream>

using namespace std;

int main()

{

cout << "Hello world!" << endl;

unsigned int n,a,b,j,r,s,i;

do

{

cout<<"n=";cin>>n;

}while(n<=0);

s=0;

for(i=1;i<=n;i++)

{

a=0;

b=1;

j=1;

while(j<i)

{

r=2*b-a;

a=b;

b=r;

j=j+1;

}

s=s+b;

}

cout<<s;

return 0;

}

Subiectul II

1. b

2. taealaurcab

3. 4, 5, 6

4. if(e1.d.an>e2.d.an)

cout<<e2.nume;

else

cout<<e1.nume;

5.

#include <iostream>

using namespace std;

int main()

{

cout << "Hello world!" << endl;

unsigned int n,i,j;

do

{

cout<<"Introduceti un numar mai mare sau egal cu 2 si mai mic sau egal cu 20: ";cin>>n;

}while(n<2 || n>20);

int a[n][n];

for(i=0;i<n;i++)

{

for(j=0;j<n;j++)

{

if(i==j)

a[i][j]=0;

else

if(j>i)

a[i][j]=j-i;

else

a[i][j]=i-j;

}

}

for(i=0;i<n;i++)

{

for(j=0;j<n;j++)

{

cout<<a[i][j]<<" ";

}

cout<<endl;

}

return 0;

}

Subiectul III

1. b

2. x1=26

x2=25

3.

#include <iostream>

using namespace std;

void sir (unsigned int n,int a[20])

{

int s[20],i,j=1;

for(i=1;i<=20;i++)

if(i<=2)

s[i]=1;

else

s[i]=3*s[i-1]-s[i-2];

for(i=1;i<=n;i++)

if(s[i]%2!=0)

{a[j]=s[i];

j++;

}

for(i=1;i<=n;i++)

if(s[i]%2==0)

{

a[j]=s[i];

j++;

}

cout<<"Sirul s: ";

for(i=1;i<=n;i++)

cout<<s[i]<<" ";

cout<<endl<<"Sirul a: ";

for(i=1;i<=n;i++)

cout<<a[i]<<" ";

}

4.

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

cout << "Hello world!" << endl;

ifstream f("bac.in");

int n,x,i,j=0,s,aux,a[1000];

f>>n;

for(i=0;i<n;i++)

{

f>>x;

if(x%10==5)

{

a[j]=x;

j++;

}

}

do

{s=0;

for(i=0;i<j;i++)

if(a[i]<a[i+1])

{aux=a[i];

a[i]=a[i+1];

a[i+1]=aux;

s=1;

}

}while(s!=0);

for(i=3;i>0;i--)

cout<<a[i]<<" ";

f.close();

return 0;

}

Am citit numarul "n" de pe prima linie a fisierului. Am continuat citirea celor "n" numere ramase in fisier. Pentru fiecare numar am verificat daca ultima sa cifra este 5 ( folosind x%10). Daca ultima cifra a acestui numar a fost 5, atunci acest numar este pus pe o pozitie a tabloului a[1000]. Am ordonat tabloul in ordine descrescatoare. Pentru a afisa in ordine crescatoare cele mai mari numere din acest tablou, se afiseaza incepand cu al treilea numar din tablou si terminand cu primul.