Matière Informatique

(Corrigé) Série 3ème scientifiques

Série d'exercice informatique - 3ème scientifiques

Les structures de contrôle itératives (La boucle Pour)

Correction de la série

Série d’exercices – Informatique -3ème Maths et Techniques

Les structures de contrôle itératives

Exercice 6:

Écrivez un programme qui saisit un entier n suivi de n noms à mettre dans un tableau MN. Il cherche à partir de la fin du tableau, tous les noms commençant par “R” et les affiches. (On suppose que la saisie est en majuscule).

Corrigé Exercice 6

Algorithme :

0) Début exercice6

1) Ecrire("n=") , lire(n)

2) Pour i de 1 à n faire

Ecrire("MN[" ,i, "]= ") , lire (MN[i]) 

FinPour

3) Pour i de n à 1 (pas= -1) faire

Si MN[i][1]="R" alors Ecrire(MN[i])

FinSi

FinPour

4) Fin Exercice6

Exercice 6

En pascal

program exercice6;

uses wincrt;

var

MN : array[1..10] of string ;

n , i : integer ;

Begin

write('n='); readln(n);

For i:=1 to n do

Begin

Write('mn[', i ,']='); readln(mn[i]);

End;

For i:=n downto 1 do

If mn[i][1]='R' then writeln(mn[i]);

End.

Autre méthode Exercice 6 : En utilisant la fonction prédéfinie pos

Corrigé2 Exercice 6

Algorithme :

0) Début exercice6

1) Ecrire("n=") , lire(n)

2) Pour i de 1 à n faire

Ecrire("MN[" ,i, "]= ") , lire (MN[i]) 

FinPour

3) Pour i de n à 1 (pas= -1) faire

Si pos("R" , MN[i])=1 alors Ecrire(MN[i])

FinSi

FinPour

4) Fin Exercice6

En pascal

program exercice6;

uses wincrt;

var

MN : array[1..10] of string ;

n , i : integer ;

Begin

write('n='); readln(n);

For i:=1 to n do

Begin

Write('mn[', i ,']='); readln(mn[i]);

End;

For i:=n downto 1 do

If pos('R',mn[i])=1 then writeln(mn[i]);

End.

 

Exercice 8:

Ecrire un programme qui permet d’afficher un nombre x à la puissance n (avec x et n à saisir) . X=5 n=3 donne p=xn=53=5*5*5

 

Corrigé Exercice 8

Algorithme :

0)Début puissance

1) Ecrire("x=") , lire(x)

2) Ecrire("n=") , lire(n)

3) [p ←1] pour i de 1 à n faire

P ←p*x

Fin pour

4) Ecrire (x , "à la puissance ", n , "=" , p) 

5)Fin puissance

 

puissance

En pascal

program puissance;

uses wincrt;

var p,x,n,i : integer;

begin

write('x='); readln(x);

write('n='); readln(n);

p:=1;

for i:=1 to n do

p:=p*x;

writeln(x , ' à la puissance ', n , ' = ' , p) ;

end.

 

Exercice 9:

Ecrire un programme qui permet d’afficher la table de multiplication d’un entier donné n. Exemple : pour n=8 Table de multiplication pour : 8

1 x 8 = 8

2 x 8 = 16

...

10 x 8 = 80

Corrigé Exercice 9

Algorithme :

0) Début ex9

1) Ecrire("n=") , lire(n)

2) Ecrire("Table de multiplication pour : ", n) 

3) Pour i de 1 à 10 faire

Ecrire(i , " x ", n, " = ", i*n)

Fin pour

4) Fin Ex9

multiplication

En pascal:

program multiplication;

uses wincrt;

var  i,n:integer;

begin

write('n=');

readln(n);

writeln('Table de multiplication pour : ', n);

for i:=1 to 10 do

writeln(i:2, ' x ', n ,' = ',i*n);

end.

 

Exercice 10: Ecrire un programme pascal pour chaque figure suivante : pour n=5

étoiles

Corrigé Exercice 10

Exercice 10:

Program ex10;

Uses wincrt;

Var   I,n :integer ;

Begin

write('n='); readln(n);

writeln('**********');

for i:=1 to n-2 do

writeln('* *');

writeln('**********');

end.

Exercice 10 : triangle

Program ex10triangle;

Uses wincrt;

Var I,j,n :integer ;

Begin

write('n='); readln(n);

for i:=1 to n do

begin

for j:=1 to i do

write(‘*’);

writeln;

end;

end.

Exercice 10 : triangle2

Program ex10triangle2;

Uses wincrt;

Var i,j,k,n :integer ;

Begin

write('n='); readln(n);

for i:=1 to n do

begin

for k:=1 to n-i do

write(' ');

for j:=1 to 2*I-1 do

write('*');

writeln;

end;

end.

 

Exercice 11 :

Écrivez un programme qui saisit une chaîne de caractères, la renverse et la mettre dans une deuxième chaîne puis il affiche les deux sur deux lignes successives.

Corrigé Exercice

Algorithme :

0) Début excercice11

1) Ecrire("ch1=") , lire(ch1)

2) [ch2 ← ""] pour i de long(ch1) à 1 (pas=-1) faire

Ch2 ←ch2+ch1[i]

Fin pour

3) Ecrire ( "chaine1 = " , ch1) 

4) Ecrire ( "Inverse chaine1 = " , ch2)

5) Fin exercice11

inverse

En pascal

program ex11;

uses wincrt;

var i : integer;

ch1,ch2 : string;

begin

write('ch1='); readln(ch1);

ch2:= '';

for i:=length(ch1) downto 1 do

ch2:=ch2+ch1[i];

writeln('chaine1 =',ch1);

writeln('Inverse chaine1=', ch2);

end.

 

Exercice 12 :

Un programme qui permet de saisir un mot en majuscule puis le convertir en minuscule sauf le premier caractère puis l’affiche.

Corrigé Exercice 12

Algorithme :

0) Début excercice12

1) Ecrire("ch=") , lire(ch)

2) Ecrire(ch[1])

3) [] pour i de 2 à long(ch) faire

Ecrire(chr( ord(ch[i])+32 )

Fin pour

4) Fin exercice12

majuscule

En pascal

program ex12;

uses wincrt;

var i : integer;

ch : string;

begin

write('ch='); readln(ch);

write(ch[1]);

for i:=2 to length(ch) do

write(chr( ord(ch[i])+32 ) );

end.

Autre méthode Exercice 12 : Modification sur la chaîne CH

Corrigé2 Exercice 12

Algorithme :

0) Début excercice12

1) Ecrire("ch=") , lire(ch)

2)  [] pour i de 2 à long(ch) faire

ch[i] ←chr( ord(ch[i])+32 )

Fin pour

3) Ecrire(ch)

4) Fin exercice12

 

En pascal

program ex12;

uses wincrt;

var i : integer;

ch : string;

begin

write('ch='); readln(ch);

for i:=2 to length(ch) do

ch[i]:=chr( ord(ch[i])+32 ) ;

writeln(ch);

end.

 

Exercice 13: Ecrire un programme qui permet de saisir une chaine Ch puis une lettre L ensuite calcul et affiche le nombre d’occurrence de L dans Ch

Corrigé Exercice 13

Algorithme :

0) Début excercice13

1) Ecrire("ch=") , lire(ch)

2) Ecrire("L=") , lire(L)

3) [nb ←0] pour i de 1 à long(ch) faire

Si ch[i]=L alors nb ←nb+1

Fin pour

4) Ecrire("Le nbre d’occurrence de ",L , "dans ", ch ,"est ", nb)

5) Fin exercice13 

occurence

 

En pascal

program ex13;

uses wincrt;

var i,nb : integer;

ch : string;  L :char ;

begin

write('ch='); readln(ch);

write('L='); readln(L);

nb:=0;

for i:=1 to length(ch) do

if ch[i]=L then nb := nb+1;

writeln(' Le nbre d’’occurrence de ',L , ' dans ', ch , ' est ', nb)

end.

 

Exercice 14: Écrivez un programme qui saisit un entier positif n et détermine s'il est ou non premier. (Un entier autre que 1 est premier s'il n'est divisible que par 1 et par lui même.)

Corrigé Exercice 14

Algorithme :

0) Début excercice14

1) Ecrire("n=") , lire(n)

2) [nb ←0] pour i de 1 à n faire

Si n mod i=0 alors nb nb+1

Fin pour

3) Si nb=2 alors Ecrire(n ,"est premier")

Sinon Ecrire(n ,"n’est pas premier")

4) Fin exercice14

premier

En pascal

program ex14;

uses wincrt;

var i,nb,n : integer;

begin

write('n='); readln(n);

nb:=0;

for i:=1 to n do

if n mod i=0 then nb:=nb+1;

if nb=2 then

writeln(n, ' est premier' )

else writeln(n, ' n''est pas premier' );

end.

 

Exercice 15: Écrivez un programme qui cherche et affiche les 100 premiers entiers naturels premiers.

premiers
Corrigé Exercice 15

Algorithme :

0) Début excercice15

1) Pour j de 1 à 100 faire

[nb ←0] pour i de 1 à j faire

Si j mod i=0 alors nb ←nb+1

Fin pour

Si nb=2 alors Ecrire(j)

finSi

finpour

2) Fin exercice15

En pascal

program ex14;

uses wincrt;

var i,nb,j : integer;

begin

for j:=1 to 100 do

begin

nb:=0;

for i:=1 to j do

if j mod i=0 then nb:=nb+1;

 

if nb=2 then write(j:3);

end ;

end.

 

Haut de la page
This template downloaded form free website templates