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.