UNIVERSITÉ DE SHERBROOKE DÉPARTEMENT D’INFORMATIQUE CQP 112 Laboratoire/Devoir #4 : Programmation structurée en Python Hiver 2017 Le but de ce laboratoire est de vous familiariser avec l’écriture de programme en Python en utilisant des structures de contrôle (sélection, itération). Ce laboratoire devra être complété avant le 16 février 2017 à 12h00 Chaque groupe doît m’envoyer par courriel à [email protected], les fichiers générés au cours de ce laboratoire. Exercice 1 : Sélection 1. Écrire un algorithme qui résout le problème suivant : • Entrée : (clavier) n : nombre • Sortie : (écran) message : chaîne de caractères • Relation : — si n est un nombre réel supérieur ou égal à 0, alors message = "Le nombre est un réel positif." — si n est un nombre entier pair supérieur ou égal à 0, alors message = "Le nombre est un entier pair positif." — si n est un nombre entier impair supérieur ou égal à 0, alors message = "Le nombre est un entier impair positif." — si n est un nombre réel strictement inférieur à 0, alors message = "Le nombre est un réel négatif." — si n est un nombre entier pair strictement inférieur à 0, alors message = "Le nombre est un entier pair négatif." — si n est un nombre entier impair strictement inférieur à 0, alors message = "Le nombre est un entier impair négatif." Votre algorithme doit utiliser un nombre minimum de sélection "si". Il peut être composé d’un algorithme principal et de plusieurs algorithmes secondaires. 1 2. Traduire votre algorithme en un programme en Python nommé caracteristiques_nombre.py qui lit au clavier un nombre n et affiche à l’écran un message décrivant les caractéristiques du nombre : positif ou négatif, entier ou réel, pair ou impair (seulement si le nombre est entier). 1. un nombre x est un entier si int(x) == x, sinon c’est un nombre réel. 2. pour décider si un nombre est pair ou impair, vous pouvez utiliser la fonction % (modulo) vue en cours. Exercice 2 – Itération 1. Écrire un algorithme qui résout le problème suivant : • Entrée : (clavier) mot : chaîne de caractères ; (clavier) x : caractère • Sortie : (écran) n : entier • Relation : n est égal au nombre de fois où le caractère x apparaît dans la chaîne mot. Par exemple si mot ="configuration" et x=’i’ alors n = 2, car le caractère i apparaît deux fois. 2. Traduire votre algorithme en un programme en Python nommé compte_caractere.py qui lit au clavier une chaîne de caractères mot et un caractère x et affiche à l’écran un nombre n tel que la valeur de n est égale au nombre de fois où le caractère x apparaît dans la chaîne mot. 1. en Python, la longueur d’un chaîne de caractères mot est retounée par l’évaluation de l’expression len(mot). 2. les caractères d’un chaîne de caractères mot de longueur k sont numérotés de 0 à k − 1. Si i est compris entre 0 et k − 1, alors en Python, l’évaluation de l’expression mot[i] retourne le ième caractère de la chaîne mot. 3. Écrire un algorithme qui résout le problème suivant : • Entrée : (clavier) n : entier • Sortie : (écran) somme : entier Pn • Relation : somme = i=0 2 ∗ i + 1. 4. Traduire votre algorithme en un programme en Python nommé calcul_somme_impair.py qui lit au Pn clavier la valeur d’un nombre entier n, et affiche à l’écran la valeur de i=0 2 ∗ i + 1. Exercice 3 : Soumission des fichiers 1. Créer une archive nommée Labo4_NomEtudiant.tgz (remplacer NomEtudiant par votre nom) contenant tous les fichiers générés au cours de ce laboratoire : caracteristiques_nombre.py, compte_caractere.py, calcul_somme_impair.py 2. M’envoyer l’archive par courriel à l’adresse [email protected]. 2