Écrire une procédure Saisir qui redemande N jusqu’à obtenir un entier entre 10 et 30, bornes incluses. Le programme principal appelle cette procédure puis affiche N.
Exercices d’algorithmique
Exercices progressifs avec énoncés, cas de test et corrections à ouvrir directement dans l’éditeur.
Lire un entier N positif ou nul. Calculer 1 + 2 + … + N avec une boucle. Pour N = 0, la somme vaut 0.
Saisir un entier N positif ou nul avec une saisie contrôlée, puis afficher la somme de ses chiffres.
Lire N entre 0 et 18. Calculer N! par multiplications successives. On définit 0! = 1.
Lire N entre 0 et 18 et écrire une fonction récursive utilisant N! = N × (N − 1)!, avec 0! = 1.
Lire une base entière et un exposant entier positif ou nul. Calculer base puissance exposant sans utiliser ^. Dans cet exercice, un exposant nul donne 1, même pour une base nulle.
Saisir deux entiers A et B strictement positifs avec une saisie contrôlée. Calculer leur plus grand commun diviseur par divisions successives.
Lire deux entiers strictement positifs. Calculer leur PGCD en soustrayant le plus petit du plus grand.
Saisir deux entiers A et B positifs ou nuls avec une saisie contrôlée. Calculer leur plus petit commun multiple. Si au moins une valeur est nulle, le résultat est 0.
Saisir un entier N strictement positif avec une saisie contrôlée. Écrire une fonction Premier qui retourne Vrai si N est premier, Faux sinon, puis afficher ce résultat. Un nombre premier a exactement deux diviseurs positifs : 1 et lui-même.
Lire un entier N strictement positif. Afficher tous ses diviseurs positifs dans l’ordre croissant.
Lire un entier N strictement positif. Tester si N est égal à la somme de ses diviseurs positifs strictement inférieurs à N.
Lire un entier à trois chiffres. Tester s’il est égal à la somme des cubes de ses chiffres, comme 153 = 1³ + 5³ + 3³.
Lire N entre 0 et 78. Calculer F(N), avec F(0) = 0, F(1) = 1 et F(N) = F(N − 1) + F(N − 2).
Lire un entier N positif ou nul et inverser l’ordre de ses chiffres. Le résultat est un entier : les zéros devenus initiaux disparaissent.
Lire un entier N positif ou nul. Tester si ses chiffres se lisent dans les deux sens, comme 1221.
Lire un entier N positif ou nul. Afficher son écriture binaire sous forme de chaîne, sans fonction de conversion de base.
Saisir N avec 1 ≤ N ≤ 100, puis remplir un tableau T de N entiers. Écrire une procédure Trier qui trie T par ordre croissant avec le tri à bulles, puis afficher le tableau. Le programme principal appelle Saisir, Remplir, Trier et Afficher.
Saisir N avec 1 ≤ N ≤ 100, puis remplir un tableau T de N entiers. Trier T par ordre croissant avec le tri par insertion, puis l’afficher. Décomposer le programme en procédures Saisir, Remplir, Trier et Afficher.
Saisir N avec 1 ≤ N ≤ 100, puis remplir un tableau T de N entiers. Trier T par ordre croissant avec le tri par sélection, puis l’afficher. Le programme principal appelle Saisir, Remplir, Trier et Afficher.
Saisir N avec 1 ≤ N ≤ 100 et remplir un tableau T de N entiers. Saisir un entier Cible. Écrire une fonction Rechercher qui retourne l’indice de sa première occurrence dans T, ou −1 si elle est absente. Afficher le résultat.
Saisir N avec 1 ≤ N ≤ 100, puis remplir un tableau T de N entiers triés par ordre croissant. Saisir un entier Cible. Écrire une fonction Dichotomie qui retourne un indice de Cible dans T, ou −1 si elle est absente. Afficher le résultat.
Saisir N avec 1 ≤ N ≤ 100 et remplir un tableau T de N entiers. Déterminer son minimum et son maximum sans fonction prédéfinie, puis les afficher. Utiliser les procédures Saisir, Remplir, Calculer et Afficher.
Saisir N avec 1 ≤ N ≤ 100, puis remplir un tableau T de N entiers. Calculer sa somme entière et sa moyenne réelle, puis les afficher. Le programme principal appelle Saisir, Remplir, Calculer et Afficher.
Saisir N avec 1 ≤ N ≤ 100 et remplir un tableau T de N entiers. Saisir un entier Cible. Écrire une fonction Compter qui retourne le nombre d’occurrences de Cible dans T, puis afficher ce nombre.
Saisir N avec 1 ≤ N ≤ 100 et remplir un tableau T de N entiers. Copier ses valeurs dans un deuxième tableau U sans doublons, en conservant l’ordre de première apparition. Une procédure Supprimer renvoie U et sa taille utilisée ; Afficher présente le résultat.
Saisir une chaîne non vide et tester si elle est identique dans les deux sens. Les espaces, accents et majuscules comptent : "Radar" n’est pas un palindrome dans cet exercice.
Saisir une chaîne non vide et compter les lettres A, E, I, O, U et Y, sans distinguer majuscules et minuscules. Les lettres accentuées sont exclues de cette version.
Saisir L et C avec 1 ≤ L ≤ 20 et 1 ≤ C ≤ 20. Remplir une matrice M de L lignes et C colonnes d’entiers. Calculer la somme de chaque ligne dans un tableau S d’entiers, puis afficher ces sommes, une par ligne. Utiliser Saisir, Remplir, Calculer et Afficher.
Saisir L et C avec 1 ≤ L ≤ 20 et 1 ≤ C ≤ 20, puis remplir une matrice M de L lignes et C colonnes d’entiers. Écrire une procédure Transposer qui construit une matrice T de C lignes et L colonnes, puis afficher T.
Saisir N avec 1 ≤ N ≤ 20, puis remplir une matrice carrée M de N lignes et N colonnes d’entiers. Calculer séparément les sommes des diagonales principale et secondaire et les afficher. Utiliser Saisir, Remplir, Calculer et Afficher.
Ouvrir le fichier virtuel noms.txt et compter ses lignes. Le fichier fourni contient trois noms, un par ligne.
Lire mots.txt et copier dans longs.txt les mots contenant au moins cinq caractères. Afficher le nombre de mots copiés.
Saisir N avec 1 ≤ N ≤ 100 et remplir un tableau C de N enregistrements Eleve. Chaque élève a un nom non vide composé uniquement de lettres A à Z (majuscules ou minuscules), de type Chaîne et une moyenne réelle entre 0 et 20. Écrire dans admis.txt les élèves ayant une moyenne ≥ 10, puis afficher leur nombre.
Saisir N avec 1 ≤ N ≤ 100. Chaque enregistrement Eleve contient un nom non vide composé uniquement de lettres A à Z (majuscules ou minuscules), de type Chaîne et une moyenne réelle entre 0 et 20. Saisir et écrire les N élèves dans eleves.dat, puis relire ce fichier typé et afficher les noms des élèves dont la moyenne est au moins 10.