Corrigés XCAS Page 1. Fonctions



Documents pareils
Corrigés Exercices Page 1

Découverte du tableur CellSheet

Correction du baccalauréat ES/L Métropole 20 juin 2014

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Correction du baccalauréat STMG Polynésie 17 juin 2014

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Raisonnement par récurrence Suites numériques

L ALGORITHMIQUE. Algorithme

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

C f tracée ci- contre est la représentation graphique d une

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Cours d algorithmique pour la classe de 2nde

TSTI 2D CH X : Exemples de lois à densité 1

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

Équipe Académique Mathématiques

Probabilités Loi binomiale Exercices corrigés

Application 1- VBA : Test de comportements d'investissements

Corrigé des TD 1 à 5

Calcul Formel et Numérique, Partie I

Activités numériques [13 Points]

Le théorème de Thalès et sa réciproque

Recherche dans un tableau

Introduction à MATLAB R

Licence Sciences et Technologies Examen janvier 2010

La fonction exponentielle

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

STAGE IREM 0- Premiers pas en Python

Nombre dérivé et tangente

Algorithmique avec Algobox

Programmation C++ (débutant)/instructions for, while et do...while

Choisir le mode d envoi souhaité. Option 1 : Envoyer un SMS à un nombre réduit de numéros (0 10 )

Probabilités sur un univers fini

Rappels sur les suites - Algorithme

Initiation à la programmation en Python

Représentation d un entier en base b

Les suites numériques

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

I. Ensemble de définition d'une fonction

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux

Exercice 3 (5 points) A(x) = 1-e -0039' e- 0,039x A '() -'-,..--,-,--,------:-- X = (l_e-0,039x)2

1 I ) Une première approche de l algorithme en seconde, saison 2010 _ Antoine ROMBALDI

Programmation avec Xcas ou Python

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Cours 7 : Utilisation de modules sous python

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

I. Introduction aux fonctions : les fonctions standards

BACCALAUREAT GENERAL MATHÉMATIQUES

Note de cours. Introduction à Excel 2007

CORRECTION EXERCICES ALGORITHME 1

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Angles orientés et trigonométrie

Présentation du langage et premières fonctions

Algorithmique et Programmation, IMA

Chaînes de Markov au lycée

CHAPITRE 2 SYSTEMES D INEQUATIONS A DEUX INCONNUES

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités

Initiation à l algorithmique

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Partie 1. Fonctions plus complexes dans Excel. Fonctions Si(), Et(), Ou() et fonctions imbriquées. Opérateurs logiques. I.1.

EVALUATIONS FIN CM1. Mathématiques. Livret élève

Algorithmique avec Algobox

Développements limités. Notion de développement limité

Valeur cible et solveur. Les calculs effectués habituellement avec Excel utilisent des valeurs numériques qui constituent les données d'un problème.

Séquence 3. Expressions algébriques Équations et inéquations. Sommaire

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

Notion de fonction. Série 1 : Tableaux de données. Série 2 : Graphiques. Série 3 : Formules. Série 4 : Synthèse

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

Chapitre 2 Devine mon nombre!

Représentation géométrique d un nombre complexe

Dérivation : Résumé de cours et méthodes

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Lecture graphique. Table des matières

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Correction du Baccalauréat S Amérique du Nord mai 2007

Commun à tous les candidats

Estimation et tests statistiques, TD 5. Solutions

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )


Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

ACTIVITÉ DE PROGRAMMATION

1 Recherche en table par balayage

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Probabilités conditionnelles Exercices corrigés

Solutions du chapitre 4

Microsoft Excel. Tableur

Transcription:

Corrigés XCAS Page 1 Avertissement 1) Pour écrire un programme, on ouvre une session Programme (Prg, Nouveau programme). 2) Pour exécuter le programme, on clique sur : 3) Pour ouvrir le tableur sous Tableur, Nouveau tableur. Les formules à entrer sont celles habituelles. Dans la suite, on se contente de donner les programmes (sauf cas particuliers). La démarche "utiliser un tableur" est décrite dans le fichier "corriges tableur". 10 3) On propose : Fonctions input("x =?",x); if (x<=10){v:=100*x} else{v:=750+25*x;}; print("le volume est :",V); volume(x):=if(x<=10){100*x} else{750+25*x}; On l'appelle dans la ligne de commande en tapant par exemple : volume(5). 4) On teste plusieurs valeurs de x et on procède par encadrements successifs pour trouver la valeur de x associée à V = 625. 11 2b) On peut éventuellement écrire un algorithme pour S:=100; for(n:=1;n<=10;n:=n+1){ S:=S+100+2*n;}; print("le capital est :",S); 3) On peut commencer par faire quelques essais en calculant des images, puis procéder par encadrements successifs : input("nombre d années =?",n); S:=100; S:=S+100+2*I;}; print("le capital est :",S); On peut ensuite éventuellement introduire une boucle Tant que : S:=100; while (S<1999) { n:=n+1; S:=S+100+2*n;}; print("nombre d années :",n); 13 4) b) On transcrit l'algorithme en langage x:=-3; x0:=-3; m:=34; while (x<=3) { x:=x+0.1; y:=3*x^2-2*x+1; if(y<m){x0:=x;m:=y;}; }; print("le min paraît être :",m); print("il est atteint en :",x0); 15 2) On peut commencer par faire quelques essais en calculant des images, puis procéder par encadrements successifs : input("nombre d années =?",n); P:=5000; P:=P*0.95;}; print("la population est :",P); On peut ensuite éventuellement introduire une boucle Tant que : P:=5000; while(p>2500){ n:=n+1; P:=P*0.95;}; print("nombre d années :",n); 16 2) b) On peut éventuellement écrire un algorithme pour input("nombre d années =?",n); C:=1000; C:=1.025*C;}; print("le capital est :",C); 3) On utilise le programme précédent en testant plusieurs valeurs de n, et en procédant par encadrements successifs. Prolongement : on peut éventuellement écrire un algorithme avant de le transcrire en langage C:=1000; while(c<2000){ n:=n+1; C:=1.025*C;}; print("nombre d années :",n); 4) On utilise le programme de la question 2) b) en testant plusieurs valeurs de n, et en procédant par encadrements successifs. Prolongement : on peut éventuellement écrire un algorithme avant de le transcrire en langage C:=1000; input("somme à atteindre =?",S); while(c<s){ n:=n+1; C:=1.025*C;}; print("nombre d années :",n);

Corrigés XCAS Page 2 18 6) On transcrit l'algorithme en langage input("précision =?",p); a:=-1;b:=0; while(b-a>p){ m:=(a+b)/2; y:=m^4-4*m-1; if(y>0){a:=m;} else{b:=m;};}; print("la solution est entre ",a," et ",b); Commentaire : Xcas étant un logiciel de calcul formel, les réels a et sont calculés de proche en proche sous forme exacte. Ainsi, en choisissant par exemple une précision de 0,01, Xcas affiche comme résultat : Si on souhaite afficher des valeurs approchées, on remplace la dernière ligne du programme par : print("la solution est entre ",evalf(a)," et ",evalf(b)); 20 3) On peut éventuellement écrire un algorithme pour input("durée en min =?",D); if(d<=120){a:=19.5;b:=22;} else{a:=19.5+0.45*(d-120); B:=22+0.37*(D-120);}; if(d<=180){c:=29;} else{c:=29+0.37*(d-180);}; if(a<=b and A<=C){ print("forfait A pour un montant de ",A);}; if(b<=a and B<=C){ print("forfait B pour un montant de ",B);}; if(c<=a and C<=B){ print("forfait C pour un montant de ",C);}; On a groupé ici les calculs des montants des forfaits A et B pour raccourcir la taille du programme. 4) On utilise le programme précédent en testant plusieurs valeurs de D et en procédant par encadrements successifs. On peut aussi penser à tracer les courbes représentatives des fonctions associées aux différents forfaits. Pour cela, on crée les fonctions forfaita, forfaitb et forfaitc, puis on trace leurs courbes représentatives sur l'intervalle [0 ; 200] : forfaita(d):=if(d<=120){19.5;} else{19.5+0.45*(d-120);}; forfaitb(d):=if(d<=120){22;} else{22+0.37*(d-120);}; forfaitc(d):=if(d<=180){29;} else{29+0.37*(d-180);}; plotfunc(forfaita(x),x=0..200,color=red); plotfunc(forfaitb(x),x=0..200,color=blue); plotfunc(forfaitc(x),x=0..200,color=green); 21 2) On peut éventuellement écrire un algorithme pour input("nombre de SMS =?",n); A:=20; B:=0.15*n; C:=12+0.05*n; if(a<=b and A<=C){ print("forfait A pour un montant de :",A);}; if(b<=a and B<=C){ print("forfait B pour un montant de :",B);}; if(c<=a and C<=B){ print("forfait C pour un montant de :",C);}; 3) On utilise le programme précédent en testant plusieurs valeurs de n et en procédant par encadrements successifs. On peut aussi penser à tracer les représentations graphiques des fonctions forfaita, forfaitb et forfaitc associées aux différents forfaits sur l'intervalle [0 ; 200] : forfaita(n):=20; forfaitb(n):=0.15*n; forfaitc(n):=12+0.05*n; plotfunc(forfaita(x),x=0..200,color=red); plotfunc(forfaitb(x),x=0..200,color=blue); Plotfunc(forfaitC(x),x=0..200,color=green); On peut aussi résoudre des équations. Par exemple : sol:=solve(forfaitb(x)=forfaitc(x),x); print("les forfaits B et C sont égaux pour une consommation de :",sol); 22 2) b) On peut éventuellement écrire un algorithme pour popa:=20000;popb:=80000; while(popa<popb){ n:=n+1;a:=popa;b:=popb; popa:=a*0.9+b*0.2; popb:=a*0.1+b*0.8;}; print("le nombre d années nécessaires est :",n);

Corrigés XCAS Page 3 3) On modifie le programme précédent de façon à obtenir les tailles des populations (popa et popb) des villes A et B en fonction du nombre d'années écoulées (n). La démarche peut être résumée par l'algorithme : Variables : n,i : entier ; popa,popb,a,b : réels ; Début Entrer(n) ; popa 20000 ; popb 80000 ; Pour i allant de 1 à n faire a popa ; b popb ; popa a 0,9+b 0,2 ; popb a 0,1+b 0,8 ; FinPour ; Afficher("la taille de la ville A est ",popa); Afficher("la taille de la ville B est ",popb); Fin. Il se transcrit en langage Xcas par : input("nombre d annees =?",n); popa:=20000;popb:=80000; a:=popa;b:=popb; popa:=a*0.9+b*0.2; popb:=a*0.1+b*0.8;}; print("la taille de la ville A est :",popa); print("la taille de la ville B est :",popb); On teste plusieurs valeurs pour répondre aux questions. Il est aussi possible d'utiliser le tableur d'xcas pour obtenir une représentation graphique de l'évolution des deux populations. Voici la démarche résumée : - dans B2 =B1*0.9+C1*0.2 - dans C2 =B1*0.1+C1*0.8 On recopie ces cellules vers le bas jusqu'à la ligne 32. Il faut ensuite créer les listes des valeurs des colonnes B et C. Pour cela : - dans D0 =(villea:=(b1):(b32)) (cela crée en même temps la liste villea) ; - dans D1 =(villeb:=(c1):(c32)) (cela crée en même temps la liste villeb). 23 3) b) On peut éventuellement écrire un algorithme pour input("masse en kg =?",M); if(m<800){c:=5000+12*m;} else{c:=5000+13.2*m;}; if(m<900){r:=20*m;} else{r:=20*m-100}; if(r>=c){ print("l entreprise réalise des bénéfices");} else{print("l entreprise ne réalise pas de bénéfice");}; On teste plusieurs valeurs de M et on procède par encadrements successifs pour résoudre le problème. On peut aussi penser à tracer les courbes représentatives des fonctions associées aux coûts et aux recettes. Pour cela, on crée les fonctions couts et recettes, puis on trace leurs courbes représentatives sur l'intervalle [0 ; 1000] : couts(m):=if(m<800){5000+12*m;} else{5000+13.2*m;}; recettes(m):=if(m<900){20*m;} else{20*m-100;}; plotfunc(couts(x),x=0..1000,color=red); plotfunc(recettes(x),x=0..1000,color=green); Pour obtenir la représentation graphique de l'évolution des deux villes, on tape dans la ligne de commande : plotlist(villea,affichage=1); plotlist(villeb,affichage=2);

Corrigés XCAS Page 4 Géométrie 26 3) c) On peut éventuellement écrire un algorithme pour a:=10; input("n =?",n); a:=sqrt((a-2)^2+4);}; print("l aire est :",a^2); Commentaire : Xcas est un logiciel de calcul formel, le réel a est calculé de proche en proche sous forme exacte. Ainsi, en choisissant comme entrée 3, Xcas affiche comme résultat : Si on souhaite afficher une valeur approchée, on remplace la dernière ligne du programme par : print("l aire est :",evalf(a^2)); 4) On utilise le programme de la question précédente et on teste à l'aide de quelques valeurs. 28 5) On peut éventuellement écrire un algorithme pour résumer la démarche du calcul de l'aire noircie totale à chaque étape avant de le transcrire en langage input("n =?",n); N:=1; a:=8; A:=16*sqrt(3); for(i:=2;i<=n;i:=i+1){ N:=N*3; a:=a/2; A:=A+N*a^2*sqrt(3)/4;}; print("l aire noircie totale est :",simplify(a)); Xcas est un logiciel de calcul formel. Le résultat affiché est la valeur exacte simplifiée de l'aire noircie totale. On peut tester plusieurs valeurs. Puis on peut éventuellement introduire une boucle Tant que : n:=1; N:=1; a:=8; A:=16*sqrt(3); while (A<0.9*64*sqrt(3)){ n:=n+1; N:=N*3; a:=a/2; A:=A+N*a^2*sqrt(3)/4;}; print("le nombre d étapes est :",n); 30 2) On peut éventuellement écrire un algorithme pour c:=(xb-xa)^2+(yb-ya)^2; b:=(xc-xa)^2+(yc-ya)^2; a:=(xb-xc)^2+(yb-yc)^2; if(a==b and a==c){ print("abc triangle équilatéral"); print("son périmètre est :",3*sqrt(a)); print("son aire est :",a*sqrt(3)/4);} else{print("abc non équilatéral");}; 31 2) On peut éventuellement écrire un algorithme pour ou xi:=(xa+xc)/2; yi:=(ya+yc)/2; xj:=(xb+xd)/2; yj:=(yb+yd)/2; if(xi==xj and yi==yj){ print("abcd parallélogramme");} else{print("abcd non parallélogramme");}; a:=(xb-xa)^2+(yb-ya)^2; b:=(xc-xb)^2+(yc-yb)^2; c:=(xd-xc)^2+(yd-yc)^2; d:=(xd-xa)^2+(yd-ya)^2; if(a==c and b==d){ print("abcd parallélogramme");} else{print("abcd non parallélogramme");}; 32 2) On peut éventuellement écrire un algorithme pour a:=(xb-xa)^2+(yb-ya)^2; b:=(xc-xb)^2+(yc-yb)^2; c:=(xd-xc)^2+(yd-yc)^2; d:=(xd-xa)^2+(yd-ya)^2; E:=(xC-xA)^2+(yC-yA)^2; if(a==c and b==d and a==b and E=a+b){ print("abcd est un carré"); print("son périmètre est :",4*sqrt(a)); print("son aire est :",a);} else{print("abcd n est pas un carré");}; Remarque : la lettre minuscule e désigne exp(1). 33 2) On peut éventuellement écrire un algorithme pour a:=(xb-xa)^2+(yb-ya)^2; b:=(xc-xb)^2+(yc-yb)^2; c:=(xd-xc)^2+(yd-yc)^2; d:=(xd-xa)^2+(yd-ya)^2; E:=(xC-xA)^2+(yC-yA)^2; if(a==c and b==d and a==b){ print("abcd est un losange");} else{print("abcd n est pas un losange");}; if(a==c and b==d and E=a+b){ print("abcd est un rectangle");} else{print("abcd n est pas un rectangle");}; if(a==c and b==d and a==b and E=a+b){ print("abcd est un carré");} else{print("abcd n est pas un carré");}; Remarque : la lettre minuscule e désigne exp(1).

Corrigés XCAS Page 5 35 2) On peut éventuellement écrire un algorithme pour if(xa==xb){ print("l équation est x = ",xa);} else{ m:=(yb-ya)/(xb-xa); p:=ya-m*xa; print("l équation est y= mx + p"); print("où m vaut :",m); print("et p vaut :",p);}; 36 3) On peut éventuellement écrire un algorithme pour input("a =? ",a); input("b =? ",b); input("c =? ",c); input("d =? ",d); if(a==c){if(b==d){ print("les droites sont confondues");} else{print("les droites sont strictement parallèles");}} else{x0:=(d-b)/(a-c); y0:=a*x0+b; print("les droites sont sécantes au point de coordonnées (x0;y0)"); print("où x0 vaut :",x0); print("et y0 vaut :",y0);}; 37 2) On peut éventuellement écrire un algorithme pour if(xa==xb and xa==xc){ print("les points sont alignés");} else{if(xa!=xb and xa!=xc){ if((xc-xa)*(yb-ya)==(xb-xa)*(yc-ya)) {print("les points sont alignés");} else{print("les points ne sont pas alignés");}} else{print("les points ne sont pas alignés");};}; 38 2) On peut éventuellement écrire un algorithme pour input("a =? ",a); input("b =? ",b); input("c =? ",c); input("d =? ",d); input("e =? ",E); input("f =? ",f); if(a*e-b*d!=0){ print("le système admet un couple solution unique (x;y)"); print("où x vaut :",(c*e-b*f)/(a*e-b*d)); print("et y vaut :",(a*f-d*c)/(a*e-b*d));} else{print("le système n admet pas de solution unique");}; Remarque : la lettre minuscule e désigne exp(1). Complément : Xcas sait résoudre des systèmes linéaires. Par exemple pour la question 3a) : linsolve([2x+3y=7,3x-y=5],[x,y]) 40 2) On peut éventuellement écrire un algorithme pour input("xu =? ",xu); input("yu =? ",yu); input("xv =? ",xv); input("yv =? ",yv); if(xu*yv==xv*yu){ print("les vecteurs sont colinéaires"); print("on a v=k*u avec k égal à :"); if(xu!=0){print(xv/xu);} else{print(yv/yu);}} else{print("les vecteurs ne sont pas colinéaires");}; 41 2) On peut éventuellement écrire un algorithme pour résumer la démarche avant de la transcrire en langage if((xb-xa)*(yd-yc)==(xd-xc)*(yb-ya)){ print("(ab) et (CD) sont parallèles");} else{print("(ab) et (CD) ne sont pas parallèles");}; 42 2) On peut éventuellement écrire un algorithme pour if(xb-xa==xc-xd and yb-ya==yc-yd){ print("abcd parallélogramme");} else{print("abcd non parallélogramme");}; 43 2) On peut éventuellement écrire un algorithme pour if((xb-xa)*(yc-ya)==(xc-xa)*(yb-ya)){ print("les points sont alignés");} else{print("les points ne sont pas alignés");};

Corrigés XCAS Page 6 Statistiques et probabilités 44 A) 2) On peut éventuellement écrire un algorithme pour input("note1 =?",note1); input("note2 =?",note2); m:=(2*note1+3*note2)/5; print("la moyenne est :",m); Commentaire : Xcas est un logiciel de calcul formel, le réel m est affiché sous forme fractionnaire. Ainsi, en choisissant comme entrées 10 et 11, Xcas affiche comme résultat : Si on souhaite afficher une valeur décimale, on remplace la dernière ligne du programme par : print("la moyenne est :",evalf(m)); 3) On teste quelques valeurs pour répondre aux questions. B) 1) On peut éventuellement écrire un algorithme pour input("coeff1 =?",coeff1); input("coeff2 =?",coeff2); m:=(coeff1*8+coeff2*13)/(coeff1+coeff2); print("la moyenne est :",evalf(m)); 46 2) On peut éventuellement écrire un algorithme pour input("nombre de lancers =?",N); P:=0; if(x<0.5){p:=p+1;};}; print("la fréquence de Pile est ",evalf(p/n)); lancer_pieces(n):={ local (P:=0),I,x; if(x<0.5){p:=p+1;};}; return evalf(p/n);}; On peut faire constater la fluctuation d'échantillonnage et la stabilisation de la fréquence de Pile lorsque le nombre de lancers devient assez grand en traçant la représentation graphique de la fonction lancers_piece sur l'intervalle [1 ; 1000]. Ainsi : L:=seq(lancer_pieces(k),k=1..1000); 47 2) On peut éventuellement écrire un algorithme pour input("nombre de lancers du dé =?",N); E:=[0,0,0,0,0,0,0]; k:=1+hasard(6); E[k]:=E[k]+1;}; for(i:=1;i<=6;i:=i+1){ print("la fréquence de ",I," est ",E[I]/N);}; On choisit ici de mettre les effectifs dans la liste E : pour k de 0 à 6, E[k] contient l'effectif du numéro k. 48 2) a) On peut éventuellement écrire un algorithme pour R:=0; for(i:=1;i<=100;i:=i+1){ if(x<0.6){r:=r+1;};}; print("la fréquence des boules rouges est ",R/100); 3) a) On peut éventuellement écrire un algorithme pour input("n =?",n); F:=[]; for(k:=1;k<=n;k:=k+1){ R:=0; for(i:=1;i<=100;i:=i+1){ if(x<0.6){r:=r+1;};}; F:=append(F,R/100);}; print("la liste des fréquences est ",F); On a choisi ici de placer les fréquences successives dans la liste F. Pour obtenir le nombre de fréquences appartenant à l'intervalle de fluctuation : input("n =?",n); N:=0; for(k:=1;k<=n;k:=k+1){ R:=0; for(i:=1;i<=100;i:=i+1){ if(x<0.6){r:=r+1;};}; if(r/100>=0.5 and R/100<=0.7){N:=N+1;};}; print("le nombre de fréquences dans l intervalle est ",N); Il peut être aussi intéressant, par exemple pour 2000 échantillons, de représenter graphiquement les fréquences d'apparition des boules rouges de chaque échantillon (contenue dans la liste F obtenue après avoir exécuté le programme au début de la question 3) a), en choisissant comme entrée 2000), et de placer les droites d'équation y = 0,5 et y = 0,7 pour représenter l'intervalle de fluctuation. Pour cela : inf_intervalle(x):=0.5; sup_intervalle(x):=0.7; plotlist(f); plot(inf_intervalle(x),x=0..2000,color=red); Plot(sup_intervalle(x),x=0..2000,color=red);

Corrigés XCAS Page 7 49 1) c) On peut éventuellement écrire un algorithme pour input("n =?",N); E:=[0,0,0,0,0,0,0,0,0]; a:=1+hasard(4); b:=1+hasard(4); E[a+b]:=E[a+b]+1;}; for(k:=2;k<=8;k:=k+1){ print("la fréquence de la somme ",k," est ",evalf(e[k]/n));}; On choisit ici de mettre les effectifs dans la liste E : pour k de 0 à 8, E[k] contient l'effectif de la somme k. 2) On peut tester le programme précédent et observer la distribution des fréquences de la somme possible. On peut aussi représenter graphiquement cette distribution, par exemple sur une simulation de 2000 lancers (les effectifs de chaque somme sont stockés dans la liste E obtenue par l'exécution du programme précédent avec comme entrée 2000) : diagramme_batons(e/2000) On obtient dans la fenêtre graphique : 3) a) On peut éventuellement écrire un algorithme pour input("nombre de parties =?",N); J:=0; M:=0; a:=1+hasard(4); b:=1+hasard(4); if(a+b==5){j:=j+9; M:=M-9;}; if(a+b==6){j:=j-10; M:=M+10;};}; print("le gain de Julie est ",J); print("le gain de Maxime est ",M); b) On peut créer une fonction donnant le gain de Maxime au bout de N parties : gain_maxime(n):={ local (G:=0),I,a,b; a:=1+hasard(4); b:=1+hasard(4); if(a+b==5){g:=g-9;}; if(a+b==6){g:=g+10;};}; return G}; Pour créer 1000 échantillons de taille 100 et représenter graphiquement le gain de Maxime sur ces 100 parties : L:=seq(gain_Maxime(100),k=1..1000); plotlist(l) 50 1) c) On peut éventuellement écrire un algorithme pour input("nombre de parties =?",N); G:=0; P:=1; for(i:=1;i<=6;i:=i+1){ a:=1+hasard(6); P:=P*(a-6);}; if(p==0){g:=g+1;};}; print("la fréquence de gain est :",G/N); jeu(n):={ local (G:=0),k,I,P,a; P:=1; for(i:=1;i<=6;i:=i+1){ a:=1+hasard(6); P:=P*(a-6);}; if(p==0){g:=g+1;};}; return G/N}; Pour tracer la représentation graphique de la fréquence de gain observée en fonction du nombre de parties sur l'intervalle [1 ; 500] : L:=seq(jeu(k),k=1..500);

Corrigés XCAS Page 8 51 1) c) On peut éventuellement écrire un algorithme pour input("nombre de lâchers =?",N); numero:=[0,0,0,0]; a:=hasard(2); b:=hasard(2); c:=hasard(2); numero[a+b+c]:=numero[a+b+c]+1;}; for(i:=0;i<=3;i:=i+1){ print("la fréquence du numéro ",I," est ",numero[i]/n);}; Ici les effectifs de chaque numéro sont stockés dans la liste numero. 52 3) b) On peut éventuellement écrire un algorithme pour input("nombre d expériences =?",N); eff:=[0,0,0,0,0]; x:=0; for(i:=1;i<=4;i:=i+1){ a:=hasard(2); if(a==1){x:=x+1;} else{x:=x-1;};}; if(x==-4){eff[0]:=eff[0]+1;}; if(x==-2){eff[1]:=eff[1]+1;}; if(x==0){eff[2]:=eff[2]+1;}; if(x==2){eff[3]:=eff[3]+1;}; if(x==4){eff[4]:=eff[4]+1;};}; for(i:=0;i<=4;i:=i+1){ print("la fréquence de l abscisse ",I," est ",eff[i]/n);}; 53 2) b) On peut éventuellement écrire un algorithme pour input("nombre de parties =?",N); eff:=[0,0,0]; a:=1+hasard(4); if(a==1){eff[1]:=eff[1]+1;} else{b:=1+hasard(3); if(b==1){eff[2]:=eff[2]+1;} else{eff[0]:=eff[0]+1;};};}; print("la fréquence du gain 2 euros est ",eff[0]/n); print("la fréquence du gain 1 euros est ",eff[1]/n); print("la fréquence du gain -2 euros est ",eff[2]/n); Ici les effectifs de chaque gain sont stockés dans la liste eff. 54 1) b) On peut éventuellement écrire un algorithme pour xa:=hasard(0,1); xb:=hasard(0,1); if(max(xa,xb)-min(xa,xb)>0.5){ print("d est réalisé");} else{print("d n est pas réalisé");}; 2) a) On peut éventuellement écrire un algorithme pour input("nombre d expériences =?",N); xa:=hasard(0,1); xb:=hasard(0,1); if(max(xa,xb)-min(xa,xb)>0.5){n:=n+1;};}; print("la fréquence de D est ",n/n); distanceab(n):={ local (n:=0),k,xa,xb; xa:=hasard(0,1); xb:=hasard(0,1); if(max(xa,xb)-min(xa,xb)>0.5){n:=n+1;};}; return n/n;}; Pour tracer la représentation graphique de la fréquence d'apparition de D en fonction du nombre de simulations sur l'intervalle [1 ; 500] : L:=seq(distanceAB(N),N=1..500); 55 3) On peut éventuellement écrire un algorithme pour input("nombre de rendez-vous =?",N); xr:=hasard(0,60); xj:=hasard(0,60); if(max(xr,xj)-min(xr,xj)<=10){n:=n+1;};}; print("la fréquence de rencontres est ",n/n); rencontre(n):={ local (n:=0),i,xr,xj; xr:=hasard(0,60); xj:=hasard(0,60); if(max(xr,xj)-min(xr,xj)>=10){n:=n+1;};}; return n/n}; Pour tracer la représentation graphique de la fréquence de rencontres en fonction du nombre de simulations sur l'intervalle [1 ; 500] : L:=seq(rencontre(N),N=1..500);

Corrigés XCAS Page 9 56 2) b) On peut éventuellement écrire un algorithme pour input("nombre de tirs =?",N); if(x^2+y^2<=1){n:=n+1;};}; print("la fréquence d atteinte de la partie colorée est ",n/n); tir(n):={ local (n:=0),i,x,y; if(x^2+y^2<=1){n:=n+1;};}; return n/n}; Pour tracer la représentation graphique de la fréquence d'atteinte de la partie colorée en fonction du nombre de simulations sur l'intervalle [1 ; 500] : L:=seq(tir(N),N=1..500); 57 2) b) On peut éventuellement écrire un algorithme pour input("nombre de tirs =?",N); if(x^2+y^2<=1 and (1-x)^2+(1-y)^2<=1){ n:=n+1;};}; print("la fréquence d atteinte de la partie colorée est ",n/n); tir(n):={ local (n:=0),i,x,y; if(x^2+y^2<=1 and (1-x)^2+(1-y)^2<=1){ n:=n+1;};}; return n/n}; Pour tracer la représentation graphique de la fréquence d'atteinte de la partie colorée en fonction du nombre de simulations sur l'intervalle [1 ; 500] : L:=seq(tir(N),N=1..500); 58 2) b) On peut éventuellement écrire un algorithme pour input("nombre de tirs =?",N); if(y<=x^2){n:=n+1;};}; print("la fréquence d atteinte de la partie colorée est ",n/n); tir(n):={ local (n:=0),i,x,y; if(y<=x^2){n:=n+1;};}; return n/n}; Pour tracer la représentation graphique de la fréquence d'atteinte de la partie colorée en fonction du nombre de simulations sur l'intervalle [1 ; 500] : L:=seq(tir(N),N=1..500);