Bacalaureat 2013-Sesiunea august-septembrie
Subiecte bac 2013-Sesiunea de toamna
Rezolvare bac 2013-Sesiunea de toamna
Subiectul I
1. b
2.
a) 2
b) 7776
c)
citeste a,b
(numere naturale nenule, a ≤b)
nr<-0
i<-a
-daca i<=b
| -repeta
| | x<-i
| | c<-x%10
| | cat timp x<>0 si x%10=c executa
| | x<-[x/10]
| |
| | daca x=0 atunci
| | nr<nr+1
| |
| | i<-i+1
| |
| | pana cand i>b
| |_
|_
scrie nr
d)
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
unsigned int a,b,i,c,x,nr;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
nr=0;
for(i=a;i<=b;i++)
{
x=i;
c=x%10;
while(x!=0 && x%10==c)
x=x/10;
if(x==0)
nr=nr+1;
}
cout<<nr;
return 0;
}
Subiectul II
1. d
2. c
3. 6, 8
4. (p.x>d.p.A.x && p.y<d.p.A.y && p.x<d.p.B.x && p.y>d.p.B.y )
5.
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
char a[101];
int i,s=0,j;
cout<<"a=";cin.get(a,100);
cin.get();
for(i=0;i<strlen(a);i++)
{
if(a[i]==' ')
s++;
else
s=0;
while(s>1)
{ i--;
s--;
for(j=i;j<strlen(a);j++)
a[j]=a[j+1];
}
}
cout<<a;
return 0;
}
Subiectul III
1. b
2. CDEBA, CEDAB
3.
#include <iostream>
using namespace std;
int sub( int n, int v[49], int k)
{
int i,s=0,t=0;
for(i=0;i<n;i++)
if(v[i]%2!=0 && t<k)
{ s=s+v[i];
t++;
}
if(t==k)
return s;
else
return -1;
}
4.
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
ifstream f("bac.txt");
long x,a,t;
int p=0,i=0,aux=0,n;
f>>x;
cout<<"x="<<x<<endl;
while(x!=0)
{
x=x/10;
aux++;
}
n=pow(10,aux);
while(f>>a)
{
if(a%n==x ||a==x)
{
t=a;
p=1;
}
else
{cout<<i<<" "<<a<<" "<<a%n<<endl;
i++;
}
}
if(p==1)
cout<<t;
else
cout<<"Nu exista ";
f.close();
return 0;
}
Am citit primul numar din fisier. Cat timp exista numere in fisier, am continuat citirea, folosind variabila "a". Valoarea variabilei "a" am pus-o in variabila "v". Folosind variabila "aux" am numarat numarul de cifre ale variabile "a". Daca valoarea variabilei "v" este egala cu valoarea variabilei "x" sau daca valoarea variabilei "x" este egala cu restul impartirii lui "v" la 10 ridicat la puterea (aux-1) atunci valoarea variabilei "t" ia valoarea variabilei "v" si variabila "p" care contorizeaza aparitia acestui fenomen ia valoarea 1.
Daca valoarea variabilei "p" este 1, atunci afisam variabila "t", iar in caz contrar, afisam mesajul "Nu exista.".
Algoritmul este eficient deoarece: nu foloseste un tablou, este liniar, parcurge o singura data fisierul, este de tipul O(n).