introduction a l’algorithme

39
Introduction a L’algorithme Un Algorithme consiste retranscrire un processus logique à l’aide d’un langage naturel. Un Algorithme est la description d’un traitement qui consiste à transformer des données, appelées « entrées » , afin de produire d’autres données appelées « sorties ». Les entrées et les sorties représentent les variables manipulées par l’algorithme. Processus de Principe : Entrées -> Traitement -> Sorties .

Upload: gavivi

Post on 15-Jan-2016

80 views

Category:

Documents


3 download

DESCRIPTION

Introduction a L’algorithme. Un Algorithme consiste retranscrire un processus logique à l’aide d’un langage naturel. Un Algorithme est la description d’un traitement qui consiste à transformer des données, appelées « entrées » , afin de produire d’autres données appelées « sorties ». - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introduction a L’algorithme

Introduction a L’algorithme

Un Algorithme consiste retranscrire un processus logique à l’aide d’un langage naturel.

Un Algorithme est la description d’un traitement qui consiste à transformer des données, appelées « entrées » , afin de produire d’autres données appelées « sorties ». Les entrées et les sorties représentent les variables manipulées par l’algorithme.

Processus de Principe : Entrées -> Traitement -> Sorties

.

Page 2: Introduction a L’algorithme

« écrire un algorithme », c’est : Analyser et comprendre le problème : étudier les données

fournies et les résultats attendus Résoudre le problème, c’est trouver les structures de données

adaptées ainsi que l’enchaînement des actions à réaliser pour passer des données aux résultats

Comment exécuter un algorithme sur un ordinateur ? Il faut traduire cet algorithme à l’aide d’un langage de

programmation connu par l’ordinateur.

Page 3: Introduction a L’algorithme

Déclaration d’une variable

Une variable correspond a un type de variable. Les principaux types sont :

Chaîne de caractères Entier Décimal Date Booléen (valeur vraie ou fausse 0 ou 1) Etc…

Page 4: Introduction a L’algorithme

Les affectations

Affecter une variable consiste a lui donner une valeur. Cette valeur peut être soit une constante, soit une valeur d’une autre variable, soit le résultat d’un calcul.

Exemple : Si A est une variable de type Byte (valeur comprise entre 0 et 255), on peut écrire :

A 3, A 3 + 4, A 2B, A (B*B)/C Le symbole est le symbole d’affectation (il peut être remplace par

=) Si une variable est numérique A 0 Si une variable est chaîne de caractères A "0", ou A " Lettres "

Page 5: Introduction a L’algorithme

L’entrée d’information

La primitive d’entrée ou saisir (entrée clavier) et lire (lecture en provenant du disque dur).

Le but de ces primitives est de permettre a l’ordinateur d’affecter une variable extérieure a une autre variable. Le nom de cette variable symbolise une adresse en mémoire centrale. A cette adresse se trouve la valeur, a un moment donne de la variable.

La primitive de sortie : écrire, afficher, imprimer. Le but est de permettre a l’ordinateur de sortir la valeur d’une variable vers les périphériques extérieurs (écran, imprimante, etc…)

Page 6: Introduction a L’algorithme

Les outils Les structures alternatives Elles permettent de vérifier la valeur logique d’une

expression. L’objectif sera de réaliser certaines actions en fonction de cette valeur.

La structure de base est la suivante :Si (condition est vraie) Alors

Action 1Sinon

Action 2Fin Si Une action peut être un calcul, une affectation ou une

autre condition.

Page 7: Introduction a L’algorithme

ExempleSi code_sexe = 1

AlorsGenre "masculin"

Sinon Genre "féminin"  Fins si

La vérification de la valeur booléenne de l’expression se fera en utilisant des opérateurs relationnels et logiques tels que :

> ; < ; >= ; <> ; <= sont des opérateurs relationnels = comparaison

Et, ou sont des opérateurs Logiques

Page 8: Introduction a L’algorithme

Structure Imbriquée Une structure alternative peut être de nature imbriquée. Si (condition est vraie) Alors Action 1 Si (condition est vraie) Alors Action 1.1 Sinon Action 1.2 Fin si Sinon Action 2 Fin si

Page 9: Introduction a L’algorithme

Exemple :

Si code_sexe = 1 Alors Si âge >= 18 Alors Personnes = « majeur » Genre = « masculin » Sinon Personnes = « mineur » Genre = « masculin » Fin Si Sinon Si âge >= 18 Alors Personnes = « majeur » Genre = « féminin » Sinon Personnes = « mineur » Genre = «  féminin » Fin si Fin Si

Page 10: Introduction a L’algorithme

Optimisation :

Si code_sexe = 1 et âge >= 18 Alors Personnes = « majeur » Genre = « masculin » Sinon Personnes = « mineur » Genre = « masculin » Si code_sexe = 2 et age >= 18 Alors Personnes = « majeur » Genre = « féminin » Sinon Personnes = « mineur » Genre = « féminin» Fin si Fin si

Page 11: Introduction a L’algorithme

Exercice Excel

Page 12: Introduction a L’algorithme

Les structures itératives

Une structure itérative permet de répéter une suite d’instruction autant de fois que l’on veut ou lorsqu’une condition devient fausse (notion de boucle).

Différentes structures permettent de réaliser cette forme de traitement :

Pour Tant que Répéter, jusqu'à ce que

Page 13: Introduction a L’algorithme

Structure itérative Pour

On sait a l’avance combien de fois on veut itérer. Pour I de 1 a 10. Faire Actions Fin Pour (ii+1)

Il faut donc connaître la valeur de début de I ainsi que sa valeur d’arrivée. A chaque tour de boucle, la variable I sera incrémentée (augmentée) de 1.

Page 14: Introduction a L’algorithme

Structure itérative Tant queTant que la Condition vraie alors action

EX:

réponse : chaîne de caractère.

Réponse «oui » ou saisir réponse ( Initialisation) Tant que reponse « oui » Faire Actions Saisir Réponse Fin Tant que

Page 15: Introduction a L’algorithme

Structure itérative Répéter jusqu'à ce que

Répéter l’action jusqu’à ce que condition devient fausse

réponse = chaîne

Répéter

Action

Saisir réponse

Jusqu'à ce que réponse soit vraie

Page 16: Introduction a L’algorithme

Vecteurs et tableaux

Page 17: Introduction a L’algorithme

17

La notion de variables tableauxDans un algo, il est possible qu’une variable

puisse contenir à un moment donné, non pas une valeur, mais plusieurs valeurs à la fois. Il s’agit dans ce cas d’une variable TABLEAU

• Un tableau est une variable qui permet de stocker des valeurs de même type.

• Chaque valeur est repérée par un indice indiquant sa position dans le tableau

Page 18: Introduction a L’algorithme

18

La déclaration de variables tableauxUn tableau doit avoir :

un nom déclaré comme un type particulier de données Une dimension connue à l’avance :

La dimension correspond au nombre maximum de cases composant le tableau

Un indice doit être déclaré pour permettre d’adresser les différentes cases du tableau. L’indice est obligatoirement du type entier

NOMTABLEAU [nbvaleurmax] : type (préciser aussi le rôle de la variable tableau)

i : entier (indice)

Page 19: Introduction a L’algorithme

L’utilisation de variables tableaux

Un tableau peut être à 1 ou 2 dimensions. L’accès à l’élément d’un tableau s’effectue :

En précisant la position relative de l’élément par rapport au début du tableau.

En utilisant le ou les indices Exemple de tableau à 1 dimension :

Pour calculer les frais réels, nous pouvons utiliser un tableau (voir version 2) contenant toutes les valeurs correspondantes à la puissance fiscale du véhicule, au lieu

d’utiliser la structure SELON CAS (version 1) …

Page 20: Introduction a L’algorithme

20

Algo Fonction version 1 du calcul des frais réels

SI NBKM <= 100

ALORS déduction1 = 0

SINON

Selon Cas puissanceF Cas 1 à 3

tarif = 0,1

Cas 4 à 6

tarif = 0,15

Cas 7 à 8

tarif = 0,25

Cas 9 à 12

tarif = 0,4

Cas Est > 12

tarif = 0.5

Cas SINON

tarif = 0

Fin Selon

Déduction1 = tarif * NBKM

FIN SI

Algo fonction version 2 du calcul des frais réels

*déclaration du tableau Tarif

tarif [13] : tableau de 13 réels

i : entier

* Initialisation des valeurs du tableauTarif[1] = 0.1Tarif[2] = 0.1Tarif[3] = 0.1Tarif[4] = 0.15Tarif[5] = 0.15Tarif[6] = 0.15

‘calcul de la déduction au frais réels

SI NBKM <= 100 ALORS déduction1 = 0 SINON SI puissanceF > 13

ALORS i = 13 SINON i =

puissanceF FIN SI

Déduction1 = Tarif(i) * NBKM

FIN SI

Tarif[7] = 0.25Tarif[8] = 0.25Tarif[9] = 0.3Tarif[10] = 0.3Tarif[11] = 0.3Tarif[12] = 0.3Tarif[13] = 0.5

Page 21: Introduction a L’algorithme

21

L’utilisation de variables tableaux

Exemple de tableau à 2 dimensions :

Pour déterminer le forfait de location applicable selon la catégorie du véhicule loué ET la période de location choisie, nous pouvons utiliser un tableau à 2 dimensions

Code catégorie de véhicule louéCode

période de location

Périodes de location 1 2 3 4

1 journée (lun - mar - mer - jeu) 75,00 € 82,00 € 129,00 € 105,00 €

2 Week-End (du samedi 12h au lundi 10h ou vendredi 10h à samedi 18h)

126,00 € 155,00 € 219,00 € 180,00 €

3 Semaine (du lundi 8 h au vendredi 17 h) 291,00 € 338,00 € 519,00 € 411,00 €

4 Forfait : 2 semaines 650,00 € 700,00 € 1 000,00 € 800,00 €

Page 22: Introduction a L’algorithme

22

Algo fonction version 2

Fonction forfait(categ, typeloc)

*déclaration du tableau à 2 dimensions TABFORLOC [4,4] : tableau de 16 réels categ : entier (indice de colonne) typeloc : entier (indice de ligne)

* Initialisation des valeurs du tableau TABFORLOC[1,1] = 75 TABFORLOC[1,2] = 126 TABFORLOC[1,3] = 291 TABFORLOC[1,4] = 650 TABFORLOC[2,1] = 82 TABFORLOC[2,2] = 155 TABFORLOC[2,3] = 338 TABFORLOC[2,4] = 700

Forfait = TABFORLOC[categ,typeloc]

FIN Fonction

Algo Fonction version 1

Fonction forfait(categ, typeloc)SI categ = 1 ALORS Selon Cas typeloc

Cas 1 forfait = 75 Cas 2 forfait = 126 Cas 3 forfait = 291 Cas 4 forfait = 650

Fin Selon SINON SI categ = 2

ALORS Selon Cas typeloc … Fin Selon

SINON SI categ = 3 ALORS Selon Cas typeloc

… Fin Selon

SINON SI categ = 4 ALORS Selon Cas typeloc

… Fin Selon SINON forfait = 0FIN SIFIN FONCTION

TABFORLOC[3,1] = 129TABFORLOC[3,2] = 219TABFORLOC[3,3] = 519TABFORLOC[3,4] = 1000TABFORLOC[4,1] = 105TABFORLOC[4,2] = 180TABFORLOC[4,3] = 411TABFORLOC[4,4] =880

Page 23: Introduction a L’algorithme

Les types et structures

Les types spécifiques sont principalement utilises pour la déclaration des enregistrements d’un fichier ou d’un tableau en mémoire.

L’exemple suivant défini un type de données appellé Client formé d’un nom d’un numéro et d’un montant.

Page 24: Introduction a L’algorithme

L’exemple suivant défini un type de données appelle Client formé d’un nom d’un numéro et d’un montant.

STRUCTURE  : Client

Code_Cli : Entier

Nom_Cli : Chaine*20

Montant : Reel

Fin STRUCTURE

Page 25: Introduction a L’algorithme

En VB la definition d’une structure se fait toujours dans un module.

Type ClientCode_Cli As IntegerNom_Cli As StringMontant As Currency

End Type

Page 26: Introduction a L’algorithme

Utilisation d’une structure dans un vecteur

Une fois que la structure est déclarée celle-ci permettra de définir une vecteur ayant un type du type de la structure déclarée.

Tableau_Client (1 à 10) : client

Les affectations suivantes pourront etre éventuellement obtenues

Resultat =tableau(i).Nom_cli Resultat = tableau(7).nom_cli

Page 27: Introduction a L’algorithme

Avantage du procédé

Ce système évite donc de créer 3 tableaux distincts

Dim Nom (10) as string, Dim Code (10) as integer, Dim Montant (10) as currency

ou de définir un tableau (10,3)

Page 28: Introduction a L’algorithme

Exercice

Structure : Etudiant

Code_Etu : Entier

Nom : Chaîne

Prénom : Chaîne

Fin Structure

Debut

Table_BTS1 (20) : Etudiant

Pour I de 1 a 20

Faire

Saisir Table BTS1(i).Code_Etu

Saisir Table BTS1(i).Nom

Saisir Table BTS1(i).Prénom

Fin Pour

Fin

Procédure Recherche

Début

Argument : Chaîne

REP : Chaîne

REP - « oui »

I : Entier

Tant que REP =  « oui »

Faire

I 1

Saisir Argument

Tant que Argument <> Table_BTS1 (i).Nom et I <= 20

Faire

i i + 1

Fin Tq

Si Argument = Table_BTS1 (i).Nom

Alors

Afficher Table_BTS1 (i).Code_Etu

Afficher Table_BTS1 (i).Prenom

Sinon

Afficher « Etudiant inexistant »

FSi

Saisir « Autre interrogation ».REP

Fin

Page 29: Introduction a L’algorithme

Exercice Ravanob à réaliser

Page 30: Introduction a L’algorithme

30

procédures et fonctions

Dans le principe, un bon algorithme ne devrait pas dépasser une page !

Pour respecter ce principe, il convient de NOMMER certaines séquences d’actions qui correspondront à des procédures ou à des fonctions

Ainsi, ces actions nommées seront décrites dans des algorithmes auxiliaires et seront utilisées dans un algorithme principal.

Page 31: Introduction a L’algorithme

31

Les procéduresUne procédure est un algo auxiliaire qui contient une séquence d’actions :

La procédure est désignée par un nom La procédure est appelée, une ou plusieurs fois, dans

un ou plusieurs algos principaux. La procédure a besoin de variables élémentaires

déclarées dans l’algo principal La procédure renvoie, dans l’algorithme principal, un

ou plusieurs résultats contenus dans des variables déclarées dans l’algo principal

Page 32: Introduction a L’algorithme

32

L’intérêt d’utiliser des procédures est de permettre une plus grande lisibilité de l’algo principal (appelant) :

Gain de temps car cela évite d’écrire plusieurs fois la même chose. l’algo auxiliaire peut être appelé dans plusieurs algos principaux :

Mise à jour plus aisée de l’algo principal : Réduction du risque d’erreur car seul l’algo appelant est modifié

Page 33: Introduction a L’algorithme

Exemple vbOption Explicit

Dim f As Single

Private Sub Cmd_calc_Fahr_Click()

Procedure_Faren_Cel

MsgBox "La temperature est de " & f & "degres F."

End Sub

Private Sub Procedure_Faren_Cel()

f = (Txt_valeur * 9 / 5) + 32

End Sub

Page 34: Introduction a L’algorithme

Procédure et passage de paramètre

Option ExplicitDim celsius As Single

Private Sub cmd_test_Click() Proc_calc_fahr (Txt_valeur) MsgBox "La temperature est de " & celsius & "degres C."End Sub

Private Sub Proc_calc_fahr(degre As Single)celsius = (degre - 32) * 5 / 9

End Sub

Page 35: Introduction a L’algorithme

35

Les fonctionsUne fonction est une procédure particulière qui ne renvoie, dans l’algorithme principal, qu’un et un seul résultat.

La fonction est appelée dans l’algorithme principal, directement dans une instruction :

en général, elle apparaît dans la partie droite d’une affectation

Lors de son appel, la fonction est évaluée à partir d’arguments qui lui sont fournis

le résultat vient se substituer au nom de la fonction dans l’expression appelante

Page 36: Introduction a L’algorithme

Les fonctionsToute utilisation de la fonction nécessite donc

deux spécifications :1. Un nom

2. Un ou plusieurs paramètres

Exemple :

déduction1 ---- fraisforfait (somme)

Page 37: Introduction a L’algorithme

37

Les fonctionsIl existe deux catégories de fonctions :

1. Les fonctions standards : fonctions de base offertes par le langage utilisé

2. Les fonctions utilisateurs :l’utilisateur devra développer ses propres fonctions à partir du

langage utilisé.

En effet, elles doivent répondre à un besoin précis et elles ne seront pas disponibles dans la bibliothèque du langage de programmation utilisé…

Page 38: Introduction a L’algorithme

Fonction VB

Appel de la Fonction

Private Sub Cmd_calc_Fahr_Click()

MsgBox "La Temperature est de " & fahr(Txt_cel) & " degres C."

End Sub

Function fahr(Cel As Integer) As Single

fahr = (Cel * 9 / 5) + 32

End Function

Page 39: Introduction a L’algorithme

FIN du cours d’algo