15
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

Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

Embed Size (px)

Citation preview

Page 1: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 2: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 3: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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…)

Page 4: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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.

Page 5: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 6: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 7: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 8: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 9: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 10: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 11: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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.

Page 12: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 13: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 14: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

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

Page 15: Plan du cours Algorithmique Introduction et définition et ... · 29/09/2017 5 Plan du cours Introduction et définition Les variables en Algorithmique Les instructions de base d’un

29/09/2017

15

29