Programmation Pascal/Exercice en langage pascal

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche

Exercice Fractions égyptiennes

Toute fraction peut s’écrire comme une somme de fractions ayant 1 comme numérateur. Cette décomposition est appelée décomposition en fractions égyptiennes. En voici un exemple : 7/8 = 1/2 + 1/3 + 1/24

Écrire un programme Pascal prenant en entrée le numérateur N et le dénominateur D d’une fraction et affiche sa décomposition en fraction égyptiennes.

Exercice

Un nombre est dit super premier s'il est premier et si, en supprimant des chiffres à partir de sa droite, le nombre restant est aussi premier.

Exemple : Le nombre 59399 est super premier car les nombres 59399, 5939, 593, 59 et 5 sont tous premiers.

Ecrire un programme Pascal qui permet de : Saisir un entier n tel que 40000 < n < 100000, Chercher tous les nombres premiers inférieurs ou égaux à n, les afficher à raison d'un nombre par ligne en mentionnant devant chaque nombre super premier la note « super premier ».

Exercice

On se propose d’écrire un programme Pascal intitulé conversion permettant de saisir un nombre binaire de longueur minimale 2 puis de le convertir en décimal. Pour ce faire, on multiplie la valeur de chaque bit* 2 puissance «le poids du bits (ordre-1)».

N.B : On rappelle qu’un nombre binaire est composé uniquement par des 0 et des 1.

Exemple : (1001101)2= 1*26+0*25+0*24+1*23+1*22+0*21+1*20 = 64+0+0+8+4+0+1 = (77)10.

Exercice Jeu « des allumettes »

Écrire un programme Pascal permettant de simuler le jeu suivant :

Au départ on dispose quelques allumettes sur une table. Chaque joueur peut choisir de prendre 1, 2 ou 3 allumettes en même temps. Le perdant est celui qui retire la dernière allumette.

Exercice

Un nombre colombien, ou auto-nombre, est un entier naturel qui, dans une base donnée, ne peut pas s'écrire sous la forme d'un nombre ajouté à la somme des chiffres de ce nombre. Exemples : 23 n'est pas un nombre colombien, puisqu'il peut être généré par la somme de 16 et de ses chiffres, c’est-à-dire, 23 = 16 + 1 + 6.

20 est un nombre colombien car il n'existe pas une telle somme pour 20.

Écrire un programme Pascal qui permet d’afficher tous les nombres colombiens < 1000.

Exercice

Un nombre Vampire est un nombre qui est égal à un produit de ses chiffres.

Exemple : 126 = 21 x 6

Écrire un programme Pascal qui permet de déterminer tous les nombres Vampires de trois chiffres.

Exercice

Le PGCD de deux nombres entiers M et N supérieurs ou égaux à 2 a pour décomposition en facteurs premiers le produit des facteurs premiers apparaissant à la fois dans la décomposition de M et de N munis du plus petit des exposants trouvés dans la décomposition de M et de N.

Ainsi, si M = 23 x 34 x 52 x 7 et N = 22 x 35 x 73 x 11 alors pgcd (m, n) = 22 x 34 x 7

Exercice

Le PPCM de deux nombres entiers M et N supérieurs ou égaux à 2 a pour décomposition en facteurs premiers le produit des facteurs premiers apparaissant dans M ou dans N munis du plus grand des exposants trouvés dans la décomposition de M et de N.

Ainsi, si M = 23 x 34 x 52 x 7 et N = 22 x 35 x 73 x 11 alors ppcm (m, n) = 23 x 35 x 52 x 73 x 11

Exercice

Un nombre est riche si un de ses facteurs au moins est répété deux fois ou plus.

Exemples :

4 = 22

90 = 2 x 32 x 5

540 = 22 x 33 x 5

Ecrire un programme Pascal qui affiche tous les nombres riches <1000.

Exercice

Donner une approche directe pour déterminer la formule de l'expression.

Program variables_controle ;

Var i,j,n,expression : integer ;

Begin

   Write(‘donner n = ‘) ; readln(n) ;
   For  i :=1  to  n  do
       For  j :=i  to  n  do
            Begin
                Expression := A DETERMINER ;
                Write (‘i=’, i, ’ j=’, j, ’ expression=’, expression) ;
            End ;

End.

Exemple d’exécution :

Donner n= 4

i=1 j=1 expression=1

i=1 j=2 expression=2

i=1 j=3 expression=3

i=1 j=4 expression=4

i=2 j=2 expression=5

i=2 j=3 expression=6

i=2 j=4 expression=7

i=3 j=3 expression=8

i=3 j=4 expression=9

i=4 j=4 expression=10


Exercice

Écrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche le énième nombre premier.