plan du cours algorithmique introduction et définition et ... · 29/09/2017 5 plan du cours...
TRANSCRIPT
29/09/2017
1
Algorithmique
et structure de données I
Cours 1: Les notions de base
1
Dr. Jihène Tounsi ISG de Sousse
Site web http://www.jihenetounsi.com
Email: [email protected]
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
2
29/09/2017
2
3
L’algorithme est un terme arabophone systématisé par le mathématicien Al Khuwarezmi.
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 algorithme s’écrit en un langage naturel
avec des instructions universelles,
compréhensibles et indépendantes
du langage de programmation
Qu’est ce qu’un Algorithme?
4
Une recette de cuisine
Les ingrédients : ce sont les données en entrée
Les étapes : les instructions
Le résultat : le plat escompté.
Un mode d’emploi pour monter un meuble.
Un itinéraire à suivre
Une fonction de calcul.
....
Exemples d’utilisation d’un Algorithme?
Traitement = {}
d’instructions
Données en entrée Résultat
29/09/2017
3
Exercice de réflexion
5
Ecrire un algorithme permettant à « Angry Bird »
d’arriver à destination
Les instructions compréhensibles par Angry Bird
Avance : pour aller tout droit
Gauche: pour tourner à gauche
Droite : pour tourner à droite
Qu’est ce qu’un Algorithme en informatique?
6
Un cerveau = des neurones
Périphériques d’entrée
(clavier, lecteur USB, souris…)
Périphériques de sortie
(Ecran, baffle,….)
Unité de calcul ou processeur
(CPU = central Processing Unit)
Matériel de stockage
(Mémoire)
5 sens
L’étudiant = humain
= intelligence + observation + raisonnement+ action L’ordinateur = Machine
= ne fais que ce qu’on lui dis de faire
Com
munic
atio
n
Langage compréhensible par l’ordinateur
= un algorithme traduit en un langage de programmation (langage C, C++, Csharp,
Java, pascal, php, JSP…)
29/09/2017
4
Etapes de réalisation d’un programme
7
Spécification
Analyse
Traduction en langage
Compilation
Tests et modifications
Enoncé du problème
Cahier des charges
Algorithme
Programme source
Programme exécutable
Version finale et résultats
Squelette d’un Algo
8
Conventions d’écriture
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.
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.
29/09/2017
5
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
9
Qu’est ce qu’une variable?
10
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’’
X y X1 7 X3 X4 X2
ABC 56
titi TOTO C4F C10 B1 B12
29/09/2017
6
Type des variables
11
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 Entier : variable stockant des entiers naturels
Réel : variable stockant des réels.
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.
Déclaration des variables
12
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 :
i, j,k : entier
x, y : réel
OK: booléen
ch1, ch2 : chaîne de caractères
29/09/2017
7
Déclaration des variables
13
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
Variables
<déclaration des variables>
Debut
<instruction_1>
<instruction_2>
…
<instruction_n>
Fin.
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
14
29/09/2017
8
L’affectation
15
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 ←
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
Exercice d’application
16
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
29/09/2017
9
Lecture / écriture
17
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
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.
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
18
29/09/2017
10
Les expressions et opérateurs
19
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.
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.
Opérateurs arithmétiques
20
Type de variable : numérique (entier ou réel)
Opérateurs arithmétiques
+ : addition
- : soustraction
* : multiplication
/ : division
Div : partie entière de la division
% ou modulo : reste de la division
Applicable que sur
le type entier
29/09/2017
11
Exercice d’application
21
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. P.S : la TVA est une constante avec une valeur de
18%.
Opérateurs relationnels
22
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.
29/09/2017
12
Opérateurs alphanumérique
23
Opérateurs pour le type caractère ou chaîne de
caractère.
& 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
Opérateurs logiques ou booléens
24
A B A ou B
F F F
F V V
V F V
V V V
A B A ET B
F F F
F V F
V F F
V V V
A NON A
F V
V F
OU
NON
ET
29/09/2017
13
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
26
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
29/09/2017
14
Fonctions prédéfinies type chaîne ou caractère
27
Fonction 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
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
Fonctions prédéfinies type chaîne ou caractère
28
Fonction description
comp (ch1,ch2) 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
Soit ch1, ch2 une variable de type chaîne
29/09/2017
15
29
…