Bac.2009 Varianta 1

.

Subiectul I

1. d

2. a) 963

b) 61,65,67

c) citeşte n (număr natural)

z<- 0

p<- 1

- daca n>0 atunci

| - repetă

| | c<- n%10

| | n<- [n/10]

| | - dacă c%3=0 atunci

| | | z<- z+p*(9-c)

| | | p<p*10

| | | _

| |

| | până când n<=0

| |_

|_

scrie z

d) #include <iostream>

using namespace std;

int main()

{

unsigned int n,z,p,c;

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

z=0;

p=1;

while(n>0)

{

c=n%10;

n=n/10;

if(c%3==0)

{z=z+p*(9-c);

p=p*10;

}

}

cout<<"z="<<z;

return 0;

}

Subiectul II

1. c

2. d

3. d=sqrt( (B.x - A.x)*(B.x-A.x) + (B.y - A.y)*(B.y - A.y) ) ;

cout<<d;

4. nodul cu cei mai multi fii: 6

frunze: 1,2,3,8

5.

#include <iostream>

using namespace std;

int main()

{

unsigned int n,m,i,j;

do{cout<<"Introduceti numarul de linii intre 2 si 20: n=";cin>>n;}while(n<2 || n>20);

do{cout<<"Introduceti numarul de coloane intre 2 si 20: m=";cin>>m;}while(m<2 || m>20);

int a[n][m];

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

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

a[i][j]=min(i,j);

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

{for(j=1;j<=m;j++)

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

cout<<endl;

}

return 0;

}

Subiectul III

1. d

2. 6

3.

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

ifstream f("bac.txt");

unsigned int n,x,p=0;

do{cout<<"Introduceti un numar natural mai mic sau egal cu 999: ";cin>>n;}while(n>999);

while(f>>x)

{

if(x%n==0)

{cout<<x<<" ";

p=1;

}

}

if(p==0)

cout<<"NU EXISTA";

return 0;

}

4.

#include <iostream>

using namespace std;

int sub(int v[100],unsigned int n,int a)

{

int i,nrap=0;

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

if(v[i]==a)

nrap++;

return nrap;

}

int main()

{

unsigned int n,i,p=0;

do{cout<<"Introduceti un numar natural mai mic sau egal cu 100 n=";cin>>n;}while(n>100);

int v[n];

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

cin>>v[i];

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

if(sub(v,n,v[i])>1)

p++;

if(p==0)

cout<<"DA";

else

cout<<"NU";

return 0;

}