Algorithmes et structures de données Cours 8

Slides:



Advertisements
Présentations similaires
Algorithmes et structures de données (avancées) Cours 1+2
Advertisements

Premier programme en C :
Introduction au Langage C,C++
Algorithmes et structures de données avancées 6ème cours Patrick Reuter
Algorithmes et structures de données avancées 5ème cours Patrick Reuter
Algorithmes et structures de données 7ème cours
Algorithmes et structures de données 3ème cours Patrick Reuter
Algorithmes et structures de données
Patrick Reuter maître de conférences
Algorithmes et structures de données Cours 3
Algorithmes et structures de données Cours 10 Patrick Reuter
Algorithmes et structures de données Cours 7
Algorithmes et structures de données 4ème cours
Algorithmes et structures de données 5ème cours
C++ 6ème cours Patrick Reuter maître de conférences
Algorithmes et structures de données Cours 9 Patrick Reuter
Algorithmes et structures de données avancées Cours 1+2+3
Algorithmes et structures de données Cours 2
EXERCICE 2.1 : APRES AVOIR DEMANDE LA SAISIE DUN NOMBRE POSITIF (ERREUR DE SAISIE A TRAITER). AFFICHER LE DECOMPTE EN PARTANT DE CE NOMBRE JUSQUÀ ARRIVER.
DECLARATION DE VARIABLES
But de l’exercice 3.1 PREPARER UN ALGORITHME QUI EFFECTUE DEUX TACHES IMPORTANTES : PREMIERE TACHE : Grâce à la fonction aléatoire, un nombre compris entre.
But de lexercice 3.1 PREPARER UN ALGORITHME QUI EFFECTUE DEUX TACHES IMPORTANTES : PREMIERE TACHE : Grâce à la fonction aléatoire, un nombre compris entre.
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
Initiation à la programmation et algorithmique cours 3
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
2) Les types simples en Python II-Variables 1) Notion de variable
CPI/BTS 2 Programmation Web Introduction au PHP
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Partie 1 Etude de l'existant
Introduction à l’algorithmique
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Outils de Programmation
Introduction à la programmation (Java)
Base de programmation Script unity en c#.
Perl, un langage de programmation pour les données textuelles
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Principes de programmation
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 3 Syntaxe et sémantique.
CSI3525: Concepts des Langages de Programmation Notes # 6: Langages de Programmation Fonctionelle II: Introduction au ML.
LANGAGE C LP A2I IUT St DIE
Types de données fondamentaux
L’essentiel du langage C
Python Fonction et procédure
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 8 Filtres UNIX.
Animateur : Med HAIJOUBI
Ecrire des expressions arithmétiques et logiques
TD0 - Rappels. Acquis du programme 1 ère année Analyser et modéliser : un problème, une situation ; Imaginer et concevoir : une solution algorithmique.
Un survol du language C.
Introduction au langage C Les entrées-sorties
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Les bases de l’algorithmique
Module algorithmique et programmation
Chapitre 4 La représentation des nombres.
Algorithmique Tableaux de données
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction au langage C
Algorithmique et programmation
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.
PhP 2. Tableaux et structures de contrôle. Les tableaux Définition –Rassemblement d’un ensemble de valeurs portant le même nom de variable –Types de tableaux.
Variables : notion Une variable permet de stocker/manipuler une donnée dans un programme avec un nom explicite Caractériser par son type (entier, flottant,...)
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.
Transcription de la présentation:

Algorithmes et structures de données Cours 8 Patrick Reuter http://www.labri.fr/~preuter

conditions nécessaires conditions suffisantes

Motivation Niklaus Wirth, ETH Zuerich, 1976 « Algorithms + Data Structures = Programs »

Algorithme et programmes Moyen d’atteindre un but en répétant un nombre fini de fois un nombre fini d’instructions. Donc, un algorithme se termine en un temps fini. Programme Un programme est la traduction d’un algorithme en un langage compilable ou interprétable par un ordinateur.

http://www.cifen.ulg.ac.be/inforef/swi/download/python_notes.pdf

Variables Permet de stocker des données au cours d’un algorithme  Structure de données la plus élémenataire Caractérisé par leur nom et leur type

Variables Caractérisé par leur nom et leur type Noms : Les noms des variables sont conventionnellement écrits en minuscule. Ils commencent par une lettre ou le caractère souligné (_), puis éventuellement, des lettres, des chiffres ou le caract`ere souligné. Ils doivent être diff´erents des mots réservés de Python.

Variables Caractérisé par leur nom et leur type Nom : x y z i pointsJoueur1 pointsJoueur2

Types de variables

Variables Type simples: Type booléen Type entier Type flottant Vrai/faux (p.ex. True, boolean) Type entier Nombre entier (p.ex. 5, int) Type flottant Nombre à virgule flottant (p.ex. 5.12, float)

Types simples Type booléen Deux valeurs possibles : FAUX (False), VRAI (True) Opérateurs de comparaison : ==, !=, >, >=, <, <= 2 > 8 # Faux 2 <= 8 # Vrai Opérateurs logiques : NON (not), OU (or), ET (and) (3 == 3) or (9 > 24) # Vrai (9 > 24) and (3 == 3) # Faux not(2==2) # Faux

Types simples Type entier 20 + 3 # 23 20 - 3 # 17 20 * 3 # 60 20 + 3 # 23 20 - 3 # 17 20 * 3 # 60 20 ** 3 # 8000 20 / 3 # 6 (division entière) 20 % 3 # 2 (modulo (reste de la division entière)

Types simples Type entier long Les entiers longs (seulement limités par la mémoire vive) 2 ** 40 # 1099511627776L 3 * 72L # 216L

Types simples Type flottant Les flottants sont not´es avec un « point d´ecimal » ou en notation exponentielle : 2.718 # 3e8 # 3 * 108 6.023e23 # 6.023 * 1023 2. # 2 3.0 # 3 Ils supportent les mêmes opérations que les entiers, sauf : 20.0 / 3 # 6.666666666666667 20.0 // 3 # 6 (division entière forcée)

Pour connaître le type d'une variable : print type(a) b = 3.5 print type(b)

Les chaînes de caractères Notations : Les guillemets c1 = "L’eau de l'océan"

Longueur : s = "abcde" print len(s) # 5 Concaténation : s1 = "abc" s2 = "defg" s3 = s1 + s2 # ’abcdefg’

On indique, entre crochets, la position d’un caractère par un indice qui commence à 0 s = "abcdefg" print s[0] # a print s[2] # c

Les listes

Les listes Collection hétérogène, ordonnée et modifiable d’éléments séparés par des virgules, et entourée de crochets. nombres = [17, 38, 10, 25, 72] print nombres[0] # 17 print nombres[4] # 72 print len(nombres) # 5

Les listes Collection hétérogène, ordonnée et modifiable d’éléments séparés par des virgules, et entourée de crochets. nombres = [17, 38, 10, 25, 72]

Afficher tout les nombres :

Afficher tout les nombres : TANT QUE i < len(nombres) FAIRE afficherLigne(nombres[i]) i = i + 1 FIN TANT QUE

Afficher uniquement les nombres pairs :

Afficher uniquement les nombres pairs : TANT QUE i < len(nombres) FAIRE SI nombres[i] % 2 == 0 ALORS afficherLigne(nombres[i]) FIN SI i = i + 1 FIN TANT QUE

Affectation nombres = [17, 38, 10, 25, 72]; nombres[0] = 100; print nombres; Résultat : [100, 38, 10, 25, 72]

indice d'une liste ou d'une chaîne de caractères : s = "Bonjour"; premiereLettre = s[0]; deuxiemeLettre = s[1];

Fonctions prédéfinies par exemple connaître la longueur d'une chaîne : longueur = len(nombres);  parenthèses !

Combinaison : derniereLettre = s[len(s) – 1];

Solution de quelques exercices :

Grilles de sudoku

Grilles de sudoku 5 3 1 8 7 2 9 4 6

Grilles de sudoku grille0 = [5,3,1,8,7,2,9,4,6]; 5 3 1 8 7 2 9 4 6

Grilles de sudoku grille0 = [5,3,1,8,7,2,9,4,6]; 5 3 1 8 7 2 9 4 6 2 3 1 8 7 2 9 4 5

Grilles de sudoku grille = [ [5,3,1,8,7,2,9,4,6], [1,2,5,9,7,8,3,6,4], [1,2,5,9,7,8,3,6,4] ]; print grille[0][0];