[Basic] Frage zu einer If Abfrage.?

ich benutzte freebasic.

Also wie schreibe ich:
if "variable verändert sich" then "andere variable +1"

In dem Programm soll die Anzahl der eingegeben Werte gezählt werden und es kann ruhig sehr simpel sein.

2010-03-09T09:54:31Z

Habe es jetzt so gelöst:
do

print
print
print "Eingabe: ";wert1;" Anzahl:";wert3;" Arithmetisches Mittel:";arith
print "Berechnung des arithmetischen Mittels"
print
input "Bitte geben sie die Werte ein:",wert1

wert1b=wert1

if wert1.type = true then
wert3=wert3+1
end if

arith=(0+wert1)/wert3

loop

ist aber alles noch nicht fertig...aber ich hab auch noch zeit.

tquadrat_org2010-03-09T09:36:40Z

Beste Antwort

Was Du da beschreibst wäre ein Trigger auf "variable" - ein Konstrukt, dass es für Basic so nicht gibt (für die meisten anderen Programmiersprachen übrigens auch nicht ...).

Um die Anzahl der Eingabewerte zu zählen wäre so etwas aber auch nicht nötig. Allerdings gibst Du viel zu wenig Informationen, um Dir einen ordentlichen Ansatz nennen zu können:

- Sollen wirklich die Eingabewerte gezählt werden, oder aber nur die unterschiedlichen Werte? (Eingabe: 4-5-6-7-7-8-9, Ergebnis 7 [weil sieben Zahlen] oder 6 [weil die Sieben doppelt ist])
- Wenn letzteres: ist der Eingabestrom sortiert (gleiche Werte liegen immer hintereinander)?
- Wie wird "eingegeben"? Über eine Tastatur bzw. aus einer Datei, oder über einen Messfühler (bei letzterer Methode könnte jeder Wechsel des anliegenden Wertes eine neue Eingabe bedeuten, was zu Deinem 'variable verändert sich' passen würde)?

Wie Du siehst ist die Frage SO nicht zu beantworten.

berniebutt2010-03-09T05:01:49Z

Das ist in allen höheren Programmiersprachen gleich (dazu gehört bereits auch BASIC):

if(Ausdruck) then (Anweisungsfolge) oder
if(Ausdruck) then (Anweisungsfolge) else(Anweisungsfolge)

'Ausdruck' ist entweder richtig (true) oder falsch (false)

Marian_R2010-03-08T09:27:10Z

Kenne basic leider nicht, darum nur kurz wie man das vom Konzept her machen könnte:

var1 //das ist die Variable, die sich ändern kann
var1b = var1 //eine Kopie des ursprünglichen Wertes von var1
var2 = 0

if (var1 != var1b)
then {
var2 = var2 + 1; //Zähler wrd hochgesetzt
var1b = var1; //var1b wird neu gesetzt, damit man die Änderung des Wertes nachverfolgen kann.
}

ich gehe davon aus, dass dies eine Funktion sein soll, die nach jeder möglichen Änderung von var1 aufgerufen wird... kA ob basic da trigger oder sowas liefert