Demande: fonctions ...
2 participants
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal :: Récursivité
Page 1 sur 1
Demande: fonctions ...
bonjour
svp est ce que je peut avoir la correction de ces deux problèmes :
écrire une fonction récessive saisie qui permet de remplir un tableau t par n entier.
écrire une fonction récessive affiche qui permet de afficher un tableau t par n entier.
svp est ce que je peut avoir la correction de ces deux problèmes :
écrire une fonction récessive saisie qui permet de remplir un tableau t par n entier.
écrire une fonction récessive affiche qui permet de afficher un tableau t par n entier.
kerdi- Invité
Re: Demande: fonctions ...
le remplissage d'un tableau peut se faire en utilisant une procédure et non pas une fonction vu que le module remplir retourne plusieurs résultat, même chose pour l'affichage c'est un module qui retourne zéro résultat.
rappel:
* une fonction est un module qui retourne un et un seul résultat de type simple
* une procédure est un module qui retourne zéro ou plusieurs résultat (la (les) variable(s) résultat(s) est (sont) précédée(s) par le mot VAR
Solution 1: (traitement dans la phase du dépilement)
Solution 2: (traitement dans la phase de l'empilement)
rappel:
* une fonction est un module qui retourne un et un seul résultat de type simple
* une procédure est un module qui retourne zéro ou plusieurs résultat (la (les) variable(s) résultat(s) est (sont) précédée(s) par le mot VAR
Solution 1: (traitement dans la phase du dépilement)
- Code:
program tableau;
uses wincrt;
type
tab=array[1..10] of integer;
var
n:integer;
t:tab;
procedure saisir(var n:integer);
begin
write('N=');
readln(n);
if n<1 then
saisir(n);
end;
procedure remplir(var t:tab;n:integer);
begin
if n>1 then
remplir(t,n-1);
write('T[',n,']=');
readln(t[n]);
end;
procedure afficher(t:tab;n:integer);
begin
if n>1 then
afficher(t,n-1);
write('T[',n,']=');
writeln(t[n]);
end;
begin
saisir(n);
writeln('***********Traitement dans la phase de dépilement**************');
writeln;
writeln('************Remplissage du tableau**********);
remplir(t,n);
writeln('************Affichage du tableau**********);
afficher(t,n);
end.
Solution 2: (traitement dans la phase de l'empilement)
- Code:
program tableau;
uses wincrt;
type
tab=array[1..10] of integer;
var
n:integer;
t:tab;
procedure saisir(var n:integer);
begin
write('N=');
readln(n);
if n<1 then
saisir(n);
end;
procedure remplir(var t:tab;n,i:integer);
begin
write('T[',i,']=');
readln(t[i]);
if i<n then
remplir(t,n,i+1);
end;
procedure afficher(t:tab;n,i:integer);
begin
write('T[',i,']=');
writeln(t[i]);
if i<n then
afficher(t,n,i+1);
end;
begin
saisir(n);
writeln('***********Traitement dans la phase d''empilement**************');
writeln;
writeln('************Remplissage du tableau**********);
remplir(t,n,1);
writeln('************Affichage du tableau*********);
afficher(t,n,1);
end.
nejah- Entier Naturel
-
Nombre de messages : 21
Localisation : Tunisie
Réputation : 3
Points : 5154
Date d'inscription : 14/11/2010
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: Demande: fonctions ...
le remplissage d'un tableau peut se faire en utilisant une procédure et
non pas une fonction vu que le module remplir retourne plusieurs
résultat, même chose pour l'affichage c'est un module qui retourne zéro
résultat.
rappel:
* une fonction est un module qui retourne un et un seul résultat de type simple
*
une procédure est un module qui retourne zéro ou plusieurs résultat (la
(les) variable(s) résultat(s) est (sont) précédée(s) par le mot [b]VAR
Je doute fort de cette définition.
En Pascal, on peut retourner plusieurs paramètres résultats avec une fonction: un seul résultat d'une façon directe + plusieurs à l'aide du mot réservé "var".
Exemple:
- Code:
{ fonction qui calcule "a mod b" }
Function DivisionEuclid(a,b: integer; var divZero: boolean): integer;
begin
if (b = 0) divZero := false
else
DivisionEuclid := a mod b;
end;
Je vais la vérifier dès que je trouve turbo Pascal devant moi.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Demande: fonctions ...
T'as raison dans votre remarque, une fonction en pascal peut avoir le mot réservé VAR dans ses paramètres, mais je dois parler en tant que programme officielle destiné pour les niveaux secondaire. on enseigne bien pour les élèves qu'une fonction retourne un seul résultat et ne possède pas le mot VAR malgré ça je leur donne ce truc comme remarque et je les conseille pour ne pas l'appliquer dans leur examens surtout les examens nationales de baccalauréat vu que ça respecte pas le programme officielle
nejah- Entier Naturel
-
Nombre de messages : 21
Localisation : Tunisie
Réputation : 3
Points : 5154
Date d'inscription : 14/11/2010
Feuille de personnage
Capacité linguistique:
(1000/1000)
Sujets similaires
» demande
» demande
» Proposition PFE: Réaliser une application de gestion des demandes de formations...
» Ca ne demande que le bon sens ...
» Demande de réponse
» demande
» Proposition PFE: Réaliser une application de gestion des demandes de formations...
» Ca ne demande que le bon sens ...
» Demande de réponse
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal :: Récursivité
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum