salut
j'aimerai une aide pour le probleme suivant : ecrire un programme pascal qui lit un entier n et affiche le triangle de pascal de profondeur n
Bonjour !
Si c'est du Pascal pur jus, comme tu n'as pas droit à des tableaux dynamiques il faudra imposer un contrôle à la saisie de n.
Je suppose que tu sais faire une boucle (1<=k<=n) et déclarer un tableau :
const nmax=100;
var ligne : array[0..nmax] of integer;
j,k,n : integer;
un algorithme possible : je te laisse les détails.
Lecture de n et rejet des mauvaises réponses
Tu initialises la ligne 1. ligne[0]:=1;ligne[1]:=1;
Ecriture du tableau ligne (deux termes)
Pour k allant de 2 à n :
pour j allant de 1 à k, faire ligne[j]=ligne[j-1]+ligne[j] fin de boucle j
Écriture du tableau ligne (k+1 termes)
fin de boucle k
Bonjour,
un tel algorithme ne fonctionne évidemment pas, de son principe même.
(il y a trop de "détails" qui sont en vrai des erreurs de principe)
parce que quand on veut calculer par exemple
ligne[3]=ligne[2]+ligne[3] l'élément ligne[2] a déja été détruit dans l'exécution de la boucle précédente
(quand on a calculé ligne[2]=ligne[1]+ligne[2])
de plus pour l'élément k, le dernier de la ligne, l[k] n'est pas défini du tout, donc il est impossible de calculer
ligne[k-1]+ligne[k]
les "détails" (de principe) consistent donc à initialiser ligne[k] avant de rentrer dans la boucle sur j
et dans la boucle sur j de rajouter un mécanisme (donc une variable supplémentaire) de sauvegarde de la valeur de ligne[j] avant de le détruire
l'enseignant nous interdit les tableaux. y'a til pas une autre méthode
j'ai déjà défini la fonction factorielle et combinaison et je suis ensuite à cour d'idée. MERCI
Je ne comprends pas pourquoi tu te poses la question ???
si tu as déja défini ta fonction combinaison, où donc est le problème ?????
écrire la simple boucle ci-dessous quelle que soit la réalisation interne de ta fonction C(n,p) !
pour k de 1 à n {
pour i de 0 à k {
afficher C(k, i)
}
passer à la ligne
}
à traduire en syntaxe Pascal
On peut définir la fonction C(n, p) de façon récursive (qui s'appelle elle même)
ce qui revient à planquer les tableaux à l'intérieur de la pile d'appel
et à recalculer plusieurs fois des C(n,p) déja calculés puisqu'on ne mémorise rien (pas de tableaux explicites déclarés) et qu'on recalcule tout à chaque C(k,i) que l'on calcule.
mais bon,.. le prof est content : tu n'utilises pas de tableaux (explicitement déclarés) et tu as fait un programme parfaitement inefficace (mais très court)
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :