Introduction a L’algorithme

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Tris.
Chapitre annexe. Récursivité
Algorithmique (suite)
Algorithmique et Programmation DEUG 2 Sciences Economiques 2004/2005
Algorithmique et Programmation
Portée des variables VBA & Excel
Fonctions & procédures
BUT DE LALGORITHME Afficher la table de multiplication dune valeur saisie au clavier (valeur comprise entre 1 et 9). Gérer lerreur de saisie.
Algorithmique et évaluation
La logique algorithmique
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Algorithmique Résume.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
Les bases de l’Algorithmique
Exercices Algorithmiques
ALGORITHMIQUE.
ALGORITHMIQUES.
et évaluation des compétences
INTRODUCTION.
5. Les structures répétitives
8. Les tableaux P. Costamagna – ISEN N1.
Section VIII Modularité Partie II
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Initiation à la programmation et algorithmique cours 3
Section VI Structures répétitives (suite)
Initiation au système d’information et aux bases de données
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Cours algorithme 2 S. Tabbone.
Structures de données linéaires
Algorithme Sommaire Introduction Définition et représentation
Partie 1 Etude de l'existant
Récursivité.
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
Démarche de résolution de problèmes
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
Algorithmique et Programmation
L’utilisation des bases de données
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
I&G- chapitre 11-La logique Logarithmique -Mme Roulaud
8PRO107 Éléments de programmation
Algorithmique.
Structures des données
LA LOGIQUE ALGORITHMIQUE
INTRODUCTION.
La programmation.
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures simples et tableaux Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Cours LCS N°4 Présenté par Mr: LALLALI
Module algorithmique et programmation
Scripts et fonctions Instructions de contrôle
Algorithmique Tableaux de données
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Objets et Actions Élémentaires.
Algorithmique Algorithmique  Pascal
Algorithmique Conditions et Itérations Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 17/09/2003 Dernière modification: 17/09/2003.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Seconde 8 Module 7 M. FELT 03/11/ Module 7: Algorithmique #2  Objectifs:  AlgoBox.  Définition d’un algorithme.  Affectation de variable. 
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

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 .

« é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.

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…

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 "

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

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 1 Sinon Action 2 Fin Si Une action peut être un calcul, une affectation ou une autre condition.

Exemple Si code_sexe = 1 Alors Genre  "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

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

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

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

Exercice Excel

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

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 (ii+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.

Structure itérative Tant que Tant 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

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

Vecteurs et tableaux

La notion de variables tableaux Dans 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

La déclaration de variables tableaux Un 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)

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

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 tableau Tarif[1] = 0.1 Tarif[2] = 0.1 Tarif[3] = 0.1 Tarif[4] = 0.15 Tarif[5] = 0.15 Tarif[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 Tarif[7] = 0.25 Tarif[8] = 0.25 Tarif[9] = 0.3 Tarif[10] = 0.3 Tarif[11] = 0.3 Tarif[12] = 0.3 Tarif[13] = 0.5

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

*déclaration du tableau à 2 dimensions 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 … SINON SI categ = 3 SINON SI categ = 4 SINON forfait = 0 FIN SI FIN FONCTION TABFORLOC[3,1] = 129 TABFORLOC[3,2] = 219 TABFORLOC[3,3] = 519 TABFORLOC[3,4] = 1000 TABFORLOC[4,1] = 105 TABFORLOC[4,2] = 180 TABFORLOC[4,3] = 411 TABFORLOC[4,4] =880

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.

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

En VB la definition d’une structure se fait toujours dans un module. Type Client Code_Cli As Integer Nom_Cli As String Montant As Currency End Type

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

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)

Table_BTS1 (20) : Etudiant 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 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 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

Exercice Ravanob à réaliser

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.

Les procédures Une 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

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é

Exemple vb Private Sub Procedure_Faren_Cel() Option 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

Procédure et passage de paramètre Option Explicit Dim 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

Les fonctions Une 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

Les fonctions Toute utilisation de la fonction nécessite donc deux spécifications : Un nom Un ou plusieurs paramètres Exemple : déduction1 ---- fraisforfait (somme)

Les fonctions Il existe deux catégories de fonctions : Les fonctions standards : fonctions de base offertes par le langage utilisé 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é…

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

FIN du cours d’algo