Bacalaureat 2007-Sesiunea august-septembrie

Rezolvare Bac 2007-sesiunea de toamna

Subiectul I

1. float x

2. 2 muchii

3. 4 cuvinte care se termina in a

4.

k<- 0

-pentru i<-i,15 executa

| |- daca ai >=0 atunci k<- ai +k

| |_

|_

5. q->urm>urm->urm==p->urm

6. maxim 6 noduri

7. a=720 b=6

8. ex(2,10) afiseaza 2345620

Subiectul II

1.

citeste n (numar natural)

x<-0

- repeta

| x<-x*10+n%10

| n<-[n/10]

| e<-n*(n-x) + ( [n/10] - x)

| pana cand e=0

|_

- daca n>0

| atunci scrie 'A'

| altfel scrie 'B'

|_

pentru n=123321 afiseaza A

2. 12321 si 12322 afiseaza valori diferite (sunt numere consecutive)

3. citeste n (numar natural)

x<-0

- cat timp(e<>0) executa

| x<-x*10+n%10

| n<-[n/10]

| e<- n*(n-x) + ([n/10]-x)

|_

- daca n>0

| atunci scrie 'A'

| altfel scrie 'B'

|_

4.

#include <iostream>

using namespace std;

int main()

{

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

int n,x,e;

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

x=0;

do

{

x=x*10+n%10;

n=n/10;

e=n*(n-x)*(n/10 - x);

}while(e!=0);

if(n>0)

cout<<"A";

else

cout<<"B";

return 0;

}

Subiectul III

1.

#include <iostream>

using namespace std;

int main()

{

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

int s,n,i,j;

do

{cout<<"Introduceti un numar impar mai mare ca 2 si mai mic ca 23 : ";

cin>>n;

}while((n<=2) || (n>=23) || (n%2==0) );

int a[n][n];

s=(n+1)/2;

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

{

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

{ a[s][s]=2;

if(i==s || j==s)

a[i][j]=1;

if(i!=s && j!=s)

a[i][j]=3;

}

}

cout<<endl;

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

{

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

{

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

}

cout<<endl;

}

return 0;

}

2.

a)

#include <iostream>

using namespace std;

int prim(int n)

{ int p=1,d=2;

while ( (d<n) && (p==1) )

{

if (n%d==0)

p=0;

d=d+1;

}

if (p==1)

return n;

}

int produs(int a)

{

int t=1,di=1;

for(di=1;di<a;di++)

{

if(a%di==0 && prim(di))

t=t*di;

}

return t;

}

int main()

{

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

cout<<produs(300);

return 0;

}

b)

#include <iostream>

using namespace std;

int prim(int n)

{ int p=1,d=2;

while ( (d<n) && (p==1) )

{

if (n%d==0)

p=0;

d=d+1;

}

if (p==1)

return n;

}

int produs(int a)

{

int t=1,di=1;

for(di=1;di<a;di++)

{

if(a%di==0 && prim(di))

t=t*di;

}

return t;

}

int main()

{

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

int a,b,c;

do

{ cout<<"Introduceti a,b,c numere mai mari ca 1 "<<endl;

cout<<"a=";cin>>a;

cout<<"b=";cin>>b;

cout<<"c=";cin>>c;

}while(a<=1 || b<=1 || c<=1);

if(produs(a)==produs(b)&& produs(b)==produs(c) )

cout<<"DA";

else

cout<<"NU";

return 0;

}

3.

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

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

ifstream f("BAC.TXT");

ifstream g("BAC.TXT");

char n;

int s=0,x;

while(g>>x)

s=s+x;

while(f>>n)

cout<<n;

cout<<s;

f.close();

return 0;

}