0% ont trouvé ce document utile (0 vote)
9 vues9 pages

Introduction à l'Algorithmique et Exercices

Exercice Algo

Transféré par

sostheneyokossi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues9 pages

Introduction à l'Algorithmique et Exercices

Exercice Algo

Transféré par

sostheneyokossi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Travaux Dirigés 1- Généralités sur l’Algorithmique

Leçon 1 : Généralités sur l’Algorithmique

1. Exemple de lecture et d’écriture :


Ecrire et exécuter le programme fortran qui demande un entier à l’utilisateur, puis
affiche son carré

Exemple :

Ecrire et exécuter le programme fortran qui demande à l’utilisateur d’entrer la largeur


et la longueur et afficher la surface (S) et le périmètre (P) d’un rectangle

Exemple :
Créer un algorithme pour calculer la moyenne de 3 notes.

Exemple :

Ecrire et exécuter le programme fortran qui demande à l’utilisateur d’entrer la largeur


et la longueur et afficher la surface (S) et le périmètre (P) d’un rectangle

Exercice 1 :
Comme identificateurs, quels sont ceux qui sont inacceptables en Fortran:
B7, 3, BONUS, 5B, Z, Nombre, C34, End, F%, AB, Program
Exercice 2:
Considérons les algorithmes ci-dessous. Quel sera le contenu des variables a, b et
éventuellement c après leur exécution ?

a) b) Algo PS
Algo A1 Algo A2 Entier A, B
Entier a, b, c Caractère a, b Début
: Debut a ← Début A←5
1 b←2 b a ← ’1’ b B ←2
←a+b c← ← ’2’ a ← A←B
a+b a+b B ←A
Fin Fin Fin

Exercice 3 :

1
Travaux Dirigés 1- Généralités sur l’Algorithmique

1) Quelles seront les valeurs des variables A et B après l’exécution de l’algorithme PS ?


2) Les deux dernières instructions permettent-elles d’échanger les deux valeurs de B et
A?
3) Si l’on inverse les deux dernières instructions, cela change-t-il quelque chose ?

Exercice 4 :
Écrire (34)10 et (27)10 en binaire puis effectuer l’opération en binaire (34)10 + (27)10 et
vérifier que le résultat obtenu soit le bon.

Exercice 5:
A- Quel est l’ordre de priorité des différents opérateurs de l’expression suivante : a + b
** c / d / e ; a ** b ** c * d + e ; ((3 * a) – x ^ 2) – (((c – d) / (a / b)) / d)

B- Que valent les réels suivants?


R1=12./3./2.
R2=12./3.*2.
R3=2/3
R4=R1+24.*3./(-2.)**3+2.*(5/2+1) R5=12/
(3/2)

C- Sachant que a = 4, b = 5, c = -1 et d = 0, évaluer les expressions logiques suivantes :


1- (a < b) ET (c >= d)
2- NON (a < b) OU (c # b)
3- NON ((a # b ^ 2) OU (a*c < d))

Leçon 2 : Les opérations de lecture et d’écriture


Exercice 1:
Ecrire un algorithme qui demande à l’utilisateur de saisir son nom et son prénom puis

afficher bonjour suivi de nom et de prénom de l’utilisateur.

Exercice 2 :
Ecrire l’algorithme permettant de calculer et d’afficher le salaire net d’un employé.
Sachant que :
Le salaire net (SN) = Salaire brut – Valeur de l’impôt
Salaire brut (SB) = (Salaire de base (SDB) + Prime des enfants) * Taux de travail
Taux de travail (TT) = Nombre de jours travaillés (NJ) / 26
Prime des enfants (PE) = Prime d’un enfant(P1E) * Nombre d’enfants (NE)
Valeur de l’Impôt (VI) = Taux de l’Impôt(TI) * Salaire Brut

2
Travaux Dirigés 1- Généralités sur l’Algorithmique

Exercice 3 :

On cherche à écrire un algorithme qui affiche la table de multiplication d’un nombre n


quelconque. Exemple : n = 9

1 *9=9
2 * 9 = 18
3 * 9 = 27
4 * 9 = 36
5 * 9 = 45
6 * 9 = 54
7 * 9 = 63
8 * 9 = 72
9 * 9 = 81

Leçon 3 : Les structures itératives

Exercice 1 :
Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle.
NB : la factorielle de 8, notée 8 !, vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8

Exercice 2:
Écrire un algorithme qui demande 10 entiers, compte le nombre d’entiers positifs saisis,
et affiche ce résultat.

Exercice 3 :
Écrire un algorithme permettant d’écrire un échiquier de 8 fois 8. On représentera les
case noires par des ’x’ et les cases blanches par des espaces (figure 1).

x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x

3
Travaux Dirigés 1- Généralités sur l’Algorithmique

Exercice 4 :
La population de la ville Alpha est de 1, 000, 000 d’habitants et elle augmente de 50,000
habitants par an. Celle de la ville Beta est de 500, 000 habitants et elle augmente de 4%
par an. Ecrire un algorithme permettant de déterminer dans combien d’années la
population de la ville Beta dépassera celle de la ville Alpha.

Exercice 5 :
Ecrire un algorithme qui demande à l’user un nombre est :
- Affiche les diviseurs de ce nombre.
- Le nombre de ces diviseurs.
La somme des diviseurs de ce nombre.

Leçon 4 : Structures de contrôle conditionnel


Example:

Écrire un algorithme qui demande un entier à l’utilisateur, teste si ce nombre est


strictement positif, nul ou strictement négatif, et affiche ce résultat.

TESTS IMBRIQUES
Plusieurs structures conditionnelles peuvent être imbriquées, si bien que dans une
structure peut (peuvent) figurer une ou plusieurs structure(s) conditionnelle(s), et
les tests peuvent avoir un degré quelconque d'imbrications.

Exemple :
Ecrire un algorithme qui demande à l’user la température de l’eau et afficher son état
(solide, liquide, vapeur).

Exercice :
Ecrivons un algorithme qui précise si un triangle ABC est rectangle (et dans ce cas en
quel point) ou s’il ne l’est pas.

Remarque : D’après la réciproque du théorème de Pythagore, si AB2=AC2+BC2, alors le


triangle ABC est rectangle en C.

Exercice 1:

Ecrire un algorithme puis un organigramme permettant de trouver et d’afficher la plus


petite valeur entre trois nombres réels distincts A, B et C

4
Travaux Dirigés 1- Généralités sur l’Algorithmique

Exercice 2:
Écrire un algorithme qui demande un réel à l’utilisateur et affiche sa valeur absolue
(sans utiliser de fonction prédéfinie évidemment).

Exercice 3 :
Ecrire un algorithme qui demande à l’user d’entrer la note est qui affiche la mention
comme suite :
Faible ; si note<=10
Passable ; si 10<=note<=12
A. Bien ; si 12<=note<=14
Bien ; si 14<=note<=16
T. Bien; si 16<=note<=18
Excellent ; si 18<=note<=20

Exercice 4 :
Ecrire un algorithme permettant de résoudre une équation du second degré.

Exercice 5 :
Ecrire un algorithme permettant de :
- Lire un nombre fini de notes comprises entre 0 et 10
- Afficher la meilleure note, la mauvaise note et la moyenne de toutes les notes.

Exercice 6 :
Nombres parfaits Un nombre parfait est un nombre présentant la particularité d’être
égal à la somme de tous ses diviseurs, excepté lui-même. Le premier nombre parfait est
6 = 3 + 2 + 1. Ecrire un algorithme qui affiche tous les nombres parfaits inférieurs à 500.

Leçon 5: Les tableaux


Objectif
Développer des algorithmes de traitement de tableaux.

5.1 Définition
Un tableau est un ensemble d’éléments de même type, repérés au moyen d’indices entiers.
Les éléments d’un tableau sont rangés selon un ou plusieurs axes appelés dimensions du
tableau. Dans les tableaux à une dimension (qui permettent de représenter par exemple
des vecteurs au sens mathématique du terme), chaque élément est repéré par un seul

5
Travaux Dirigés 1- Généralités sur l’Algorithmique

entier, mais le fortran accepte des tableaux jusqu’à 7 dimensions, où chaque élément est
désigné par un 7 indices.
Un tableau à une dimension est parfois appelé vecteur. Il peut être représenté sous la
forme suivante :

L(1) L(2) L(3) L(4) …………………………………. L(n)

- Dimension du tableau : 1
- Taille du tableau : n
- Les L(i), i=1, 2, …, n doivent être de même type

5.2 Déclaration des tableaux


Comme pour les variables simples se pose le problème du type du tableau, c’est-à-dire de
ses éléments. Tous les éléments du tableau sont de même type. Si le nom du tableau
apparait dans un ordre type (REAL, INTEGER, ….) le problème est résolu. Sinon c’est que
le tableau est apparu dans un ordre DIMENSION, et la première lettre lève toute
confusion, si cette lettre est I, j, K, L, M ou n le tableau est entier, sinon réel.

Examples:
REAL A (10), B (15, 5), I, C (3, 7, 9)
INTEGER X, Y (0:3)
DIMENSION Z (7, 3), K (12)

Ces déclarations indiquent :

A est un tableau réel à 1 dimension, de 10 éléments


B est un tableau réel à 2 dimensions, de 15 lignes et 5 colonnes.
I est une variable simple réelle
J est un tableau réel à 3 dimensions égales à 3, 7 et 9

X est une variable simple entière


Y est un tableau entier à 1 dimension de 4 éléments
Z est un tableau réel à 2 dimensions, de 7 lignes et 3 colonnes
K est un tableau entier à 1 dimension de 12 éléments

Terminologie des tableaux


– rang d’un tableau : nombre de ses dimensions
– étendue (extent) d’un tableau selon une de ses dimensions : nombre d’éléments dans
cette dimension

6
Travaux Dirigés 1- Généralités sur l’Algorithmique

– bornes (bounds) d’un tableau selon une de ses dimensions : limites inférieure et
supérieure des indices dans cette dimension. La borne inférieure par défaut vaut 1. –
profil (shape) d’un tableau : vecteur dont les composantes sont les étendues du tableau
selon ses dimensions ; sa taille est le rang du tableau.
– taille (size) d’un tableau : nombre total des éléments qui le constituent, c’est-à-dire le
produit des éléments du vecteur que constitue son profil.
– deux tableaux sont dits conformants (conformable) s’ils ont le même profil La
déclaration d’un tableau s’effectue grâce à l’attribut DIMENSION qui indique le profil
du tableau, mais aussi éventuellement les bornes, séparées par le symbole « : ».

Exemples :
REAL, DIMENSION X(15)
REAL, DIMENSION Y (1:5,1:3)
REAL, DIMENSION Z (-1:3,0:2)
Le tableau X est de rang 1, Y et Z sont de rang 2.
L’étendue de X est 15, Y et Z ont une étendue de 5 et 3.
Le profil de X est le vecteur (/ 15 /), celui de Y et Z est le vecteur (/ 5,3 /).
La taille des tableaux X, Y et Z est 15.
Les tableaux Y et Z sont conformants.

Manipulation d’un tableau


Une fois déclaré, un tableau peut être utilisé comme un ensemble de variables simples.
Les trois manipulations de base sont l’affectation, la lecture et l’écriture.

a- L’affectation :

Pour affecter une valeur à un élément i d’un tableau nommé par exemple A, on écrira :
A(i) ← valeur.
Par exemple, l’instruction : A(0) ← 20 ; affecte au premier élément du tableau A la valeur
20.
Pour affecter la même valeur à tous les éléments d’un tableau A de type numérique et de
dimension 100, on utilise une boucle.

Exemple :
Pour i=1 à 100
A(i) ← 0 ;
Fin pour

Cette boucle permet de parcourir le tableau A élément par élément et affecter à


chacun la valeur 0. La variable i est appelée indice

7
Travaux Dirigés 1- Généralités sur l’Algorithmique

b- La lecture :
Comme les variables simples, il est possible aussi d’assigner des valeurs aux éléments d’un
tableau lors de l’exécution c.-à-d. les valeurs sont saisies par l’utilisateur à la demande du
programme.
Exemple :
Écrire "Enter une note :"
Lire A(6)
Dans cet exemple, la valeur saisie est affectée au sixième (6ème) élément du tableau A.

c- L’écriture :
De façon analogue à la lecture, l’écriture de la valeur d’un élément donné d’un tableau
s’écrira comme suit : écrire A(i) Cette instruction permet d’afficher la valeur de l’élément
i du tableau A.

Exemple :
Ecrire un algorithme qui déclare et remplisse un tableau de 7 valeurs numériques réels
en les mettant toutes à zéro.

Solution :
Algorithme :
Algorithme remplissage
Tableau A(7) : réel
Variable i : entier
Début
Pour i = 1 à 7
A(i) = 0
Fin Pour
Fn

Exercice 1 :
Ecrire un algorithme qui inverse l’ordre d’un tableau des 100 entiers triés. En d’autres
termes, si le tableau est trié du plus petit au plus grand, alors l’algorithme retourne le
tableau trié du plus grand au plus petit ; réciproquement, si le tableau est trié du plus
grand au plus petit, alors l’algorithme retourne le tableau trié du plus petit au plus grand.

Exercice 2 :

1- Que produit l’algorithme suivant ?

8
Travaux Dirigés 1- Généralités sur l’Algorithmique

Tableau Nb(5) en Entier


Variable i en Entier
Début
Pour i ← 0 à 5
Nb(i) ← i * i
Fin pour
Pour i ← 0 à 5
Ecrire Nb(i)
Fin pour
Fin

2- Peut-on simplifier cet algorithme avec le même résultat ?

Vous aimerez peut-être aussi