Académique Documents
Professionnel Documents
Culture Documents
Remarque IMPORTANTE : Pour les questions 2 à 7, cochez une seule case. Toute réponse avec 2 cases
cochées et plus sera considerée fausse.
EXERCICE 1 :
Etant données les lignes de programme suivants, répondez aux questions posées :
Question 1 :
Question 2 :
Question 4 :
Cocher la bonne réponse pour s :
int i , s ;
for ( i = 0 , s = 0 ; I < 5 ; i++ ) □ s=0
{ □ s=2
if( i % 2 ) continue; □ s=4 1 pts
s = s + i; □ s=6
} □ s=8
cout << "s = "<< s <<endl;
Question 5:
Question 6 :
Quelle est la valeur de A ? Quelle est la valeur de B ?
int T[][3]={1,2,3,4,5,6,7,8,9}; □ 1 □ 1
int A , B ; □ 2 □ 2
A = T[0][2] ; □ 3 0.5 pts □ 3 1 pts
B = *( *(T+1) + 1) ; □ 4 □ 4
cout << "A="<< A << "B="<< B ; □ 5 □ 5
Question 7 :
Question 8 :
main()
{
int T[ ] = { -4 , -3 ,- 2 , -1 , 0 , 1 , 2 , 3 , 4 , 5 } ;
int *P, A , B;
P = T + 4 ; //Ligne 1
P+=T[5] ; //Ligne 2
++P ; //Ligne 3
P=P + T[0] ; //Ligne 4
++*P ; //Ligne 5
}
Pour chacune des lignes 1 à 5, vers quel élément de T « pointe » le pointeur P, et quelle est la valeur de *P ?
Exemple :
Ligne 1 : P pointe sur T[4] et *P vaut 0
EXERCICE II
///Question 2 .5 pts
srand(time(0));
for(i=0;i<N;i++) T[i]=rand()%100+1; 1. pts
///Question 3
for(i = 0;i < N; i++) cout <<T[i]<< "\t"; .75 pts
///Question 4
for(i=0,Ni=0;i<N;i++) 1 pts
if(T[i]%2)
Ni++;
cout << "\nNombre d'éléments impairs : " << Ni <<endl; .5 pts
///Question 5
Proposition 1 Proposition 2
for(i=0;i<N;i++) for(k=0,i=0;i<N;i++)
for(j=i+1;j<N;j++) {
if(T[i]==T[j]) for(test=0,j=i+1;j<N;j++)
1. pts { if(T[i]==T[j]) test=1;
for(k=j;k<N-1;k++) if(test==0)
T[k]=T[k+1]; T[k]=T[i], k++;
N--; }
j--; N = k;
}
///Question 6
Proposition 1 Proposition 2
i=0;
j=N-1; for(i=1;i<N;i++)
while(i<j) if(T[i]%2)
{ {
while(T[i]%2) i++; for(C=T[i],j=i;j>0;j--)
1.5 pts
while(T[j]%2==0) j--; T[j]=T[j-1];
if (i<j) T[0]=C;
C=T[i],T[i]=T[j],T[j]=C; }
}
return 0;
}