| 10 '****** calcul dichotomique ******
20 '************** par ************** 30 '****** guillaume ponticelli ***** 40 '********************************* 50 CLS 60 LOCATE 1,3:PRINT "Avez-vous entre votre fonction ?(o/n)":a$=INKEY$:IF a$="" THEN 60 70 IF a$="n" THEN CLS:EDIT 250 80 WINDOW #1,1,80,5,7 90 INPUT #1,"precision(1-8)";pr:IF pr<1 OR pr>8 OR pr<>INT(pr) THEN CLS #1:GOTO 90 100 WINDOW #2,1,80,8,10 110 LOCATE 1,7:INPUT "Indiquez les bornes de l'intervalle [a,b]";a,b 120 IF a>b THEN CLS#2:GOTO 110 130 a=INT(a):b=INT(b) 140 'calcul de la borne inferieure 150 x=a:GOSUB 250:y1=y 160 'calcul dichotomique 170 FOR w=a TO b STEP 0.5 180 x=w:GOSUB 250:y2=y 190 IF SGN(y2)=SGN(y1) THEN NEXT w:IF g=1 THEN GOTO 270 ELSE PRINT:PRINT "Pas de solution dans cet intervalle":GOTO 270 200 c=(a+w)/2:x=c:GOSUB 250:y3=ROUND(y,pr) 210 IF y3=0 THEN PRINT:PRINT "La solution est x=";x:a=c+0.2:g=1:GOTO 150 220 IF SGN(y3)=SGN(y1) THEN a=c:GOTO 200 230 IF SGN(y3)<>SGN(y1) THEN w=c:GOTO 200 240 'programmation de la fonction 250 y=x^2:'relancez le programme 260 RETURN 270 g=0:LOCATE 1,25:PRINT"Voulez-vous une autre operation ?(o/n)" 280 a$=INKEY$:IF a$="" THEN 280 290 IF a$="o" THEN 50 300 CLS |