cosinus

publicité
CQP 112 Introduc/on à la programma/on Thème 3 : Programma/on Python Département d’informa/que CQP 112 : Introduc/on à la programma/on Plan 1.  Structure d’un programme 2.  Entête 3.  Inclusion de codes existants 4.  Composants du code 5.  Défini/on de fonc/ons Langage Python q  Guido Van Rossum (1989) q  Dynamiquement typé : types découverts à l’exécu/on q  Fortement typé : : traitements dis/ncts suivant le type q  Orienté objet : basé sur des défini/ons d’objets et d’instances de ces objets q  Modulaire : composé de blocs Bloc q  Suite d’instruc/ons q  débutant par une ligne d’instruc/on terminée par ‘:’ q  avec les lignes suivantes décalées par rapport à la première ligne. n = 10 somme_pairs = 0 somme_impairs = 0 while(n > 0): if(n % 2 == 0): somme_pairs = somme_pairs + n else: somme_impairs = somme_impairs + n n = n-­‐1 Bloc q  Suite d’instruc/ons q  débutant par une ligne d’instruc/on terminée par ‘:’ q  avec les lignes suivantes décalées par rapport à la première ligne. n = 10 somme_pairs = 0 somme_impairs = 0 while(n > 0): if(n % 2 == 0): somme_pairs = somme_pairs + n else: somme_impairs = somme_impairs + n n = n-­‐1 Structure d’un programme Python q  Entête q  Direc/ves pour l’interpréta/on q  Descrip/on du programme q  Inclusion de codes existants q  Bibliothèques prédéfinies q  Programmes existants q  Votre code q  Liste d’instruc/ons #!/usr/bin/env python
# -*- coding: utf-8 -*"""
``calcul_cosinus`` **module description**
Ce module calcule le cosinus d'un angle donné en degrés.
Entrées :
Entête (clavier) angle_en_degres : réel
angle donné en degrés
Sorties :
(clavier) cosinus : réel
cosinus de l'angle
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
Codes existants """
from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
Votre code ## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez un angle en degrés:\n")
## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEGRE
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
Plan 1.  Structure d’un programme 2.  Entête 3.  Inclusion de codes existants 4.  Composants du code 5.  Défini/on de fonc/ons Entête q  Instruc/ons pour l’interpréta/on q  Descrip/on du programme (en commentaire) calcul_cosinus.py
q  Nom q  Descrip/on q  Auteur(e)(s) q  Date #!/usr/bin/env python
# -*- coding: utf-8 -*"""
``calcul_cosinus`` **module description**
Ce module calcule le cosinus d'un angle donné en degr
Entrées :
(clavier) angle_en_degres : réel
angle donné en degrés
Sorties :
(clavier) cosinus : réel
cosinus de l'angle
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
"""
from math import *
Entêtes #!/usr/bin/env python # -­‐*-­‐ coding: uj-­‐8 -­‐*-­‐ """ ``calcul_cosinus`` **module descrip/on** Ce module calcule le cosinus d'un angle donné en degrés. Entrées : (clavier) angle_en_degres : réel angle donné en degrés Sor/es : (clavier) cosinus : réel cosinus de l'angle ...moduleauthor:: Aïda Ouangraoua Janvier 2015 """ Entêtes #!/usr/bin/env python # -­‐*-­‐ coding: uj-­‐8 -­‐*-­‐ """ ``calcul_cosinus`` **module descrip/on** Ce module calcule le cosinus d'un angle donné en degrés. Entrées : (clavier) angle_en_degres : réel angle donné en degrés Sor/es : (clavier) cosinus : réel cosinus de l'angle ...moduleauthor:: Aïda Ouangraoua Janvier 2015 """ Résultat de l’analyse du problème Entêtes q  Commentaires q  Lignes non lue par l’interprétateur q  Très important dans un programme q  Facilite la lecture et la maintenance q  U/lisés pour la généra/on de la documenta/on q  Lignes suivant le symbole # q  Lignes placées entre """ et """ q  Exemple # Calcul du cosinus cosinus = cos(angle_en_radians) #!/usr/bin/env python
# -*- coding: utf-8 -*"""
``calcul_cosinus`` **module description**
Ce module calcule le cosinus d'un angle donné en degrés.
Entrées :
Entêtes (clavier) angle_en_degres : réel
angle donné en degrés
Sorties :
(clavier) cosinus : réel
cosinus de l'angle
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
Codes existants """
from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
Votre code ## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez un angle en degrés:\n")
## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEGRE
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
Plan 1.  Structure d’un programme 2.  Entêtes 3.  Inclusion de codes existants 4.  Composants du code 5.  Défini/on de fonc/ons Inclusion de codes existants q  Direc/ves à l’interprétateur q  Inclusion de bibliothèques pré-­‐définies Exemples : string, math, os.path, string, … q  Inclusion d’autres programmes q  Syntaxe from <nom_bibliothèque> import * q  Exemple from math import * from nom_fichier import * (ne pas ajouter l’extension .py du fichier) Contenu de la bibliothèque math : htps://docs.python.org/2/library/math.html #!/usr/bin/env python
# -*- coding: utf-8 -*"""
``calcul_cosinus`` **module description**
Ce module calcule le cosinus d'un angle donné en degrés.
Entrées :
Entêtes (clavier) angle_en_degres : réel
angle donné en degrés
Sorties :
(clavier) cosinus : réel
cosinus de l'angle
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
Codes existants """
from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
Votre code ## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez un angle en degrés:\n")
## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEGRE
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
Plan 1.  Squelete d’un programme 2.  Entêtes 3.  Inclusion de codes existants 4.  Composants du code 5.  Défini/on de fonc/ons """
``calcul_cosinus`` **module description**
Ce module calcule le cosinus d'un angle donné en degrés.
Composants du code Entrées :
(clavier) angle_en_degres : réel
angle donné en degrés
q  Déclara/on des constantes q  Déclara/on des variables q  Déclara/on des fonc/ons q  Blocs d’instruc/ons Sorties :
(clavier) cosinus : réel
cosinus de l'angle
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
"""
from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez un angle en degrés:\n")
## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEGRE
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
"""
``calcul_cosinus`` **module description**
Ce module calcule le cosinus d'un angle donné en degrés.
Composants du code Entrées :
(clavier) angle_en_degres : réel
angle donné en degrés
q  Déclara/on des constantes q  Déclara/on des variables q  Déclara/on des fonc/ons q  Blocs d’instruc/ons Sorties :
(clavier) cosinus : réel
cosinus de l'angle
...moduleauthor:: Aïda Ouangraoua
Pas obligatoire Janvier 2015
"""
from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez un angle en degrés:\n")
## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEGRE
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
"""
``calcul_cosinus`` **module description**
Ce module calcule le cosinus d'un angle donné en degrés.
Composants du code Entrées :
(clavier) angle_en_degres : réel
angle donné en degrés
q  DéclaraLon des constantes q  DéclaraLon des variables q  Déclara/on des fonc/ons q  Blocs d’instruc/ons Sorties :
(clavier) cosinus : réel
cosinus de l'angle
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
"""
from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez un angle en degrés:\n")
## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEGRE
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
DéclaraLon des constantes et variables q  U/lise l’affec/on qui permet de donner une valeur à un objet (constante ou variable) q  Un objet est associé à un nom (noms donnés aux données en mémoire): q  composé de letres (a-­‐z) (A-­‐Z), chiffres (0-­‐9) et « _ » q  commence par une letre q  ne con/ent de caractère réservé (*, +, $, ., (, ), #, !, %, ;, :, …) Pas obligatoire en python ; mais dans les normes de programma/on. DéclaraLon des constantes q  Permet de donner des noms aux données qui ne doivent pas être modifiées : Constantes q  Noms des constantes doivent être significa/fs q commencent par une letre q en majuscule (norme de programma/on) Exemples : NBRE_RADIANS_DANS_DEGRE, NBRE_SECONDES_DANS_HEURE q  Syntaxe : suite d’instruc/ons d’affecta/on NBRE_RADIANS_DANS_DEGRÉ = 3.1415 / 180 NBRE_SECONDES_DANS_HEURE = 3600 DéclaraLons des variables q  Permet de donner des noms aux données en mémoire q  Noms des variables doivent être significa/fs q  débutant par letre minuscule (norme de programma/on) Exemples : angle_en_degres, rayon, largeur, longueur q  Syntaxe : suite d’instruc/ons d’affecta/on nbre_de_secondes = 100 prenom = "Lucy" angle_en_degres = 0.0 largeur = 0 longueur = 0 """
``calcul_cosinus`` **module description**
Ce module calcule le cosinus d'un angle donné en degrés.
Composants du code Entrées :
(clavier) angle_en_degres : réel
angle donné en degrés
q  Déclara/on des constantes q  Déclara/on des variables q  Déclara/on des fonc/ons q  Blocs d’instrucLons Sorties :
(clavier) cosinus : réel
cosinus de l'angle
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
"""
from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez un angle en degrés:\n")
## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEGRE
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
Sorties :
(clavier) cosinus : réel
cosinus de l'angle
Composants du code ...moduleauthor:: Aïda Ouangraoua
Janvier 2015
"""
q  Types de lignes q  Commentaires q  Instruc/ons q  Types d’instruc/on q  Non-­‐condi/onnelle q  Affecta/on q  Appel de fonc/on q  Condi/onnelle from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez un angle en degrés:\n")
## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEG
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
Sorties :
(clavier) cosinus : réel
cosinus de l'angle
Composants du code ...moduleauthor:: Aïda Ouangraoua
Janvier 2015
"""
q  Types de lignes q  Commentaires q  Instruc/ons q  Types d’instruc/on q  Non-­‐condiLonnelle q  Affecta/on q  Appel de fonc/on q  Condi/onnelle from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez un angle en degrés:\n")
## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEG
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
InstrucLon d’affectaLon q  Permet de modifier la valeur d’une variable q  Valeur d’une variable modifiable tout au long du code q  Syntaxe nom_variable = <expression> q  Expression peut être : q  variable q  valeur (exemple : 2 ou 1.05 ou "bonjour") q  expression mathéma/que valide (exemple : (2 + 3) * 5 ; appel de fonc/on sur un jeu d’entrée donné) q  Exemples : x = y x = (2 + x) * (y -­‐5) angle = 0.0 cosinus = cos(angle) Fonc/on déclarée ou incluse à par/r de codes existants Cas parLculier : lecture au clavier et affectaLon q  Permet d’affecter à une variable une valeur lue au clavier q  Syntaxe nom_variable = input(<message>) ou nom_variable = raw_input(<message>) q  Message est : q  le message d’instruc/on qui s’affiche à l’écran q  exemple : "Tapez votre prénom" ou "Entrez un angle" q  Exemples : prenom = input("Tapez votre prénom") angle = input("Entrez un angle") InstrucLon d’appel de foncLon (sans affectaLon) q  Permet d’exécuter une fonc/on sur un jeu d’entrée donné Fonc/on déclarée ou incluse à par/r de codes existants q  Syntaxe nom_fonc/on (<expression1>, <expression2>, …) q  Exemples: afficher_intervalle(a,b) Cas parLculier : instrucLon d’affichage q  Permet d’afficher une valeur à l’écran q  Syntaxe print <expression1>, <expression2>, … q  Exemples (a = 1, x = 2, y = 3, angle = 0, cosinus = 1): print "La somme de x et y est", x + y print "La valeur de la variable a est", a print "Le cosinus de l’angle", angle, "est", cosinus print "Le produit de 2+2 et", 3, "est (2+2)*3" #!/usr/bin/env python
# -*- coding: utf-8 -*"""
``calcul_cosinus`` **module description**
Ce module calcule le cosinus d'un angle donné en degrés.
Entrées :
Entêtes (clavier) angle_en_degres : réel
angle donné en degrés
Sorties :
(clavier) cosinus : réel
cosinus de l'angle
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
Codes existants """
from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
Votre code ## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez un angle en degrés:\n")
## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEGRE
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
#!/usr/bin/env python
# -*- coding: utf-8 -*"""
``calcul_cosinus`` **module description**
Ce module calcule le cosinus d'un angle donné en degrés.
Entrées :
(clavier) angle_en_degres : réel
angle donné en degrés
Sorties :
(clavier) cosinus : réel
cosinus de l'angle
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
"""
"""
from math import *
## Déclaration des variables
angle_en_degres = 0.0
angle_en_radians = 0.0
cosinus = 0.0
## Déclaration des constantes
NBRE_RADIANS_DANS_DEGRE = pi/180
## Lecture des entrées
angle = input("Entrez
un angle
degrés:\n")
angle_en_degres = input(‘’Entrez un aen
ngle en degrés:\n’’) ## Conversion de l'angle en radians
angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEGRE
## Calcul du cosinus
cosinus = cos(angle_en_radians)
## Affichage
print "Le cosinus de l'angle est", cosinus
#!/usr/bin/env python
# -*- coding: utf-8 -*"""
``calcul_circonference_rectangle`` **module description**
Ce module calcule la circonférence et la superficie d'un rectangle de largeur et
longueur données.
Entrées :
Entêtes (clavier) largeur : entier
largeur donné en cm
(clavier) longueur : entier
longueur donné en cm
Sorties :
(écran) circonférence : entier
circonférence en cm
(écran) superficie : entier
superficie en cm^2
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
Codes existants """
## Déclaration des variables
largeur = 0
longueur = 0
circonference = 0
superficie = 0
Votre code ## Lecture des entrées
largeur = input("Entrez une largeur en cm:\n")
longueur = input("Entrez une longueur en cm:\n")
## Calcul de la circonference
circonference = 2 * (largeur + longueur)
## Calcul de la superficie
superficie = largeur * longueur
## Affichage
print "La circonference du rectangle est", circonference
print "La superficie du rectangle est", superficie
"""
## Déclaration des variables
largeur = 0
longueur = 0
circonference = 0
superficie = 0
## Lecture des entrées
largeur = input("Entrez une largeur en cm:\n")
longueur = input("Entrez une longueur en cm:\n")
## Calcul de la circonference
circonference = 2 * (largeur + longueur)
## Calcul de la superficie
superficie = largeur * longueur
## Affichage
print "La circonference du rectangle est", circonference
print "La superficie du rectangle est", superficie
#!/usr/bin/env python
# -*- coding: utf-8 -*"""
``calcul_superficie_cercle`` **module description**
Ce module calcule la superficie d'un cercle de rayon donné.
Entrées :
Entêtes (clavier) rayon : réel
rayon donné en cm
Sorties :
(écran) surperficie : réel
superficie du cercle en cm^2
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
"""
Codes existants from math import *
## Déclaration des variables
rayon = 0.0
superficie = 0.0
Votre code ## Déclaration des constantes
#pi = 3.1415
## Lecture des entrées
rayon = input("Entrez le rayon du cercle:\n")
## Traitement
superficie = pi * rayon**2
## Affichage
print "La superficie du cercle est", superficie
...moduleauthor:: Aïda Ouangraoua
Janvier 2015
"""
from math import *
## Déclaration des variables
rayon = 0.0
superficie = 0.0
## Déclaration des constantes
#pi = 3.1415
## Lecture des entrées
rayon = input("Entrez le rayon du cercle:\n")
## Traitement
superficie = pi * rayon**2
## Affichage
print "La superficie du cercle est", superficie
Composants du code q  Déclara/on des constantes q  Déclara/on des variables q  DéclaraLon des foncLons q  Blocs d’instruc/ons Plan 1.  Structure d’un programme 2.  Entêtes 3.  Inclusion de codes existants 4.  Composants du code 5.  DéfiniLon de foncLons DéfiniLon de foncLons q  Fonc/on : objet à déclarer q  Permet de résoudre un sous-­‐problème du problème de base. DéfiniLon de foncLons q  Syntaxe def <nomFonc/on>(<nom_param1>, <nom_param2>, … ): instruc/ons de l’algorithme Indenta/on . après : Obligatoire . en Python [return <nomVariableRetour>] q  Exemple def calcul_circonference_rectangle(largeur,longueur): circonference = 2 * (largeur + longueur) return circonference DéfiniLon de foncLons q  Autres exemples def afficher_texte (un_texte): print "Affichage du texte :", un_texte def calcul_cosinus(angle_en_degres) : angle_en_radians = 0.0 cosinus = 0.0 Indenta/on PI = 3.1415 après : Obligatoire NBRE_RADIANS_DANS_DEGRE = PI/180 en Python angle_en_radians = angle_en_degres * NBRE_RADIANS_DANS_DEGRE cosinus = cos(angle_en_radians) return cosinus Appel de foncLons q  Calcul le résultat d’une fonc/on pour des valeurs données q  Syntaxe <nomVariable> = <nomFonc/on>(<expression1>, <expression2>, … ) q  Exemple larg = 4 long = 8 circ_4_8 = calcul_circonference_rectangle(larg,long) Appel de foncLons q  Calcul le résultat d’une fonc/on pour des valeurs données Possible si la défini/on de la fonc/on inclut une valeur retournée q  Syntaxe <nomVariable> = <nomFonc/on>(<expression1>, <expression2>, … ) q  Exemple Nombres de données en entrée = Nombre de paramètres entrants définis pour la fonc/on larg = 4 long = 8 circ_4_8 = calcul_circonference_rectangle(larg,long) Exemples complets avec foncLons q  Avec fonc/ons secondaires q  calcul_cosinus_fonc/on.py q  calcul_rectangle_fonc/on.py q  calcul_cercle_fonc/on.py q  Avec une fonc/on principale : main() q  calcul_cosinus_fonc/on_main.py q  calcul_rectangle_fonc/on_main.py q  calcul_cercle_fonc/on_main.py Exercices 1.  Écrire un programme qui lit un nombre en base décimale <= 256, puis le conver/t et l’affiche en base binaire (Note : 256 = 28). 2.  Écrire un programme qui lit un nombre de secondes, puis le conver/t et l’affiche en heures, minutes, secondes. 
Téléchargement