// xcas version=0.7.0 fontsize=16 // fltk 7Fl_Tile 24 -1145 1068 559 16 [ // fltk N4xcas7EditeurE 24 -1145 1068 487 16 1213 , signeproduit2(f,g):={ zA:=resoudre(f(x)=0,x)[0]; zB:=resoudre(g(x)=0,x)[0]; zmin:=min(zA,zB); zmax:=max(zA,zB); [ ["valeurs de x"," ",zmin," ",zmax," "], ["signe de "+f(x), si f(zmin-1)>0 alors " + "; sinon " - "; fsi, si f(zmin)==0 alors 0; sinon " ";fsi, si f((zmin+zmax)*.5)>0 alors " + "; sinon " - "; fsi, si f(zmax)==0 alors 0; sinon " ";fsi, si f(zmax+1)>0 alors " + "; sinon " - "; fsi ], ["signe de "+g(x), si g(zmin-1)>0 alors " + "; sinon " - "; fsi, si g(zmin)==0 alors 0; sinon " ";fsi, si g((zmin+zmax)*.5)>0 alors " + "; sinon " - "; fsi, si g(zmax)==0 alors 0; sinon " ";fsi, si g(zmax+1)>0 alors " + "; sinon " - "; fsi ], ["signe du produit", si g(zmin-1)*f(zmin-1)>0 alors " + "; sinon " - "; fsi, 0, si g((zmin+zmax)*.5)*f((zmin+zmax)*.5)>0 alors " + "; sinon " - "; fsi, 0, si g(zmax+1)*f(zmax+1)>0 alors " + "; sinon " - "; fsi ] ] }:;, // fltk N4xcas10Log_OutputE 24 -658 1068 37 16 // Parsing signeproduit£// Warning: x zA zB zmin zmax declared as global variable(s) compiling signeproduit£ , // fltk N4xcas8EquationE 24 -621 1068 35 16 "Done" ] , // fltk 7Fl_Tile 24 -584 1068 178 16 [ // fltk N4xcas19Multiline_Input_tabE 24 -584 1068 26 16 signeproduit2(x->-2*x+3,x->(4*x+5)) , // fltk N4xcas10Log_OutputE 24 -558 1068 1 16 , // fltk N4xcas8EquationE 24 -557 1068 151 16 [["valeurs de x"," ",(-5)/4," ",3/2," "],["signe de -2*x+3"," + "," "," + ",0," - "],["signe de 4*x+5"," - ",0," + "," "," + "],["signe du produit"," - ",0," + ",0," - "]] ] , // fltk 7Fl_Tile 24 -404 1068 812 16 [ // fltk N4xcas7EditeurE 24 -404 1068 723 16 2424 , signeproduit(L):={ L:=apply(f->unapply(f,x),[L])// on transforme les expressions en fonctions n:=size(L); Z:=NULL; pour k de 0 jusque n-1 faire // on crée la suite des zéros si size(resoudre(L[k](x)=0)>0) alors // on fait attention aux expressions qui n'ont pas de zéros pour j de 0 jusque size(resoudre(L[k](x)=0))-1 faire Z:=Z,simplifier(resoudre(L[k](x)=0)[j]); fpour; fsi; fpour; Z:=sort(Z); // on classe les zéros dans l'ordre croissant nz:=size(Z); pour u de 1 jusque nz-2 faire si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; // on s'occupe des zéros en double fsi; fpour; nz:=size(Z); l0:=NULL;li:=NULL;lr:=NULL; // on initialise nos suites pour m de 0 jusque nz-1 faire l0:=l0,Z[m]," ";fpour; // on crée la suite des zéros (car c'était une liste) [ ["valeurs de x"," ",l0 ], pour p de 0 jusque n-1 faire lp:=NULL; // il y aura n lignes correspondant aux n expressions. // À chaque tour de boucle, on rajoute une ligne li:=li,["signe de "+L[p](x), si L[p](Z[0]-1.0)>0 alors " + "; sinon " - "; fsi, // test pour le signe à gauche du premier zéro pour r de 0 jusque nz-2 faire // boucle pour le reste des colonnes lp:=lp,si simplifier(L[p](Z[r]))==0 alors 0; sinon " ";fsi, // test pour le zéro si L[p]((Z[r]+Z[r+1])*.5)>0 alors " + "; sinon " - "; fsi // test pour le signe entre deux zéros fpour, si simplifier(L[p](Z[nz-1]))==0 alors 0; sinon " ";fsi, // test du dernier zéro si L[p](Z[nz-1]+1.0)>0 alors " + "; sinon " - "; fsi // test du dernier signe à line du dernier zéro ]; fpour, // on passe à la dernière ligne avec le même type de tests ["signe du produit", si product(L[s](Z[0]-1.0),s,0,n-1)>0 alors " + "; sinon " - "; fsi,0, // on test les signes des produits cette fois pour t de 0 jusque nz-2 faire lr:=lr,si product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0 alors " + "; sinon " - "; fsi, 0; fpour, si product(L[s](Z[nz-1]+1.0),s,0,n-1)>0 alors " + "; sinon " - "; fsi ] ] }:;, // fltk N4xcas10Log_OutputE 24 319 1068 54 16 // Warning: x declared as global variable(s)£// Parsing signeproduit£// Warning: f x n Z k j nz u l0 li lr m p lp r s t declared as global variable(s) compiling signeproduit£ , // fltk N4xcas8EquationE 24 373 1068 35 16 "Done" ] , // fltk 7Fl_Tile 24 410 1068 338 16 [ // fltk N4xcas19Multiline_Input_tabE 24 410 1068 26 16 signeproduit(-2*x+3,-4*x+5,x^2-3,x+1,x^2-1,sqrt(x^2+1),x*(cos(x)+2) , // fltk N4xcas10Log_OutputE 24 436 1068 1 16 , // fltk N4xcas8EquationE 24 437 1068 311 16 [["valeurs de x"," ",-(sqrt(3))," ",-1," ",0," ",1," ",5/4," ",3/2," ",sqrt(3)," "],["signe de -2*x+3"," + "," "," + "," "," + "," "," + "," "," + "," "," + ",0," - "," "," - "],["signe de -4*x+5"," + "," "," + "," "," + "," "," + "," "," + ",0," - "," "," - "," "," - "],["signe de x^2-3"," + ",0," - "," "," - "," "," - "," "," - "," "," - "," "," - ",0," + "],["signe de x+1"," - "," "," - ",0," + "," "," + "," "," + "," "," + "," "," + "," "," + "],["signe de x^2-1"," + "," "," + ",0," - "," "," - ",0," + "," "," + "," "," + "," "," + "],["signe de sqrt(x^2+1)"," + "," "," + "," "," + "," "," + "," "," + "," "," + "," "," + "," "," + "],["signe de x*(cos(x)+2)"," - "," "," - "," "," - ",0," + "," "," + "," "," + "," "," + "," "," + "],["signe du produit"," + ",0," - ",0," - ",0," + ",0," - ",0," + ",0," - ",0," + "]] ] , // fltk 7Fl_Tile 24 750 1068 182 16 [ // fltk N4xcas19Multiline_Input_tabE 24 750 1068 26 16 signeproduit(-2*x^2+3,5*x-2) , // fltk N4xcas10Log_OutputE 24 776 1068 1 16 , // fltk N4xcas8EquationE 24 777 1068 155 16 [["valeurs de x"," ",-((sqrt(6))/2)," ",2/5," ",(sqrt(6))/2," "],["signe de -2*x^2+3"," - ",0," + "," "," + ",0," - "],["signe de 5*x-2"," - "," "," - ",0," + "," "," + "],["signe du produit"," + ",0," - ",0," + ",0," - "]] ] , // fltk 7Fl_Tile 24 934 1068 27 16 [ // fltk N4xcas19Multiline_Input_tabE 24 934 1068 26 16 , // fltk N4xcas10Log_OutputE 24 960 1068 1 16 ]