Seconde / Algorithmes 15 exercices (dont 0 corrigés)

a
1. Etude générale d’algorithmes E.3043 Le diagramme ci-dessous représente l’algorithme d’Euclide déterminant le plus grand diviseur commun de deux nombres entiers : Voici l’exécution de cet algorithme avec les valeurs : A =254 ; B =16 : A A =254 et B =16 B r =14 C Oui D 1 A = 16 et B = 14 D 2 r =2 C Oui D 1 A = 14 et B = 2 B r =0 C Non D 2 PGCD (254 ; 16)=2 1 En reproduisant de manière analogue le tableau ci-dessous, déterminer le PGCD des entiers suivants : a A =1542 ; B =36 b A = 18 ; B = 543 2 Pour les valeurs de la question b , qu’effectue l’algorithme au début de cet algorithme? E.3042 On considère l’algorithme dans la représentation est donnée par le graphique ci-dessous : Compléter le tableau ci-dessous : Valeur de A 0 3 12 5 2 − 4 Valeur affichée E.3045 On considère l’algorithme dont la représentation est donnée par le graphique ci-dessous : Compléter le tableau ci-dessous : Valeur de A 5 8 − 2 0 21 Valeur affichée E.3046 On considère l’algorithme dans la représentation est donnée par le graphique ci-dessous : 1 Justifier qu’en affectant la valeur 5 à la variable A , l’algorithme affiche la valeur 50? 2 Déterminer la valeur affichée par l’algorithme dans les cas suivants : a A = 10 b A = 4 c A = − 2 3 a Que se passe-t-il lorsqu’on affecte la valeur 0 à la variable A ? b Trouver un autre exemple où l’algorithme ne se ter-mine jamais. 2. Première utilisation d’algoBox https://chingmath.fr sacados/3043 On choisitAetBdeux nombresrest di∑érent de 0?Le PGCD estBˆAprend pour valeurBˆBprend pour valeurrOn e∑ectue la division euclidienne deAparB.Le reste est a∑ecté àrOne∑ectueladivisioneuclidi-ennedeAparB.Le reste est a∑ecté àrNonOuiABCD1D2E sacados/3042 Donner une valeur deAA∑ecter àXla valeurA×2−5A`cher la valeur deXA sacados/3045 Donner une valeur deAA∑ecter àXla valeurA×2−5Xest supérieur ou égal à 10?A`cherAXA`cherA−XOuiNon sacados/3046 Donner une valeur deAA∑ecter àXla valeurA−3Tant queXest inférieurou égal à10A∑ecter àXla valeurA×XA`cherXSortiedeboucle
E.3069 1 La commande floor permet d’obtenir la partie entière d’un nombre ; supposons que la variable a ait la valeur 3 ; 1415926535 . a Donner la valeur de floor(a*10) . b En déduire la commande pour obtenir la valeur par défaut de a au dixième près ; au centième près. 2 Déterminer les restes des divisions euclidienne suivante : a 10 par 3 b 33 par 5 c 27 par 4 d 69 par 8 La commande a % b renvoie le reste de la division euclidi-enne de a par b : e Quelles peuvent être les valeurs de a %2 ? de 2 % a ? f À l’aide d’une structure conditionnelle, écrire un al-gorithme demandant la saisie d’une valeur puis qui affiche les phrases ˇce nombre est pairı ou ˇ ce nombre est impair ı suivant les cas. 3 La commande sqrt(2) renvoie la racine carrée du nom-bre 2: a Écrire un algorithme demandant à l’utilisateur quatre nombres représentant les coordonnées de deux points, et renvoyant la distance séparant ces deux points. b Modifier l’algorithme pour qu’il affiche la valeur par défaut de cette distance au dixième près. E.3044 1 Saisir l’algorithme ci-dessous dans le langage de program-mation de votre choix: Pour a allant de 1 à 25 x ← a × a Fin Pour 2 Par une exécution pas à pas de cet algorithme, donner l’ensemble des valeurs qui seront affectées à la variable x . E.3068 1 Saisir l’algorithme ci-dessous dans le langage de program-mation de votre choix: a ← 0 Tant que a<100 x ← a%2 Si x=0 Alors y ← a Fin Si a ← a+1 Fin Tant que 2 Lors de l’exécution de l’algorithme pas à pas, quelles sont les différentes valeurs affectées à la variable y . 3 Modifier cet algorithme afin que la variable y soit affec-tée successivement de tous les multiples de 13 inférieurs à 100 . E.3070 1 Saisir l’algorithme ci-dessous dans le langage de program-mation de votre choix: Fonction f(a) a ← a Tant que a>=1 a ← a − 1 Fin Tant Renvoyer a 2 a Effectuer un appel à la fonction f avec chacune des valeurs suivantes : 1 ; 2 ; 3 ; 4 ; 9 ; 10 b Quel est le rôle de la fonction f ? 3. Création d’algorithme E.3071 Le schéma ci-dessous représente l’algorithme d’Euclide. Construire cet algorithme à l’aide d’algoBox. E.3090 On considère l’algorithme ci-dessous où les variables x et i sont de type nombre : https://chingmath.fr sacados/3069 sacados/3044 sacados/3068 sacados/3070 sacados/3071 Lire les nombresAetBTant que Le reste de la di-vision deAparBvaut 0?Le PGCD estBˆAprend pour valeurBˆBprend pour valeurrOn e∑ectue la division euclidienne deAparBSortiedeboucle sacados/3090 Lire le nombrexA`cher 1Pouriallant de 2 àxLe reste de la division euclidiennedexpariest vaut 0?A`che " - "A`cheiFin de l’algorithmeSortiedebouclesOuiNon
1 Construire cet algorithme à l’aide d’Algobox. 2 Mathématiquement, à quoi sert cet algorithme? 4. Tracé de courbes E.3091 1 a Dans AlgoBox et dans l’onglet ˇ Dessiner dans un repère ı, cocher la case ˇ Utiliser un repère ı ; saisir les valeurs suivantes pour les bornes des axes : Xmin:-5 ; Xmax:5 ; GraduationsX:1 Ymin:0 ; Ymax:25 ; GraduationsY:1 b Saisir dans AlgoBox l’algorithme ci-dessous : c Exécuter l’algorithme pour observer son affichage. d Que semble afficher cet algorithme? 2 On souhaite tracer plus de points représentant cette courbe, pour cela, on souhaite modifier la boucle itéra-tive pour que les abscisses des points soient espacées de 0 ; 1 en 0 ; 1 : a Modifier la ligne x PREND_LA_VALEUR i en : x PREND_LA_VALEUR i/10 b Exécuter l’algorithme pour observer l’effet de ces mod-ifications. c Quelle modification faut-il effectuer sur l’algorithme pour que la courbe représentative s’affiche sur l’intervalle − 5 ; 5 ? d Appliquer ces changements et relancer cet algorithme. E.3092 On considère la fonction f définie par : f ( x ) = x − 1 Dans un repère O ; I ; J orthogonal, on note C f la courbe représentative de la fonction f . 1 a Déterminer l’ensemble de définition de la fonction f . b Déterminer les coordonnées du point de la courbe C f ayant pour abscisse 1 . 2 a Dans AlgoBox et dans l’onglet ˇ Dessiner dans un repère ı, cocher la case ˇ Utiliser un repère ı ; saisir les valeurs suivantes définissant les bornes des axes : Xmin:0 ; Xmax:9 ; GraduationsX:1 Ymin:0 ; Ymax:3 ; GraduationsY:1 b Saisir dans AlgoBox l’algorithme suivant : c Exécuter l’algorithme et observer le graphique obtenu. 3 Le but de cette question est de tracer la courbe C f par des segments reliant chacun des points précédents. a Effacer la commande ˇ TRACER_POINT (x2,y2) ı pour la remplacer par la commande TRACER_SEGMENT reliant les points de coordonnées (x1,y1) et (x2,y2) . b Exécuter l’algorithme pour observer les modifications. Le tracé effectué est composé uniquement par des seg-ments. Quel est l’origine commune à tous ces seg-ments? Pourquoi? c Avant la définition de la boucle for et en relation avec la question 1 b , initialiser correctement les valeurs de x1 et y1 afin d’améliorer le tracé de la courbe C f . d Pour tracer la courbe C f segment par segment, l’algorithme doit relier le point actuel avec le point précédent. Juste avant la fin de la boucle POUR , faire en sorte que le point de coordonnées (x1,y1) représente le point de coordonnées (x2,y2) pour la prochaine exécution de la boucle. 5. Observation de la loi des grands nombres E.3108 1 a Saisir dans l’algorithme de votre choix l’algorithme suivant : c ← 0 Pour i allant de 0 à 100 x ← valeur aléatoire appartenant à 0 ; 1 x ← partie entière de 3 × x Fin Pour b En exécutant pas à pas cet algorithme, quelles sont les https://chingmath.fr sacados/3091 VARIABLESxEST_DU_TYPENOMBREyEST_DU_TYPENOMBREiEST_DU_TYPENOMBREDEBUT_ALGORITHMEPOURiALLANTDE-5A5DEBUT_POURxPREND_LA_VALEURiyPREND_LA_VALEURx*xTRACER_POINT(x,y)FIN_POURFIN_ALGORITHME sacados/3092 VARIABLESx1EST_DU_TYPENOMBREy1EST_DU_TYPENOMBREx2EST_DU_TYPENOMBREy2EST_DU_TYPENOMBREiEST_DU_TYPENOMBREDEBUT_ALGORITHMEPOURiALLANTDE10A100DEBUT_POURx2PREND_LA_VALEURi/10y2PREND_LA_VALEURsqrt(x2-1)TRACER_POINT(x2,y2)FIN_POURFIN_ALGORITHME sacados/3108
valeurs affectées à la variable ˇ x ı? 2 a Ajouter une structure conditionnelle à l’intérieur de la boucle POUR afin que l’instruction : c ← c+1 soient exécutés à chaque fois que la variable ˇ x ı soit affecté de la valeur 2 . b Exécuter plusieurs fois l’algorithme et observer la valeur de la variable c . Peut-on expliquer les variations des valeurs de la vari-able c ? 3 a Modifier l’algorithme afin que la boucle effectue 500 itérations et ajouter l’instruction ci-dessous en fin d’algorithme: f ← c 500 b Exécuter plusieurs fois cet algorithme et observer les variations de la valeur de la variable f en fin d’algorithme. 4 Que peut-on faire pour que les variations de la variable f se stabilisent? E.3109 1 a Activer l’utilisation d’un repère dans AlgoBox en prenant les paramètres suivant : Xmin : 0 Xmax: 10 Graduations X: 1 Ymin : 0 Ymax: 10 Graduations Y: 1 b Saisir l’algorithme suivant dans AlgoBox: c Exécuter cet algorithme. Quelle est son action? 2 a En utilisant l’exercice précédant, modifier l’algorithme présent pour qu’il affiche la fréquence d’apparition du nombre 2 (dans la variable x ) . b Modifier l’algorithme pour qu’il affiche la droite d’équation y=1/3 . c Augmenter le nombre de tirages de cet algorithme. Quelle observation peut-on faire lors de l’exécution de l’algorithme? 6. Dichotomie E.3146 1 Saisir l’algorithme ci-dessous : 2 a Exécuter cet algorithme avec les valeurs suivantes : xMin=1 ; borneMax=3 ; x=1.9384 b En observant les valeurs successives prises par borneMin et borneMax , vers quelle valeur les nombres borneMin et borneMax se dirigent-ils? 3 Modifier cet algorithme pour que ces deux valeurs se rap-prochent de 2 . https://chingmath.fr sacados/3109 VARIABLESxEST_DU_TYPENOMBREiEST_DU_TYPENOMBREmaxEST_DU_TYPENOMBREDEBUT_ALGORITHMEmaxPREND_LA_VALEUR100POURiALLANTDE1A100DEBUT_POURxPREND_LA_VALEURrandom()xPREND_LA_VALEURfloor(x*3)TRACER_POINT(10*i/max,x)FIN_POURFIN_ALGORITHME sacados/3146 VARIABLESborneMinEST_DU_TYPENOMBREborneMinEST_DU_TYPENOMBRExEST_DU_TYPENOMBREDEBUT_ALGORITHMETANT_QUE(borneMax-borneMin>pow(10,-3))FAIREDEBUT_TANT_QUESI(x<(borneMin+borneMax)/2)ALORSDEBUT_SIborneMaxPREND_LA_VALEUR(borneMin+borneMax)/2FIN_SISINONDEBUT_SINONborneMinPREND_LA_VALEUR(borneMax+borneMin)/2FIN_SINONAFFICHERborneMinAFFICHER"-"AFFICHERborneMaxFIN_TANT_QUEFIN_ALGORITHME