100% ont trouvé ce document utile (9 votes)
31K vues52 pages

Cahier D'algorithmique Et Programmation 2de

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (9 votes)
31K vues52 pages

Cahier D'algorithmique Et Programmation 2de

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
CAHIER D‘#eLGORITHMIQUE mela eter Ue) ’ a Rave luce cue mall bordas éditeur Programmation en PYTHON = On saisit le programme dans léditeur. Créer un nouveau oneal San ' da eee Ne ariameéme ign enesséomantparun pontigule Importer un module from nom_du_module import* Se Afficher A printiA) Affecter a B la valeurde A BEA Ecrire des commentaires On écrit les commentaires sur une ligne, précédés de # Testersi A =B/siA*B ASB ALB TestersiA = B/siA =B AcsB AetB/AouB AandB AorB Si {condition C} Alors {instructions A} 1on {instructions B} Fin Si if {condition C}: {instructions A} else: {instructions B} lIn'ya pas dinstruction de fin: cest indentation (le décalage vers la droite) qui indique les instructions faisant partie de a structure conditionnelle, Pouri variant de 1 .n + Linstruction for iin range(n) fait parcourir a la variable i tous lesentiers de 07-1. + Linstruction for ‘in range(ngn) fait parcourir & la variable i tous les entiers dengan —1. foriinrange(1.n+1):|. vinstruction for iin fange(ngn,p fait parcourir la variable {instructions} Fin Pour {instructions} les entiers de ng jusqu’a l'entier immédiatement inférieur ouégal an— 1 avecun pas de. Comme pourf,on utilise findentation pour in les instructions faisant partie dela boucle. Tant que{condition C) | while {condition C}: | Comme pour if et for, on utilise l’ndentation pour indiquer {instructions} . fatueaue {instructions} les instructions faisant partie dela boucle. detfobe On peut aussi écrie : d'une fonction f return(y) return y aulieu de return(y) Racine carrée de x ‘sqrt dans la bibliothéque lycée oule module math ala puissance n xn x pi dans la bibliothéque lycée ou le module math Reste de la division deaparb amb avec labibliothéquelycée | fmoda,b) pour la calculatrice NumWorks Nombre décimal aléatoire compris entre aetb Uuniform(a,b) avec la bibliothéque lycée ou le module random Entier aléatoire compris entreaetb randint(a,b) avec la bibliothéque lycée ou le module random Longueur d'une chaine de caracteres C / Extraire un caractére de C len(c) ikl renvoie le (k + 1)° élément de C Concaténation de deux chaines de caractéres “abed” + "efg’ donne“abedefg" Booléens. True (Vrai) False (Faux) Exécuter un programme Onglet Exécuter EduPython : cliquersur > CAHIER py * Revo) Ui elels mela ore YW Ulely| Ward meee Sommaire PARTIE 1 Notions de base A. Algorithme - Variables ~ Affectation 3 B. Programmation d'un algorithme en langage Python .... 8 C. Les fonctions 10 D. Instruction conditionnelle (If) 14 E. Boucle bornée (For) sateen ersten coe 18 F. Boucle non bornée (While) ......... a ces PARTIE 2 Ensembles et nombres 30 as PARTIE 3 fonctions numériques A. Fonctions de référence. 33 B. Généralités sur les fonctions — Variations on 38 PARTIE 4 Géométrie 41 a PARTIE S Statistiques et probabilites A. Statistiques 45 B. Echantillonnage et probabilités a7 La premiére partie du cahier comprend toutes les bases de lalgorithmique et de la pro- grammation : variables, affectation, fonctions, instruction conditionnelle, boucle bornée et non bornée, avec l'utilisation du langage de programmation Python. Les exercices de cette partie ne nécessitent pas de connaissances spécifiques de la classe de Seconde, méme si les notions abordées ont toute leur place en Seconde. Les quatre autres parties proposent des exercices sur les quatre grands thémes du nou- veau programme de la classe de Seconde : Ensembles et nombres, Fonctions numériques, Géométrie et Statistiques-Probabilités. Chaque exercice comporte un en-téte qui décrit les notions mathématiques du programme, les compétences et les notions d'algorithmique et de programmation mobilisées dans lexercice. Cette nouvelle édition : + tient compte des nouveaux programmes de Seconde a la rentrée 2019 ; + utilise le langage Python préconisé par ce programme ; + respecte lévolution de P’écriture des algorithmes conforme aux directives de septembre 2017 avec la suppression de la déclaration des variables, la suppression des entrées-sorties et un aménagement de la syntaxe (utilisation du symbole <— pour l'affectation). Lev pice. Bll WB mescioninect Inscarrigtstlerprograrnnen Python den exerci deportes gratuitement sur le site [Link] ct dans la version vidéoprojetable du cahier. Pour chaque exercice, vous pourrez accéder a 5 fichiers différents + un fichier pour un poste informatique (utilisable avec EduPython, Idle, Pyzo...) + un fichier pour la calculatrice Ti 83 Premium CE de Texas Instruments + un fichier pour les calculatrices Graph90+E et Graph35+EII de Casio + un fichier pour la calculatrice Numworks + un pdf avec les captures d'écran de ces 4 fichiers © BORDAS/SEJER - Paris, 2019 ISBN 978-2.04-733725-7 oa e Algorithme - Variables - Affectation Algorithme et notion de variable Un algorithme est une suite finie d'instructions a appliquer dans un ordre déterminé & un nombre fini de données pour arriver, en un nombre fini d’étapes, & un certain résultat. Pour stocker un résultat, on utilise une variable, On peut se représenter une variable comme une « boite », un emplacement de la mémoire d'un ordinateur... Pour pouvoir accéder & son contenu, on lui donne un nom. eae eats ee) On peut ici utiliser une variable, que Yon nomme X, qui contient les résultats obtenus a la fin de chaque étape du programme de calcul. " Choisir te nombre 7 | Multiplier ce nombre par 2 Une variable est désignée par un nom, Elle contient une valeur. On utilise quatre types de valeurs: ~entier (nombre entier relatif); —flottant (nombre a virgule) ; ~ chaine de caractéres : suite ordonnée de caractéres, un caractére étant un chiffre, une lettre, un symbole... ~booléen : variable qui ne prend que deux valeurs (Vrai ou Faux), sa valeur est en général donnée par un test. Remarques : 1) "Année" est une chaine de cing caracteres. On dit que cest une chaine de longueur 5. Le premier caractére de cette chaine est A, son deuxiéme caractere est n, son troisiéme est n... 2) Les chaines de caractéres peuvent « s'ajouter », Cesta-dire se mettre bout-a-bout (on parle aussi de concaté- nation de chaines de caractéres). Par exemple, "Année" + "2017" = "Année2017", 3) La variable b contenant le test (6 > 4) est de type booléen, sa valeur est Vr affectation Lorsque lon donne une valeur a une variable X, on écrit instruction : X<— ..... On it: «Xreg » ou «X prend la valeur La nouvelle valeur remplace la valeur précédente. Algorithme correspondant au programme de calcul de l'exemple 1: Lavariable X content abord 7, yaar Lavaleurde X est ensuite multipiée par? : elle devient donc 2X, ———» X—2x Ele est enfin augmentée de 3: lle devient donc X-+ 3. > X>> x éditeur et demander les valeurs prises. 2-*/ ety par les variables de ce programme. 3.8 Les commandes de base a) Créer un nouveau programme : dans jsebise, choisir owes). On peut aussi choisir directement NassouFete| dans certaines versions. b) Instruction d’affectation : « ou sur F5 selon les versions). Remarque : on peut écrire un commentaire dans un programme en le précédant du symbole #. Ce texte n’est pas pris en compte lors de l'exécution du programme. e) Pour tester I’égalité de deux valeurs, on utilise Fopérateur Exemple : on saisit dans la console c = 3, puis c==5. On affected la variable cla valeur 3, puis on teste si celle — ci est égale a 5. Cest faux, donc le résultat affiché est : False. Remarque : instruction print(a) permet daffcher a valeur de la variable a dans un programme. Les commandes de calcul Certaines commandes nécessitent un module math pour étre obtenues. On lobtient avec la commande. from math import* ou, avec EduPython, en choisissant le modéle Lycée aprés \Newveau Fehler), + Les symboles opératoires +, -, x,/s'écrivent respectivement en Python :+,-,*, /. +x alla puissance n sécrit: x""n, + Le reste de la division de a par b s écrit : 2% (ou fmod(a,b) avec la calculatrice NumWorks). Avec le module math : + Laracine carrée dex (x2 0) s'écrit :sqrt(x) et le nombre x s‘écrit: pi. Chaines de caractéres et booléens Les chaines de caracteres se définissent a l'aide de guillemets doubles ou simples. Par exemple : 'papa" ou ‘papa Obtenir la longueur d'une chaine de caractéres C len(c) Extraire un caractére d'une chaine de caractéres C IK] renvoie le (k+1)* élément de C Concaténer deux chaines de caractéres "abcd" +"efg" donne “abcdefg* | + Le booléen Vrai est: True, Le booléen Faux est : False. SS ee=y 10 : Uiliser des chaines de caractes «Calculer dans la console 1, On saisit dans la console 'instruction : A ='pa’, puis les instructions B = Quel est I'affichage quand on demande B ? Quand on demande C? [Link] demande.B, on obtient: papa’, [Link] demande C, on gbtient:;‘papamaman'. 2, On saisit dans la console : D = A + 'radis'. Quel est I'affichage quand on demande dans la console len(D), puis bra? D..[Link].’paradis', [Link] len{D), [Link] Z. Quand on demande D12),.on obtient.r.. EXERCICE GJ Comprendre et compléter un programme + Aet C= B+ 'maman’, Notions de base On considare le programme ci-contre écrit dans 'éditeur. xe2jy=3 1, On demande les valeurs des variables x, yet z dans la console apres exécution zexty+xty de ce programme. Qu'obtient-on ? z=2**2 On obtient:2 =.121,y=.60,[Link] y=z/2 2. Compléter ce programme afin qu'une variable de type booléen teste siz est par. fi] fa = (e%d==0). [Link] [Link] pair. [Link].. ii pire Exe 12) Programmer un calc gle rectangle sachant que On saisit "instruction + 1. Ecrite dans la console les instructions qui permettent de calculer aire d’un tr les deux cétés de l'angle droit ont pour mesures respectives 2 et 5. aire. =.a°h/2., On écritles. instructions suivantes..a=22h=. En saisissant aire, suivi de Entrée,on obtient lavaleur de laire. i) 2. Compléter ce programme par les instructions nécessaires au calcul du périmétre de ce triangle. On saisit.d’ahord : fram. math impart? (aumadéle Lycée dans Edubytban).. [Link].é[Link] instructions. c=sqrtlat"2+-b%2) ; périm=atbec. EXERCICE (i oan Comprendre un programme « Analyser une situation On considare le programme ci-contre. ‘#trouver la formule 1. Quelle valeur obtient-on pour w dans la console ? [Link].. premier calcul *h2-yt42 second calcul fu 2, On modifie la premiére ligne avec: Quelle valeur obtient-on pour w ? Biy On obtient encare 0, 3, Factoriser.x?- y°, puis expliquer les résultats trouvés. Masa beny) bet yl done n= x= Ju:ainsi,).est divisible par u donc [Link] de Ja division de.» pat.u est. Partie 1 + Notions de base = Programmation dun algorithme en langage Python 9 B Notions de base e Les fonctions On peut simplifier 'écriture des programmes en utilisant des fonctions, surle modele des fonctions numériques étu- diges en mathématiques. Exemple de fonctions nen ee nie een eed La distance d'arrét d (en métres) d'un véhicule roulant a une vitesse v (exprimée en kan.h) sur une route séche peut étze évaluée par la formule :d = 0,005v? + 0,27. =< La distance d dépend de la variable v. Pour programmer ce calcul, das points) (on va ainsi définir une fonction, comme en mathématiques: on lui | Gof arrét(w): donne un nom, axrét et on dit qu'elle a pour argument 1. db eneevet aaa OTAMG En langage Python, on définit cette fonction par la commande def cuivi du nom de la fonction, puis de con argument v, euivi de saturate deux points. indentation Les autres instructions sont indentées par rapport ala premiéze ligne. Aprés le calcul ded, on renvoie le résultat par la commande return, Pour calculer la distance darrét d'un véhicule roulant 90 kmh, on saisit axrét (90) dans la console : on trouve environ 65,5 m, La surface § en matres carrés de la peau d'un adulte est donnée approximativement par la formule vie 5=~TEX oi estlataile dela personne exprimée en métres et M sa masse exprimée enkilogrammes. Pour programmer ce calcul, on définit une fonction appelée surf quia ici : pelelneid ype asteererneresss er Ce Cc ee dans le programme. | Pour calculer la surface corporelle d'un adulte de 1,80 m et 75 kg, on saisit surf(1.8,75) dans la console : on trouve environ 1,94 m?. Définition - Programmation ‘Une fonction est un bloc dinstructions qui a recu unnom et dont le fonctionnement dépendd’un certain nombre de paramétres (les arguments de la fonction). La fonction renvoie un résultat (au moyen de la commande return) ; le programme s'arréte aprés return. Programmation d’une fonction enlangage Python gie¢ joy foncison(1iste des arguments) + La programmation dune fonction commence toujours par def, suivi du nom que l'on donne a la fonction, suivi des arguments de la fonction : cette ligne se termine par deux points ( ). + Les deux points marquent le démarrage du bloc d instructions définssant la fonction : toutes ces instructions sont indentées, cest-d-dire décalées vers la droite par rapport a la premiere ligne. Cn ajoute en téte de chaque ligne du bloc le méme nambre d'espaces +Pour renvoyer la valeur de la variable d, on peut écrire:: return(d) ou return d, +n peut utiliser une fonction dans la console en donnant des valeurs aux arguments (dans le bon ordre). Propriétés + Une fonction ne renvoie qu‘un seul résultat (ce peut étre une liste de résultats) + Une fonction peut r’avoir aucun argument. Par exemple, lafonction essai() c-contre peut étre utilisée dans un programme ol on résout des équations. Une fonction peut étre appelée dans un autre programme : i suffit pour cela de Tinsérer dans une instruction en saisissant son nom et les valeurs des arguments bloc 4! instructions return(résultat) def essai(), return("i1 y @ une unique solution") Fonctions aff EXERCICE (QB Comprendre une fonction 11. Soit f la fonction programmeée ci-contre en langage Python. a. Que renvoie (1) 7-2)? f(-A)senvoie3x.1-1= 2. def (x): . return(3*x-1) f.2) renvoie 3x (2) 1an7. b. Que permet de faire cette fonction? Notions de base Cette fonction permet de calculer.!image.d’un.réel.x par la fonction numérique [Link].31 2. Ona programmé une nouvelle fonction nommée affine. - a. Quels sont les arguments de cette fonction? Het. sffnel ab) return(a*x+b) Cotte fonction atrais arguments::a, het x. eee bb. Quel va étre l'affichage si on demande affine(1,2,3) dans la console ? affine(1,2,2).renvole.1.x.3+.2=5;.laffichage sera.5.. . Que retourne l'instruction affine(2,1,3) = dans la console? aftine(2,1,3) [Link] 2 x.3.4.1=[Link](2,1,3).renvoie True. Pourcentages fe a 15 pe Comprendre une fonction En prévision des soldes, un commercant s‘appréte 4 modifier ses étiquettes.. Oppare | Pssr0ee 1, Calculer le prix que doit inscrire le commercant sur I'étiquette @. ow as 10, AO ADL 2 =-@ s* [Link] inscrire.28 euros. 2. Voici le programme d'une fonction écrit en langage Python. def solde(p,t): Quelle est la valeur affichée dans la console quand on saisit so!ie(40, 30) ? p=p-p*t/100 40-40% 39, = 28, La valeuraffichée e528, rere, b. Quel est le rdle de ce programme? Ce programme retourne le prix d'un article soldé, lorsque l'on. saisit comme [Link] la fonction salde l'ancien prix et la remise effectuée, ¢. Que doit saisir le commercant afin de compléter 'étiquette @ ? [Link] saisir solde(S5, 60) dans la console. Calcul alge Sea een= 16 je Programmer une fenton Bainbridge a proposé une formule donnant la: se de nage V d'un poisson (en cm.s")en fonction de sa gh Gs -4). 1. Calculer la vitesse d'un poisson qui mesure 16 cm et qui avance avec 15 battements de queue par seconde. longueur L (exprimée en cm) et de la fréquence f des battements de sa queue par seconde : Vega lbclin 18n4),.solt Vx 16am, 2. Programmer une fonction permettant d’obtenir la vitesse de nage PAL. MARRSER Lac. 4'un poisson connaissant sa longueur et la fréquence de ses battements | je raey ya de queue. PREMIUM, 3, Comment peut-on afficher avec cette fonction la vitesse d'un poisson de longueur 30 cm et dont la fréquence des battements de queue est de 20 battements par seconde [Link](30.20) dans [Link], Partie 1 «Notions de base = Les fonctions 11 B Notions de base SASS | Comprendre une fonction (On donne ci-contre deux programmes écrits en langage Python 1. Qu'obtient-on si on saisit b)+b()+ b() dans la console ? def bO: return(" bonjour ") On obtient:‘ bonjour bonjour bonjour’. 2. Quiobtient-on si on saisit message("Maef’, "Lola") dans la console? Qn obtient:' bonjour Mael bonjour_Lola’. def message(prénomt, prénom2): azb()+prénomi+b()+prénom2 return(a) exerRcice Analyser une situation + Ecrire le programme d'une fonction Le droit d’entrée journalier dans un parc aquatique est 37 € pour un adulte et 28 € pour un enfant. 1. Un groupe est formé dex adultes et de y enfants. Quel est le prix payé parle groupe ? [Link]é parle groupe est:37.x.x.4.28 x. 2, Programmer une fonction dont les arguments sont le nombre [oor parcaquainenn] dladultes et lenombre denfants d'un groupe et quiretourne le prix PATSASIAL HS. : payé par le groupe a l’entrée de ce parc aquatique. 8 BS ASE Périmétre et aire d'un triangle EXERCICE 11, Programmer en langage Python une fonction dper de parametres Ecrire le programme d'une fonction [Bef DECLARE: nnn | les cétés d'un triangle a, b, cet qui retourne le demi-périmetre de ce triangle. ie civabiilias zap returnta) [Link]érimétre. dun tangle. de cOtés 4, .28h. Somos 2. Le mathématicien grec Héron d’Alexandrie a établi la formule suivante qui donne I'aire s d'un triangle de cotés a, b,c et de demi-périmetre p: s = /p(p —a)(p — b)(p—e) Programmer le calcul de 'aire d'un triangle de cétés a,b,c, en faisant appel a la fonction dper. & ExERCICe Géométrie dan: foes Comprendre et compléter une fonction On rappelle que le volume d'une pyramide est donné par la formule : def..néranta,b,c).. padperda,b,c) sesqrt(nt(pna)*{p-b)*(-0)) returads) V =1xbase xhauteur. def volpyr(base, hauteur): 3 V=base*hauteur/3, Ona programmeé ci-contre une fonction appelée volpyr. return(V) 1, Que retourne cette fonction ? Cette fonction cetourne le volume. dune pyrarmide [Link] Ja hase et la hauteur. 2. Compléter, en faisant appel a la fonction volpy', le programme de la fonction ci-dessous afin qu'elle renvoie levolume d'une gn de base rectangulaire a partir de la longueur et de la largeur de sa base, ainsi que de def volpyrect (Longueur ,1argeur, hauteur): Neveloy.c(longueurtJargeur, hauteur). retura(y) rit Laphttone non ee enn Calcul algébriq Seas jee —F?F Programmer un algorithms » Analyser une svtion a On considére 'algorithme ci-contre, dans lequel la variable N {2 2 est un entier non nul, et les variables A et B sont de type flottant. Pe g 1, Programmer cet algorithme en utilisant une fonction d’argument N. i B +t x w 4 et qui retourne la valeur de C. fre] [)] Lewtel 5 ef. soni. SBN, 2 JINESL42 NASAL AALAND, GeLAseAl rekuensca, 2, Faire fonctionner ce programme pour N = 5, N= 10, N= 50, N= 110, N=2017. Que constate-t-on ? [Link] som(5), sam(10), som(50)...., [Link] que [Link] valeurs de N la fonction sam renvoie. True, dnc [Link] B-sont égaux. On conjecture que pour toute valeur de, [Link] A sont égaux. Pour démontret. cette,conjecture, on peut simplifie,B: Bx ck tm et heh : ONIN SN” GN GN GN GN GN EXERCICE 22} Géométrie dans tespace Comprendre et modifier un programme Une boite en forme de pavé droit a pour dimensions a, bet c. On donne le programme ci-dessous, écrit en langage Python. aN vo def boite(a,b,c): d=a*b*c return(d) 1. Que retourne boite(3,5,10) ? boite(3,5,10).retoune3.x5 x10, soit 150, 2. Que fait ce programme ? I calcule le volume dela boite a partir des dimensions de ses arétes, 3. Modifier ce programme afin que la fonction boite retourne''aire dela surface latérale de cette boite. [i] w& [Link] instruction « d=a*b'c. parinstructions d=2'atb2tatc+2"b*e.2, ee: Calcul algébrique } Compléter et comprendre une fonction ‘toe 208-Laphespern tne tn 1, Compléter le programme de la fonction f ci-contre, écrit en langage Python, afin que celle-ci retourne la somme du produit de trois entiers consécutifs a, b, c (dans cet ordre) et du terme central. [Link] Jes instructions :a=b-1,.puis.c=[Link] d=athtc+, 2. On donne le programme d-contre, écrit en langage Python. Déterminer ce que renvoie g(2), puis (5). det. f.00). abel bad, deathteth return(d) fA)renvoie 1.x2.%3.+2.=8,.soitg(2)renvoie B= 8=.0. def g(b): f(5)renvoie 4 x5.x6.45.=.125,..soit g(5) renvoie 125 ~.125.=.0. e=b**3-F(b) return(e) 3. Que peut-on conjecturer ? Démontrer cette conjecture. On conjecture. que.e=.[Link] toute valeur deb, salt f(A) renvoie.b?. Onalcule:f(O)=(h=Vbib+ Atha blP = hab btbh=b. Partie 1+ Notions de base = Les fonctions 13 Bg Notions de base ® Instruction conditionnelle (If) e Structure d'une instruction conditionnelle Seiad ela Un site internet de développement de photos propose le tirage sur papier des photos au tarif de 0,11 € unite ; le tarif passe & 0,08 € I'unité pour une commande d’au moins 200 photos. (On veut créer un algorithme donnant le montant dépensé pour un nombre n de tirages. Pour cela, on doit introduire une instruction conditionnelle dans Yalgorithme : ~ sie nombre de photos n est strictement inférieur 4 200, le montant dépensé est 1 x 0,11, puisque le prix d'une photo est alors 0,11 €; ~ si le nombre de photos n est supérieur ou égal 4 200, le montant dépensé est n x 0,08, puisque le prix d'une photo est alors 0,08 €. (On définit deux variables :I'une m représente le nombre de tirages, Yautre M le montant dépensé in 2200 <1 — ébut de instruction conditionnelle: sin est inférieur & 200 ‘Alors M-<— 0,11» <———— alors le montant dépensé M est 0,11 x 2 lsinon M-e— 0.08 x9 “——t sinon le montant dépensé M est 0,08 xn insi . LyonCar utilise le programme c-dessus afin de calculer [WZ fhe le cout cde la location d’une voiture pour x AWRY tori de location:.....75......€ Ce taf permet de parcourir....250.... km kilometres parcourus. i Compléter les informations manquantes dans Chaque kilometre supplémentaite codte .0.28.. € la plaquette ci-contre diffusée par 'agence. 4 ei, 28 Analyser une situation + Ecrire un programme Un dub sportif fit fabriquer des tee-shirts au nom du club. Chaque tee-shirt est facturé 4 € mais ils sont facturés 3,50 €l'un si la commande est d'au moins 100 unités du produit. Soit 1 la variable égale au nombre de tee-shirts commandés et ple prix payé par le club. 1. Calculer p dans les cas suivants: det. prixtad an=40; b.n=130. fash, a. Pourn=40,ona;,n40.x4, soit. 160.€. penta b. Pour.0.=130,.0n.A;p.5.130.%.3,5, soit 455.€, os 2 pentB.s. 2, Ecrire ci-contre le programme d'une fonction d’argument n qui retourne le prix payé par le club pour un nombre n de tee-shirts commandés. ewer Triang rectangle EXERCICE Extcuter, comprendre et compléter un programma 1, Ona programmé une fonction f dans le langage Python. [eer a,b,c: SSS*WY a. Que renvoie £(3,4,5)? (3.4.5) renvoie.0.. return(a**2+b**: b. Que renvoie ((5,4,3)?_£(5,4,3) renwoie.32.. & Que renvoie f(a,b,c) lorsque a, b, c sont les longueurs des trois cétés d’un triangle rectangle ? (a,b,c) [Link] dans [Link] oil [Link]ésente la Jongueur du plus grand cété. [Link].. 2, Compléter le programme de la fonction trirec, en faisant appel 2 la fonction f, afin que la fonction trirec renvoie si le triangle ABC de cétés entiers a, b,c est ounon un triangle rectangle, Af fla,bc)z20.. OF [Link])s=0.. oF .£lncala, Blo ctu tranls eta def (a,b,c) return(at*2ebe*2-6*22) def trirecta,b,e): (or est Pécriture dans le langage Python du 7 Council babu SntaBORreMERCToRIGS) else: return( "triangle non rectangle") rit Laphttone non ee enn EXERCICE GY Comprendre un programme On donne le programme suivant, écrit en langage Python. (or est écriture dans le langage Python du connecteur ou vu en raisonnement logique,) def réponse(rep): if repss"oui" or rep=s"non": return(rep) 1. a. Qu’obtient-on sion demande réponse(*oui") ? else: return("mauvaise réponse") [Link] ‘oui’, b. Quobtient-on sion demande réponse("yes") ? On obtient:: ‘mauvaise répanse’. 2, Décrire ce que fait ce programme. Ce [Link] ré[Link] [Link] pat non. Si tutilisateur répond correctement, la réponse s‘affiche, sinon I'affichage est : mauyaise réponse. EXERCICE EJ Compléter et écrire un programme 1. Compléter la fonction mini, dont on donne le programme incomplet ci-contre en langage Python, afin qu’elle retourne en sortie le plus petit de deux nombres. def ini(a,b) F(ab.) PeCUEM (cen dinnd else: POEUN Doan) 2. Programmer une fonction init permettant de déterminer le plus der (a,0,6,d): esmini (a,b) Ssmina (a, d) PetUrn(..MiniCe Edad SSsiaiS/ 52, ‘Analyser une situation + Compléter un programme 1 2am. Une carafe est constituée d’un cylindre de révolution de hauteur 4 cm et de rayon 8 cm, surmonté d'un autre cylindre de révolution de hauteur 12 cm et de rayon 2 cm. 1. Calculer, en crm, le volume d’eau dans la carafe quand la hauteur d'eau est x centimetres, oit x est un nombre réel compris entre 0 et 4. [Link] est, [Link]?.2n%.82 x.x=.64mx. cm 2, Montrerque le volume d'eau dans la carafe quand la hauteur d'eau dans la carafe est x centimetres, oli x est un nombre réel compris entre 4 et 16, est égal a4nx-+ 2407 (en cm’). [Link] dans [Link] supérieur est x.~.4,.[Link] volume d’eauest,.[Link]? 256m. XI2X (KAS ADK + 240M. 3. Compléter le programme de la fonction vol_eaui ci-dessous, écrit en langage Python, afin quelle retourne le volume d'eau dans la carafe (en cm?) selon a hauteur deau hversée. Fe] [) def vol_eaut if. bse, return\.....647247h....) else: return(.....8tpithe2aatni..) Partie 1+ Notions de base = Instruction conditionnel (If) Notions de base "oR Notions de base @ Boucle bornée (For) Structure de la boucle « POUR» (On peut répéter un bloc dinstructions un certain nombre de fois ixé au départ: on utilise alors la boucle «POUR». Stee ene Un village compte aujourd’hui 2 300 habitants. Le village étant en pleine croissance, sa population aug- mente chaque année de 150 habitants. On souhaite élaborer un algorithme donnant le nombre d'habitants de ce village dans n années, Pour cela, on définit une variable P qu'on initialise a 2 300, puis on répéte n fois l'opération qui consiste a ajouter 150 a P: le nombre de répétitions (ou « térations») est commu au départ puisque cest le nombre n années On parle de «calcul itératif». P-<—2300 «La variable P est initialisée 42300. Pourk variant den <——/— Début de la boule: & prend la valeur 1... Ip<—P~ 150 «On ajoute 150 4 P pour avoir la nouvelle valeur de P. Fin Pour <____|___ Fin dela boucle: sik est inférieur a n, k augmente de 1, i = *sinon on sort de la boucle. On suppose que n - 3. ol Avantle débutdelaboucle | 2300 ~-Au début, la variable P est initialisée & 2.300. Fin de la 1" itération 1 2450 <-k = 1 et on ajoute 150 4 P done P = 2300 + 150 = 2450. Finde la 2°itération 2/2600 et on ajoute 150 a P done P = 2.450 + 150 Fin de la 3° itération 3.2750 et on ajoute 150 a P donc P = 2.600 +150 Lavariable & contrdle le nombre de répétitions. Dans l'exemple ci-dessus, k prend pour valeur initial 1 et pour valeur finale n en augmentant de 1 a chaque fois (cette augmentation constante est appelée « pas»). Programmation Programmation de la boucle bornée: Python | Remarques for kin range(d, n +1): instruction for k in range(d, n + 1) fait parcourir gietrocnons} ala variable & tous les entiers de dan. Lorsque d= 0, on peut remplacer range(d, n + 1) par range(n + 1). Pour k variant de dn Ifinstructions} En langage Python, les deux points «: » marquent le début du bloc instructions de la boucle for. IIn'y a pas instruction de fin de boucle for : Cest indentation (le décalage vers la droite) qui indique les instructions faisant partie de la boucle. Programme relatifa 'algorithme vu en exemple: On peut programmer cet algorithme en langage Python a aide d'une fonction : + Dans ce programme, une premiére indentation indique les instructions def population(n): faisant partie de la fonction population, et dansle programme de cette 300 fonction, une seconde indentation indique unique instruction faisant for k in range(1,n+1):_ partie de la boucle for. PeP+150 + instruction return(P) permet de renvoyer le contenu de la variable return(P) ainsi lorsque fon saisit population’) dans la console, la valeur 2750 est renvoyée. EEEE: Comprendre un algorthme a 1, Compléter le tableau ci-dessous et en déduire la valeur que contient la variable A en fin d’algorithme. 3 Tr A UD fa<—100 | Avant le début de la boucle 9. t Pourtvarantde134 | Finde la ¥ itération 1 125. 2 | Fin de la 2° itération 2 150. 3 | Fin de la 3¢ itération 3 15. Fin de la 4*itération 4. 200, La valeur que contient la variable A en fin d’algorithme est : 200 2. Sil'instruction «Pour I variant de 1 8 4» est remplacée par « Pour I variant de 0 & 3», quelle valeur contient la variable A en fin dalgorithme 7 [Link] la variable [Link].dé[Link] prises parlavariable |. mais seulement [Link] de [Link] variable J.a prise. Ilya quatre entiers [Link] 4 et quatre [Link] Ot 3,.donc la valeur que contient la variable.A est également 200 dans [Link].. EXERCICE Comprendre la fonction range Cet exercice est un QCM, Pour chaque question, choisir la ou les bonne(s) réponse(s). 1. En langage Python, lors de 'instruction for k in range(2,7), k prend les valeurs: D2et7 12;3;4;5et6 02;3;4;5;6et7 2;354;5;6;7et8 2, En langage Python, lors de linstruction for k in range(5), k prend les valeurs: W0;1;2;3et4 10;1;2;3;4et5 01;2;3et4 3. En langage Python, lorsque l'on veut que la variable k prenne successivement toutes les valeurs e de 0 33, on peut utiliser instruction : Dfork in range(0,33) 1 forkinrange(0,34) ‘for kin range(33) Ofor range(34) 4, En langage Python, lors de linstruction for k in range(2,29), k prend : 29valeurs 0.28 valeurs 27 valeurs 026 valeurs EXERCICE Comprendre le réle de indentation Déterminer la valeur de la variable d aprés exécution du programme dans chacun des cas ci-dessous. ast;be1;¢e1;¢=0 ae1jb=1;c1;d-0 an1jbe1;c=1;de0 az1;be1;ca13de0 for k in range(2): | | for k in range(2): | | for k in range(2): | | for k in range(2): aratb ararb aratb b=bra bebra bebta coctb c=ctb cect dedec dedte dedte dade 16. a= 12. d=...9 y Partie 1 ‘Notions de base » Bouclebornée (For) 19 Bg Notions de base SASsSiS/ °°, Comprendre un programme On considére le programme 1, Que contient la variable A aprés exécution du programme ? [Link] dis: brava brave brava bravo 2, Comment modifier ce programme pour que la phrase que contient lavariable A aprés exécution du programme comporte huit fois le mot « bravo » ? contre, écrit en langage Python. Aa"Je dis:” for i in range(1,5): A+" bravo" On peut [Link] range(1,5) pat range( 1,9) puisque i prend alors successivement. les valeurs entiéres de.1.48, EXERCICE bY 5 Compldter at programmer un algorithine Mme Langlois effectue un unique versement de 20 000 euros sur un livret d'épargne. Le capital est augmenté chaque année de 100 euros par le versement d’intéréts. 1, Déterminer le capital disponible au bout d'un an sure livret d’épargne de Mme Langlo! [Link] disponible au bout d'un an est 20.100 €.. 2. Compléter algorithme ci-contre pour que la variable Ccontienne, <—....20000. enfin dalgorithme, le capital disponible sur le livret au bout de 15 ans. Pour ! variant de 1 8.15, 3. Enutilisant lalgorithme ci-dessus, programmer en langage Python (é_.. Bae une fonction sans argument retournant le capital disponible au bout de 15 ans. in Po ef. capitan fla creanen fora. aN. range, 161812 ooo100, atura(c [Link] disponible au bout [Link] 21500€. modifier un programme On veut programmer en langage Python une fonction qui a pour argument un mot ou une phrase et qui renvoie en sortie le nombre de fois olla lettre « e » se trouve dans ce mot ou cette phrase. Dans la fonction ci-contre, len(ph) calcule la longueur de la chaine J de caractéres ph. 1. Compléterle programme ci-contre. fz] [2 2. Modifier cette fonction afin qu’elle renvoie la fréquence de la lettre «a» dans la phrase ou le mot. def ecanspn (ph) for i in range( if ph[ij=='e": ened return(n) Diba t On changele texte.« phlil=="e".».en.« phlil=="a"'». Avant la. derniere. ligne..on introduit la ligne; f=n/s. [Link] change [Link]) enretunif) rit Laphttone non ee enn

Vous aimerez peut-être aussi