Aller au contenu

Programmation Pascal/Exercices

Un livre de Wikilivres.

Exercice « Fractions égyptiennes »

[modifier | modifier le wikicode]

(Niveau difficile)

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 « Nombre premier »

[modifier | modifier le wikicode]

(Niveau moyen)

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

Exercice « Nombres super premiers »

[modifier | modifier le wikicode]

(Niveau moyen)

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.

Écrire 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 « Nombres binaires »

[modifier | modifier le wikicode]

(Niveau facile)

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 »

[modifier | modifier le wikicode]

(Niveau facile)

É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 « Nombres colombiens »

[modifier | modifier le wikicode]

(Niveau moyen)

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 « Nombres vampires »

[modifier | modifier le wikicode]

(Niveau moyen)

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 « PGCD et PPCM »

[modifier | modifier le wikicode]

(Niveau difficile)

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


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

Écrire un programme effectuant les actions suivantes :

  1. demander deux nombres entiers positifs (a et b) strictement supérieur à 1 à l'utilisateur ;
  2. déterminer le plus grand des deux nombres (m = max(a,b)) ;
  3. construire un tableau de tous les nombres premiers inférieurs ou égal à m ;
  4. construire un tableau de la même taille pour le nombre a donnant l'exposant de chaque nombre premier entrant dans la décomposition en facteurs premiers du nombre a ;
  5. construire un tableau de la même manière pour le nombre b ;
  6. créer une fonction prenant en argument le tableau de nombre premiers et un tableau d'exposant et retournant le nombre correspondant ;
  7. calculer le PPCM par la construction d'un tableau d'exposants en utilisant ceux des nombres a et b, et utiliser la fonction créée précédemment pour afficher le PPCM ;
  8. calculer le PGCD par la construction d'un tableau d'exposants en utilisant ceux des nombres a et b, et utiliser la fonction créée précédemment pour afficher le PGCD.

Exercice « Nombres riches »

[modifier | modifier le wikicode]

(Niveau moyen)

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

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

Exercice « Expression »

[modifier | modifier le wikicode]

(Niveau moyen)

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 := (* À DÉTERMINER *) ;
                 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