Devoirs et examens sur : www.Kiteb.net

Sous programmes– Fiche 1 -Fonctions & procédures
Algorithme du programme principale
Exercice1 :
0) Début calcul
Écrire un programme qui permet de saisir Algorithme de la procédure Afficher :
Exercice2 :
deux entiers a et b >0 puis permuter leurs 0) DEF Proc Afficher( a : entier, b :entier) Écrire un programme qui permet de saisir 1)PROC Saisir(x,y)
valeurs enfin les afficher.
1) Ecrire("a=", a, " b=",b)
deux entiers x et y <=9 puis calculer la 2)p ← FN puissance(xy)
3)Ecrire(''X à la puissance y ='',p)
Pour résoudre ce problème on va utiliser les 2) Fin Afficher
puissance xy enfin afficher le résultat.
4)Fin calcul
modules suivants : saisir, permuter et afficher
Algorithme de la procédure permuter:
Pour résoudre ce problème on va utiliser les Algorithme de la procédure saisir :
Analyse du programme principale :
0)DEF PROC Saisir(var a, var b) ;
0) Def proc permuter (VAR a :entier,VAR b :entier) modules suivants :
Nom : permutation
1)Répéter
1) c  a
procédure saisir(x,y)
Résultat= PROC Afficher (a,b)
Ecrire(''x= '') , lire(x)
2) a  b
fonction puissance(x,y)
(a,b)= PROC permuter (a,b)
Ecrire(''y= ''), lire(y)
3) b  c
(a,b)= PROC Saisir (a,b)
Analyse du programme principale :
Jusqu'a (a<=9) et (y<=9)
4)Fin permuter
Fin Permutation
Nom: calcul
2)Fin saisir
Résultat= Ecrire(''X à la puissance y ='',p)
Algorithme de la fonction puissance :
Tableau de Déclaration de Objet Globaux
Traduction Pascal :
p ← FN puissance(x,y)
0)DEF FN puissance(x,y:entier):entier
objet
Type/nature
Program permutation ;
(x,y)=PROC saisir(x,y)
1) [m ← 1] pour i de 1 à y faire
Uses wincrt ;
A,b
Entier
Fin calcul
m ← m*x
Var a,b :integer;
objets globaux
Afficher, permuter, saisir Procédures
FinPour
Tableau de Déclaration des Objets Globaux
Analyse de la procédure Afficher :
2) puissance ← m
Procedure saisir( VAR a : integer ; VAR b :integer);
DEF PROC Afficher (a :entier , b :entier)
Objets
Type/Nature
Begin
3)Fin puissance
passage par variable
Résultat=
repeat
Programme pascal :
x,y,p
Entier
Ecrire("a=",a, "b=",b)
writeln(‘a=’) ; readln(a);
Program calcul ;
saisir
procédure
Fin Afficher
writeln(‘b=’) ; readln(b);
Uses wincrt ;
puissance
fonction
Analyse de la procédure permuter :
until (a>0) and (b>0);
Var x , y , p : integer ;
Def proc permuter ( VAR a : entier, VAR b :entier)
End ;
Analyse de la procédure saisir :
Résultat=c  a
Procedure saisir(var x,y:integer) ;
paramètres Formels
DEF PROC saisir( var x: entier, var y : entier) Begin
ab
Procedure permuter( VAR x :integer; VAR y:integer); Résultat=Répéter
bc
Repeat
Var c: integer;
objets locaux
x=donnée(''x= '')
Fin permuter
Writeln('x= ');readln(x) ;
Begin
y=donnée(''y= '')
T.D.O locaux
Writeln('y= ');readln(y) ;
C:=x;
Jusqu'a (a<=9) et (y<=9)
Until (x<=9) and (y<=9)
objet
Type/nature
x:=y;
Fin Saisir
End ;
c
Entier
y:=c;
Analyse de la procédure saisir:
Passage par valeur
Function puissance(x,y:integer):longint ;
End ;
Analyse de la fonction puissance :
DEF PROC Saisir (VAR a : entier, VAR b :entier)
DEF FN puissance( x: entier, y : entier) : entier Var i:integer;m:longint ;
Résultat=Répéter
Begin
Résultat= puissance ← m
Procedure afficher( a : integer ; b :integer);
A=donnée("a=")
M:=1 ;
m= [m ← 1] pour i de 1 à y faire
Begin
B= donnée("b=")
For i:=1 to y do
m ← m*x
Writeln(‘a=’,a,’b=’,b);
Jusqu'à (a>0) et (b>0)
M:=m*x
FinPour
End ;
Fin Saisir
Fin puissance
Puissance:=m ;
Begin
Tableau de Déclaration des Objets Locaux End ;
Algorithme du programme principal
Saisir(a,b);
appel d’une procédure
0) Début permutation
Objets
Type/Nature
Begin
Permuter(a,b);
1) Proc saisir(a,b)
saisir(x,y) ;
Afficher(a , b );
m,i
Entier
2) Proc permuter(a,b)
P:=puissance(x,y) ;
appel d’une fonction
End.
3) Proc afficher(a,b)
Writeln('X à la puissance y =',p) ;
paramètres effectifs
4) Fin permutation
End.

Fiche1 ex-sous-programme

  • 1.
    Devoirs et examenssur : www.Kiteb.net Sous programmes– Fiche 1 -Fonctions & procédures Algorithme du programme principale Exercice1 : 0) Début calcul Écrire un programme qui permet de saisir Algorithme de la procédure Afficher : Exercice2 : deux entiers a et b >0 puis permuter leurs 0) DEF Proc Afficher( a : entier, b :entier) Écrire un programme qui permet de saisir 1)PROC Saisir(x,y) valeurs enfin les afficher. 1) Ecrire("a=", a, " b=",b) deux entiers x et y <=9 puis calculer la 2)p ← FN puissance(xy) 3)Ecrire(''X à la puissance y ='',p) Pour résoudre ce problème on va utiliser les 2) Fin Afficher puissance xy enfin afficher le résultat. 4)Fin calcul modules suivants : saisir, permuter et afficher Algorithme de la procédure permuter: Pour résoudre ce problème on va utiliser les Algorithme de la procédure saisir : Analyse du programme principale : 0)DEF PROC Saisir(var a, var b) ; 0) Def proc permuter (VAR a :entier,VAR b :entier) modules suivants : Nom : permutation 1)Répéter 1) c  a procédure saisir(x,y) Résultat= PROC Afficher (a,b) Ecrire(''x= '') , lire(x) 2) a  b fonction puissance(x,y) (a,b)= PROC permuter (a,b) Ecrire(''y= ''), lire(y) 3) b  c (a,b)= PROC Saisir (a,b) Analyse du programme principale : Jusqu'a (a<=9) et (y<=9) 4)Fin permuter Fin Permutation Nom: calcul 2)Fin saisir Résultat= Ecrire(''X à la puissance y ='',p) Algorithme de la fonction puissance : Tableau de Déclaration de Objet Globaux Traduction Pascal : p ← FN puissance(x,y) 0)DEF FN puissance(x,y:entier):entier objet Type/nature Program permutation ; (x,y)=PROC saisir(x,y) 1) [m ← 1] pour i de 1 à y faire Uses wincrt ; A,b Entier Fin calcul m ← m*x Var a,b :integer; objets globaux Afficher, permuter, saisir Procédures FinPour Tableau de Déclaration des Objets Globaux Analyse de la procédure Afficher : 2) puissance ← m Procedure saisir( VAR a : integer ; VAR b :integer); DEF PROC Afficher (a :entier , b :entier) Objets Type/Nature Begin 3)Fin puissance passage par variable Résultat= repeat Programme pascal : x,y,p Entier Ecrire("a=",a, "b=",b) writeln(‘a=’) ; readln(a); Program calcul ; saisir procédure Fin Afficher writeln(‘b=’) ; readln(b); Uses wincrt ; puissance fonction Analyse de la procédure permuter : until (a>0) and (b>0); Var x , y , p : integer ; Def proc permuter ( VAR a : entier, VAR b :entier) End ; Analyse de la procédure saisir : Résultat=c  a Procedure saisir(var x,y:integer) ; paramètres Formels DEF PROC saisir( var x: entier, var y : entier) Begin ab Procedure permuter( VAR x :integer; VAR y:integer); Résultat=Répéter bc Repeat Var c: integer; objets locaux x=donnée(''x= '') Fin permuter Writeln('x= ');readln(x) ; Begin y=donnée(''y= '') T.D.O locaux Writeln('y= ');readln(y) ; C:=x; Jusqu'a (a<=9) et (y<=9) Until (x<=9) and (y<=9) objet Type/nature x:=y; Fin Saisir End ; c Entier y:=c; Analyse de la procédure saisir: Passage par valeur Function puissance(x,y:integer):longint ; End ; Analyse de la fonction puissance : DEF PROC Saisir (VAR a : entier, VAR b :entier) DEF FN puissance( x: entier, y : entier) : entier Var i:integer;m:longint ; Résultat=Répéter Begin Résultat= puissance ← m Procedure afficher( a : integer ; b :integer); A=donnée("a=") M:=1 ; m= [m ← 1] pour i de 1 à y faire Begin B= donnée("b=") For i:=1 to y do m ← m*x Writeln(‘a=’,a,’b=’,b); Jusqu'à (a>0) et (b>0) M:=m*x FinPour End ; Fin Saisir Fin puissance Puissance:=m ; Begin Tableau de Déclaration des Objets Locaux End ; Algorithme du programme principal Saisir(a,b); appel d’une procédure 0) Début permutation Objets Type/Nature Begin Permuter(a,b); 1) Proc saisir(a,b) saisir(x,y) ; Afficher(a , b ); m,i Entier 2) Proc permuter(a,b) P:=puissance(x,y) ; appel d’une fonction End. 3) Proc afficher(a,b) Writeln('X à la puissance y =',p) ; paramètres effectifs 4) Fin permutation End.