Procedure langage pascal

Fermé
adel_3n1 Messages postés 17 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 25 juin 2003 - 2 juin 2003 à 21:28
zinooo Messages postés 1 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 6 novembre 2009 - 6 nov. 2009 à 00:30
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é
A voir également:

3 réponses

ZOUARI Messages postés 60 Date d'inscription lundi 26 avril 2004 Statut Contributeur Dernière intervention 14 mai 2011 29
2 oct. 2007 à 12:39
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
0
capes de tunisie
21 oct. 2007 à 22:20
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
0
zinooo Messages postés 1 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 6 novembre 2009
6 nov. 2009 à 00:30
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.
0
Bonjour,
vous pourriez svp me donner une solution de cet exercice car j en vraiment besoin
voila ce exercice
recherche d un element dans un tableau a deux dimension en langage c et trie les elements de ce tableau par ordre croissant
merci davance
0