Mathematics">
[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
198 vues7 pages

Solutions TDs (Algo Et Pascal)

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 7

Solutions des séries d’exercices :

TD N°1
Solution de l’Exercice N°1 :
Les valeurs des variables A, B et C après exécution des instructions :

A ← 3 ……… A=3 ;
B ← 10 ……… B=10 ;
C ← A + B ….. C=3+10=13 ;
B ← B + C ….. B=10+13=23 ;
A ← C ………A=13 ;
D ← B ………D=23 ;
Après l’exécution, on aura : A=13 ; B=23 ; C=13 ; D=23.

Solution de l’Exercice N°2 : algorithme calculant la racine carrée d’un entier :


Algorithme racine_carrée_de_N
Variable N en entier
R en réel
Début
Ecrire (‘Calcul de la racine carrée d’un entier :’)
Ecrire (‘Saisir un nombre entier :’)
Lire (N)
R√
Ecrire (‘la racine carrée est :’, R)
Fin

Solution de l’Exercice N°3 algorithme intitulé « Eq_1er_degre » qui permet de résoudre une
équation du premier degré (de forme ax + b = 0)

Le programme doit traiter tous les cas possibles :

• 1er cas a<>0 et b quelconque --> solution =-b/a


• 1èr cas : a=0 et b=0 --> solution ="l’ensemble ℝ " (tout réel est solution)
• 2ème cas a=0 et b<>0 --> solution =Impossible (pas de solution puisque a=0)
Solution de l’Exercice N°4 (Produit de n premiers éléments : Factorielle de n « n ! »)
Algorithme produit
Variables p, i, n en entier
Début
Ecrire (‘donnez un entier non nul :’)
Lire (n)
p 1
Pour i1 à n faire
pp*i
Fin Pour
Ecrire (‘le produit est :’, p)
Fin
Solution de l’Exercice N°5

1) l’algorithme calcule deux sommes : paire et impaire allant de 1 à un nombre entier N.


Algorithme somme paire impaire
Variables N, s1, s2, i en entier
Début
Ecrire ( "Donnez un entier supérieur à 1 :")
Lire (N)
s10 , s20
Pour i1 a N faire
Si (i mod 2 =0) alors s2 s2+i
Sinon s1s1+i
Fin si
Fin Pour
Ecrire ( "La somme impaire est" : , s1)
Ecrire ("La somme paire est" : , s2)
Fin
2) L’algorithme en utilisant Tant que :
Algorithme somme paire impaire
Variables N, s1, s2 en entier
Début
Ecrire ( "Donnez un entier supérieur à 1 :")
Lire (N)
s10 , s20; i1 ;
Tant que i<= N faire
Si (i mod 2 =0) alors s2 s2+i
Sinon s1s1+i
Fin si
i i+1
Fin Tant Que
Ecrire ( "La somme impaire est" : , s1)
Ecrire ("La somme paire est" : , s2)
Fin
 TD N°2

Solution de l’Exercice N°1 :


Algorithme moyenne_groupe

constante : NTE =20


Variables i en entier
MGE, som en réel
Debut
Som  0
pour i=1 à NTE faire
Ecrire(‘ entrer la moyenne de l’’étudiant N°’,i,’ : ’)
Lire(MGE)
som som+MGE
Fin pour
Ecrire(‘ la moyenne du groupe est :’, som/NTE )
fin

Solution de l’Exercice N°2 :


Insertion de Tant que et Répéter à la place de Pour : idem que l’exercice N1 avec (en plus)
initialisation du compteur i + incrémentation.
a) Tant que
…….//……
Debut
i1 ;
Tant que (i=< NTE) faire
…………//………..
…………//………..
i i+1 ;
Fin TQ
………//…………
fin
b) Répéter
Debut
i1 ;
Repeter
………//…………..
………//…………..
i i+1 ;
Jusqu’à (i> NTE)
………//…………
fin

Solution de l’Exercice N°3

Algorithme saisie_affichage_tab;
Var
T : tableau (100) en réels ; (*ici on a pris un vecteur de longueur 100 par défaut*)
N, i en entier
Debut
Ecrire(‘entrer le nombre d’éléments du tableau :’)
Lire(N)
(*lecture des éléments du tableau*)
Pour i  1 à N faire
Ecrire(‘entrer l’element N° ’,i)
Lire(T[i])
Fin pour
(*affichage des éléments du tableau *)
Pour i  1 à N faire
Ecrire(‘l’’element T[’,i,’] est : ‘,T[i])
Fin pour
Fin
Solution de Exercice N°4 :
Idem que l’exercice N°3 avec en plus : som som+T[i]
En fin de boucle : la moyenne est : moy  som/N
Algorithme moyenne_elem_tab
Var
T : tableau (100) en réels ; som, moy en reel
N, i en entier
Debut
Ecrire(‘entrer le nombre d’éléments du tableau :’)
Lire(N)
som0
Pour i  1 à N faire
Ecrire(‘entrer l’element N° ’,i)
Lire(T[i])
som som+T[i]
Fin pour
(*Calcul et affichage de la moyenne*)
moy  som/N
Ecrire (‘la moyenne est : ’, moy)
Fin

Solution de Exercice N°5 :

Algorithme MinMax;

Contante n=10
Variables
T: tableau (n) en entier
min, max, i en entier

Debut

Pour i  1 à n faire
Ecrire (‘entrer l’element N° ’,i)
Lire(T[i])
Fin pour

min  T[1] (*on prend les premiers éléments comme min & max par défaut juste pour
commencer les tests*)
max  T[1]
Pour i  2 à n Faire
Si (T[i] < min) Alors
min  T[i]
Sinon Si (T[i] > max) Alors
max  T[i]
Fin Si
Fin Pour

Ecrire("Le minimum saisis est: ", min)


Ecrire("Le maximum saisis est: ", max)

Fin

Solution de Exercice N°6 :

Algorithme matrice_somme
Variables
A: tableau (3,3) en réel
B: tableau (3,3) en réel
AplusB : tableau (3,3) en réel
i,j: entiers

Debut
(*calcul de la matrice somme *)

Pour i  1 à 3 Faire
Pour j 1 à 3 Faire
AplusB[i,j]  A[i,j] + B[i,j]
Fin pour
Fin pour

(* Affichage des éléments de la matrice somme *)


Pour i  1 à 3 Faire
Pour j 1 à 3 Faire
Ecrire(‘l élément AplusB[‘,i,’,’,j,’] = ‘, AplusB[i,j])
Fin pour
Fin pour

Fin

 TD N°3

Solution de l’Exercice N°1 :

1)
Algorithme abscisse_ord
Variables y, x en reels
Début
Ecrire("Saisir l'abscisse du point : ")
Lire(x)
y  2 * (x * x) - 3 * x + 1
Ecrire("l'ordonné du point = ",y)
Fin
2) Le programme Pascal correspondant :

Program abscisse_ord ;
Var y, x : real;
BEGIN
Writeln(‘Saisir l'abscisse du point : ‘) ;
Readln(x) ;
y := 2 * SQR(x) - 3 * x + 1;
Writeln(‘l'ordonné du point = ‘,ord);
END.

Solution de l’Exercice N°2:


Program factorielle ;
Var f, i, n : integer;
BEGIN
writeln (‘donnez un entier naturel :’)
read (n),
f 1
if (n=0 or n=1) then f:=1;
else
for i :=1 to n do
ff*i;
end ;
writeln (‘la factorielle de’,n,’ =’, f)
END.

Solution de l’Exercice N°3: Pour cet exercice on utilise qlqs fct prédéfinies (Rappel) :

Valeur absolue de x ABS(x)


Arc tangente de x ARCTAN(x)
Cosinus de x COS (x)
Sinus de x SIN(x)
Logarithme népérien de x LN(x)
Racine carrée de x SQRT(x)
Carré de x SQR(x)
Exponentielle de x EXP(x)
Partie entière de x TRUNC(x)
Program_somme_fct ;

const N =90 ; pi=3,14 ;


Var n : integer ;
Sn : real ;
BEGIN
Sn := 0 ;
for n :=2 to N do
Sn := Sn+(1/pi *sin(pi/n)+SQRT((SQR(n)+1)/(2*n+3)) ;

Writeln (‘ la somme est :’, Sn) ;


END.

Solution de l’Exercice N°4 :


Program moyenne;
Const ntm=5;
Var
I, cft : integer ;
MG,som, note : real ;

BEGIN
Som := 0 ; Scft:=0;
for i :=1 to ntm do
Writeln(‘ entrer la note du module’,i,’ :’) ;
Readln (note) ;
Writeln(‘ donner le coefficient du module :’ ) ;
Readln (cft) ;

som som+cft*note ; Scft :=Scft+cft ;


end ;
MG :=som/Scft ;
Writeln(‘ la moyenne est : ‘, MG ) ;
END.

Vous aimerez peut-être aussi