basic anfänger aufgabe

buckelflips

Semiprofi
Thread Starter
Mitglied seit
22.06.2006
Beiträge
1.047
Ort
Zuhause
ich bin grad an meinen ersten programmier gehversuchen anhand dieses tutorials Intro

fand eigtl. das mondlandespiel schon als mathe overkill
hab dann auch recht schnell aufgegeben hinter die ganzen formeln zu kommen und einfach abgeschrieben

allerdings gibts zu der jetzigen aufgabe keine lösung und ich komm grade echt nicht weiter
Erweitern Sie das Pythagoras-Programm so, dass für das Wertepaar A,B alle Werte zwischen 10 und 50 (in 10er-Schritten) durchlaufen werden, wie in der anfangs erstellten Tabelle gezeigt.

das programm
Code:
10 INPUT A
20 INPUT B
30 PRINT SQR(A^2+B^2)
40 LET A=A+10
50 IF A<60 THEN GOTO 30

meine erweiterung
Code:
1 LET NR=1
10 INPUT A
20 INPUT B
30 PRINT SQR(A^2+B^2)
40 LET A=A+10
41 LET NR=NR+1
50 IF A<60 THEN GOTO 30
51 LET A=A-50
60 LET B=B+10
70 IF B<50 THEN GOTO 30
das NR habe ich eingefügt als ich merkte das was nicht stimmen kann um die übersicht im ergebnis zu behalten

aber ich komm einfach nicht auf den fehler
 

Anhänge

  • ergebnis.JPG
    ergebnis.JPG
    39,7 KB · Aufrufe: 57
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hi,

ertsmal: ich habe keine Ahnung von Basic,
aber in Pseudocode:

Code:
setze B=10
setze A=10

falls (A<60) {
	Berechne C
	setze A+10
}

setze B+10
setze A wieder auf 10, wiederhole schleife solange()

eine Frage: für was brauchst du einen Input A / B ?

Da ich keine Ahnung von Basic habe wird das denke ich nicht laufen, ein Versuch ist´s aber Wert:

Code:
10 LET B=10
20 LET A=10
30 PRINT SQR(A^2+B^2)
40 LET A=A+10
50 IF A<60 THEN GOTO 30
60 LET B=B+10
70 GOTO 20
 
eine Frage: für was brauchst du einen Input A / B
stand so in der aufgabe ka
ob ich nun 10 eintrage oder als festen wert habe ist denke ich jacke wie hose solange sich der wert nicht ändert

ich probiers direkt mal aus

edit:
das ergebnis ist sogar identisch... aber ich denke den "code" hast du verstanden
 
Zuletzt bearbeitet:
Hi,

ich hab´s grade mal in Batch nachgestellt,
eigentlich ist dein Code vollkommen korrekt, nur dass du
Code:
IF B<50 THEN GOTO 30
durch
Code:
IF B<[COLOR="Red"]60[/COLOR] THEN GOTO 30
ersetzen musst.
Dann müsstest du
PHP:
a	b	c
10	10	14,14
20	10	22,36
30	10	31,62
40	10	41,23
50	10	50,99
10	20	22,36
20	20	28,28
30	20	36,06
40	20	44,72
50	20	53,85
10	30	31,62
20	30	36,06
30	30	42,43
40	30	50
50	30	58,31
10	40	41,23
20	40	44,72
30	40	50
40	40	56,57
50	40	64,03
10	50	50,99
20	50	53,85
30	50	58,31
40	50	64,03
50	50	70,71
bekommen.

In Batch:
Code:
@echo off
[COLOR="SeaGreen"]REM 10 INPUT A[/COLOR]
set /a A=10 
[COLOR="SeaGreen"]
REM 20 INPUT B[/COLOR]
set /a B=10

[COLOR="SeaGreen"]REM einfach nur dass Batch weiter zu 30 springt[/COLOR]
goto 30

[COLOR="Red"]:30[/COLOR]
[COLOR="SeaGreen"]REM 30 PRINT SQR(A^2+B^2)[/COLOR]
echo wurzel aus %A% und %B%

[COLOR="SeaGreen"]REM 40 LET A=A+10[/COLOR]
set /a A=%A%+10

[COLOR="SeaGreen"]REM 50 IF A<60 THEN GOTO 30[/COLOR]
IF /I %A% LSS 60 GOTO [COLOR="Red"]30[/COLOR]

[COLOR="SeaGreen"]REM 51 LET A=A-50[/COLOR]
set /a A=%A%-50

[COLOR="SeaGreen"]REM 60 LET B=B+10[/COLOR]
set /a B=%B%+10

[COLOR="SeaGreen"]REM 70 IF B<50 THEN GOTO 30[/COLOR]
IF /I %B% LSS 60 GOTO [COLOR="Red"]30[/COLOR]
[COLOR="SeaGreen"]
REM ergebnis angucken[/COLOR]
pause
 
Zuletzt bearbeitet:
Gibt es in Basic keine Schleife?
Ansonstens ist es sehr einfach mit 2 Schleifen, z. B in C:

Code:
for (B = 10; B <= 50; B += 10)
{
  for (A = 10; A <= 50; A += 10)
  {
     C = ...;  // ich habe im Moment die Formel nicht im Kopf!  

     ... und hier Ausgabe!  
  }
}
 
Zuletzt bearbeitet:
ich glaube es hat funktioniert.. danke point

@phubong
keine ahnung wenn es eine gibt dann hatt ich die noch nicht
 
Auch auf die Gefahr hin hier jetzt eine furchtbare Diskussion vom Zaun zu brechen und furchtbar OT zu werden: Warum zum Teufel fängst du eigentlich mit BASIC an? :d
Ich vermute mal, dass du sie ausgewählt hast weil sie einfach erscheint.
Wenn das ein Kriterium ist dann kann ich dir Python ans herz legen.
Die Sprache ist einfach, objektorientiert und kann eine Menge netter Sachen machen.
Tutorials und Beispielcode gibt es in rauhen Massen und du kannst auch wirklich ernsthaft damit Programmieren (Google benutzt es z.B.)
 
Ich kann dir von Basic auch nur abraten. Wenn ich
Code:
goto
schon sehe..
 
Die 70er haben angerufen, sie wollen ihren Code zurück.

JD to Turk: Seriously, you use this joke too often.
Erinnerte mich gerade an die Szene aus Scrubs :-)

BTT: Kann meinen Vorrednern nur zustimmen, verschwende deine Zeit nicht mit Basic! Es gibt so schöne einfache Programmiersprachen -> C# und java z.b., mit Python kenn ich mich nicht wirklich aus, scheint aber auch Recht gut zu sein! Und wenn du eine etwas größere Herausvorderung möchtest, dann lerne C/C++.

mfg
aelo
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh