# Programmation Pascal/Exercices

* Introduction
* Environnement de développement
* Un premier programme
* Structure d'un programme
* Les variables
* Procédures et fonctions
* Dépendances mutuelles et références circulaires
* Créer de nouveaux types
* Exercices
* Introduction
* Environnement de développement
* Un premier programme
* Structure d'un programme
* Les variables
* Procédures et fonctions
* Dépendances mutuelles et références circulaires
* Créer de nouveaux types
* Exercices
[ Modifier le sommaire ]

## Exercice « Fractions égyptiennes »

(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 »

(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 »

(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 »

(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*2$^6$+0*2$^5$+0*2$^4$+1*2$^3$+1*2$^2$+0*2$^1$+1*2$^0$ = 64+0+0+8+4+0+1 = (77)10.

## Exercice « Jeu des allumettes »

(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 »

(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 »

(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 »

(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 = 2$^3$ x 3$^4$ x 5$^2$ x 7 et N = 2$^2$ x 3$^5$ x 7$^3$ x 11
alors pgcd (m, n) = 2$^2$ x 3$^4$ 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 = 2$^3$ x 3$^4$ x 5$^2$ x 7 et N = 2$^2$ x 3$^5$ x 7$^3$ x 11
alors ppcm (m, n) = 2$^3$ x 3$^5$ x 5$^2$ x 7$^3$ x 11
Écrire un programme effectuant les actions suivantes :
* demander deux nombres entiers positifs (a et b) strictement supérieur à 1 à l'utilisateur ;
* déterminer le plus grand des deux nombres (m = max(a,b)) ;
* construire un tableau de tous les nombres premiers inférieurs ou égal à m ;
* 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 ;
* construire un tableau de la même manière pour le nombre b ;
* créer une fonction prenant en argument le tableau de nombre premiers et un tableau d'exposant et retournant le nombre correspondant ;
* 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 ;
* 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 »

(Niveau moyen)
Un nombre est riche si un de ses facteurs au moins est répété deux fois ou plus.
Exemples :
4 = 2$^2$
90 = 2 x 3$^2$ x 5
540 = 2$^2$ x 3$^3$ x 5
Écrire un programme Pascal qui affiche tous les nombres riches <1000.

## Exercice « Expression »

(Niveau moyen)
Donner une approche directe pour déterminer la formule de l'expression.
Exemple d’exécution :