Série N° 1 : Préalables à l’Algorithmique Question 1 :
Quelle est la différence entre donnée et information ? Réponse : Information : Élément de connaissance susceptible d'être représenté à l'aide de
conventions pour être conservé, traité ou communiqué. Une donnée : est une information qui a été mise sous une forme qui peut être êtr e utilisée par l’ordinateur. Question 2 :
Donner les étapes de réalisation d’un programme informatique ? A quoi sert l’algorithme ? Réponse :
- Problème réel Analyse (spécification) Algorithme Codage en un langage de programmation programmation (programme) - On ne peut pas construire un bâtiment sans plan !! Question 3 :
Quelles sont les caractéristiques d’un algorithme ? Réponse :
Un algorithme doit être clair, fini et efficace. Question 4 :
Quels types de problèmes peut-on résoudre à l’aide des algorithmes ? Réponse :
Ce sont les problèmes structurés c’est à dire qui possèdent à l’avance une solution mathématique : résolution d’une équation du second degré, facturation, Bulletin de paie, etc. Question 5 :
Citez un exemple où le problème à résoudre n’est pas structuré ? Réponse :
Problème non structuré : choisir quel fournisseur doit opter pour l’acquisition du matériel selon le service après vente.
Série N° 2 : Notion de Structure de données Question 1 :
Quelle est la différence entre donnée et structure de données ? Réponse :
En programmation la donnée n’est autre que le contenu d’une case de la mémoire (contenant) qui peut modifier au cours de l’exécution du programme. La structure de donnée c’est un ensemble organisé d'informations d'informations ayant quelque chose en commun. Tous donnée doit appartenir à une structure de donnée. Question 2 :
Citez les règles de constitution d’un identificateur ? Réponse : - Significatif - ne doit pas comporter de caractères spéciaux autre que le tiret de soulignement (_) - commence obligatoirement par une lettre – unique. Question 3 :
Quelle est la différence entre variable et valeur ? Réponse :
Une variable est donc un espace mémoire qui va contenir des données alors que la
valeur c’est la donnée qui existe dans cet espace. À un instant donné, une variable ne peut contenir qu’une seule valeur. Question 4 :
Pour chacun des cas cas suivants, évaluer évaluer les expressions expressions : x), y), z), t). 1. Pour (a, b, c, d) = (-1, 3, 2, 7) 2. Pour (a, b, c, d) = (1, 3, 2, 7) Avec x) (ad) y) NON(ad) z) (a c)
Réponse :
X) Y) Z) T)
1) (- 1 < 3) ET (2 > 7) = Vrai ET Faux = Faux 2) ( 1 < 3) ET ET (2 > 7) = Vrai ET ET Faux Faux = Faux 1)Non ( -1 < 3) ET (2 > 7) = Faux ET Faux = Faux 2) Non ( 1 < 3) ET (2 > 7) = Faux ET Faux = Faux 1) ( -1 < 3) OU (2 <> -1) = Vrai ou Vrai = Vrai 2) ( 1 < 3) 3) OU (2 <> 1) = Vrai ou Vrai = Vrai 1) ((-1 + 3) < 2) OU ((-1 + 7) > 2) = Faux ou Vrai = Vrai 2) (( 1 + 3) < 2) OU (( 1 + 7) > 2) = Faux ou Vrai = Vrai Vrai
Série N° 2 : Notion de Structure de données Question 1 :
Quelle est la différence entre donnée et structure de données ? Réponse :
En programmation la donnée n’est autre que le contenu d’une case de la mémoire (contenant) qui peut modifier au cours de l’exécution du programme. La structure de donnée c’est un ensemble organisé d'informations d'informations ayant quelque chose en commun. Tous donnée doit appartenir à une structure de donnée. Question 2 :
Citez les règles de constitution d’un identificateur ? Réponse : - Significatif - ne doit pas comporter de caractères spéciaux autre que le tiret de soulignement (_) - commence obligatoirement par une lettre – unique. Question 3 :
Quelle est la différence entre variable et valeur ? Réponse :
Une variable est donc un espace mémoire qui va contenir des données alors que la
valeur c’est la donnée qui existe dans cet espace. À un instant donné, une variable ne peut contenir qu’une seule valeur. Question 4 :
Pour chacun des cas cas suivants, évaluer évaluer les expressions expressions : x), y), z), t). 1. Pour (a, b, c, d) = (-1, 3, 2, 7) 2. Pour (a, b, c, d) = (1, 3, 2, 7) Avec x) (ad) y) NON(ad) z) (a c)
Réponse :
X) Y) Z) T)
1) (- 1 < 3) ET (2 > 7) = Vrai ET Faux = Faux 2) ( 1 < 3) ET ET (2 > 7) = Vrai ET ET Faux Faux = Faux 1)Non ( -1 < 3) ET (2 > 7) = Faux ET Faux = Faux 2) Non ( 1 < 3) ET (2 > 7) = Faux ET Faux = Faux 1) ( -1 < 3) OU (2 <> -1) = Vrai ou Vrai = Vrai 2) ( 1 < 3) 3) OU (2 <> 1) = Vrai ou Vrai = Vrai 1) ((-1 + 3) < 2) OU ((-1 + 7) > 2) = Faux ou Vrai = Vrai 2) (( 1 + 3) < 2) OU (( 1 + 7) > 2) = Faux ou Vrai = Vrai Vrai
Série N° 3 : Les Actions Simples Exercice 1 Dire si le nom de ces variables est valide ou non valide. Valide Non Valide prod_a $total Valide Valide Newbal moyenne Non Valide _c3 Non Valide 9ab6 Valide Non Valide c123 new bal Non Valide Valide sum.of grade1 Valide Non Valide Abcd 1234 Exercice 2 Déterminer les valeurs finales des variables A, B, C après exécution des instructions suivantes : (les blocs d’instructions sont indépendants) 1. B 3 AB CA BA*3+C
A=3; B=12; C=3
2. B 1 BB+1 BB–3
B= -1
3. A 2 B4 C3 AA+B+C BA-B-C CA-B–C AA-B–C
A=3; B=2; C=4
Exercice 3 Soit l’algorithme suivant : Algorithme Test Variable nb1, nb2, nb3, Somme, Produit : Entier Moyenne : Réel Lettre1, Lettre2 : Caractère Début Lettre1 ‘a’ nb1 4 nb1 16 nb1 20 Somme nb1 + nb2 + nb3 Produit nb1 * nb2 * nb3 Moyenne 13.33 Lettre2 Lettre1 + 1 Fin 1. Identifier les variables et les constantes dans ce programme 2. Déterminer les valeurs finales des différentes variables
Exercice 4 Écrire un algorithme calculant l'aire d'un rectangle dont la longueur et la largeur sont égales à 17.5 et 1.4. Réponse :
Algorithme calcul_aire Constante longueur=17.5 largeur = 1.4 Variable aire :Réel Début aire ← largeur * longueur Ecrire (aire) Fin Exercice 5 Déterminer et corriger les erreurs se trouvant dans les algorithmes suivants: Réponse :
Algorithme calcul_aire
Algorithme calcul_périmètre
Variable longueur, largeur, aire :Réel
Variable
début largeur ← 15 lire (longueur)
largeur entier longueur entier perimetre réel
début
aire ← largeur * longueur
largeur ← 15 longueur ← 10
fin
perimetre
←
(largeur +
longueur) * 2 fin Exercice 6 Écrire un algorithme qui calcule la moyenne de 32.6, 55.2, 67.9 et 48.6. Réponse :
Déclaration de 4 constantes avec ces valeurs et d’une variable réelle moyenne pour le calcule de la somme sur 4. Exercice 7 Écrire un algorithme qui calcule la surface d'un cercle sachant que son rayon est 2.59. Surface = rayon2 * 3.14. Réponse :
Algorithme calcul_Surf Constante rayon=2.59 Variable Surface :Réel Début Surface ← rayon*rayon*3.14 Ecrire(Surface) Fin Exercice 8 Écrire un algorithme qui calcule le volume d'un cylindre sachant que son rayon est 5.2 et sa profondeur est de 2.8. Volume = rayon 2 * 3.14 * profondeur. Réponse : Voir exercice 7 avec l’ajout d’une constant profondeur et volume au lieu de surface.
Exercice 9 Écrire un algorithme qui calcule l'intérêt fixe d'un prêt dont la valeur est égale à 7000 DT et le taux est de 12.5%. Intérêt = prêt * taux. Réponse :
Algorithme calcul_interet Constante pret=7000 taux = 12.5 Variable interet :Réel Début interet ← (pret * taux)/100 Ecrire (interet) Fin Exercice 10 Écrire un algorithme pour lire le cours du dollar et le montant en dinar et afficher le montant convertit en dollar. M dinar * cours = M dollar Réponse :
Algorithme Montant_dollar Variable Mont_din , Mont_dol, cours :Réel Début Ecrire(« donner le montant en dinar : ») Lire (Mont_din) Ecrire(« donner le cours : ») Lire (cours) Mont_dol = Mont_din*cours Ecrire (Mont_dol) Fin Exercice 11 Écrire un algorithme qui affiche le quotient et le reste de la division entière de deux nombres entiers entrés au clavier. Réponse :
Algorithme conv_sec Variable nbr1, nbr2, reste, quotient : Entier Début Ecrire (‘donner deux nombres entière :’) Lire (nbr1,nbr2) quotient ← nbr1 Div nbr2 reste ← nbr1 Mod nbr2 Ecrire(‘le quotient de la division de ‘,nbr1,’avec’,nbr2, ‘ =’, quotien,’et reste =’, reste) Fin Exercice 12 Ecrire un algorithme qui lit un nombre (supposé positif) de secondes et le convertit en heures, minutes et secondes.
Support d’exercices
page ( 5/39 )
Réponse :
Algorithme conv_sec Variable heur, minut, second, temp, nbr : Entier Début Ecrire (‘donner le nombre de secondes :’) Lire (nbr) heur ← nbr Div 3600 temp ← nbr Mod 3600 minut ← temp Div 60 second←minut Mod 3600 Ecrire(nbr = heur’ :’minut ‘:’ second) Fin Exercice 13 Écrire un algorithme qui calcule la somme de trois nombres entrés au clavier • En utilisant 5 variables • En utilisant 2 variables Réponse :
Algorithme somme Variable nbr, somme : Entier Début Somme 0 Ecrire (‘donner le nombre 1 :’) Lire (nbr) Somme somme + nbr Ecrire (‘donner le nombre 2 :’) Lire (nbr) Somme somme + nbr Ecrire (‘donner le nombre 3 :’) Lire (nbr) Somme somme + nbr Ecrire (somme) Fin Exercice 14: Ecrire un algorithme pour calculer le montant qu’un individu devra débourser pour faire un voyage dans une automobile louée. L’algorithme tient compte du kilométrage parcouru et la durée du voyage qui sont soumises par le requérant. Les différentes sources de dépenses sont : Coût de la location est de 45 D par jour. L’automobile louée fait 160 kilomètres pour 10 litres d’essence 1 litre d’essence coûte 0.680 D. 0.050 D est exigé pour chaque kilomètre. Réponse :
Algorithme Voy_Automobile Constante Loc_Jour = 45 Litre_Essence = 0.680 Cout_Kilometre = 0.050 Support d’exercices
page ( 6/39 )
Variable Nbre_Jour : Entier Nbre_Kilometre, Cout_Loact, Cout_Essence, Mnt_Voyage : Réel Début Ecrire (“ Introduire le nombre de jours : “) Lire (Nbre_Jour) Ecrire (“ Introduire le nombre de kilomètres : “) Lire (Nbre_Kilometre) Cout_locat Nbre_Jour * Loc_Jour Cout_Essence (Nbre_Kilometre / 160) * Litre_Essence * 10 Mnt_Voyage Cout_locat + Cout_Essence + (Nbre_Kilometre * Cout_Kilometre) Ecrire (“ Le prix du voyage : “, Mnt_Voyage) Fin
Support d’exercices
page ( 7/39 )
Série N° 4 : Les Structures Alternatives Exercice 1 Écrire un algorithme qui lit un entier et vérifie si cet entier est divisible par 3. Réponse :
Algorithme div_3 Variable nbr : Entier Début Ecrire (‘donner un entier :’) Lire (nbr) Si (nbr Mod 3 = 0) Alors Ecrire(nbr ,’est divisible par 3’) Sinon Ecrire(nbr ,’n’est pas divisible par 3’) FinSi Fin Exercice 2 Algorithme abc début a,b,c, temp entier écrire ("a=") lire (a) écrire ("b=") lire (b) écrire ("c=") lire (c) si b > a alors temp ← a I a←b b ← temp fin si si c > a alors temp ← a II a←c c ← temp fin si si c > b alors temp ← b III b←c c ← temp fin si écrire (a,b,c) fin 1. Compléter ce tableau en précisant la valeur contenue dans chaque variable après l'exécution des instructions I, II et III a
I II Support d’exercices
b
c
1
5
10
5 10
1 1
10 5
page ( 8/39 )
III I II
III
10
5
1
20
14
17
14 17 17
20 20 14
17 14 20
Fait la permutation entre a et c. Exercice 3 Soit les instructions suivantes:
si a < b alors c ← b + 10 sinon c ← a +25 finsi
Donnez pour chaque valeur du couple a et b la valeur contenue dans c après l'exécution de ces instructions. a
4 5
b
20 5
c 30 30
Exercice 4 Soient x et y deux variables entières. Écrire un algorithme vérifiant si x est divisible par y; les valeurs de ces deux variables sont lues à partir du clavier. Réponse :
Algorithme x_div_y Variable x, y : Entier Début Ecrire (‘donner un entier x:’) Lire (x) Ecrire (‘donner un entier y:’) Lire (y) Si (x Mod y = 0) Alors Ecrire(x ,’est divisible par’, y) Sinon Ecrire(x ,’n’est pas divisible par’,y) FinSi Fin
Exercice 5 Écrire un algorithme qui lit un réel et affiche sa valeur absolue. Réponse :
Algorithme val_abs Variable x ,abs : Réel Début Ecrire (‘donner un réel :’) Lire (x) abs x Si (x<0) Alors Abs - abs finsi Ecrire(la valeur absolue de x est, abs) Fin
Support d’exercices
page ( 9/39 )
Exercice 6 Écrire un algorithme qui lit deux réels et affiche leur maximum. Réponse :
Algorithme val_max Variable x ,y,max : Réel Début Ecrire (‘donner deux réels :’) Lire (x,y) max x Si (x
Exercice 7 Soient les instructions suivantes : (1.1)
si a > 0 alors si b > 0 alors c a+b sinon c a-b fsi fsi (1.2)
si a > 0 alors si b > 0 alors c a+b fsi sinon c <-- a-b finsi Quels sont les traitements réalisés dans (1.1) et (1.2) si a est négatif. Réponse : 1.1 : rien 1.2 : C a-b
Exercice 8 Écrire un algorithme qui lit un entier et affiche un message pour dire s'il est positif ou négatif ou nul. Réponse :
Algorithme pos_neg_nul Variable nbr : Entier Début Ecrire (‘donner un entier :’) Lire (nbr) Si (nbr<0) Alors Ecrire(‘le nbr’,nbr,’ est negatif’) Sinon Si (nbr>0) alors Ecrire(‘le nbr’,nbr,’ est positif’) Sinon Ecrire(‘le nbr’,nbr,’ est nul’) Finsi Finsi
Fin Support d’exercices
page ( 10/39 )
Exercice 9 Écrire un algorithme qui lit les paramètres d'une équation de premier degré ax+b=0 et affiche la solution . Réponse :
Algorithme Equ_1_deg Variable a,b: Entier Début Ecrire (‘donner un entier a:’) Lire (a) Ecrire (‘donner un entier b:’) Lire (b) Si (a ≠ 0) Alors Ecrire(‘la solution est x=’,-b/a) Sinon Si (b=0) alors Ecrire(‘la solution est tout R’) Sinon Ecrire(‘pas de solution’) Finsi Finsi Fin Exercice 10 Écrire un algorithme permettant de lire la valeur de la température de l'eau et d'afficher son état : • Glace si la température est inférieure à 0, t ≤ 0 • Eau si la température est strictement supérieure à 0 et inférieure à 100, 0 < t ≤ 100 • Vapeur si la température est strictement supérieure à 100, 100 < t Réponse :
Algorithme Etat_physique Variable t : Réel Début Ecrire (“ Introduire la température : “) Lire (t) Si (t<0) Alors Ecrire (“ Solide“) Sinon Si (t<100) Alors Ecrire (“ Liquide “) Sinon Ecrire (“ Gaz “) FSi FSi Fin
Support d’exercices
page ( 11/39 )
Exercice 11 A partir de la saisie du prix unitaire du produit (PU) et de la quantité commandée (QTCOM), afficher le montant à payer en détaillant le coût du transport et la remise accordée. • Le transport est gratuit si le montant total des produits TOT = PU x QTCOM est supérieur à 1000 dinars, dans le cas contraire le transport est de 2% du TOT. • La remise est de 5% si le montant total après transport est compris entre 500 et 2000 dinars et de 10% au delà. Réponse :
Algorithme Mont_payer Variable PU, QTCOM, TOT,TRANS, M_P,REM: Réel Début Ecrire (“ donner le prix unitaire : “) Lire (PU) Ecrire (“ donner la qualité commandée : “) Lire (QTCOM) TOT PU * QTCOM Si (TOT>1000) Alors TRANS 0.0 Sinon TRANS 2*TOT/100 Finsi M_P TOT + TRANS Si ( TOT >=500 et TOT <=2000) Alors REM 5*M_P/100 Sinon REM 10*M_P/100 Finsi Ecrire (“ Le montant total = “,TOT) Ecrire (“ Le coût de transport = “,TRANS) Ecrire (“ La remise = “,REM) Ecrire (“ Le montant a payer = “,TOT+TANS-REM) Fin Exercice 12 Le taux d'intérêt bancaire pour un montant déposé à la banque dépend du temps pendant lequel le montant a été déposé. Voici un tableau présentant le taux selon nombre d'années de dépôt. Années en dépôt
Taux d'intérêt
__> 5 ans 0.095 0.085 5 ≥ __>3 0.065 3 ≥ __>1 0.058 1 ≥ __ Écrire un algorithme qui lit le nombre d'années de dépôt et affiche le taux d'intérêt correspondant.
Support d’exercices
page ( 12/39 )
Réponse :
Algorithme Taux_int Variable Nbr_anne: Entier Taux : Réel Début Ecrire (“ donner le nombre d’années de dépot : “) Lire (nbr_anne) Si nbr_anne > 5 alors taux 0.095 Sinon Si nbr_anne > 3 alors taux 0.085 Sinon Si nbr_anne > 1 alors taux 0.065 Sinon Taux 0.058 Finsi Finsi Finsi Ecrire (‘le taux d’interet pour ‘ , nbr_anne, ‘ans est’,taux) Fin Exercice 13 Ecrire un algorithme qui lit trois valeurs entières (A, B et C) au clavier et qui affiche la plus grande des trois valeurs (MAX) et la plus petite d’entre elles (MIN). Réponse : Debut { Solution 1}
Lire (A,B,C) MAX A Si (B > MAX) alors MAX B Finsi Si (C > MAX ) alors MAX C Finsi Ecrire (‘la valeur maximale est’, MAX)
Fin Debut { Solution 2}
Lire (A,B,C) Si ( A > B ) Alors Si (A > C ) Alors Max A Sinon Max C Finsi Sinon Si ( B > C ) Alors Max B Sinon Max C FinSi FinSi Ecrire ( MAX)
Fin Support d’exercices
page ( 13/39 )
Exercice 14 Ecrire l'algorithme qui permet de saisir les trois paramètres d'une équation du second degré, et de discuter les solutions selon les valeurs de a, b et c, lorsqu'elles sont nulles ou pas. Réponse :
Algorithme Eq_sed_deg Variable a ,b,c, delta,x1,x2 : Réel Début Ecrire (“ Introduire les coefficients a,b,c : “) Lire (a,b,c) Si (a <> 0) delta b*b – (4*a*c) Si (delta>0) Alors x1 (-b- sqrt(delta) ) / (2*a) x2 (-b+ sqrt(delta) ) / (2*a) Ecrire (“ Deux solutions “, x1,x2) Sinon Si (d=0) Alors
x1 (-b) / (2*a) Ecrire (“ Solution Double “, x1)
Sinon Ecrire (“ Pas de solution “) FinSi Finsi Si (b≠0) Alors (* a=0 *) x1 -c/b Ecrire (“ Une solution “, x1) Sinon (*b = 0*) Si (c≠0) Alors Ecrire (“ Impossible “) Sinon Ecrire (“ l’ensemble R “) Finsi Finsi
Fin Exercice 15
Écrire un algorithme qui permet de saisir un numéro de couleur de l'arc-en-ciel et d'afficher la couleur correspondante 1- rouge 2- orangé 3- jaune 4- vert 5- bleu 6- indigo 7- violet
Support d’exercices
page ( 14/39 )
Réponse :
Algorithme Couleur Variable code : entier Début Ecrire (“ Introduire le code de la couleur “) Lire (code) Selon (code) Faire 1 : Ecrire (″ rouge ″ ) 2 : Ecrire (″ jaune ″ ) 3 : Ecrire (″ orange ″ ) 4 : Ecrire (″ vert ″ ) 5 : Ecrire (″ bleu ″ ) 6 : Ecrire (″ indigo ″ ) 7² : Ecrire (″ violet ″ ) sinon : Ecrire (″ code inconnu ″ ) FinSelon Fin
Exercice 16 Écrire un algorithme qui permet de saisir le jour, le mois et l'année d'une date ( 3 entiers ) et vérifie si elle est correcte ou non. Réponse :
Algorithme Verif_date Variable JJ,MM,AA: Entier Début Ecrire (“ Introduire la date sous forme de trois entiers JJ/MM/AA : “) Lire (JJ,MM ,AA) Si (JJ> 0 et JJ<=31) et (MM>0 et MM<=12) et (AA > 0 ) Alors Ecrire(‘La date’,JJ,’/’,MM,’/’,AA,’est correct’) Sinon Ecrire(‘ la date introduite est incorrecte’) Finsi Fin
Exercice 17 Écrire un algorithme qui permet de calculer le montant des heures supplémentaires d'un employé, sachant que le prix unitaire d'une heure suit le barème suivant: 2. Les 39 premières heures sans supplément 3. De 40e à 44e heure majorées de 50% 4. De 45e à 49e heure majorées de 75% 5. De 50e ou plus sont majorées de 100% Cet algorithme lira le nombre d'heures travaillées et le prix unitaire d'une heure normale. Réponse :
Algorithme Heurs_Suppl Variable nbr_h : entier Prix_u, tot, maj : réel Début Ecrire(‘ donner le nombre d’heures’) Lire(nbr_h) Ecrire(‘ donner le prix unitaire d’une heure normale’) Support d’exercices
page ( 15/39 )
Lire(prix_u)
Si (nbr_h >0 ) Si (nbr_h <= 39) Alors
Maj 0.0 Sinon Si (nbr_h <=44) Alors Maj (nbr_h – 39)*prix_u*50/100 Sinon Si (nbr_h <=49) Alors Maj (nbr_h – 44)*prix_u*75/100 Sinon Maj (nbr_h – 49)*prix_u*100/100 FinSi FinSi FinSi FinSi Ecrire (‘le montant des heurs supplémentaire pour cet employé =’,Maj) Fin
Exercice 18 Ce programme permet de calculer un salaire net à partir d’un salaire brut et de quelques renseignements concernant la situation de l'utilisateur. L’utilisateur devra saisir au clavier : • son salaire brut [ montant réel ] • sa situation : • a-t-il des frères et/ou des sœurs (o/n) • est-il boursier (o/n) Aucun contrôle de validité de la saisie des entrées ne sera effectué. Le salaire net sera affiché à l’écran [montant réel]. Celui sera déterminé comme suit : • impôt = 0.1 • si la personne n’a ni frère ni sœur : impôt + 0.05 • si la personne est boursière : impôt - 0.05 Le salaire net est le produit du taux d’imposition (1-impôt) et du salaire brut. Réponse :
Algorithme Cal_sal Variable Sal_b, impot, Sal_n : Réel Bours, frere : caractère Début Ecrire(‘ donner le salaire brut’) Lire(Sal_b) Ecrire(‘ Avez-vous des sœurs et/ou frère (o/n) ?’) Lire (frere) Ecrire(‘ Vous ete boursier (o/n) ?’) Lire (bours) Impot 0.1 Si (fere = ‘n’) alors impot impot + 0.05 Finsi Si (bours = ‘o’) alors impot impot -0.05 Finsi Sal_n Sal_b * (1-impot) Ecrire (‘le salaire net =’, Sal_n) Fin
Support d’exercices
page ( 16/39 )
Série N° 5 : Les Structures Répétitives Exercice 1 1. Quelle est la différence entre la boucle tant que et la boucle répéter jusqu’à? 2. transformer la boucle pour suivante : Pour i de 5 à 15 faire écrire(" le carré de ", i, " est ", i*i) finPour en : boucle tant que jusqu’à boucle répéter Réponse :
1- La boucle tant que peut ne pas être exécutée,La boucle répéter jusqu’à s’exécute au moins une fois. 2- avec Tant Que : i5 tant que(i<=15) faire écrire(" le carré de ", i, " est ", i*i) i i+1 fintantque Avec Répéter : i5 répéter écrire(" le carré de ", i, " est ", i*i) I i+1 jusqu’à(i>15) Exercice 2 Algorithme exercice2 variable i, k, N, P : entier Début lire(N) i N P 1 Pour i de 1 à N faire k i P P*k K k-1 finPour écrire(P) Fin
1. Donnez la trace d’exécution de cet algorithme pour n = 4 2. Que fait cet algorithme Réponse :
1- Pour n=4 : N 4 4 4 4 4 4
i 4 1 2 3 4 5
k 0 1 2 3 3
2- L’algorithme calcule n ! Support d’exercices
page ( 17/39 )
P 1 1 2 6 24 24
Exercice 3 Écrire un algorithme qui lit un entier et affiche les 5 entiers suivants. Réponse :
Algorithme Cinq_val Variable i, N : entier Début écrire("Donner le un entier") lire(N) Pour i de 1 à 5 Faire écrire(‘la’, i, ‘eme valeur après’,N,’=’,N+i) FinPour Fin Exercice 4 Ecrire l'algorithme qui permet de saisir les moyennes des N étudiants de la classe Informatique et de calculer la moyenne générale de la classe. Réponse :
Algorithme MOYENNE Variable i, N : entier S, MOY, MC : réel Début écrire("Donner le nombre d'étudiants") lire(N) Si (N > 0) alors S←0 Pour i de 1 à N Faire écrire("Donner la moyenne de l'étudiant n°", i) lire(MOY) S ← S + MOY FinPour MC ← S / N écrire("La moyenne de la classe est : ", MC) sinon écrire("Erreur dans le nombre d'étudiants") Finsi Fin Exercice 5 Ecrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le nombre 7) : Table de 7 : 7x1=7 7 x 2 = 14 7 x 3 = 21 … 7 x 10 = 70
Support d’exercices
page ( 18/39 )
Réponse :
Algorithme table_mulp Variable N, i : Entier Debut Ecrire (“Entrez un nombre : ”) Lire (N) Ecrire (“La table de multiplication de ce nombre est : ”) Pour i = 1 à 10 faire Ecrire (N,“ x ”,i, “ = ”, n*i) FinPour Fin Exercice 6 Écrire un algorithme permettant de répéter l'affichage de la question voulez-vous continuez? Jusqu'à ce que la réponse soit la lettre ‘o ‘pour oui ou la lettre ‘n’ pour non. Réponse :
Algorithme Test_continu Variable C : caractère Début Répéter Écrire(‘Voulez -vous continuez?’ ) Lire(c) Jusqu’à ((C = ’o’) Ou ( C = ‘n’)) Fin Exercice 7
Écrire un algorithme qui lit un entier et affiche son carré et ne s'arrête que si on entre la valeur 0. Réponse :
Algorithme Aff_carré Variable x : Entier Début Répéter Écrire(‘Donner un entier ’) Lire(x) Ecrire(’Le carré de ‘,x,’=’,x*x) Jusqu’à ( x = 0) Fin Exercice 8
Ecrire les instructions qui permettent l'affichage de tous les nombres pairs qui existent entre 1 et 10 de trois manières différentes . Réponse : Algorithme Aff_carré1 Variable i : Entier Début Pour i =1 à 10 faire Si (i Mod 2 = 0) Alors Ecrire(i) FinSi FinPour Fin
Support d’exercices
Algorithme Aff_carré2 Variable i : Entier Début i1 Repeter Si (i Mod 2 = 0) Alors Ecrire(i) FinSi i i+1 Jusqu'à (i>=10) Fin page ( 19/39 )
Algorithme Aff_carré3 Variable i : Entier Début i1 Tant Que( i <= 10) faire Si (i Mod 2 = 0) Alors Ecrire(i) FinSi i i+1 FinTantque Fin
Exercice 9 Écrire un algorithme qui lit un réel x et un entier positif n et affiche x puissance n. Réponse :
Algorithme Puissance Variable i, n : Entier x ,P : Réel Début Ecrire (‘ Donner un réel x :’) Lire(x) Ecrire (‘Donner un entier positif n’) Répéter Lire(n) Jusqu'à (n>0) P 1.0 Pour i =1 à n faire PP*x FinPour Ecrire(‘ X,’a la puissance’,n,’=’, P) Fin Exercice 10
Écrire un algorithme qui lit un entier positif et affiche son factoriel n!=n-1! * n et 0!=1 Réponse :
Algorithme Factoriel
Variables N, i, F : Entier Debut Ecrire (“Entrez un nombre : ”) Lire (N) F1 Pour i = 2 à N faire FF*i Finpour Ecrire (“Le factoriel est : ”, F) Fin Exercice 11 Écrire un algorithme qui lit 20 valeurs réelles et qui détermine la moyenne des valeurs strictement positifs et la moyenne des valeurs strictement négatifs. Réponse :
Algorithme MOY_P_N Variable i ,nbr_N, nbr_P: entier V, MOY_P, MOY_N : Réel Début MOY_P ← 0.0 ; Nbr_P 0 MOY_N ← 0.0 ; Nbr 0 Pour i de 1 à 20 Faire écrire("Donner une valeur réelle’) lire(V) Si (v >0) Alors MOY_P MOY_P + V Support d’exercices
Nbr_P nbr_P +1 FinSi Si (v <0) Alors MOY_N MOY_N + V Nbr_N nbr_N +1 FinSi FinPour Ecrire("La moyenne des nombres positifs = ‘, MOY_P/nbr_P) Ecrire("La moyenne des nombres négatifs = ‘, MOY_N/nbr_N) Fin
page ( 20/39 )
Exercice 12 Écrire un algorithme qui lit 35 notes réelles et affiche la note maximale. Il ne faut pas utiliser la structure tableau. Réponse :
Algorithme MAX Variable i : entier MAX, X : Réel Début Ecrire("Donner la première note) lire(X) MAX X Pour i de 2 à 35 Faire écrire("Donner la note n°’,i) lire(X) Si (X > MAX) Alors MAX X FinSi FinPour Ecrire (‘ la valeur maximale est =’,MAX) Fin Exercice 13 Ecrire un algorithme qui permet de saisir un nombre pair et qui détermine combien de fois ce nombre est divisible par 2. Exemple : 8 est divisible 3 fois par 2 (2*2*2). Réponse :
Algorithme PAIR-NBDIV2 Variable N, N2 : entier Début Répéter Ecrire("Donner un entier pair") lire(N) Jusqu'à (N MOD 2 = 0) N2 ← 0 NB ← N Répéter NB ← NB div 2 N2 ← N2 +1 Jusqu'à (NB MOD 2 ≠ 0) (* ou bien Jusqu'à ( NB =0 ) *) Ecrire (N, "est divisible par 2", N2,"fois") Fin Exercice 14 Écrire un algorithme qui permet d'afficher les n premiers entiers impairs dans l'ordre décroissant. n (entier positif) est lu à partir du clavier. Réponse :
Algorithme NBR_IMP Variable N, NB : entier Début Support d’exercices
page ( 21/39 )
Ecrire (‘Donner un entier positif n’) Répéter Lire(N) Jusqu'à (N>0)
NB ← N Répéter Si (NB MOD 2 ≠ 0) Alors Ecrire (NB) FinSi NB Nb-1 Jusqu'à (NB<=0) Fin Exercice 15 Écrire un algorithme qui permet de saisir un nombre entier n et d'afficher s'il est premier ou non. Un nombre premier est divisible uniquement par 1 et par lui même. Réponse :
Algorithme NBR_Premier Variable N,i: entier Premier : Booléen Début
Ecrire (‘Donner un entier n’) Lire(N) Premier vrai
Pour i=2 à N-1 faire Si (N MOD i = 0) Alors Premier Faux Finsi FinPour Si ( Premier = Vrai) Ecrire ( N, ‘est un nombre premier’) Sinon Ecrire ( N, ‘n’est pas un nombre premier’) FinSi Fin Exercice 16 Écrire l'algorithme qui permet de calculer le PGCD de deux nombres entiers x et y. Réponse :
Algorithme PGCD Variable X, Y,pgcd, i: entier Début
Ecrire (‘Donner deux entier x et y’) Lire(X,Y) . . . . .
Fin Support d’exercices
page ( 22/39 )
Exercice 17 Écrire un algorithme qui lit une valeur υ réel strictement positive et qui calcule le plus petit entier n tel que : 1
+
1 2
+
1 3
+
...
+
1 n
> v
Réponse :
Algorithme Petit_Entier Variable n, i: entier V , S : Réel Début
Ecrire (‘Donner un réel positif’) Répéter Lire(V) Jusqu'à ( V>0 ) N0 S 0.0 i1 Répéter S S + 1/i Si ( S > V) Ni FinSi i
Fin Exercice 18 Écrire un algorithme qui détermine si un entier N est parfait ou non. Un entier est dit parfait s'il est égal à la somme de ses diviseurs stricts (Exemple: 6=3+2+1). Réponse :
Algorithme Nbr_parfait Variable S ,N, N2, i: entier Début
Ecrire (‘Donner un entier’) Lire (N) S0 i2 Répéter Si (N MOD i = 0) Alors S S + N DIV i FinSi i i+1 Jusqu'à (i >= N) Si ( S= N) Alors Ecrire(N ,’est un nombre parfait’) Sinon Ecrire(N ,’n’est pas un nombre parfait’)
Fin
Support d’exercices
page ( 23/39 )
Exercice 19 Écrire un algorithme qui lit une valeur réelle et un entier n supérieur à 2 et qui calcule la valeur de l'expression suivante: 1+x+x 2+…+xn Il doit afficher en sortie « pour x=… et n=…. l'expression vaut=… » Réponse :
Algorithme Polynome Variable N, i ,j : entire X, S, P : Réel Début Ecrire("Donner un réel") lire(x) Ecrire("Donner un entier supérieure a 2") Répéter Lire(N) Jusqu'à ( N>=2 ) S 0.0
Pour i = 0 à N Faire P 1.0 Pour j = 1 à i Faire PP*X FinPour SS+P FinPour Ecrire (‘ pour x=’, X ,’ et n=’,N ,’ l'expression vaut=’, S ) Fin Exercice 20 Ecrire l'algorithme qui détermine le Nième terme d'une suite définie par : S0 = 2 S1 = 3 Sn = Sn-2 + (-1)n * Sn-1 Réponse :
Algorithme SUITE Variable N, S0, S1, Sn, i : entier Début Ecrire("Donner un entier ") lire(N) S0 ← 2 S1 ← 3 Pour i = 2 à N Faire Sn ← S0 + (-1)^i *S1 S0 ← S1 S1 ← S2 FinPour Ecrire ("Le Nième terme de la suite S est ", Sn) Fin Support d’exercices
page ( 24/39 )
Support d’exercices
page ( 25/39 )
Série N° 6 : Le Type Tableau Exercice 1 Que produit l’algorithme suivant ? Tableau Nb[0..5] : Entier Variable i : Entier Début Pour i = 0 à 5 faire Nb(i) ← i * i FinPour Pour i = 0 à 5 faire Ecrire( Nb(i) ) FinPour Fin Peut-on simplifier cet algorithme avec le même résultat ? Réponse :
Cet algorithme remplit un tableau avec six valeurs : 0, 1, 4, 9, 16, 25. Il les écrit ensuite à l’écran. Simplification : Tableau Nb[0..5] : Entier
Variable i : Entier Début Pour i = 0 à 5 faire Nb(i) ← i * i Ecrire Nb(i) FinPour Fin Exercice 2 Ecrivez un algorithme calculant la somme des valeurs d’un tableau (on suppose que le tableau a été préalablement saisi). Réponse :
Algorithme Somme
Tableau T[0..5] : Entier
Variable i, S : Entier Debut … tableau supposé saisie ici.. S0 Pour i = 0 à 5 faire S S + Nb(i) FinPour Ecrire (‘La somme est =’,S) Fin Exercice 3 Écrire un algorithme dans lequel vous déclarez une variable de type tableau d'entiers dans laquelle vous mettez les diviseurs de 12 qui sont 12, 6, 4, 3, 2, 1. Support d’exercices
page ( 26/39 )
Réponse :
Algorithme div_12
Tableau T[0..6] : Entier
Variable i: Entier Debut n1 i0 Répéter Si ( (12 MOD n ) = 0 ) Alors T(i) 12 DIV n i i +1 Finsi nn+1 Jusqu’a ( n >=12) Fin Exercice 4 Ecrivez un algorithme constituant un tableau, à partir de deux tableaux de même longueur préalablement saisis. Le nouveau tableau sera la somme des éléments des deux tableaux de départ. Tableau 1 : 4 8 7 9 1 5 4 6 Tableau 2 : 7 6 5 2 1 3 7 4 Tableau à constituer : 11 14 12 11 2 8 11 10 Réponse :
Algorithme Somme_2_Tab
Constante N = Val Tableau T[0..N], T1[0..N] , T2[0..N] : Entier
Variable i: Entier Debut … (On suppose que T1 et T2 comptent N éléments, et qu’ils sont déjà saisis) Pour I = 1 à N faire T (I) T1(I) + T2(I) FinPour
Fin Exercice 5 Ecrivez un algorithme permettant, à l’utilisateur de saisir les notes d'une classe (max 20 étudiants) et renvoie le nombre de ces notes supérieures à la moyenne de la classe. Réponse :
Algorithme Nbr_Note
Constante N = 20 Tableau T[0..N] : Entier
Variable Nb, i, Som, Moy, Nbsup: Entier Support d’exercices
page ( 27/39 )
Début Ecrire ("Entrez le nombre de notes à saisir : ") Répéter Lire (Nb) Jusqu'à (Nb<=20) Pour i = 0 à Nb - 1 Ecrire ("Entrez le nombre n° ", i + 1) Lire (T(i)) FinPour Som ← 0 Pour i = 0 à Nb - 1 Som ← Som + T(i) FinPour Moy ← Som / Nb NbSup ← 0 Pour i = 0 à Nb - 1 Si T(i) > Moy Alors NbSup ← NbSup + 1 FinSi FinPour Ecrire (NbSup, " élèves dépassent la moyenne de la classe") Fin Exercice 6 Écrire un algorithme qui met dans une matrice la table d'addition de 1 à 9. Réponse :
Algorithme Tab_Add
Tableau M[1..10, 1..10] : Entier
Variable i,j : Entier Début
Pour I = 1 à 9 Faire Pour J = 1 à 9 Faire M(i,j) i + j
FinPour FinPour Fin Exercice 7 Écrire un algorithme qui lit une matrice de réels et calcule la somme des éléments de cette matrice de dimension 7 et 12. Réponse :
Algorithme Somme_Mat
Tableau M[1..10, 1..10] : Entier
Variable i,j : Entier S : Réel Début S 0.0
Pour I = 1 à 7 Faire
Support d’exercices
page ( 28/39 )
Pour J = 1 à 12 Faire Lire ( M(i,j) ) S S + M(i,j)
FinPour FinPour Ecrire (‘la somme des éléments de la matrice =’, S) Fin Exercice 8 Écrire un algorithme qui lit une matrice de dimension 50 et 20 et affiche le nombre de réels strictement positifs. Réponse :
Algorithme Nbr_Pos
Tableau M[1..50, 1..20] : Réel
Variable i,j, N : Entier Début N0
Pour I = 1 à 50 Faire Pour J = 1 à 20 Faire Lire ( M(i,j) ) Si ( M(i,j) > 0) Alors N N +1 FinSi
FinPour FinPour Ecrire (‘le nombre des éléments positifs =’, N) Fin Exercice 9 Écrire un algorithme qui lit une matrice de réels positifs de dimension 50 et 20 et affiche le plus grand élément. Réponse :
Algorithme Nbr_Pos
Tableau M[1..50, 1..20] : Réel
Variable i,j, Max : Entier Début …. Lecture de la matrice M… Max M(1,1)
Pour I = 1 à 50 Faire Pour J = 1 à 20 Faire Si ( M(i,j) >= Max) Alors Max M(i,j) FinSi
FinPour FinPour Ecrire (‘le plus grand element de M =’, Max) Fin Exercice 10 Écrire un algorithme qui lit une matrice de dimension 12 et 10 et affiche la position du plus petit élément. Support d’exercices
page ( 29/39 )
Réponse :
Algorithme Pos_min
Tableau M[1..12, 1..10] : Réel
Variable i,j, Min, c,l : Entier Début …. Lecture de la matrice M… Min M(1,1)
Pour I = 1 à 12 Faire Pour J = 1 à 10 Faire Si ( M(i,j) <= Min) Alors Min M(i,j) Ci Lj FinSi
FinPour FinPour Ecrire (‘le plus petit élément = ‘,min,’ ce trouve a la colonne’,c,’et ligne ‘,l) Fin Exercice 11 Écrire un algorithme qui lit une matrice de dimensions 10 et 8 et qui génère une matrice transposée. Réponse :
Algorithme transposée
Tableau M[1..10, 1..8] : Entierl
Variable i,j, Min, c,l : Entier Début …. Lecture de la matrice M… Min M(1,1) Pour I = 1 à 10 Faire Pour J = 1 à 8 Faire T(j,i) M(i,j)
FinPour FinPour (* Affichage de la matrice transposée *) Pour I = 1 à 10 Faire Pour J = 1 à 8 Faire Ecrire(T(i,j))
FinPour FinPour Fin Exercice 12 Écrire un algorithme qui lit un réel et une matrice de dimension 3 et 4 et multiplie cette dernière par ce réel. Réponse :
…. Lecture et déclaration de la matrice M… Lire(X) Pour I = 1 à 3 Faire Support d’exercices
page ( 30/39 )
Pour J = 1 à 4 Faire M( i, j) X * M(i,j)
FinPour FinPour Exercice 13 Écrire un algorithme qui lit une matrice M de dimension 10 et 10 et un réel x et affiche le nombre d'occurrences de x dans M. Réponse :
Début …. Lecture et déclaration de la matrice M… Lire(X) Pour I = 1 à 10 Faire Pour J = 1 à 10 Faire Si (X = M(i,j) ) Alors N N+1 FinSi
FinPour FinPour Ecrire (‘le nombre de ‘,X,’ dans M =’, N) Fin Exercice 14 Écrire un algorithme qui permet de lire pour 35 étudiants leur notes en programmation, électronique et anglais et d'afficher pour chaque étudiant sa moyenne et la moyenne de la classe pour chaque matière. Réponse :
Algorithme Moy_etud_class Constante N = 35 Tableau M[1..N, 1..5] : Réel
Variable
i: Entier M_A,M_P,M_E : Réel
Début Pour i = 1 à N Faire Ecrire (‘Donner la moyenne en programmation de l’étudiant n°’,i) Lire (M(i,1)) Ecrire (‘Donner la moyenne en électronique de l’étudiant n°:’,i) Lire (M(i,2)) Ecrire (‘Donner la moyenne en anglais de l’étudiant n°:’,i) Lire (M(i,3)) M(i,4) ( M(i,1) + M(i,2) + M(i,3) )/3 FinPour M_P 0.0 M_E 0.0 M_A 0.0 Pour i = 1 à N Faire Ecrire (‘La moyenne de l’étudiant n°’,i,’=’,M(i,4) ) M_A M_A + M (i, 3) M_E M_E + M ( i, 2) M_P M_P + M ( i, 1) Support d’exercices
page ( 31/39 )
FinPour Ecrire (‘La moyenne de la classe en programmation =’, M_P/N) Ecrire (‘La moyenne de la classe en anglais =’, M_A/N ) Ecrire (‘La moyenne de la classe en électronique =’, M_E/N) Fin Exercice 15 Soit M une matrice carrée de dimension NxN. Ecrire un algorithme permettant de calculer la somme du triangle supérieur droit de la matrice. Réponse :
Algorithme Som_Trg_sup
Constante N = Val Tableau M[1..N, 1..N] : Réel
Variable i,j, S : Entier M : Matrice Début S 0 Pour i = 1 à N Faire Pour J = i à N Faire S S +M(i,j) FinPour FinPour Ecrire (‘La somme du triangle supérieur de M =’, S) Fin Exercice 16 En multipliant une matrice A de dimensions N et M avec une matrice B de dimensions M et P on obtient une matrice C de dimensions N et P: A(N,M) * B(M,P) = C(N,P) La multiplication de deux matrices se fait en multipliant les composantes des deux matrices lignes par colonnes: Ecrire un algorithme qui effectue la multiplication de deux matrices A et B. Le résultat de la multiplication sera mémorisé dans une troisième matrice C Réponse :
Algorithme Som_Trg_sup
Constante N = Val1,P = Val2, M = Val3 Tableau A[1..N, 1..M] , B[1..M, 1..P], C[1..N, 1..P] : Réel
Variable
i,j,k : Entier X : Réel
Début S 0 Pour i = 1 à N Faire Pour J = 1 à P Faire X 0.0 Pour k = 1 à M Faire X X + A(i, k) * B(k, j) FinPour C(i, j) X FinPour FinPour
Support d’exercices
page ( 32/39 )
Fin Exercice 17 Soit une matrice A à deux dimensions NxM. Un « point col » est un élément de la matrice qui est minimum de sa ligne et maximum de sa colonne ou inversement. Exemple :
|18340| | | |67270|
|4589| |3893| |3493|
|35677| |42289| |63297|
|123| |456| |789|
Indication: Etablir deux matrices d’aide MAX et MIN de mêmes dimensions que A.
Ecrire un algorithme qui affiche les coordonnées de tous les points cols d’une matrice A. Réponse : Solution 1 :
Algorithme Point_col
Constante N = Val1, M = Val3 Tableau A[1..N, 1..M] : Réel
Variable
i,j,k : Entier X : Réel
Début …. Lecture et déclaration de la matrice M… Pour i = 1 à N Faire K 0 Pour J = 1 à M Faire Si A (i, j) < A (i, k) kj FinSi FinPour (* un minimum se trouve sur la ligne i et sur la colonne k*) (*est-ce qu’il est un maximum sur sa colonne ? *) j 0 TantQue (j
Fin
Support d’exercices
page ( 33/39 )
Série N° 7 : Le Type Chaîne de Caractères Exercice 1 Écrire un algorithme dans lequel vous déclarer une variable voyelle de type tableau de caractère dans laquelle vous allez placer toutes les voyelles de l'alphabet: a, e, i, o, u, y. Réponse :
Algorithme Voyelle Type mot = Tableau[1..6] en caractère Variable CH1: mot Début (* lecture du mot en un seul coup *)
Fin
Pour I allant de 1 à LONG(CH1) Faire CH2(I)CH1(LONG(CH)-I+1) FinPour (* exploitation du mot caractère par caractère *) Si (CH1=CH2) Alors Ecrire (CH1, ‘est un Palindrome’) Sinon Ecrire(CH1, ‘n’’est pas un palindrome’) FinSi
Exercice 2 Soit une chaîne de caractères s. Ecrire un algorithme « longueur » permettant de déterminer et d’afficher la longueur de la chaîne. Réponse :
Algorithme Longueur Variable S : Chaine[20] Début Lire(S) (* lecture du mot en un seul coup *) Pour I = 1 à LONG(CH1) Faire CH2(I)CH1(LONG(CH)-I+1) FinPour (* exploitation du mot caractère par caractère *) Si (CH1=CH2) Alors Ecrire (CH1, ‘est un Palindrome’) Sinon Ecrire(CH1, ‘n’’est pas un palindrome’) FinSi Fin
Exercice 3 Écrire un algorithme qui lit un nom et affiche la 1 er lettre seulement en majuscule et le reste en minuscule. Réponse :
Exercice 4 Écrire un algorithme qui lit le nom et le prénom en même temps à partir du clavier et met le nom dans une variable et le prénom dans une autre. Réponse :
Exercice 5 Support d’exercices
page ( 34/39 )
Ecrire un algorithme « concatener » permettant de concaténer deux chaînes S1 et S2 et de mettre la chaîne obtenue dans T. Réponse :
Exercice 6 Écrire un algorithme qui lit une chaîne de caractères et affiche le pourcentage des lettres voyelles. Réponse :
Exercice 7 Écrire un algorithme qui permet de saisir des chaînes de caractères et de les afficher et ne s'arrête que si on saisit la chaîne "fin". Réponse :
Exercice 8 Écrire un algorithme qui permet de lire une chaîne de caractères et d'afficher si elle est palindrome ou non. Une chaîne est dite palindrome, si elle se lit de gauche à droite de la même façon qu’elle se lise de droite à gauche. exemple :AZIZA, LAVAL.. Réponse :
Exercice 9 Écrire un algorithme qui lit une chaîne de caractères et affiche le nombre de voyelles dans cette chaîne. A, e, i, o, u, y. Réponse :
Exercice 10 Écrire un algorithme qui lit 10 chaînes de caractères et n'affiche que celle se terminant par « tion » Réponse :
Exercice 11 Écrire un algorithme qui lit une chaîne de caractères et qui affiche son inverse, en utilisant une seule chaîne de caractères. Par exemple : STOP devient POTS Réponse :
Exercice 12 Écrire un algorithme qui lit deux chaînes de caractères et qui affiche les caractères en commun. Réponse :
Exercice 13 Soit une chaîne de caractères S contenant un texte supposé être une suite de mots délimités par des espaces blancs. Et soit une chaîne M contenant un mot. Ecrire un algorithme permettant de rechercher le mot M dans la chaîne S. Le mot trouvé doit être délimité par deux espaces blancs ou bien un seul blanc s’il est le dernier ou le premier de la chaîne S. Réponse :
Support d’exercices
page ( 35/39 )
Série N° 8.1 : Les Fonctions Exercice 1 Créer une fonction qui calcule le carré d'un nombre réel. Exercice 2 Créer une fonction min2 qui donne le minimum de deux réels en utilisant la formule suivante: Min(x,y)=(x+y-|x-y|)/2. Utiliser la fonction valeur_absolue déjà définie. Exercice 3 Écrire une fonction min3 qui retourne le minimum de 3 réels en utilisant la formule suivante: Min(x,y,z)=Min(Min(x,y),z) Utiliser la fonction min2. Exercice 4 Écrire un algorithme qui lit 3 réels au clavier et qui affiche le minimum, utiliser la fonction min3. Exercice 5 Créer une fonction qui retourne le cube d'un réel. Utiliser la fonction carrée sachant que x3 = x2 * x Exercice 6 Écrire un algorithme qui lit une valeur réelle au clavier et affiche x 2, x3, x5 et x6 . Utiliser les fonctions carrée et cube sachant que: x5 = x2 x3 , x6= x3 x3 = (x2 ) 3= (x3 )2 Exercice 7 Créer une fonction moyenne3 qui calcule la moyenne de 3 réels. Exercice 8 Créer une fonction factorielle : 0!=1 , n!=nx(n-1)x….x1 Exercice 9 n! p C = n Créer une fonction qui calcule le cardinal (n, p) p!( n − p)! Exercice 10 Écrire une fonction qui permet de retourner f(x)=4x3+2x+9, x étant un réel. Exercice 11 Écrire une fonction qui permet de retourner f(x,y)= xy+5x 2-2y avec x et y deux réels. Exercice 12 Écrire une fonction qui calcule le PGCD de 2 entiers strictement positifs. Exercice 13 Écrire un algorithme qui affiche les entiers parfaits se trouvant entre 2 valeurs m et n entiers lus au clavier telle que 2 < m < n. Exercice 14 1 n Écrire une fonction qui calcule e x pour x un entier strictement e = ∑k 0 k ! positif. Exercice 15 Écrire une fonction qui retourne la position du minimum dans un tableau de réels de borne inf et de borne sup. Exercice 16 Écrire une fonction qui vérifie si un tableau de réels de borne inf et sup est trié. =
Support d’exercices
page ( 36/39 )
Exercice 17 Écrire une fonction qui vérifie si une valeur réelle se trouve dans un tableau de réels de borne inf et sup. Exercice 18 Écrire une fonction qui retourne si une chaîne de caractères est composée de caractères autres que les lettres. Exercice 19 Écrire une fonction qui retourne la dernière position d'un caractère dans une chaîne, il retourne 0 si ce caractère n'existe pas dans la chaîne. Exercice 20 Écrire un algorithme qui lit une chaîne de caractères et affiche le nombre d'occurrences de chaque caractère dans cette chaîne. Exercice 21 Dans une entreprise, le calcul des jours de congés payés s’effectue de la manière suivante : – si une personne est entrée dans l’entreprise depuis moins d’un an, elle a droit à deux jours de congés par mois de présence, sinon à 28 jours au moins. – si une personne est un cadre et s’il est âgé d’au moins 35 ans et si son ancienneté est supérieure à 3 ans, il lui est accordé 2 jours supplémentaires. Si elle est âgée d’au moins 45 ans et si son ancienneté est supérieure à 5 ans, il lui est accordé 4 jours supplémentaires, en plus des 2 accordés pour plus de 35 ans. Écrire une fonction, joursDeCongés, qui calcule le nombre de jours de congés à partir de l’âge, l’ancienneté et l’appartenance au collège cadre d’un employé. Exercice 22 Écrire une fonction, racineEntière, qui retourne la partie entière inférieure de la racine carrée d’un entier donné n. Exercice 23 Écrire une fonction, multiplication, qui effectue la multiplication de deux entiers positifs (notés x et y) donnés en utilisant uniquement l’addition entière. Exercice 24 Écrire une fonction, xPuissanceN, qui à partir d’un réel, appelé x et d’une valeur entière positive appelée n, retourne x à la puissance n (x n).
Support d’exercices
page ( 37/39 )
Série N° 8.2. : Les Procédures Exercice 1 Écrire une procédure qui calcul la somme et le produit de deux réels. Exercice 2 Exécuter cet algorithme: Algorithme p_essai Début z réel n réel x réel p réel z ← ← 0. n ← ← 5.2 x ← ← -3. som_prod(n,x,z,p) écrire (n,x,z,p) som_prod(p,z,n,x) écrire (n,x,z,p) Fin
Avec som_prod la procédure de l'exercice précédent Exercice 3 Écrire une procédure qui permute le contenu de deux variables réelles. Exercice 4 Écrire un algorithme qui lit deux valeurs réelles au clavier et les affiche puis permute ces deux réels et réaffiche les deux valeurs. Exercice 5 Soit une procédure Son qui génère un son de fréquence f: Procédure son (DON f: entier)
Écrire un algorithme qui permet de simuler le fonctionnement d'un instrument de musique : l'appui sur les touches A, Z, E, R, T, Y, U, I devant produire un son correspondant à l'une des notes musicales Do, Ré, Mi, Fa, Sol, La, Si, Do les fréquences correspondants aux notes sont: 500, 561, 630, 667, 749, 841, 944 et 1000. L'algorithme s'arrête si l'utilisateur appui sur une autre touche. Exercice 6 Écrire une procédure qui permet d'afficher les éléments d'un tableau de réels de borne inf et sup. Exercice 7 Écrire une fonction fréquence qui détermine le nombre d'apparitions d'une valeur dans un tableau de réels de borne inf et sup. Exercice 8 Écrire une fonction qui renvoie la somme des éléments d'un tableau de réels de borne inf et sup. Exercice 9 Écrire une procédure qui copie les valeurs d'un tableau d'entiers de taille n dans un autre tableau. Support d’exercices
page ( 38/39 )