Application "livre"
Page 1 sur 1
Application "livre"
Analyse :
=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Résultat = 3) PROC affiche(l)
2) l ← t[a]
1) a ← FN min (t,n)
0) (t,n) = PROC saisir(n,t)
=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Analyse des modules :
0) DEF PROC affiche(l:livre)
résultat =
1) écrire (l.aut,l.an,l.tit,l.dom,l.pag)
=*=*=*=*=*=*=*=*=*=*=*=*=*=*
0) DEF PROC saisir(var n:entier ; var t:tab)
résultat = n,t
1) n= [ ] répéter
n= donnée
jusqu'à n dans [1..20]
2) t= [ ] pour i de 1 à n faire
t[i].aut = donnée
t[i].an = donnée
t[i].tit = donnée
t[i].dom = donnée
t[i].pag = donnée
fin pour
=*=*=*=*=*=*=*=*=*=*=*=*=*=*
0) DEF FN min (t:tab ; n:entier):entier
résultat = 2) min ← a
1) a = [a ← 1] pour i de 2 à n faire
si t[i].pag < t[a].pag alors a ← i
finsi
finpour
=*=*=*=*=*=*=*=*=*=*=*=*=*=*
=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Résultat = 3) PROC affiche(l)
2) l ← t[a]
1) a ← FN min (t,n)
0) (t,n) = PROC saisir(n,t)
=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Analyse des modules :
0) DEF PROC affiche(l:livre)
résultat =
1) écrire (l.aut,l.an,l.tit,l.dom,l.pag)
=*=*=*=*=*=*=*=*=*=*=*=*=*=*
0) DEF PROC saisir(var n:entier ; var t:tab)
résultat = n,t
1) n= [ ] répéter
n= donnée
jusqu'à n dans [1..20]
2) t= [ ] pour i de 1 à n faire
t[i].aut = donnée
t[i].an = donnée
t[i].tit = donnée
t[i].dom = donnée
t[i].pag = donnée
fin pour
=*=*=*=*=*=*=*=*=*=*=*=*=*=*
0) DEF FN min (t:tab ; n:entier):entier
résultat = 2) min ← a
1) a = [a ← 1] pour i de 2 à n faire
si t[i].pag < t[a].pag alors a ← i
finsi
finpour
=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Dernière édition par haiethem le Lun 24 Sep - 22:53, édité 1 fois
Programme Pascal
program livres;
uses wincrt;
type
(* TYPES livre et tab : *)
livre = record
aut:string[50];
an:integer;
tit:string;
dom:string [40];
pag:integer;
end;
tab=array[1..20] of livre;
var t:tab;
n,a:integer;
l:livre;
(* SOUS PROGRAMMES *)
procedure saisir (var n:integer;var t:tab);
var i:integer;
begin
repeat
writeln('donner le nombre de livres'); readln(n);
until n in [1..50];
for i:= 1 to n do
begin
writeln('LIVRE NUMERO ',i,' : ');
readln(t[i].aut);
readln(t[i].an);readln(t[i].tit);
readln(t[i].dom);
readln(t[i].pag);
end;
end;
procedure affiche(l:livre);
begin
writeln('Le plus petit livre est :');
writeln('Auteur : ',l.aut,' année : ',l.an,' titre : ',l.tit,' domaine : ',l.dom,' nombre de pages : ',l.pag);
end;
function min(t:tab;n:integer):integer;
var i:integer;
begin
a:=1;
for i:= 2 to n do
if t[i].pag min := a;
end;
(* PROGRAMME PRINCIPAL *)
begin
saisir(n,t);
a:=min(t,n);
affiche(t[a]);
end.
uses wincrt;
type
(* TYPES livre et tab : *)
livre = record
aut:string[50];
an:integer;
tit:string;
dom:string [40];
pag:integer;
end;
tab=array[1..20] of livre;
var t:tab;
n,a:integer;
l:livre;
(* SOUS PROGRAMMES *)
procedure saisir (var n:integer;var t:tab);
var i:integer;
begin
repeat
writeln('donner le nombre de livres'); readln(n);
until n in [1..50];
for i:= 1 to n do
begin
writeln('LIVRE NUMERO ',i,' : ');
readln(t[i].aut);
readln(t[i].an);readln(t[i].tit);
readln(t[i].dom);
readln(t[i].pag);
end;
end;
procedure affiche(l:livre);
begin
writeln('Le plus petit livre est :');
writeln('Auteur : ',l.aut,' année : ',l.an,' titre : ',l.tit,' domaine : ',l.dom,' nombre de pages : ',l.pag);
end;
function min(t:tab;n:integer):integer;
var i:integer;
begin
a:=1;
for i:= 2 to n do
if t[i].pag
end;
(* PROGRAMME PRINCIPAL *)
begin
saisir(n,t);
a:=min(t,n);
affiche(t[a]);
end.
Re: Application "livre"
salut Monsieur,
je pense cetait mieux dmettre la fn min avant lproc affiche pour rendre les choses plus facile à comprendre, psk comme ça tas rendu lprogramme "plus compliqué" :/ psk si nous npretons pa attention au programme principal on va te dire ke comme ca lprogramme sera pas exécutable !
je pense cetait mieux dmettre la fn min avant lproc affiche pour rendre les choses plus facile à comprendre, psk comme ça tas rendu lprogramme "plus compliqué" :/ psk si nous npretons pa attention au programme principal on va te dire ke comme ca lprogramme sera pas exécutable !
Invité- Invité
Re: Application "livre"
Salam.
Lors de l'analyse, l'ordre de définition des sous programmes n'est pas important. L'essentiel est de définir tous les modules.
Mais si tu parles à propos de l'analyse du programme on doit toujours commencer par le résultat et ensuite chaque nouvel objet qui apparaît doit être définit.
Salam.
Lors de l'analyse, l'ordre de définition des sous programmes n'est pas important. L'essentiel est de définir tous les modules.
Mais si tu parles à propos de l'analyse du programme on doit toujours commencer par le résultat et ensuite chaque nouvel objet qui apparaît doit être définit.
Salam.
Re: Application "livre"
Salem,
je parle sur le programme pascal, plus precisement, sur le programme principal .. mais en tout cas cava comme sa aussi le programme est exécutable, juste j'ai voulu dire que si tas définit lfn min avant lproc affiche ça va être mieux
je parle sur le programme pascal, plus precisement, sur le programme principal .. mais en tout cas cava comme sa aussi le programme est exécutable, juste j'ai voulu dire que si tas définit lfn min avant lproc affiche ça va être mieux
Invité- Invité
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|