Programmation Pascal/Exercices
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 :
- 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 »
[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