Telechargé par Ela Rziga

Algorithmique et structure de données I Cours 1: Les notions de base

publicité
29/09/2017
Plan du cours
Algorithmique
et structure de données I
Cours 1: Les notions de base
Introduction et définition
Les variables en Algorithmique
Les instructions de base d’un algorithme
Les expressions et opérateurs
Les fonctions prédéfinies





Dr. Jihène Tounsi
ISG de Sousse
Site web http://www.jihenetounsi.com
Email: [email protected]
1
2
1
29/09/2017
Qu’est ce qu’un Algorithme?
L’algorithme est un terme arabophone systématisé par le
mathématicien Al Khuwarezmi.

Exemples d’utilisation d’un Algorithme?
Une recette de cuisine




Un algorithme est une séquence d’instructions énoncés
dans un ordre séquentiel, appliquée sur un ensemble de
données en entrée afin de donner une solution à un
problème donné (un résultat).


Un mode d’emploi pour monter un meuble.
Un itinéraire à suivre
Une fonction de calcul.
....




Un algorithme s’écrit en un langage naturel
avec des instructions universelles,
compréhensibles et indépendantes
du langage de programmation
3
Les ingrédients : ce sont les données en entrée
Les étapes : les instructions
Le résultat : le plat escompté.
Données en entrée
Résultat
Traitement = {}
d’instructions
4
2
29/09/2017
Ecrire un algorithme permettant à « Angry Bird »
d’arriver à destination


Les instructions compréhensibles par Angry Bird



Qu’est ce qu’un Algorithme en informatique?
Périphériques de sortie
(Ecran, baffle,….)
Un cerveau = des neurones
5 sens
Communication
Exercice de réflexion
Avance : pour aller tout droit
Gauche: pour tourner à gauche
Droite : pour tourner à droite
Unité de calcul ou processeur
(CPU = central Processing Unit)
Matériel de stockage
(Mémoire)
Périphériques d’entrée
(clavier, lecteur USB, souris…)
L’étudiant = humain
L’ordinateur = Machine
compréhensible
= intelligence + observation +Langage
raisonnement+
action par l’ordinateur
= ne fais que
ce qu’on
lui disCsharp,
de faire
= un algorithme traduit en un langage de programmation
(langage
C, C++,
Java, pascal, php, JSP…)
5
6
3
29/09/2017
Etapes de réalisation d’un programme
Enoncé du problème
Spécification
Squelette d’un Algo
Conventions d’écriture


Cahier des charges
Analyse
Algorithme
Traduction en langage
Programme source

Squelette minimale utilisée lors de ce cours :

Algorithme nom_algo;
Variables
<déclaration des données>
Debut
<instruction_1>
<instruction_2>
…
<instruction_n>
Fin.
Compilation
Programme exécutable
Tests et modifications
Version finale et résultats
7
une représentation graphique, avec des carrés, des losanges, etc. qu’on
appelait des organigrammes
Un pseudo-code ressemble à un langage de programmation authentique
sans une rigourosité syntaxique.
8
4
29/09/2017
Plan du cours
Introduction et définition
Les variables en Algorithmique
Les instructions de base d’un algorithme
Les expressions et opérateurs
Les fonctions prédéfinies





Qu’est ce qu’une variable?



Une variable est une étiquette d’une case mémoire servant à
stocker provisoirement une donnée modifiable.
Une variable dont le contenu ne peut être modifié par un
algorithme est appelée constante.
Les caractéristiques d’une variable

Nom ou identificateur:


alphanumérique commençant toujours par une lettre.
S’écrit en un seul mot (pas d’espace et pas de ponctuation).


Exemple : X, Y2, prix,_produit ….
Type du contenu de la variable : peut être un nombre ou un texte ou
booléen

Exemple : X 23;Y ‘‘ABC’’
ABC
X
9
10
y
X1
56
7
X2
X3
X4
titi TOTO C4F
C10
B1
B12
5
29/09/2017
Type des variables



Le type d’une variable définit ce qu’on pourra stocker
dedans.
Le type d’une variable ne peut être changé une fois sa
déclaration est faite au début d’un algorithme.
Les types simples :

Type numérique





11
Déclaration des variables


Toutes les variables utilisées dans l’algorithme doivent
être déclarées au début.
Déclaration après le mot clé variables


Syntaxe  Liste des variables : type
Exemple
Variables :
Entier : variable stockant des entiers naturels
Réel : variable stockant des réels.
i, j,k : entier
Type caractère : lettres majuscules, minuscules, chiffres,
symboles, … (Exemple : ‘2’, ‘A’, ‘z’, ‘%’, ‘ ‘,…)
Type chaîne de caractère : une suite de caractères (Exemple: "
jihene tounsi", " abc", …)
Type logique ou booléen : deux valeurs possible vrai et faux.
x, y : réel
OK: booléen
ch1, ch2 : chaîne de caractères
12
6
29/09/2017
Déclaration des variables


Une variable qui ne change pas de valeur tout au long
d’un algorithme s’appelle une constante
La déclaration des constantes peut se faire avant ou après
les variables.
Algorithme nom_algo;
Constante Taux=0,18
Plan du cours





Introduction et définition
Les variables en Algorithmique
Les instructions de base d’un algorithme
Les expressions et opérateurs
Les fonctions prédéfinies
Variables
<déclaration des variables>
Debut
<instruction_1>
<instruction_2>
…
<instruction_n>
Fin.
13
14
7
29/09/2017
L’affectation

L’affectation c’est donner une valeur à une variable.

L’initialisation est l’affectation d’une valeur de départ à une
variable.

L’affectation écrase l’ancienne valeur et stocke la
nouvelle.

L'affectation se note avec le signe ←



15
Exercice d’application
Donnez les valeurs des variables A et B
après exécution des instructions suivantes ?

Algorithme EXO1;
Variables
A, B : Entier
Début
A←1
B←2
A←B
B ←A
Fin
X← e : attribue la valeur de la variable e à la variable X
X← 10 : attribue la valeur 10 à la variable X
Y← « abc » : attribue la chaîne de caractère à la variable Y
16
8
29/09/2017
Lecture / écriture

La lecture : récupérer une valeur saisie au clavier et la
stocker dans une variable



Lire (A) : la valeur saisie par l’utilisateur sera stockée dans la
variable A.
La valeur saisie doit être du même type que la variable A
L’écriture : affichage du résultat à l’écran



17
Plan du cours





Introduction et définition
Les variables en Algorithmique
Les instructions de base d’un algorithme
Les expressions et opérateurs
Les fonctions prédéfinies
Ecrire (A) : affiche le contenu de la variable A sur l’écran
Ecrire(« ceci est une phrase ») : affiche la phrase sur l’écran
Ecrire (« la valeur de la variable A est : », A) : affiche la phrase
avec la valeur de la variable A.
18
9
29/09/2017
Les expressions et opérateurs

Une expression ou une instruction est un ensemble
d’opérandes et d’opérateurs.


Opérande : une variable ou une donnée
Opérateurs : arithmétiques, relationnels, alphanumérique
(caractère et chaîne de caractère) ou booléen.
Opérateurs arithmétiques


Type de variable : numérique (entier ou réel)
Opérateurs arithmétiques






L’évaluation de l’expression donne lieu à une seule valeur
qui doit être conservée dans une variable ou afficher ou
condition permettant le passage à un bloc d’instructions.
19

+ : addition
- : soustraction
* : multiplication
/ : division
Div : partie entière de la division
% ou modulo : reste de la division
Applicable que sur
le type entier
20
10
29/09/2017
Exercice d’application

Ecrire un algorithme « Somme » qui calcule la
somme de deux entiers.

Ecrire l’algorithme Total_TTC qui permet de
calculer le total tout taxe comprise d’une
commande d’un produit à partir de son prix
hors taxe et de la quantité commandée.

21
Opérateurs relationnels

Opérateurs relationnels
 = ou == égalité
 <> ou != différence
 <  strictement inférieur
 >  strictement supérieur
 <=  inférieur ou égal
 >=  supérieur ou égal

L’évaluation de l’expression retourne vrai ou faux.
P.S : la TVA est une constante avec une valeur de
18%.
22
11
29/09/2017
Opérateurs alphanumérique

Opérateurs pour le type caractère ou chaîne de
caractère.

Opérateurs logiques ou booléens
OU
&  pour la concaténation entre 2 ou plusieurs variables de
type alphanumérique
Algorithme concaténation
Variables
A, B, C : chaîne
Début
A ← "Bon"
B ← " jour"
C ←A & B
Ecrire (" la concaténation a donné : " , C)
Fin
23
A
F
F
V
V
B A ou B
F
F
V
V
F
V
V
V
NON
ET
A
NON A
F
V
V
F
A
B
A ET B
F
F
F
F
V
F
V
F
F
V
V
V
24
12
29/09/2017
Plan du cours





Introduction et définition
Les variables en Algorithmique
Les instructions de base d’un algorithme
Les expressions et opérateurs
Les fonctions prédéfinies
25
Fonctions prédéfinies type numérique
Fonction
Description
Aléa (n)
Renvoie une valeur aléatoire de type entier entre 0 et n-1
Sin(n)
Renvoie le sinus de n
Cos (n)
Renvoie le cosinus de n
Tang(n)
Renvoie la valeur tangente d’un angle
racine (n)
Renvoie la racine carrée de n
Abs(n)
Renvoie la valeur absolue de n
26
13
29/09/2017
Fonctions prédéfinies type chaîne ou caractère
 Soit ch une variable de type chaîne de caractère ou un caractère
 Soit c une variable de type caractère
 int1, int2 et n des entiers
Fonction
 Soit ch1, ch2 une variable de type chaîne
description
long(ch)
Renvoie la longueur de ch
pos(c , ch)
Renvoie la première position de la lettre c dans la chaîne ch
Asc (c)
Renvoie le code ASCII du caractère (type entier)
chr (n)
Renvoie le caractère correspondant à la valeur entière n.
Mid(ch, int1, int2) ou
sous_chaîne
Renvoie une sous chaîne de la chaîne ch commençant à la
position int1 et faisant int2 caractère.
Maj(ch)
Renvoie la chaîne en majuscules
Min(ch)
Renvoie la chaîne en minuscules
Left(ch,n)
Renvoie n lettre de ch en commençant par la gauche
Right(ch,n)
Renvoie n lettre de ch en commençant par la droite
27
Fonctions prédéfinies type chaîne ou caractère
Fonction
comp (ch1,ch2)
description
Compare deux chaîne de caractère (non disponible dans
tous les langages). La fonction renvoie une valeur entière:
0 si égalité
Strictement positive si ch1 > ch2
Négative sinon
Egale(ch1,ch2)
Compare deux chaîne de caractère. La fonction renvoie une
valeur booléenne:
Vrai si égalité
Faux sinon
28
14
29/09/2017
…
29
15
Téléchargement