Procedure langage pascal
adel_3n1
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
zinooo Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
zinooo Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
Bonsoir monsieur ;
S'il vous plait des questions par ce que le prof je crois q'il a
Fait une erreur,il a un PH.D par ce que il nous a fait bien comprendre ça aux dernier temp.
et moi j'ai casser la tête en cherchant sur Internet est demander a des gens
ce résultat a l'écran est juste s.v.p ?:
1-question
en jouent sur les paramètre(...),est quoi comme résultat donne
y=3
z=4.0
2-
S.V.P CONNAISSER VOUS SUR INERNET LES SITES DE CE GENERE D'Exercices procédure a ce genre, pouvez vous me les donner s.v.p ?
x:=x+1;
z:=x+1;
en jouent sur les paramètre(...),est quoi comme résultat donne
Program p2
VAR
Y :INEGER .
PROCEDURE INCREMENTER (var x :integer; z:real);
begin
x:=x+1;
z:=x+1
writeln ('z=',z); (*Remarque :j’ai pas bien compris ?,en la choisissent ici*)
begin
y:=2
incrementer (y,2.0);
writeln ('y=',y);
end.
Moi je crois que z=2.0 reste 2.0 puisque dont la procédure on a pas mit var: z pour quelle
Soit modifier (variable local) ,alors la valeur de z vas pas changer du début jusqu'à la fin du programme ,reste la même
S.V.P CONNAISSER VOUS SUR INERNET LES SITES DE CE GENERE D'Exercices procédure a ce genre
x:=x+1;
z:=x+1;
Mais je n’ai pas trouvé
S'il vous plait des questions par ce que le prof je crois q'il a
Fait une erreur,il a un PH.D par ce que il nous a fait bien comprendre ça aux dernier temp.
et moi j'ai casser la tête en cherchant sur Internet est demander a des gens
ce résultat a l'écran est juste s.v.p ?:
1-question
en jouent sur les paramètre(...),est quoi comme résultat donne
y=3
z=4.0
2-
S.V.P CONNAISSER VOUS SUR INERNET LES SITES DE CE GENERE D'Exercices procédure a ce genre, pouvez vous me les donner s.v.p ?
x:=x+1;
z:=x+1;
en jouent sur les paramètre(...),est quoi comme résultat donne
Program p2
VAR
Y :INEGER .
PROCEDURE INCREMENTER (var x :integer; z:real);
begin
x:=x+1;
z:=x+1
writeln ('z=',z); (*Remarque :j’ai pas bien compris ?,en la choisissent ici*)
begin
y:=2
incrementer (y,2.0);
writeln ('y=',y);
end.
Moi je crois que z=2.0 reste 2.0 puisque dont la procédure on a pas mit var: z pour quelle
Soit modifier (variable local) ,alors la valeur de z vas pas changer du début jusqu'à la fin du programme ,reste la même
S.V.P CONNAISSER VOUS SUR INERNET LES SITES DE CE GENERE D'Exercices procédure a ce genre
x:=x+1;
z:=x+1;
Mais je n’ai pas trouvé
A voir également:
- Procedure langage pascal
- Turbo pascal - Télécharger - Édition & Programmation
- Langage ascii - Guide
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Langage binaire - Guide
3 réponses
Aprés la lecture de votre code source on remarque la procedure est mal écrite
la solution optmal est la suivante:
procedure incrementer (var y:integer);
begin
y:=y+1;
end;
de cette manière si je veux incrimenter n'importe quel variable il suffit de faire l'appel (dans le programme principal) suivant:
incrimenter (z);
incrimenter (r);
comme vous remarquer qu'on peut appelé autant de fois que je veut tout simplement on indiquant le nom de la procedure et la liste des paramétre içi on a une.
est remarqué que le nom des variables dans l'appel ne sont pas identiques
on appel z et r deux variables gloubaux puisque ils serant déclaré dans le programme principale et aussi paramétres effectifs puisque ils sont utiliser dans l'appel de cette procedure, mais par contre dans la définition c-est-à-dire dans l'entête procedure
incrementer (var y:integer); on appel y variable local et parmétre formel
Donc si on dit paramètre formel et effectif on peut dire que c'est le paramètre effective qui va être en réalité rempli et modifier içi z et r mais y est une variable temporaire si on peut dire ça qui sera suprimer de la RAM juste aprés la fin d'exécution des instructions qui compose la procedure. donc c'est pour quoi il faut choisir le bon type de passage pour qu'il y a une relation entre le programme appelé (Programme principale dans notre cas) et le programe appelé (procedure incrimenter dans notre cas).
remarqez bien que même cette solution n'est pas totalement juste parceque normalement ce module doit être une fonction au lieu d'une procedure puisque le P.P attant une résultat de type simple (dans notre cas le type entier).
Mais pour ce qui concerne les series des exercices je peut te donner seulment envoyer mois tan adresse e-mail à mon adresse suivante:
lazhar.zouari@laposte.net
N'hézitez pas à m'écrire et bon travail
la solution optmal est la suivante:
procedure incrementer (var y:integer);
begin
y:=y+1;
end;
de cette manière si je veux incrimenter n'importe quel variable il suffit de faire l'appel (dans le programme principal) suivant:
incrimenter (z);
incrimenter (r);
comme vous remarquer qu'on peut appelé autant de fois que je veut tout simplement on indiquant le nom de la procedure et la liste des paramétre içi on a une.
est remarqué que le nom des variables dans l'appel ne sont pas identiques
on appel z et r deux variables gloubaux puisque ils serant déclaré dans le programme principale et aussi paramétres effectifs puisque ils sont utiliser dans l'appel de cette procedure, mais par contre dans la définition c-est-à-dire dans l'entête procedure
incrementer (var y:integer); on appel y variable local et parmétre formel
Donc si on dit paramètre formel et effectif on peut dire que c'est le paramètre effective qui va être en réalité rempli et modifier içi z et r mais y est une variable temporaire si on peut dire ça qui sera suprimer de la RAM juste aprés la fin d'exécution des instructions qui compose la procedure. donc c'est pour quoi il faut choisir le bon type de passage pour qu'il y a une relation entre le programme appelé (Programme principale dans notre cas) et le programe appelé (procedure incrimenter dans notre cas).
remarqez bien que même cette solution n'est pas totalement juste parceque normalement ce module doit être une fonction au lieu d'une procedure puisque le P.P attant une résultat de type simple (dans notre cas le type entier).
Mais pour ce qui concerne les series des exercices je peut te donner seulment envoyer mois tan adresse e-mail à mon adresse suivante:
lazhar.zouari@laposte.net
N'hézitez pas à m'écrire et bon travail
Bonjour,
tu peut svp donner une solution de cet exercice car je besoin beaucoup pour cette solution
voila ce exercice
soit T un tableau carré de nxn caractére ,on se propose de propose de remplir par mee caractére "c" tous les élements de T d'une façon diagonaleen commençant par la case située en haut à gauche .
le deplacement diagonal se fait de gauche à droit et de bas vers le haut.
ecrire une rotine récurcive permettant de répondre au probléme posé
donne une solution plus rapide
tu peut svp donner une solution de cet exercice car je besoin beaucoup pour cette solution
voila ce exercice
soit T un tableau carré de nxn caractére ,on se propose de propose de remplir par mee caractére "c" tous les élements de T d'une façon diagonaleen commençant par la case située en haut à gauche .
le deplacement diagonal se fait de gauche à droit et de bas vers le haut.
ecrire une rotine récurcive permettant de répondre au probléme posé
donne une solution plus rapide
Program exercice;
USES CRT;
const n=10; (* Supposons par exempel que n=10*)
type tab = array [1..n,1..n] of string;
VAR t :tab;
i,j :integer;
BEGIN
CLRSCR;
(* Le program principal *)
j:=n;
for i:=1 to n do
begin
t[i,j]:='c';
j:=j-1;
end;
(* L'affichage *)
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write (t1[i,j]);
end;
READLN;
END.
USES CRT;
const n=10; (* Supposons par exempel que n=10*)
type tab = array [1..n,1..n] of string;
VAR t :tab;
i,j :integer;
BEGIN
CLRSCR;
(* Le program principal *)
j:=n;
for i:=1 to n do
begin
t[i,j]:='c';
j:=j-1;
end;
(* L'affichage *)
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write (t1[i,j]);
end;
READLN;
END.