Algorithmus < Algorithmen < Schule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 13:58 So 26.01.2014 | Autor: | hubi92 |
Aufgabe | Entwerfen Sie einen Algorithmus, der nur durch Vorwärtszählen die Summe zweier natürlicher Zahlen a und b ermittelt. Es sei nur die Abfrage "x=y?" erlaubt, nicht "X<y?" oder "x>y?". |
Hallo ihr Lieben!
ich muss diese Aufgabe lösen und komme nicht weiter.
Ich hoffe, dass ihr mir helfen könnt!
Mein Anfang ist:
Anfang---> Eingabe: a,b € N ---> a=1--->....
also eigentlich habe ich so gut wie gar nichts =(
Vielen Dank für eure Hilfe!
|
|
|
|
Hallo,
du benötigst zwei Variablen. Eine (in der wird die gesuchte Summe stehen) beginnt bei a+1, die andere bei 1. Jetzt überlege mal, was du dann für die zweite Variable prüfen musst...
Gruß, Diophant
PS: was hat das mit Didaktik zu tun?
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 15:37 So 26.01.2014 | Autor: | hubi92 |
Hallo Diophant!
Vielen Dank für deine schnelle Antwort!
> du benötigst zwei Variablen. Eine (in der wird die
> gesuchte Summe stehen) beginnt bei a+1, die andere bei 1.
> Jetzt überlege mal, was du dann für die zweite Variable
> prüfen musst...
>
also kann ich jetzt z.B. sagen: x=a und y=a+1 und dann gucke ich x=y? wenn ja, dann muss ich weiterzählen also y=a+2?
so ganz hat es bei mir noch nicht klick gemacht ...
>
> PS: was hat das mit Didaktik zu tun?
>
ich wusste nicht genau, wo ich die Frage stellen soll und da ich diese Frage für die VL einführung in die mathematikdidaktik lösen muss, habe ich sie hier rein geschrieben :P
dankeschön!
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:40 So 26.01.2014 | Autor: | Diophant |
Hallo,
> Hallo Diophant!
>
> Vielen Dank für deine schnelle Antwort!
>
>
> > du benötigst zwei Variablen. Eine (in der wird die
> > gesuchte Summe stehen) beginnt bei a+1, die andere bei 1.
> > Jetzt überlege mal, was du dann für die zweite Variable
> > prüfen musst...
> >
> also kann ich jetzt z.B. sagen: x=a und y=a+1 und dann
> gucke ich x=y? wenn ja, dann muss ich weiterzählen also
> y=a+2?
> so ganz hat es bei mir noch nicht klick gemacht ...
Ne, überhaupt nicht. Schaue dir hierzu bitte die weitere Antwort von HJKweseleit an!
Gruß, Diophant
|
|
|
|
|
Offenbar darfst du nur zählen, worunter ich hier noch nicht einmal das Addieren von 1 verstehen will (sonst könnte man ja gleich b zu a addieren). Außerdem muss man auch noch Variablen auf 0 setzen können, sonst funktioniert ja gar nichts (oder man geht davon aus, dass diese zu Beginn den Wert 0 haben).
Befehl 1: Eingabe a,b
Befehl 2: Setze c=d=0 (evtl. mehrere Befehle)
Befehl 3: Zähle c hoch
Befehl 4: c=a? Dann gehe zu Befehl 6
Befehl 5: Gehe zu Befehl 3
Jetzt ist c=a, mehr ist gar nicht passiert. Falls man den Befehl "Setze c=a" hat, kann man Befehle 3 - 5 dadurch ersetzen. Jetzt zählen wir zu c einfach b hinzu:
Befehl 6: Zähle d hoch (neuer Zähler)
Befehl 7: Zähle c (weiter) hoch
Befehl 8: d=b? Dann gehe zu Befehl 10
Befehl 9: Gehe zu Befehl 6
Befehl 10: Gib c aus (c wurde (a+b)-mal hochgezählt)
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 15:40 So 26.01.2014 | Autor: | hubi92 |
Hallo HJKweseleit,
erstmal vielen dank!
> Befehl 1: Eingabe a,b
> Befehl 2: Setze c=d=0 (evtl. mehrere Befehle)
> Befehl 3: Zähle c hoch
wie skizziere ich das denn genau? c+1?
> Befehl 4: c=a? Dann gehe zu Befehl 6
> Befehl 5: Gehe zu Befehl 3
>
> Jetzt ist c=a, mehr ist gar nicht passiert. Falls man den
> Befehl "Setze c=a" hat, kann man Befehle 3 - 5 dadurch
> ersetzen. Jetzt zählen wir zu c einfach b hinzu:
>
> Befehl 6: Zähle d hoch (neuer Zähler)
> Befehl 7: Zähle c (weiter) hoch
und wie skizziere ich das?
> Befehl 8: d=b? Dann gehe zu Befehl 10
> Befehl 9: Gehe zu Befehl 6
> Befehl 10: Gib c aus (c wurde (a+b)-mal hochgezählt)
>
vielen lieben dank!
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 15:53 So 26.01.2014 | Autor: | leduart |
Hallo
a) man nennt einen programmierschritt "zähle vprwärts, den anderen vergleiche
Wie man die dann in einer konkrteten Sprache ausführt kann verschieden sein.
z.B a=a+1 oder a+=1 oder for n= 1 to a a=n
usw.
du willst ja nur sagen was man tun muss, etwa als Anweisung an einen Schüler, das muß kein computer sein.
wie addiert ein Kind mit den Fingern 3+4
zuerst zählt es 3 Finger ab, danach nacheinander 4 dazu.
Gruß leduart
|
|
|
|