Science du traitement rationnel de l'information

Slides:



Advertisements
Présentations similaires
Sensibilisation à l’Algorithmique et structure de données
Advertisements

Initiation à l’Algorithmique
BASE DE L’ALGORITHMIE.  Un système d’instructions.  Pour résoudre d’un problème ou d’une classe de problèmes  Recette de cuisine pour faire un gâteau.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
Algorithmique ‘’ Un algorithme est une suite finie et non-ambiguë d’instructions permettant de donner la réponse à un problème. ‘’ Niveau de difficulté.
Tableaux en C Mardi 2/05.
Le Langage JavaScript pour le web
Semaine 8 Retour sur les tableaux : fonctions et récursivité
Synthèse TP 2 Codeblock 1 Les objectifs de ce tp sont :
Ajouter le code dans une page html
Intégration du P7 dans l’épreuve E41
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
Exercice 8 : Déterminez l’algorithme permettant à votre calculatrice de donner les racines de n’importe quel polynôme de degré 2.
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Algorithmiques Abdelbasset KABOU
« Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils.
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Algorithmique et programmation de modèles numériques
Semaine #1 INF130 par Frédérick Henri.
Algorithmique Avancée et Complexité Chap2:Complexité et Optimalité
Algorithmique AU El harchaoui noureddine
Cours 4 : Tris de Tableaux
Collecte de données CAPI
AO (Architecture des ordinateurs)
de toute série statistique
Les fonctions.
Algorithmique - L’affectation -
Algorithmiques Abdelbasset KABOU
SIF-1053 Architecture de ordinateurs
Un Algorithme , c'est Quoi ?
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Langages de programmation TP3
Mise à niveau - Algorithmique - Niveau: Première année Par: Mr ADIL ENAANAI 1.
Introduction à l’algorithmique et à la programmation Modified by Dr. Mhamed Zineddine INSA Euro-Med Taken from:INSA de Lyon, Departement Telecommunications,
Science du traitement rationnel de l'information
Cours N°6: Algorithmiques Structures Conditionnelles
Codage Indenter le code Limiter la portée des variables Traiter les erreurs en premier Utiliser le switch au delà de 3 tests en cascades Ne jamais utiliser.
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
« Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils.
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Cours N°9: Algorithmiques Les Tableaux 1
Les tableaux.
Introduction à l’algorithmique et à la programmation Modified by Dr. Mhamed Zineddine INSA Euro-Med Taken from:INSA de Lyon, Departement Telecommunications,
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Type Concret – Type Abstrait
Synthèse 8 : Langage informatique
Calcul Scientifique Initiation à SCILB
ACP Analyse en Composantes Principales
من إعداد الأساتذة بوزاوية حميد و عيسى محمد
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
B.Shishedjiev - Informatique
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Définition : 2 Les structures de contrôle conditionnelles permettent à un programme de modifier son traitement en fonction d’une condition.
Information, Calcul, Communication
Algorithmie - Programmation 2
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Flowchart Itération Cours 04.
Tableaux Cours 06.
Les tris Tri Action de mettre une structure de données en ordre (croissant ou décroissant). Le plus simple est d’insérer en ordre. Les algorithmes de tri.
L.P.M Chapitre N°3 Les structures de contrôle itératives Dégager le traitement itératif Problème Nombre d’itération ?? Inconnu à l’avance Connu à l’avance.
Type Tableau Partie 1 : Vecteurs
Transcription de la présentation:

Science du traitement rationnel de l'information Informatique Science du traitement rationnel de l'information par des machines automatiques Philippe Dreyfus, 1962

Algorithme et organigramme Un algorithme est une suite finie et non ambiguë d’opérations ou d'instructions permettant de résoudre un problème. Un organigramme est une représentation d'une programmation sous forme d'un schéma. Un programme est une implémentation d'un algorithme ou d'un organigramme.

Exemples d'algorithmes Briques de LEGO Camion de pompiers suite de dessins Meuble en kit Cuisine équipée notice de montage Farine, œufs, .... gâteau recette

Niklaus Wirth* Langage Pascal * professeur d’informatique Suisse, prix Turing 1984

Séquence linéaire Algorithme EleveAuCarre Début Saisie Traitement Affichage Fin

Un premier algorithme Algorithme EleveAuCarre { Cet algorithme calcule le carré du nombre que lui fournit l'utilisateur } Variables unNombre, sonCarre : entier ; { déclarations des variables } Début { préparation du traitement } unNombre := saisir("Quel nombre voulez-vous élever au carré ?") ; { traitement : calcul du carré } sonCarre := unNombre × unNombre ; { présentation du résultat } afficher("Le carré est : ", sonCarre) ; Fin

Un premier algorithme

Un deuxième algorithme Algorithme ToutOuRien { affiche 0 si une valeur saisie est inférieure à un seuil donné sinon affiche 1 } constante (SEUIL : entier) := 5 ; { seuil à 5 V } variable val : réel ; { valeur analogique } début val := saisir("Donnez un nombre :") ; si val < SEUIL alors val := 0 ; sinon val := 1 ; afficher("La valeur finale est : ", val) ; fin

Un deuxième algorithme

L'instruction conditionnelle si <expression logique (vraie)> alors début Instructions ; fin sinon

Sélection conditionnelle Selon <identificateur> Faire (Liste de) valeur : Traitement() ; FinFaire Sinon : Traitement_par_defaut() ; finselon

Les instructions itératives Pour <variable> de <initiale> à <finale> par pas de <n> Faire Début Action(s) Fin

Les instructions itératives ❶ tanque <expression logique (vraie)> faire début Instructions ; Fin ❷ répéter jusqu’à <expression logique (fausse)> ;

Exemple 1 : le distributeur de boisson Un distributeur propose de 2 types de boissons : eau et soda. Le stock initial de chaque boisson est égal à 20. Quand les stocks sont vides, le système doit avertir la maintenance et se mettre Hors Service. Sinon, le système doit demander la boisson désirée. Le bouton 1 sélectionne une bouteille d'eau Le bouton 2 sélectionne une canette de soda Une fois la sélection faite, si le stock de la boisson sélectionnée n'est pas vide, le système met à jour le stock, sélectionne la boisson demandée et ouvre la trappe d'accès à la boisson.

Notions abordées Opérateur logique Conditions imbriquées

Exemple 2 : le chiffre de Caesar* Jules César, dans ses correspondances secrètes, codait le texte en remplaçant chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l'ordre de l'alphabet. * http://fr.wikipedia.org/wiki/Chiffrement_par_décalage

Le chiffre de Caesar mod : modulo d’un nombre ord(c) : numéro d’ordre dans la table ascii chr(a) : caractère dont le code ascii est a Les chaînes de caractères commencent à l’indice 1

Exemple 3 : le mot de passe Réaliser l'algorigramme d'un programme qui demande à un utilisateur de définir un mot de passe. Le mot de passe ne doit pas être inférieur à 5 caractères. Le mot de passe de doit pas dépasser 10 caractères. Tant que le mot de passe est incorrect, on doit demander le mot de passe. Si le mot de passe est correct, on fait appel à un sous programme de chiffrement*, puis on enregistre le mot de passe chiffré dans un fichier. * avec un algorithme de chiffrement par décalage

Notions abordées Fonctions et procédures Fichier à accès aléatoire assign(f, nomf) : assigner f au fichier nomf reset(f) : ouvrir le fichier f en lecture rewrite(f) : ouvrir le fichier f en écriture read(f, donnee) : lecture de données write(f, donnee) : écriture de données close(f) : fermer le fichier

Exemple 4 : le tri à bulles Mesurer la performance de l'algorithme du tri à bulles* sur une liste de 1000 éléments. Créer une liste de 1000 entiers [0 ; 500] générés aléatoirement. Trier la liste selon l'algorithme du tri à bulles. Enregistrer la liste triée dans un fichier. * permutations successives d'éléments adjacents

Notions abordées Tableaux Passage par valeur et par référence randomize : initialise le générateur random(n) : génère un nombre [0..n-1]

Exemple 5 : occurrence des lettres Déterminer l'occurrence des lettres de l'alphabet dans un texte*. Utiliser un fichier comportant au moins 1000 caractères. Afficher les occurrences en % par ordre décroissant. Notion de tableaux multidimensionnels downto dans boucle for * utilisé en cryptographie pour le déchiffrement par méthode statistique

Exemple 6 : pour terminer... Écrire un programme pour rechercher les racines d'un polynôme : Quelconque de degré 2 D'équation : y = 0,25.x3 + 0,75.x² − 1,5.x − 1,9

Polynôme degré 2 Polynôme degré 3 Racine carrée : sqrt() Valeur absolue : abs() Polynôme degré 3 puissance : power() → écrire une fonction récursive