Developpez.com

Plus de 2 000 forums
et jusqu'à 5 000 nouveaux messages par jour

Exercices corrigés PascalConsultez toutes les sources

Nombre d'auteurs : 3, nombre de sources : 49, dernière mise à jour : 6 mars 2008 

 
OuvrirSommaireStructuration de programmes

Ecrire une fonction qui retourne la factorielle d'un nombre.

Solution : Voir le fichier Facto.pas

Facto.pas
CacherSélectionnez


Remarque :

  • Le type de retour de la fonction est Longint (entier long) pour nous permettre de calculer la factorielle de nombres supérieurs à 8. En effet, les entiers étant codés sur 16 bits, ils sont compris entre -32768 et 32767, or 8! = 40320, il y'a donc débordement et nous obtenons une valeur négative qui est réalité -32768 + (40320 - 32767) - 1 soit -25216 (en fait, 32767+1 = -32768 d'après l'arithmétique des entiers signés).

Déduire de la solution précédente, une fonction qui permet le calcul de la combinaison de p dans q définie par : Comb(p, q)=q!/(p!*(q-p)!) ensuite construire le triangle de Pascal en prenant en entrée le nombre de lignes à afficher.

Solution : Voir le fichier Tpascal.pas

Tpascal.pas
CacherSélectionnez
Créé le 21 juillet 2004  par Giovanny Temgoua

Ecrire une fonction qui retourne x^y (x à la puissance y).

Solution : Voir le fichier Power1.pas

Power1.pas
CacherSélectionnez


Utiliser cette fonction pour effectuer la conversion de binaire à décimal.
Exemple : 10110 = 0*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 1*2^4 = 2+4+16 = 22

Solution : Voir le fichier Power2.pas

Power2.pas
CacherSélectionnez


Réutiliser la fonction Power et écrire une fonction Int2Bin(Value: Integer): string qui convertit l'entier en paramètre en binaire. Le type de retour de la fonction est une chaîne de caractère, c'est-à-dire un tableau de caractères et chacun de ses caractères contiendra le bit.

Préréquis : Consultez l'aide sur la fonction Ord.
Solution : Voir le fichier Numcode.pas

Numcode.pas
CacherSélectionnez


Commentaire :

  • La structure des chaînes de caractères est assez simple. Ce sont en fait des tableaux indexés de 0 à n, n étant la taille réelle du tableau. Seulement, le premier octet est reservé pour stocker le nombre de caractère de la chaîne, soit donc n-1 espaces disponibles.
Créé le 21 juillet 2004  par Giovanny Temgoua