Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » Mathematik

flexibles Lernprogramm

Lizenz:Erster Autor:Letzte Bearbeitung:
BSD-LizenzMitgliedHD 21.06.2018

'flexibles Lernprogramm
'einfaches Mathematikprogramm,
'das sich auf die Faehigkeit des Lernenden einstellt
'c: Hans Dederichs
#include once "fbgfx.bi"
#include once "utf_conv.bi"
#include once "font.bi"
dim shared font as FT_Face
DIM shared AS INTEGER AA
DIM shared AS INTEGER Breite
DIM shared AS INTEGER f
DIM shared AS INTEGER fehler,ff,g,geA,gR
DIM shared AS INTEGER hoehe
DIM shared AS INTEGER nur1,pa,pp,Pr,px,pxx,py,pyy,pz,r2
dim shared as integer schrift,sek,sek2,sf
DIM shared AS INTEGER va,wo,x,y,vo,z,z1,z2,zahl,zd
DIM shared AS single gz,k,L
dim shared as string eingabe,in,n,na,ne,o,prs,s,se,sts,sz
dim shared as integer e(31),eing(41),f1(41),f2(41)
dim shared as integer LA(41),RL(41)
dim shared as string auf(100),aufg(41),ee(200),Loesung(41)
declare sub flexiMaFt
screeninfo Breite,hoehe
SCREENRES breite,hoehe,32
Width breite\8,hoehe\16
color,RGB(139,90,43)
FT_Var.ErrorMsg = FT_Init_FreeType(@FT_Var.Library)
if FT_Var.ErrorMsg then print "Could not load library"
font = getFont("font.ttf")
f=20
sf=&hFFFAF0
x=40:y=70:zahl=0:
FlexiMaFt

SUB bildinput
sz=""
hier:
eingabe=input(1)
if eingabe=chr(13) and nur1=1 then nur1=0:sz="0":goto eingabeNur1
if eingabe <> chr(13) and eingabe <> chr(8)then sz=sz+eingabe
if eingabe = chr(8) then sz=left(sz,len(sz)-1):cls 1
printFT 1,1,sz,font,f,sf
if nur1=1 then nur1=0:goto eingabeNur1
if eingabe = chr(13) then beep else goto hier
eingabeNur1:
sz=LCASE(sz)
end SUB

sub flexiMaFt
dim as integer a,b
f=30:x=200:y=30:cls
printft x,y,"Flexibles Mathematikprogramm,",font,f,sf:y=y+40
printft x,y,"das sich automatisch auf den",font,f,sf:y=y+40
printft x,y,"Schueler einstellt.",font,f,sf:y=y+60
z50:fehler=0:z=1
printft x,y,"+ - * oder : ",font,f,sf:y=y+60
o=input(1)
IF o="+" OR o="-" OR o="*" OR o=":" THEN GOTO z83
IF o="E" OR o="e" THEN End
BEEP:GOTO z50
z83:
printft x,y,"Wieviele Aufgaben, max.40",font,f,sf:y=y+40
py=y+40
View (x+345,y)-(x+385,py),,13
bildinput
aa=val(sz):view:y=y+60
IF sz="e" OR sz="E" THEN END
IF aa<1 THEN aa=10
IF aa<41 THEN GOTO z131
printft x,y,"Wir nehmen 40 Aufgaben.",font,f,sf:y=y+40
printft x,y,"Mehr geht nicht.",font,f,sf:x=200:y=30
aa=40:getkey:CLS
z131:IF o="*" OR o=":" THEN gz=100:GOTO z152
printft x,y,"Groesste Zahl (Loesungszahl > 5)",font,f,sf:y=y+40
py=y+40
View (x+345,y)-(x+405,py),,13
bildinput
gz=val(sz):view:y=y+60
IF gz<5 THEN gz=5
IF gz>100 THEN gz=100
z152:RANDOMIZE TIMER
z181:k=0:a=(gz*RND(1)+1):a=int(a):cls:x=200:y=100
b=(gz*RND(1)):b=int(b)
IF o="+" THEN a=int(a/2):b=int(b/2):L=a+b
IF o="-" THEN L=a-b:IF b>a THEN GOTO z181
IF o="*" OR o=":" THEN a=int(a/10)+1:b=int(b/10)
IF o="*" OR o=":" THEN L=a*b
auf(z)=STR(a)+" ":f1(z)=a:IF o<>":" THEN GOTO z280
Pr=a*b:RL(z)=Pr:Loesung(z)=STR(Pr):L=b
aufg(z)=Loesung(z)+" : "+auf(z)
IF aufg(z)=aufg(z-1) THEN GOTO z181
GOTO z302
z280:ee(z)=STR(b):f2(z)=b:aufg(z)=auf(z)+o+" "+ee(z)
IF aufg(z)=aufg(z-1) THEN GOTO z181
z302:eing(z)=L
sz=str(z)+".) "+str(aufg(z))+" ="
printft x,y,sz,font,f,sf
py=y+40
View (x+345,y)-(x+405,py),,13
bildinput
eingabe=sz:view:y=y+60
IF eingabe="E" OR eingabe="e" THEN GOTO z50
LA(z)=VAL(eingabe):IF LA(z)<>L THEN GOTO z341
printft x,y,"richtig",font,f,sf:gz=gz+gz/50:getkey:GOTO z350
z341: BEEP
printft x+250,y,"-> ",font,f,sf
printft x+345,y,str(L),font,f,sf
getkey
fehler=fehler+1:k=1:gz=gz-gz/10:IF gz<5 THEN gz=5
z350:z=z+1:IF z<aa+1 THEN GOTO z181
cls:x=200:y=100
sz=str(aa-fehler)+"/"+str(aa)+" Aufgaben richtig"
printft x,y,sz,font,f,sf:getkey
x=200:y=30:cls:GOTO z50
end sub


Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 21.06.2018 von MitgliedHD angelegt.
  • Die aktuellste Version wurde am 21.06.2018 von MitgliedHD gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen