Algorithmique et programmation - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

Algorithmique et programmation

Description:

Son in indice (appelons le Imax) On change les cases 1 et Imax. On cherche la valeur max et son indice entre les case 2 et 5 puis on change les cases 2 et Imax ... – PowerPoint PPT presentation

Number of Views:114
Avg rating:3.0/5.0
Slides: 38
Provided by: maab
Category:

less

Transcript and Presenter's Notes

Title: Algorithmique et programmation


1
Algorithmique et programmation
  • DEUG Sciences économiques
  • 2004/2005

2
Rappel de ce qui a été vu
  • Quelques algorithmes simples
  • Introduction de la structure Pour
  • La notion de Tableau
  • Taille dun tableau
  • Type des cases dun tableau
  • Indice dune case
  • Lecture dun tableau
  • Ça se fait case par case

3
Plan
  • Introduction de Visual Basic
  • Notation
  • Les différentes notions vues en algorithmique
  • Saisie et exécution des programmes
  • Exemples dalgorithmes sur les tableaux

4
Introduction de VB
  • Nous utiliserons VB application (VBA)
  • Version allégée de VB associée à chaque
    application du package Office de microsoft
  • Office
  • Word traitement de texte
  • Excel tableur
  • Access système de gestion de bases de données
  • Powerpoint Outil pour la création de
    diapositives
  • Nous lutiliserons à partir dExcel
  • VBA est un langage interprété non compilé gt
    exécution plus lente
  • Les dialogues se font au travers de fenêtres

5
Notation Visual Basic
  • Déclaration de variable
  • Dim NomV As Type
  • Ex Dim X As Integer
  • Affectation
  • NomV expression
  • Ex X Y 2
  • Lecture
  • NomV InputBox("message ")
  • Ex X InputBox ("Donner la valeur de X")

6
Notation Visual Basic
  • Ecriture
  • MsgBox(expression)
  • Ex MsgBox ("X " X)
  • Début et fin dun programme
  • Sub nomP ()
  • End sub

7
Exemple de programme
  • Sub exemple1()
  • Dim X, Y As Double
  • X InputBox("donner la valeur de X")
  • Y InputBox("donner la valeur de T")
  • MsgBox ("la moyenne des deux est " (X Y)/2)
  • End Sub

8
Types de données VB
  • Entier
  • Byte 0, 255
  • Integer -32768, 32767
  • Long -2147483648, 2147483647
  • Réel
  • Single -3,402.1010, 3,402.1010
  • Double (valeurs encore plus grandes)

9
Types de données VB
  • Chaîne
  • String (jusquà 2 milliards de caractères)
  • Date
  • Date (du 01/01/100 au 31/12/9999)
  • Booléen (ou logique)
  • Boolean (prend les valeurs True ou False)
  • Tableau
  • Dim nomT(Taille) AS Type
  • Ex Dim T(10) AS Integer

10
Structures de contrôle VB
  • La condition simple
  • If condition Then
  • instructions
  • End If
  • Exemple
  • If X lt 10 Then
  • MsgBox("recalé(e) ")
  • End If

11
Structures de contrôle VB
  • Condition avec alternative
  • If condition Then
  • instructions
  • Else
  • instructions
  • End IF
  • Exemple
  • If X lt 10 Then
  • MsgBox("recalé(e) ")
  • Else
  • MsgBox("reçu(e)")
  • End IF

12
Structure de contrôle VB
  • Répétition avec la boucle Tant Que
  • While condition
  • instructions
  • Wend
  • Exemple
  • While i lt 10
  • s s i
  • i i 1
  • Wend

13
Structures de contrôle VB
  • La répétition avec la boucle Pour
  • For var val1 to val2
  • Instructions
  • Next
  • Exemple
  • For i 1 to 3
  • msgbox(ii)
  • Next

14
Exemples de programmes
  • Algorithme Exemple1
  • Variable X réel
  • Début
  • Lire(X)
  • Si X ? 10 alors
  • Ecrire( reçu(e) )
  • Finsi
  • Sinon
  • Ecrire( recalé(e) )
  • FinSinon
  • Fin

Sub Exemple1() Dim X As Double
XInputBox(X?) If X gt 10 Then
MsgBox(reçu(e)) Else
MsgBox(recalé(e)) End If End Sub
15
Exécution à partir dExcel
  • Lancer Excel
  • Lancer léditeur VB
  • Taper ALT F11 ou bien
  • Choisir Outils/Macros/Visual Basic Editor
  • Afficher la fenêtre de saisie de code si elle ne
    lest pas
  • Affichage/code
  • Une fois quon a fini de taper le programme, on
    peut lexécuter
  • Taper sur la touche F5
  • On peut écrire plusieurs programmes lun à la
    suite de lautre

16
Quelques algorithmes sur les tableaux
  • Ecrire un algorithme qui
  • permet de saisir un tableau de 10 entiers
  • Affiche la valeur maximale dans ce tableau

17
Algorithme1
  • Principe
  • Dabord lire les différentes cases du tableau
  • Ensuite chercher la plus grande valeur
  • Lecture du tableau
  • Il faut lire toutes les cases lune à la suite de
    lautre
  • Utiliser une boucle Pour
  • Pour i 1 à 10
  • Lire (T(i))
  • Fin Pour

18
Algorithme 1
  • Recherche de la valeur maximale
  • On utilise une variable M dans laquelle on met la
    valeur maximale
  • Dabord, on initialise M avec la valeur de la
    première case du tableau
  • M ? T(1)

19
Algorithme 1
  • Ensuite, on parcourt les cases de la 2ème jusquà
    la dernière. A chaque étape, on teste si la
    valeur de la case courante est supérieure à la
    valeur de M. Si cest le cas, on change la valeur
    de M
  • Pour i 2 à 10
  • Si T(i) gt M Alors
  • M ? T(i)
  • FinSi
  • Fin Pour

20
Algorithme 1
  • Squelette de lalgorithme
  • Déclaration des variables
  • T, i, Max
  • Lecture du tableau
  • Recherche de la valeur maximale
  • Affichage de la valeur maximale

21
Algorithme 1
  • Algorithme Exemple1
  • Variable i, Max entier
  • Variable T tableau10 dentiers
  • Début
  • Pour i 1 à 10
  • Lire( T(i) )
  • FinPour

Lecture du tableau
22
Algorithme 1
  • Max ? T(1)
  • Pour i 2 à 10
  • Si T(i) gt Max Alors
  • Max ? T(i)
  • FinSi
  • FinPour
  • Ecrire(Max)
  • Fin

Recherche de la valeur maximale
Affichage de la valeur maximale
23
Algorithme 1
  • Sub ex1()
  • Dim i, max As Integer
  • Dim T(10) As Integer
  • For i 1 To 10
  • T(i) InputBox("donner un entier")
  • Next
  • max T(1)
  • For i 2 To 10
  • If T(i) gt max Then
  • max T(i)
  • End If
  • Next
  • MsgBox ("la valeur maximale est " max)
  • End Sub

24
Algorithme 1
  • Algorithme Exemple2
  • Variable i, Max entier
  • Variable T tableau10 dentiers
  • Début
  • Lire(T(1))
  • Max ? T(1)
  • Pour i 2 à 10
  • Lire( T(i) )
  • Si T(i) gt Max Alors
  • Max ? T(i)
  • FinSi
  • FinPour
  • Ecrire(Max)
  • Fin

La lecture du tableau et la recherche de la
valeur maximale se font en même temps
25
Algorithme 2
  • Ecrire un algorithme qui
  • Permet de lire un tableau de 10 entiers
  • Puis affiche lindice de la valeur maximale

26
Algorithme 2
  • Algorithme Ex2
  • Variable i, Max entier
  • Variable T tableau10 dentiers
  • Début
  • Lire(T(1))
  • Max ? T(1) 1
  • Pour i 2 à 10
  • Lire( T(i) )
  • Si T(i) gt Max Alors
  • Max ? T(i) i
  • FinSi
  • FinPour
  • Ecrire(Max)
  • Fin

Noter que Max ne représente plus la valeur
maximale mais lindice de la valeur maximale
27
Algorithme 3
  • Ecrire un algorithme qui
  • Lit un tableau de 5 cases de réels,
  • demande à lutilisateur deux entiers i et j
  • Puis échange les contenus des cases i et j

28
Algorithme 3
  • Problème de léchange des valeurs de deux
    variables
  • Etant données X et Y deux variables, échanger
    leurs valeurs
  • Erreur commune
  • X ? Y
  • Y ? X
  • Solution, on doit toujours passer par une autre
    variable
  • Z ? X
  • X ? Y
  • Y ? Z

29
Algorithme 3
  • Algorithme Ex4
  • Variable i, j entier
  • Variable T Tableau5 de réels
  • Variable Z réel
  • Début
  • Pour i 1 à 5
  • Lire ( T(i) )
  • FinPour

Lire(i) Lire (j) Z ? T(i) T(i) ?
T(j) T(j) ? Z Fin
30
Algorithme 4
  • Ecrire un algorithme qui
  • Lit un tableau de 5 cases dentiers puis
  • Le trie dans lordre décroissant

31
Algorithme 4
  • Principe
  • On lit le tableau
  • On cherche
  • La valeur maximale (appelons la Max) et
  • Son in indice (appelons le Imax)
  • On échange les cases 1 et Imax
  • On cherche la valeur max et son indice entre les
    case 2 et 5 puis on échange les cases 2 et Imax
  • On cherche la valeur max et son indice entre les
    cases 4 et 5 puis on échange les cases 4 et 5

32
Algorithme 4
Première étape La valeur Maximale entre les
cases 1 et 5 est 77 et son indice est 3 gt on
échange les cases 1 et 3
Deuxième étape La valeur maximale entre les
cases 2 et 5 est 55 et son indice est 4 gt
échange des cases 2 et 4
33
Algorithme 4
Troisième étape La valeur Maximale entre les
cases 3 et 5 est 31 et son indice est 5 gt on
échange les cases 3 et 5
Quatrième étape La valeur Maximale entre les
cases 4 et 5 est 20 et son indice est 4 gt on
échange les cases 4 et 4. On a terminé et le
tableau est trié dans lordre décroissant
34
Algorithme 4
  • De quelles variables a-t-on besoin ?
  • Du tableau T
  • Max et Imax pour mettre à chaque étape, la valeur
    maximale ainsi que son indice
  • Une variable i qui nous indique le numéro de
    létape
  • Une variable j qui nous permet de chercher Max et
    Imax entre les cases i et 5 quand on est à
    létape i
  • Une variable Z qui nous permet de faire léchange
    des cases

35
Algorithme 4
  • Si le tableau contient 5 cases, alors on
    utilisera la boucle
  • Pour i 1 à 4
  • Instructions1
  • FinPour
  • Dans chacune des étapes, on doit chercher Max et
    Imax entre i et 5
  • Max ? T(i)
  • Imax ? i
  • Pour j i à 5
  • Instructions2
  • FinPour

Instructions1
36
Algorithme 4
  • Pour chercher Max et Imax entre i et 5
  • Si T(j) gt Max alors
  • Max ? T(j)
  • Imax ? j
  • Finsi
  • A létape i on échange les cases i et Imax
  • Z ? T(i)
  • T(i) ? T(Imax)
  • T(Imax) ? Z

Instructions2
37
Algorithme 4
  • Algorithme Ex4
  • Variable i,j,Max Entier
  • Variable Imax, Z Entier
  • Début
  • Pour i 1 à 5
  • Lire(T(i))
  • FinPour
  • Pour i 1 à 4
  • Max ? T(i)
  • Imax ? i

Pour j i à 5 Si T(j) gt Max Alors Max ?
T(j) Imax ? j FinSi Z ? T(i) T(i) ?
T(Imax) T(Imax) ? Z FinPour FinPour Fin
Write a Comment
User Comments (0)
About PowerShow.com