Bacalaureat 2015-Sesiunea august-septembrie
Subiecte bac 2015-Sesiunea de toamna
Rezolvare bac 2015-Sesiunea de toamna
Subiectul I
1. a
2.
a) 3 2 1 3 2 1 3
b) 5 si 93
c)
citeste n,k
(numere naturale nenule)
- cat timp n≥1 executa
| -daca n>k atunci i<-k
| | altfel i<-n
| |_
| n<-i
| t<-k
| -repeta
| | scrie t, ' '
| | i<-i-1
| | t<-t-1
| | pana cand i<1
| |_
|_
d)
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
unsigned int n,i,k,t;
do{cout<<"Introduceti n si k numere naturale nenule:"<<endl;
cout<<"n=";cin>>n;
cout<<"k=";cin>>k;
}while(n<1 || k<1);
while(n>=1)
{
if(n>k)
{i=k;}
else
{i=n;}
n=n-i;
t=k;
while(i>=1)
{
cout<<t<<" ";
i=i-1;
t=t-1;
}
}
return 0;
}
Subiectul II
1. d
2. b
3. 1 2 5 6 7 10
4. a[i][j]=(i-1)*5+j;
5.
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
char a[100];
int p=1,i,v=0;
do{cout<<"a=";cin>>a;
}while(strlen(a)<2 || strlen(a)>100);
for(i=0;i<strlen(a);i++)
{
if(a[i]=='a' || a[i]=='o' || a[i]=='u' || a[i]=='e') // if(strchr("aeou",a[i])
p=0;
else
if(a[i]=='i')
v++;
}
if(p==0)
cout<<"NU";
if(v==strlen(a))
cout<<"NU";
if(p==1 && v!=strlen(a))
cout<<"DA";
return 0;
}
Subiectul III
1. b
2. F(2015,2);
3.
#include <iostream>
using namespace std;
int nrPrime(long n)
{
int p=0,c;
while(n)
{
c=n%10;
if(c==2 || c==3 || c==5 || c==7)
p++;
n=n/10;
}
return p;
}
4.
b)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("BAC.TXT");
int i,s1p=0,s1i=0,s2p=0,s2i=0,n,x;
f>>n;
for(i=0;i<n;i++)
{
f>>x;
if(x%2)
s1i+=x;
else
s1p+=x;
}
for(i=0;i<n;i++)
{
f>>x;
if(x%2)
s2i+=x;
else
s2p+=x;
}
cout<<s1i<<"*"<<s2p<<"+" <<s1p<<"*"<<s2i<<"="<< s1i*s2p+s1p*s2i << endl;
f.close();
return 0;
}
a)
Cu ajutorul variabilei "x" am citit numerele din fisier. Cu ajutorul variabilelor "s1i", "s1p", "s2i", "s2p" am calculat suma elementelor impare, respectiv pare din prima jumatate a fisierului, respectiv din a doua jumatate a fisierului. Suma ceruta este s1i*s2p+s1p*s2i,
Algoritmul este eficient deoarece: nu foloseste un tablou, este liniar, parcurge o singura data fiesierul, este de tipul O(n).