Langage Evolué 1 Mr
Total Page:16
File Type:pdf, Size:1020Kb
Langage Evolué 1 Mr. BOUZIDI L’hadi, Octobre 2017 A l’issue de ce cours : • d’un point de vue théorique, l’étudiant sera capable : o d’expliquer les concepts de programmation et de paradigmes de programmation o de citer le processus de programmation o d’expliquer c’est quoi un environnement de programmation o de choisir un langage pour débuter • d’un point de vue pratique, il sera capable : o d’expliquer comment installer le langage Python o d’utiliser Python en mode commande o d’utiliser Python en mode scripte o d’expliquer en quoi un programme python est-il plus claire syntaxiquement o d’écrire des programmes simples permettant de manipuler : Objectifs ▪ des variables, des opérateurs et des expressions ▪ des structures de contrôle (conditions, boucles, exceptions) ▪ des séquences (chaines de caractères, listes, tuples, ensembles) ▪ des dictionnaires ▪ des fichiers ▪ des fonctions ▪ des modules ▪ des interfaces graphiques o de citer les bibliothèques Python permettant de répondre à des problèmes de mathématiques o d’utiliser quelques bibliothèques comme numpy, scipy ou mathplot Un cours + 2 TP • Le cours magistral sera accompagné d’un support de cours papier, PDF et éventuellement de vidéos sur Internet • Les séances de TP auront lieu dans une salle équipée d’ordinateurs et d’un vidéo projecteur. • Les étudiants vont travailler (individuellement) sur l’IDE IDLE. • A l’issue de chaque séance de cours, les étudiants vont répondre à un QCM (sur papier), • A l’issue de chaque séance de TP, ils vont rendre un compte rendu. • Tout au lent du module, ils auront des activités d’autoévaluation à réaliser en ligne. • A la fin du module (système de sorite) seront organisés : Scénario pédagogique o Une interrogation écrite o Un test en ligne o Une EMD Évaluation : Calcul de la note de TP : Les éléments d’évaluation: • Test en ligne • Note TP = Test en ligne + Test sur machine + • Tests sur machine Interrogation + Assiduité et Participation • Interrogation • Assiduité et participation Calcul de la note du module : • EMD • Note du module = (Note du TP + note d’EMD *2)/3 Plan du cours (11 chapitres) 1. Dictionnaires 7. Concepts de base 2. Fichiers 8. Environnement de programmation 3. Fonctions 9. Variables, expressions et opérateurs 4. Modules et package 10. Structures de contrôle 5. Interfaces graphiques 11. Séquences 6. Python et les mathématiques 1 Planning 2017-2018 (semestre I) Octobre 2017 Novembre 2016 Décembre 2016 Janvier 2017 Activité S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 s 14 21 28 4 11 18 25 2 9 16 6 13 20 27 Cours graphiques Magistral Fichiers Modules Fonctions opérateurs Python et les Dictionnaires programmation mathématiques Séquences (listes) Environnement de Concepts de base + Séquences (chaines) Interfaces Interfaces graphiques Variables, expressions et Tps TP1 TP2 TP3 TP4 TP5 TP6 TP7 TP8 TP9 TP10 TP11 TP12 TP13 Auto- évaluati 7 Test 2 Test 3 Test 4 Test 5 Test 6 Test Test 8 Test 9 on en Test 1 Test10 Test11 Test12 Test13 ligne Quiz Quiz 2 Quiz 3 Quiz 4 Quiz 5 Quiz 6 Quiz 7 Quiz 8 Quiz 9 papier Quiz 1 Quiz 10 Quiz 11 Quiz 12 Quiz 13 Tests en X ligne Interro. X X Ressources : Support de cours « papier » (exemplaire en ligne en PDF), forum en ligne, éventuellement des vidéos en ligne. Les étudiants pourront s’inscrire à des cours en ligne massifs (MOOC : Massive Open On ligne Courses) : Dès qu’ils seront inscrits, ils pourront télécharger des ressources (vidéos et document PDF) gratuitement. Cours PDF en ligne Intitulé Auteur URL Licence Apprendre à programmer Gérard Swinnen http://www.inforef.be/swi/download/apprendre_python3.pdf CC- BY-SA avec Python3 2.0 FR Une introduction à Bob CORDEAU & http://perso.limsi.fr/pointal/_media/python:cours:courspython3.pdf CC- BY-NC- Python 3 Laurent POINTAL SA-3.0 Cours de Python Patrick Fuchs et http://www.dsimb.inserm.fr/~fuchs/python/ CC- BY-SA (univ-paris-diderot) Pierre POULIN 2.0 FR Apprenez à programmer Vincent LEGOF http://www.siteduzero.com CC-BY-NC- en Python SA 2.0 Vidéos en ligne Intitulé URL Pythonneries : Série de plus de 34 petites vidéos http://www.youtube.com/playlist?list=UUEBgesbuuHivHmYbh8TGXzQ Tutoriel Python : Apprendre à programmer en Python https://www.youtube.com/watch?v=A5dl7XRnmM4 (Série de 8 vidéos sur Youtube) 2 MOOC (Massive Open Online Course) Sur FUN (https://www.fun-mooc.fr/cours/#search?query=Python&page=1&rpp=50) Nom Editeur Certifiant Temps Début Durée Python 3 : des fondamentaux aux concepts FUN - UCA Oui 8h30/sem 06/11/2017 9 sem avancés du langage Python pour les scientifiques IONISx - EPITA Non 2h/sem Permanent 4 sem Perfectionnez-vous en Python Openclassrooms Certificat pour les premium 1h/sem Permanent 3 sem Testez votre projet avec Python Openclassrooms Certificat pour les premium 1h/sem Permanent 3 sem Découvrez la programmation orientée objet avec Openclassrooms Certificat pour les premium 1h30/sem Permanent 4 sem Python Apprenez à programmer en Python Openclassrooms Certificat pour les premium 8h/sem Permanent 5 sem FLOT : Programmation en Python pour débutants, URL : http://flot.sillages.info/?portfolio=flot-programmation-pour-debutants Programmer en ligne avec Python : • Python Tutor : http://pythontutor.com/ • Repl.it : https://repl.it/languages/python3 • Execute Python Online : https://www.tutorialspoint.com/execute_python_online.php • Easy and Quick way to run Python3 Code Online : https://www.jdoodle.com/python3-programming-online 3 Chapitre 1 – Concepts de base • La programmation orientée objets défini un I.1 – Programmation programme comme un ensemble d’objets La programmation dans le domaine informatique est communiquant via des interfaces. Les objets l'ensemble des activités qui permettent l'écriture des possèdent des propriétés et des comportements. programmes informatiques. Pour écrire des Ils permettent de représenter les objets du monde programmes, on utilise un langage de programmation. réel au sein de l’ordinateur. Quelques langages de La programmation représente usuellement le codage, programmation sont par essence orientés objets, c’est-à-dire la rédaction du code source d'un logiciel. c’est le ca s de Smaltalk. La plus part des langages On utilise plutôt le terme développement pour dénoter procéduraux ont évolué et permettent maintenant l'ensemble des activités liées à la création d'un logiciel. de faire de la programmation orientée objet : Pascal-objet, C++, Java, PHP, Python, C# en sont L’écriture des programmes est basée sur des des exemples. Attention, le langage C ne permet techniques et des méthodes permettant de formaliser pas de faire de la programmation orientée objet les problèmes et d’exprimer des solutions en utilisant (POO). Il est cependant à la base de plusieurs l’ordinateur. La technique de base communément autres langages permettant la POO comme C++, utilisé est l’expression algorithmique. Une façon Java, PHP, C# et Python. d’exprimer la solution à un problème en utilisant un langage évolué très proche du langage humain. La programmation met en relation un problème, un I.2 – Processus de programmation programmeur, une machine et un utilisateur. Il s’agit On suppose que l’on a un problème que l’on souhaite d’une étape importante du génie logiciel. Elle se met en résoudre en utilisant l’ordinateur. On suppose aussi place à la suite d’un processus de conception de que le problème est bien explicité sous une forme logiciel. textuelle. Il est question de construire un programme Il existe divers types de programmation : procédurale permettant de solutionner le problème. Voici les étapes (ou impérative), fonctionnelle, logique, orientée objet, à suivre : etc. La plus utilisée est la programmation procédurale. 1. Exprimer un algorithme à partir de l’énoncé textuel • La programmation fonctionnelle définie un 2. Traduire l’algorithme en langage évolué. Ceci programme comme une fonction qui fait appel à donne ce qu’on appel par « code source » d’autre fonctions. Il n’ya pas de variables globales 3. Saisir le code source sur ordinateur (en utilisant un dans un programme fonctionnel. L’état du éditeur de texte) ; programme n’est pas défini par les valeurs des 4. Compiler le programme pour vérifier si le code variables. LISP et ML sont deux exemples de source respect les règles du langage évolué. Ceci langages de programmation permettant la donne lieu à un programme dit objet. programmation fonctionnelle. 5. Procéder une phase qui permet de lier le code • La programmation logique (exemple de langage : objet généré avec d’éventuelles fonctions issues Prolog) défini un programme comme une de bibliothèques déjà existantes. On parle expression de prédicat. Ecrire un programme d’édition de liens. Cette phase donne lieu à un consiste à déclarer des expressions logiques et des programme exécutable. faits. Prolog est le langage par excellence basée sur 6. Tester le programme exécutable en lançant son la programmation logique (ou déclarative) exécution • La programmation procédurale (ou impérative) défini un programme comme une hiérarchie de Notez bien que le processus est à la fois procédures (ou de fonctions) qui appliquent des itératif (passer d’une étape à l’autre) et traitements sur des données. La plus part des cyclique (des retours en arrière sont possibles langages de programmation permettent la notamment lors de la compilation, de l’édition des liens programmation procédurale : Fortran, Cobol, C, et de l’exécution). Pascal, C++, Java en sont des exemples. 4 Formalisation Problème Traduction dans un langage comme C++ Correction Algorithme des erreurs de syntaxe Compilation Code source Correction des erreurs de référence aux Code objet Bibliothèque Code objet fonctions ou s bibliothèques Edition des liens Programme exécutable Correction des erreurs Exécution de logique Ajouter de ces traitement procéduraux, la majorité des I.3 – Langages de programmation. langages de programmation actuels prennent en charge Un langage est un codage permettant de le style de programmation orienté objet.