Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Algo

No description
by

Informatique DCG

on 18 February 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Algo

CONST ancours =2013
VAR annaiss : entier
poidsideal, taille : réel
sexe : caractères
DEBUT
Annaiss =SAISIR ("entrez l’année de naissance")
SI annaiss > ancours ALORS
afficher "attention, vous n’êtes pas encore né !"
SINON
SI (ancours - annaiss) < =10 ALORS
afficher "jeu pour les grands"
SINON
taille =SAISIR ("entrez votre taille ")
sexe =SAISIR ("entrez h pour les hommes et f pour les femmes")
SI sexe="h" ALORS
poidsIdeal=(taille-100 + age/ 10) * 0,9
SINON
poidsIdeal=(taille-100 + age/ 10) * 0,8
FINSI
 FINSI
FINSI
FIN
  Algo Poids Tables de vérité (2) Un magasin de reprographie facture 0,10 € les dix premières photocopies, 0,09€ les vingt suivantes et 0,08 € au-delà.
Ecrire l'algorithme qui demande à l’utilisateur le nombre de photocopies effectuées et qui affiche la facture correspondante. Exo reprographie DEBUT
note= Saisir ("Entrer la note")
SI note<10 ALORS
Afficher ("Refusé ")
SINON
SI note <12 ALORS
Afficher ("passable")
SINON
SI note <14 ALORS
Afficher ("AB")
SINON
SI note <16 ALORS
Afficher ("B")
SINON
SI note <18 ALORS
Afficher ("TB")
SINON
Afficher ("Félicitations!")
FINSI
FINSI
 
FINSI
FINSI
FINSI
FIN Exemple algorithme note bac Les dates : comparaison, soustraction, ajouter des jours.

dateFacture ← 01/01/2011
dateEchéance ← dateFacture+15 Quelles opérations s'appliquent à quels types? Le type booléen : logique

Un booléen ne peut prendre que les valeurs Vrai et Faux (1 et 0).

Les opérateurs prédéfinis associés sont les suivants :
La négation : NON ausoleil=NON(ombragé)
Les connecteurs : ET/OU choix=ombragé ET bordemer
les opérations de comparaison: Si ombragé= vrai Quelles opérations s'appliquent à quels types? Opérations sur les entiers et réels : type numérique

les opérateurs arithmétiques : +, -, *, /
les opérateurs de comparaisons : <, <=, >, >=, =, <>
les fonctions arithmétiques usuelles : SIN, COS, RESTE, PARTIE_ENTIÈRE... 

Rq : une fonction est un programme écrit par l'utilisateur ou fourni avec le langage (compilateur)et qui retourne un résultat exemple:

monResultat=ENT(maVariable) a la valeur 5 si maVariable a la valeur 5.5; monResultat est le nom de la variable résultat
maVariable est le paramètre ou l'argument de la fonction

  Quelles opérations s'appliquent à quels types? Gestion d'un jeu d'enregistrements d'une table Application VBA
exemple code selon Sub parite()
Dim nombre As Integer
Dim nombreSaisi As String
nombreSaisi = InputBox("Saisir un chiffre")
If Not IsNumeric(nombreSaisi) Then
MsgBox ("Vous avez saisi une lettre")
Exit Sub
End If
nombre = CInt(nombreSaisi)
Select Case nombre
Case 0: MsgBox ("nombre nul")
Case 1, 3, 5, 7, 9: MsgBox ("nombre impair")
Case 2, 4, 6, 8: MsgBox ("nombre pair")
Case Else: MsgBox ("erreur saisie du chiffre")
End Select
End Sub
 
1- A1=12

2-A2=RésultatBac(A1) :Insertion – Fonction personnalisée excel Fonction : exemple note Fonction RésultatBac(note : réel) :Texte
DEBUT
SELON note FAIRE
>=18 : RésultatBac="félicitations"
>=16: RésultatBac ="TB"
>=14: RésultatBac="B"
>=12: RésultatBac="AB"
>=10 : RésultatBac="passable"
SINON
RésultatBac="Refusé"
FINSELON
FIN Structure répétitive TANTQUE Procédure Saisies
Var: compteur:entier
Reponse,Message: caractères
Début
Compteur  0
Reponse  "oui"
TANT QUE Reponse = "oui"
Message=SAISIR("Saisir un message")
Compteur  compteur + 1
AFFICHER Message
Reponse = SAISIR(" Voulez–vous afficher un nouveau message ? oui/non")
FINTANTQUE
AFFICHER "Nombre de saisies= " & compteur
Fin Énoncé:
On veut compter le nombre de fois qu'un message est saisi Les structures répétitives
TANTQUE et POUR Selon exemple note Procédure BAC
VAR note : réel

DEBUT
note= Saisir ("Entrer la note")
SELON note FAIRE
>=18 : Afficher ("félicitations")
>=16: Afficher ("TB")
>=14: Afficher ("B")
>=12: Afficher ("AB")
>=10 : Afficher ("passable")
SINON
Afficher ("Refusé")
FINSELON ALGO PARITE
VAR chiffre : entier
DEBUT
Chiffre=SAISIR( "Entrer un chiffre entre 0 et 9")
SELON chiffre FAIRE
0 : AFFICHER ( "nombre nul")
1, 3, 5, 7, 9 : AFFICHER ("nombre impair")
2, 4, 6, 8 : AFFICHER ("nombre pair")
FINSELON
FIN Selon exemple parité SELON <variable > FAIRE
  <valeur1 ou expression 1> : <action1>
<valeur2 ou expression 2> : <action2>
<valeur3 ou expression > : <action3>
 
<valeurn ou expression n> : <actionn>
SINON <action par défaut>
FINSELON
 
Un SELON s'utilise pour éviter des SI imbriqués sur une seule variable Structure SELON ou SUIVANT A partir de la saisie d’une année de naissance, on veut calculer le poids idéal d'une personne.
poidsideal = (taille-100 + age/ 10) * coeff
sachant que : coeff = 0.9 pour les hommes et coeff = 0.8 pour les femmes.
Un message particulier s’affiche pour les enfants de moins de 10 ans ("jeu pour les grands").
En cas d'erreur de saisie (si l'utilisateur saisit une date > à l'année en cours le programme affichera un message d'erreur). Algo Poids Tables de vérité (1) Les habitants de Zorglub paient l’impôt selon les règles suivantes :
les hommes de plus de 20 ans paient l’impôt
les femmes paient l’impôt si elles ont entre 18 et 35 ans
les autres ne paient pas d’impôt
Le programme demandera donc l’âge et le sexe du Zorglubien, et se prononcera donc ensuite sur le fait que l’habitant est imposable Exo impôt La prime d'un commercial qui obtient des contrats de construction de chantier est de:
0.2% du coût du chantier s'il dure moins de 6 mois et si le coût est supérieur à 100 000 €
0.5% du coût du chantier s'il dure plus de 6 mois et si le coût est supérieur à 250 000 € Exo prime - le ET logique (pour « multiplier » les critères)
- le OU logique (pour « ajouter » les critères)
NON(A OU B)=NON A ET NON B;
NON(A ET B)=NON A OU NON B
A ET (B OU C)= (A ET B) OU (A ET C)

SI Codeclasse =‘BTSC1’ OU CodeClasse = ‘BTSC3’
SI Codeclasse =‘BTSC1’ ET CodeEtab=230
SI NON (Codeclasse =‘BTSC1’ OU CodeClasse = ‘BTSC3’)
ou SI (NON Codeclasse =‘BTSC1’ ET NON CodeClasse = ‘BTSC3’ )
[ou SI Codeclasse <>‘BTSC1’ ET CodeClasse <> ‘BTSC3]
!! Règles de parenthésage ET:* OU:+
SI Codeclasse =‘BTSC1’ ET (CodeEtab=230 OU CodeEtab=240) ET / OU /NON Exemple algorithme note bac Procédure BAC
VAR note : réel
DEBUT
note= Saisir ("Entrer la note")
SI note>=18 ALORS
Afficher ("félicitations")
SINON
SI note >=16 ALORS
Afficher ("TB")
SINON
SI note >=14 ALORS
Afficher ("B")
SINON
SI note >=12 ALORS
Afficher ("AB")
SINON
SI note >=10 ALORS
Afficher ("passable")
SINON
Afficher ("Refusé")
FINSI
FINSI
 
FINSI
FINSI
FINSI
FIN Lorsque l'utilisateur communique avec la machine, cette dernière devra
lire les données saisies au clavier
afficher les résultats ou les messages d'erreur sur l'écran.

variable = SAISIR ("Saisir une variable")
AFFICHER Expression (variable résultat)
Exemple
Procédure



Nom= SAISIR("Saisir le nom")
Prenom= SAISIR("Saisir le prénom")
Age= SAISIR("Saisir l'âge")
Afficher ("Elève : " & Nom & " " & Prenom & "a" & Age & " ans")
NoteMath = SAISIR("Note de maths?")
NoteFrancais= SAISIR("Note de français?")
Afficher ("la somme des 2 notes est : " & NoteMath + NoteFrancais)
Exercice : AfficheLongueur avec entrées/sorties Instructions d'entrées / sorties
Fonctions SAISIR et AFFICHER lgnom  LONGUEUR(nom)
VgaucheGAUCHE(NoSS,1)
Vinterne  SOUSCHAINE(NoSS,2,2) Le type caractère ou chaîne de caractères

Ses valeurs constituent l'ensemble des codes de représentation des caractères normalisés, appelé table des codes ASCII. Cette table est ordonnée, d'où la possibilité d'employer les opérateurs de comparaison: >, <, >=, <>

Les fonctions sur les chaînes de caractères: LONGUEUR, GAUCHE, DROITE,SOUSCHAINE Quelles opérations s'appliquent à quels types? Juste un message qui apparaît à l’écran avec une affectation dans une variable. ← Que voyons-nous dans ce premier algorithme ? Exemple algorithme Variables :
Message : chaîne de caractères
Début
Message  "Bonjour"
Afficher Message
Fin Exemple algorithme Structure d’un algorithme Procédure :NomProcédure 
Déclaration des données constantes
Déclaration des données variables
Début
Saisir des données
Traitement
….
Afficher des données résultats
Fin Langages de programmation : Procédural : Programme principal exécuté de façon séquentielle, faisant appel éventuellement à des sous-programmes : COBOL, PASCAL, C, …

Evénementiel : Un événement utilisateur (Clic bouton, choix dans une liste,…) déclenche l’exécution d’une procédure associée à cet événement : Visualbasic, VBA Excel, VBA Word, Delphi,…

Orienté Objet : langage permettant de créer des objets ayant des propriétés spécifiques et des programmes associés ; ces programmes seront ensuite utilisés comme méthodes de ces objets :C++, Ada, Eiffel Algorithmie Algo liste()
Variables: compteur : Entier
db : Base de Données 'définit un objet BDD
Début
RsClients : Recordset 'définit un objet Jeu d'enregistrement (table ou requete)
RsClients = OuvrirTable("Clients")
compteur = 0
TantQue Non FinDeTable(RsClients) 'test fin du recordset
'pour chaque ligne du jeu d'enregistrement Clients
compteur = compteur + 1
Afficher (RsClients("NomClient"))
LireSuivant (RsClients) 'passe à l'enregistrement suivant du recordset
FinTantQue
Afficher (compteur)
Fermer(RsClients)
Fin Algo Gestion d'un jeu d'enregistrements d'une table Application VBA
exemple structure itérative Sub recherclient()
Dim CodeClientAChercher, NomPrénom As String
Dim CodeClientAChercherN As Integer
Sheets("Clients").Select
CodeClientAChercher = InputBox("Saisir un code Client")
CodeClientAChercherN = CInt(CodeClientAChercher)
i = 2
Do While CodeClientAChercherN <> Sheets("Clients").Cells(i, 1) And Sheets("Clients").Cells(i, 1) <> ""
i = i + 1
Loop
If CodeClientAChercherN = Sheets("Clients").Cells(i, 1) Then
NomPrénom = Sheets("Clients").Cells(i, 2) & "" & Sheets("Clients").Cells(i, 3)
Else
NomPrénom = "Client inconnu"
End If
MsgBox (NomPrénom)
End Sub PROCEDURE RechercherClient()
VAR NomPrénom : Caractères
VAR CodeClientAChercherN : Entier
CodeClientAChercherN = SAISIR("Saisir un code Client")
i = 2
TANT QUE CodeClientAChercherN <> Feuilles("Clients").ValeurCellule(i, 1) ET Feuilles("Clients").ValeurCellule(i, 1) <> ""
i = i + 1
FINTANTQUE
SI CodeClientAChercherN = Feuilles("Clients").ValeurCellule(i, 1) ALORS
NomPrénom = Feuilles("Clients").ValeurCellule(i, 2) & "" & Feuilles("Clients").ValeurCellule(i, 3)
SINON
NomPrénom = "Client inconnu"
FIN SI
AFFICHER (NomPrénom)
FIN PROCEDURE Itérations sur les collections d'objets Cellules dans Excel PROCEDURE remplirFraisPrévisionnel()
VAR rep : Caractères
VAR ligne : Entier
ligne = 2
rep = "o"
TANT QUE rep = "o"
Feuilles("Frais").ValeurCellule(ligne, 1) = SAISIR("Saisir le mois concerné")
Feuilles("Frais"). ValeurCellule (ligne, 2) = SAISIR("Saisir le nombre de déplacement prévu")
Feuilles("Frais"). ValeurCellule (ligne, 3) = SAISIR("Saisir le coût de déplacement prévu")
ligne = ligne + 1
rep = SAISIR("Voulez-vous saisir un nouveau mois? o/n")
FIN TANT QUE
FIN PROCEDURE Gestion des collections d'objets Feuilles et Cellules dans Excel PROCEDURE remplirFraisPrévisionnel()
VAR rep : Caractères
VAR ligne : Entier
ligne = 2
rep = "o"
TANT QUE rep = "o"
Feuilles("Frais").ValeurCellule(ligne, 1) = SAISIR("Saisir le mois concerné")
Feuilles("Frais"). ValeurCellule (ligne, 2) = SAISIR("Saisir le nombre de déplacement prévu")
Feuilles("Frais"). ValeurCellule (ligne, 3) = SAISIR("Saisir le coût de déplacement prévu")
ligne = ligne + 1
rep = SAISIR("Voulez-vous saisir un nouveau mois? o/n")
FIN TANT QUE
FIN PROCEDURE Gestion des collection d'objets Feuilles et Cellules dans Excel Ntotal: le nombre de valeurs à ajouter
N: Le compteur du nombre de valeurs
Somme: la somme des valeurs à afficher en résultat
uneValeur: chaque valeur à ajouter Procédure boucleCumul2
Var unevaleur, somme, N,i:entier
ntotal = SAISIR("Saisir le nombre de valeurs à ajouter")
somme = 0
POUR i =1 TO ntotal
unevaleur = SAISIR("Saisir une valeur à ajouter")
somme = somme + unevaleur
FINPOUR
AFFICHER(somme)
FIN Exercice structure POUR Calculer la somme de n entiers: La structure répétitive POUR Exemple:
Procédure tabledemultiplication
var UnChiffre : entier
DÉBUT
POUR UnChiffre = 1 JQA 10
AFFICHER UnChiffre & " * 9 = " & UnChiffre * 9
FINPOUR
FIN La structure POUR est une simplification de la structure suivante:
identificateur  valeur initiale
TANT QUE identificateur < = valeur finale FAIRE
instructions du traitement répétitif
identificateur  identificateur + incrément
FTQ N: le nombre de valeurs à ajouter
Somme: la somme des valeurs à afficher en résultat
uneValeur: chaque valeur à ajouter Procédure boucleCumul
Var uneValeur ,somme , N:entier
N= SAISIR("Saisir le nombre de valeurs à ajouter")
somme = 0
TANTQUE N <> 0
uneValeur = SAISIR("Saisir une valeur à ajouter")
somme  somme + uneValeur
N  N - 1
FTQ
AFFICHER(somme)
FIN Exercice TANTQUE Calculer la somme de N entiers: Initialisation de la boucle
TANT QUE <condition de continuation>
<instructions>
Evolution de la boucle
FTQ
Traitement final Structure type Variables :
Message, Reponse  : chaîne de caractères

Début
Message  "Bonjour"
AFFICHER Message
AFFICHER "Voulez-vous saisir un nouveau message ? (oui / non)"
Reponse =SAISIR("Saisir une réponse")
SI Reponse = "oui" ALORS
Message =SAISIR("Saisir votre nouveau message")
AFFICHER Message
SINON
AFFICHER « vous n’avez rien à dire ??!?!! »
FINSI
AFFICHER "Au revoir"
Fin Exemple algorithme conversation Procédure : CalculRistourne
Var
TxRist = 0.15
ChAff, Rist : Réel
Début
ChAff=SAISIR("Saisissez le Chiffre d’affaire")

SI ChAff > 1200 ALORS
Rist = ChAff * TxRist
Sinon
Rist = 0
FINSI
AFFICHER "La ristourne est de : " & Rist
Fin structure conditionnelle simple exemple Procédure AfficheLongueur
VAR nom : Caractères
lgnom : Entier
DEBUT
' initialisations
nom  "Dupont"
'Calcul du résultat
lgnom  LONGUEUR(nom)
FIN Faire le test du programme
Quels problèmes posent ce programme? Exemple algorithme avec affectation de valeurs à des variables Supprimer les instructions inutiles Faire le test du programme indiquez les différentes valeurs successives de
X, Y et Z et la valeur finale de Flag Instructions d'affectation de valeurs à des variables Procédure Transfert
VAR: X, Y, Z : Entier
Flag : Booléen
DEBUT
X ←3 ' initialisations
Y ←4
Z← 5
' Transfert entre variables
X ←Y
' Transfert d'une expression '
X ← Y + Z
' Affectation booléenne
Flag ← (Z < X)
FIN Option explicit : pour imposer à VBA de contrôler qu'une variable a bien été définie avec Dim si elle est utilisée dans le traitement Application VBA
Mini lexique Cette structure permet de répéter une action un nombre connu de fois.
- L’identificateur est du type entier.
- La valeur initiale et la valeur finale sont des variables
(ou constantes) de type entier.
- L’incrément est la valeur d’augmentation progressive de l’identificateur.
- La valeur par défaut du pas est de 1 (auquel cas nous ne le précisons pas). POUR <identificateur>=<valeur initiale> JQA <valeur finale> [PAS DE <incrément>]
<instructions du traitement répétitif>
FINPOUR La structure répétitive POUR Enfin, on désire que le joueur puisse proposer autant de nombres qu’il le souhaite, jusqu’à ce qu’il trouve le nombre de l’ordinateur mais il est limité à trois coups d'essai   La structure répétitive méthode des encadrements Maintenant, on désire que le joueur puisse proposer autant de nombres qu’il le souhaite, jusqu’à ce qu’il trouve le nombre de l’ordinateur.   Ecrire l’algorithme permettant de deviner un nombre que l’ordinateur a calculé de façon aléatoire et qui nous est inconnu.
A chaque proposition faite par le joueur, l’ordinateur nous affichera des indications (trop grand ou trop petit).
Dans un premier temps on supposera que l’on n’a droit qu’à un seul coup pour jouer:
Soient NBREORDI le nombre de l’ordinateur, et NBRE le nombre proposé par le joueur. SI condition ALORS
Action1
SINON
Action2
FINSI La séquence <Action> ne sera exécutée que si la condition est vraie.
Le programme continue après FINSI. SI (expression de la condition ) ALORS
Action (suite d'instructions)
FINSI Instructions conditionnelles:
structures alternatives Fonctions Constantes, variables et Types Structure alternative ou conditionnelle SI Structure itérative TantQue / Pour Définition et représentation Introduction Algorithmie Autres: Incrémentation du compteur; initialisation du compteur; affichage en dehors de la boucle 3- Qu'est-ce qui fait démarrer ma boucle? Une première saisie: reponse="oui" 2- Qu'est-ce qui fait évoluer la boucle? Saisir une nouvelle réponse 1- Quelle est la condition pour faire arrêter la boucle? Par exemple Reponse = "non"
=> NON(1):Quelle est la condition qui la fait continuer? Reponse = "oui" (pas non)
0- Le traitement doit il se répéter plusieurs fois? Quelles sont les points clés de la structure répétitive ?  Une Constante est définie une fois pour toute.  On peut changer plusieurs fois la valeur d’une variable dans un algorithme.  Elles permettent de conserver des valeurs en vue d’un traitement.  Les variables et constantes correspondent à des zones de stockage de la mémoire vive. Constantes et variables Un algorithme c’est « l’ensemble des règles opératoires et
des procédés définis en vue d’obtenir un résultat déterminé
au moyen d’un nombre fini d’opérations » (selon l’ AFNOR) Introduction : objectif   traduire cette logique à l’aide d’un langage de programmation compréhensible de l’ordinateur Définir la logique du traitement en vue d’obtenir le résultat souhaité Pour réaliser un traitement exécutable sur ordinateur, il faut distinguer deux étapes :  On peut imbriquer les SI  On peut combiner plusieurs conditions avec les opérateurs ET ou OU  Une condition fait intervenir les opérateurs de comparaisons
>; >=; =; <; <= et <> Instructions conditionnelles:
structures alternatives Une fonction retourne un résultat
donc : qq part nomDeLaFocntion=…. Une fonction ne fait pas d'affichage Procédure SaisieNote
VAR note : réel
Mention: texte
DEBUT
note= Saisir ("Entrer la note")
Mention =RésultatBac(Note)
AFFICHER(" Le Résultat est:" & Mention)
FIN Fonction : exemple note Fonction RésultatBac(note : réel) :Texte
DEBUT
SELON note FAIRE
>=18 : RésultatBac="félicitations"
>=16: RésultatBac ="TB"
>=14: RésultatBac="B"
>=12: RésultatBac="AB"
>=10 : RésultatBac="passable"
SINON
RésultatBac="Refusé"
FINSELON
FIN  Date date  Booléen il comprend une valeur logique Vrai ou Faux  Caractère Un seul caractère 0, 1, … A, B, …a, b, …*,<…  Texte Ensemble de caractères: "bonjour", "algo", "...", "ceci est une chaîne",... { toujours entre quotes ou guillemets }  Réel Nombre à virgule : 1.08, 4.33, 4, ...  Entier Nombre : 1, 8, 125 ... Les principaux types de variables utilisés en algorithmie Structure d’un algorithme  La structure Tantque permet la répétition des actions  La structure SI permet un aiguillage des actions.  Juste avant Fin, il faut afficher le résultat.  Juste après Début, il faut initialiser les données.  Les actions sont encadrées par les deux instructions Début et Fin.  Il faut définir les éléments qui vont être utilisés dans l’algorithme dans la partie
Déclaration des données. Variables:  Un algorithme a toujours un nom, défini ainsi Procédure : NomProcédure

Ou Fonction : NomFonction (paramètres) Valeur renvoyée en sortie à la procédure : mention : Texte Traitement de choix de la mention Paramètre d'entrée dans la fonction : note : réel Fonction Procédure principale  appelle la fonction de calcul de la mention en indiquant les paramètres et le type des paramètres en entrée, et la valeur qui doit être renvoyée en sortie. Les fonctions
Full transcript