Algorithmique Chapitre N o I : Introduction à Python



Documents pareils
Initiation à la programmation en Python

TP 1. Prise en main du langage Python

Présentation du langage et premières fonctions

L informatique en BCPST

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

STAGE IREM 0- Premiers pas en Python

TP 1 : 1 Calculs en binaire, octal et hexadécimal

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Chapitre 2 Devine mon nombre!

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Introduction à l informatique en BCPST

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Le langage C. Séance n 4

Recherche dans un tableau

Algorithmique et Programmation, IMA

I. Introduction aux fonctions : les fonctions standards

Représentation d un entier en base b

Le chiffre est le signe, le nombre est la valeur.

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

Compte-rendu de projet de Système de gestion de base de données

La saisie d un texte

Algorithme. Table des matières

1 TD 2 : Construction d'une chier Acrobat et envoi par

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

Découverte de Python

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Algorithmique avec Algobox

Installation de Windows 2000 Serveur

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2

Navigation dans Windows

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

ALGORITHMIQUE ET PROGRAMMATION En C

Tune Sweeper Manuel de l'utilisateur

V- Manipulations de nombres en binaire

Installation et prise en main

Installation de Windows 2003 Serveur

Licence Sciences et Technologies Examen janvier 2010

Le modèle de données

Traitement de texte : Quelques rappels de quelques notions de base

Vers l'ordinateur quantique

Chapitre 2. Classes et objets

Table des matières. 1 À propos de ce manuel Icônes utilisées dans ce manuel Public visé Commentaires...

Conversion d un entier. Méthode par soustraction

Procédure : Sauvegarder un Windows 7 sur un disque réseau

Éléments d'architecture des ordinateurs

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.

Algorithmique et programmation : les bases (VBA) Corrigé

SweetyPix, mode d'emploi

Utilisation du logiciel Epson Easy Interactive Tools

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme


Rapports d activités et financiers par Internet. Manuel Utilisateur

YAPBA M. Logiciel libre de suivi de vos comptes

Université Ferhat ABBAS -Sétif

Télécom Nancy Année

La mémoire. Un ordinateur. L'octet. Le bit

TP1. Outils Java Eléments de correction

TRAVAILLER SUR LES ORDINATEURS DU LYCEE

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Cours Langage C/C++ Programmation modulaire

TP1 : Initiation à Java et Eclipse

Notions fondamentales du langage C# Version 1.0

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Formation. Module WEB 4.1. Support de cours

Programmation Objet - Cours II

Sélection du contrôleur

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

Organiser vos documents Windows XP

UE Programmation Impérative Licence 2ème Année

Comment créer et utiliser une fonction

DM 1 : Montre Autoquartz ETA

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Manuel d Utilisation Nouvelle Plateforme CYBERLIBRIS : ScholarVox Management

Cours Informatique Master STEP

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

VOS PREMIERS PAS AVEC TRACENPOCHE

Sauvegarder automatiquement sa clé USB

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Les différents types de données et leurs opérations de base

Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA 2.0 La copie de cet ouvrage est autorisée

iil est désormais courant de trouver sur Internet un document

Courriel Archiver Version 2: Sommaire. Archiver : Sommaire. Comment ça marche Support Technique Préférences. Recherche

L'émulateur multi-système

CHAPITRE 1 CREER UN EXECUTABLE

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

Conception de circuits numériques et architecture des ordinateurs

Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte»

Guide d utilisation 2012

Logiciel de Base. I. Représentation des nombres

Guide de l informatique Fichiers et dossiers

Transcription:

POIRET Aurélien Algorithmique MPSI Algorithmique Chapitre N o I : Introduction à Python Un algorithme est une suite nie d'opérations élémentaires constituant un schéma de calcul ou de résolution de problème. Une fois conçu, on traduit l'algorithme dans un langage de programmation (Python, Mapple, Scilab, Pascal etc...) qui convertit les instructions en langage machine et permet ainsi à l'ordinateur d'exécuter l'algorithme. Faire de l'algorithmique, c'est donc décomposer un problème complexe en des sous-problèmes de plus en plus simples jusqu'à arriver aux actions élémentaires que connaît l'ordinateur. Cette année, vous allez programmer en Python, de préférence avec la version 3. J'attire votre attention sur le fait que Python n'est pas un nom de logiciel mais bien un langage de programmation. Nous utiliserons donc l'environnement Spyder pour programmer en Python. Si ce n'est pas encore fait, un tel logiciel s'installe à partir du lien suivant : http://sourceforge.net/projects/winpython/files/winpython_3.3/3.3.5.7/ 1 Prise en main avec l'environnement Spyder L'environnement Spyder se décompose en plusieurs fenêtres. Il faut bien faire la diérence entre l'interpréteur et l'éditeur. L'éditeur sera l'endroit où vous taperez vos programmes en langage Python. L'interpréteur sera l'endroit où vous exécuterez vos programmes. L'interpréteur sert également de calculatrice, c'est l'endroit où vous taperez vos calculs et c'est aussi l'endroit ou vous pourrez tester l'écriture d'une ligne de commande. Je vous conseille également de laisser à votre disposition la fenêtre de l'explorateur de variables et celle de l'explorateur d'objets. 1

2

Sur la capture d'écran précédente, vous pouvez identier un chier d'édition dans le fenêtre de gauche (qui correspond à notre éditeur), notre console dans la fenêtre en bas à droite (qui correspond à notre interpréteur) et les explorateurs de variables et d'objets Pour écrire un nouveau programme, il sut de cliquer sur chier puis nouveau chier. Le premier réexe est de sauvegarder votre programme avec un nom cohérent (sans espace, sans tiret et sans caractère spécial). Une fois votre programme écrit, n'oubliez pas de le sauvegarder avant de l'exécuter. Pour cela, il sut de cliquer sur la touche raccourcie clavier F5. Le début d'un programme commencera toujours, et dans cet ordre, par l'encodage utilisée, la plupart du temps # -*- coding: latin1 -*-, puis, par la date de création du programme et le nom d'auteur, puis, par les bibliothèques, les fonctions et procédures que vous importez. Ce sera seulement après ces lignes de code que commencera l'écriture de votre programme. Exemple 1 : On écrit le programme intitulé age contenant les lignes suivantes : # -*- coding: latin1 -*- """ @author: POIRET """ age=eval(input("tu as quel âge?")) # On définit la variable age qui demande notre âge print("tu as donc",age,"ans.") # On retourne notre âge avec le texte adéquat Lorsque l'on exécute ce programme dans l'interpréteur, on obtient le résultat suivant > > > runfile('c:/users/poiret/age.py', wdir='c:/users/poiret') Tu as quel âge? 18 Tu as 18 ans. La commande # sert à écrire des commentaires. Si les commentaires ont lieu sur plusieurs lignes, on les écrit entre """. La commande \ sert pour aller à la ligne dans l'éditeur sans que l'interpréteur lui aille à la ligne : cela sert surtout lorsque nous avons une longue ligne de code et que nous voulons la voir complète à l'écran. La commande print permet d'écrire un texte. Attention, n'oubliez pas de mettre entre parenthèses tout le texte à acher (pas nécessaire avec la version 2.7). La commande input permet de dénir une variable. Attention avec la version 3.3 de Python, il faut précéder cette commande du mot clef eval an d'éviter que la variable dénie soit interprétée comme une chaîne de caractères. Nous expliquons ce qu'est une variable dans la partie suivante. 2 Les variables Une variable est une représentation idéale d'une zone de mémoire de l'ordinateur. Il s'agit d'un endroit où l'on peut stocker une valeur, y accéder et changer cette valeur. Une variable se caractérise par un nom qui permet de l'identier, 3

une valeur, son type (entier, ottant, chaîne de caractères, liste ou booléen). L'aectation est l'instruction qui permet d'assigner une valeur à une variable. Si cette dernière n'existe pas encore, on parle de déclaration de la variable. Elle correspond au codage nom_de_variable valeur. En python, cela se fait à l'aide de la syntaxe suivante : nom_de_variable=valeur. Exemple 2 : On peut écrire dans l'interpréteur, la liste de commande suivante : > > > X=3.14 > > > X 3.14 > > > Y="J'aime l'école!" > > > Y "J'aime l'école!" Dans l'exemple précédent, on note qu'il existe plusieurs types de variables (en l'occurrence ici, les ottants et les chaînes de caractères). Voici les diérents types de variables qu'il est impératif de connaître : Type de variable Syntaxe en Python Description Entiers relatifs int Entiers de -214748364 à 214748364 Nombres à virgule float Nombres décimaux Listes list Tableaux formés de lettres et nombres Chaînes de caractères str Tableaux formés uniquement de lettre Booléens bool Peut prendre deux valeurs True ou False Lorsque l'on dénit une variable, il faut donc avoir en tête le type de variable que nous avons dénie. En cas de doute, vous pouvez utilisez la fonction type(variable) où vous remplacer variable par votre variable. Il peut-être également utile de savoir comment convertir un type de variable en un autre type de variable. Le tableau récapitulatif à connaître est le suivant : A utiliser int(x) float(x) str(x) list(x) [x] Pour transformer Le type float en type int Exemple : int(2.5) retourne 2 Le type int en type float Exemple : float(2) retourne 2.0 Le type int, float ou list en type str Exemples : - str(3). retourne '3' - str(3.0) retourne '3.0' - str([1,2,3]) retourne '[1,2,3]' Le type str en type list Exemple : list("test'') retourne ['t','e','s','t'] Le type float ou int en type list Exemples : - [3] - [3.0] 4

Enn, il peut être important de connaître les opérations élémentaires que nous pouvons eectuer sur les variables. En voici une liste : Opérateur Utilité + Addition - Soustraction * Multiplication / Division % Modulo (reste de la division) // Quotient (de la division) ** Puissance += Rajouter à la variable -= Enlever à la variable *= Multiplier à la variable /= Diviser à la variable Attention, le résultat de ces dernières opérations peut dépendre du type de la variable considérée. Exemple 3 : Voici quelques exemples : Syntaxe rentrée dans l'interpréteur Résultat obtenu 3+3 6 2**3 8 13%4 1 13//4 3 x=4 puis x+=3 7 X,Y="J'aime ","l'école" puis X+Y "J'aime l'école" 3*[1,2,3] [1,2,3,1,2,3,1,2,3] [4,5,6]+[1,2,3] [4,5,6,1,2,3] False+True True False*True False not False+False True 5