Académique Documents
Professionnel Documents
Culture Documents
Question 1 :
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 utilisée
par l’ordinateur.
Question 2 :
Réponse :
- Problème réel Analyse (spécification) Algorithme Codage en un
langage de programmation (programme)
- On ne peut pas construire un bâtiment sans plan !!
Question 3 :
Réponse :
Un algorithme doit être clair, fini et efficace.
Question 4 :
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 :
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 :
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 ayant quelque
chose en commun.
Tous donnée doit appartenir à une structure de donnée.
Question 2 :
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 :
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 suivants, évaluer les 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) (a<b) ET (c>d)
y) NON(a<b) ET (c>d)
z) (a<b) OU (c≠ a)
t) ((a + b) < c) OU ((a + d) > c)
Réponse :
X) 1) (- 1 < 3) ET (2 > 7) = Vrai ET Faux = Faux
2) ( 1 < 3) ET (2 > 7) = Vrai ET Faux = Faux
Y) 1)Non ( -1 < 3) ET (2 > 7) = Faux ET Faux = Faux
2) Non ( 1 < 3) ET (2 > 7) = Faux ET Faux = Faux
Z) 1) ( -1 < 3) OU (2 <> -1) = Vrai ou Vrai = Vrai
2) ( 1 < 3) OU (2 <> 1) = Vrai ou Vrai = Vrai
T) 1) ((-1 + 3) < 2) OU ((-1 + 7) > 2) = Faux ou Vrai = Vrai
2) (( 1 + 3) < 2) OU (( 1 + 7) > 2) = Faux ou Vrai = Vrai
Série N° 3 : Les Actions Simples
Exercice 1
Dire si le nom de ces variables est valide ou non valide.
prod_a Valide $total Non Valide
Newbal Valide moyenne Valide
9ab6 Non Valide _c3 Non Valide
c123 Valide new bal Non Valide
sum.of Non Valide grade1 Valide
Abcd Valide 1234 Non Valide
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 largeur entier
début longueur entier
largeur ← 15 perimetre réel
lire (longueur) début
aire ← largeur * longueur largeur ← 15
fin longueur ← 10
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 = rayon2 * 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. Mdinar * cours = Mdollar
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.
a b c
1 5 10
I 5 1 10
II 10 1 5
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
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.
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
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
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 ? *)
j0
TantQue (j<n et A(j, k) < A(I ,k) )
J j+1
FinTantQue
Si ( j = N ) Alors
Ecrire ( ‘ un point col’,i,k)
FinSi
FinPour
Fin
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 1er 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
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 :
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+5x2-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 n 1
Écrire une fonction qui calcule ex 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é.
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.