PRÉSENTATION 1I002 Séverine Dubuisson [email protected] Objectif et organisation • Objectifs du cours : • Apprendre à programmer en langage impératif • Etre capable d'écrire des programmes en langage C • Prendre de bonnes pratiques de programmation • Découvrir quelques algorithmes • Organisation : • 14 groupes, dont 3 en section renforcée • 12 semaines de cours (1h30) • 12 semaines de TD et TME (1h45 de TD + 2x1h45 de TME) Objectif et organisation • Contrôle des connaissances : • Examen final : 60% • Contrôle continu : 40% • 15 % pour le partiel • 20% pour les TME solitaires (3 dans le semestre) • 5% pour la présence en TD-TME, les interrogations de TD et l'évaluation des TME • Site Web de l'UE : • http://www-licence.ufr-info-p6.jussieu.fr/lmd/licence/2014/ue/ 1I002-2015fev/! • Équipe enseignante • Documents de cours, TD et TME • Informations sur les dates d'examen • Environnement Geany • Annales (ancienne version de l'UE : LI115) Environnement de travail Différences entre C et Python Langage Python • Langage interprété Python doit « comprendre » les instructions données par le programmeur à chaque exécution • Orienté objet : classes Tout est objet, on appelle des méthodes comme L.append(e)! • Typage à l'exécution Les variables peuvent contenir tout (entiers, chaînes…) Python découvre que 5 + ''Pomme'' n'a pas de sens seulement à l'exécution • Langage enrichi Syntaxe intégré pour les listes, compréhensions de listes, dictionnaires, manipulation de chaînes... • Syntaxe Syntaxe riche, l'espace a un sens Langage C • Langage compilé Le compilateur « comprend » les instructions une fois et les traduit en langage machine • Programmation impérative La programmation reste proche de la machine • Typage à la programmation Le programmeur décide une fois pour tout si une variable contient un entier (p.ex. 5), une chaîne… Le compilateur peut détecter des problèmes comme 5 + ''Pomme’’ • Utilisation de bibliothèques Programmation proche de la machine, on se sert de « bibliothèques » faites par d'autres gens pour aller vite en programmation • Syntaxe Syntaxe plus stricte, l'espace n'a pas de sens Contenu pédagogique 1. Compilation 2. Types, expressions, variables, E/S, commentaires, debug, 3. 4. 5. 6. 7. 8. bonnes pratiques, fonction main Bibliothèque graphique, instructions, alternative, boucle tant que, #define Boucles, boucles imbriquées, tirage aléatoire Tableaux à 1 et 2 dimensions, chaînes de caractères Structures Fonctions (définition, utilisation), portée des variables, paramètres et passage par valeur Environnement et compilation en ligne 9. Récursivité 10. Pointeurs 11. Algorithmes de tri