| |
|
|
p.specht
| Wer de el Schule todavía el Schrecken el Polynome en Erinnerung ha, debería se en Gedanken beim englischen Schulleiter y Optiker William George Horner de Bristol (UK en 1815) para una starke schematische Vereinfachung bedanken. Gänzlich verliert el Sache ihre Schrecken, si uno auch todavía el Erfindungen el Herren W. Schickard, B. Pascal, Ch. Babbage y (parallel dazu) W. Leibnitz, welche en Zahnrad-betriebenen sog. "Rechenmaschinen" de Holz y Messing gipfelten, ser Eigen nennt: Como se el rasche numerische Polynomauswerung para Kinderspiel. Man folge lediglich muy genau el nachstehenden Anweisungen
Windowtitle " HORNER-SCHEMA "
' Orig.-Quelle: E.Floegel: Pascal-Handbuch S. 76
' Nach Profano transkribiert, Fehler abgefangen y adaptiert 2012 P. Pájaro carpintero
' (D) Nur para Demonstrationszwecke - sin jedwede Gewähr!
windowstyle 1048 : font 2 : randomize
window %maxx\4,0-%maxx\2,%maxy-41
set("decimals",15):declarar x!,y!,z!,i&,n&,a![],a$
grad:
Cls rnd(8^8)
imprimir
imprimir " Numerische Polynomauswertung mittels Horner-Schema"
imprimir
imprimir " Grad des Polynoms: ";n&
locate %csrlin-1,21
input a$
caso a$>"":n&=val(a$)
setsize a![],n&+1
neukoeff:
imprimir
imprimir " Bitte Koeffizienten eingeben: "
imprimir
whileloop n&,0,-1
imprimir " Koeff. de x^";str$(&Loop);
imprimir " = a[';str$(&Loop);'] ";
caso &Loop<10:imprimir " ";
imprimir "= ";
caso a![&Loop]>0:imprimir tab(28);a![&Loop];
imprimir
locate %csrlin-1,28
input a$
caso a$>"":a![&Loop]=val(a$)
endwhile
xwert:
imprimir
imprimir " Auswertung a el Punto x = ";
caso x!>0:imprimir x!;
imprimir
locate %csrlin-1,31
input a$
caso a$>"":x!=val(a$)
y!=0
whileloop n&,0,-1
y!=y!*x!+a![&Loop]
endwhile
imprimir "------------------------------------------------------------------------"
imprimir " Polynomwert a Punto ";x!;" es : ";
if abs(y!)>10^6
imprimir format$("%e",y!)
más
imprimir y!
endif
y!=0
imprimir "------------------------------------------------------------------------"
imprimir " Für más x berechnen? ";
input a$
a$=lower$(a$)
caso ord(a$)=ord("j"):goto "xwert"
caso val(a$)<>0:beep
caso val(a$)<>0:goto "xwert"
imprimir " Für otro Koeffizienten en Grad ";n&;" berechnen? ";
input a$
a$=lower$(a$)
if ord(a$)=ord("j")
cls rnd(8^8)
goto "neukoeff"
endif
imprimir " Anderes Polynom berechnen? ";
input a$
a$=lower$(a$)
caso ord(a$)=ord("j"):goto "grad"
imprimir
beep
imprimir " Wiedersehen! "
waitinput 5000
|
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 07.05.2021 ▲ |
|
|
|