DUT Info Introduction à l’algorithmique et à la programmation 2016–2017 TD 2 - Conditions et boucles Conditions Exercice 1. Conditions multiples Voici un petit programme : 1 2 3 4 5 6 7 8 9 10 if __name__ == "__main__": a = int(input("Entrez un nombre: ")) if a <= 10 : print(’A’) elif a > 10 and a <= 50 : print(’B’) elif a > 50 and a < 100 : print(’C’) elif a >= 100: print(’D’) 1. Pour quelles plages de valeurs le programme affiche-t-il A ? Même question pour B, C et D. 2. Réduisez le nombre de tests dans ce programme tout en gardant le même comportement. Exercice 2. Trinôme Voici un programme : 1 2 3 4 5 6 7 8 9 10 11 if __name__ == "__main__": a = float(input(’a = ’)) b = float(input(’b = ’)) c = float(input(’c = ’)) delta = b * b - 4 * a * c if delta > 0: print(’deux solutions’) elif delta == 0: print(’une seule solution’) else: print(’pas de solution’) 1. Modifiez le programme pour qu’il affiche les solutions, quand il y en a. On a besoin pour ce faire de la fonction racine carrée, qui s’obtient en rajoutant from math import sqrt √ avant la ligne 1 et qu’on utilise comme suit : sqrt(x) renvoie la valeur de x. 2. Modifiez le programme pour qu’il gère correctement les cas où a vaut 0, ce qui n’est pas le cas actuellement. Boucle for Exercice 3. Boucle de comptage Que fait le programme ci-dessous ? Page 1 / 2 DUT Info 1 2 3 4 Introduction à l’algorithmique et à la programmation 2016–2017 if __name__ == "__main__": for i in range(10): print(i) print(’fini’) 1. Modifiez-le pour qu’il affiche les nombres de 1 à 10. 2. Modifiez-le pour qu’il affiche les nombres de 3 à 12. 3. Modifiez-le pour qu’il affiche les nombres pairs compris entre 3 et 12. Exercice 4. Factorielle On rappelle que n! vaut 1 × 2 × 3 × · · · × n pour tout entier n ≥ 1 et que 0! = 1. Écrivez un programme qui demande n et calcule n!. Exercice 5. Trois mais pas cinq Écrivez un programme qui prend un entier positif n en entrée, et affiche tous les nombres de 1 à n qui sont divisibles par 3 mais pas par 5. Exercice 6. Fibonacci La suite de Fibonacci Fn est définie par : si n = 0, 0 1 si n = 1, Fn = Fn−1 + Fn−2 sinon. 1. Calculez à la main les premières valeurs de la suite, pour n ≤ 10. 2. Écrivez un programme qui demande un entier n à l’utilisateur et affiche Fn . Page 2 / 2