Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Programmierung » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Programmierung
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Kira007
Grünschnabel


Dabei seit: 28.09.2006
Beiträge: 6

Programmierung Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo zusammen

a:10
Wiederhole, falls a> 10
a:a-100
Ausgabe a =10 diese Aufgabe ist mir klar


ich habe vor ein paar Tagen mit der Prgrammierung angefangen und habe irgendwie ein Problem mit folgender Aufgabe.

A: 200

Wiederhole, falls b > 10
a=a-100
b=a*2

Ausgabe a

Hoffe mir kann dabei jemand helfen, möchte gerne wissen was ich als Ausga a erhalte wenn b 1000 ist.
Gruß Kira
28.09.2006 16:50 Kira007 ist offline E-Mail an Kira007 senden Beiträge von Kira007 suchen Nehmen Sie Kira007 in Ihre Freundesliste auf
Crotaphytus
Mitglied


Dabei seit: 18.09.2006
Beiträge: 45

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Prinzipiell würd ich ja sagen, probiers aus... Augenzwinkern


Allerdings kannst du dir das auch so überlegen: In der Schleife wird b nur abhängig von a geändert. Das heißt, wie du b vorher setzt, ist vollkommen egal, das beeinfluss nur, ob die Schleife anläuft oder nicht. Wenn sie das tut, ist das Verhalten immer gleich.

__________________
Das ist keine Signatur.
28.09.2006 17:32 Crotaphytus ist offline E-Mail an Crotaphytus senden Beiträge von Crotaphytus suchen Nehmen Sie Crotaphytus in Ihre Freundesliste auf Fügen Sie Crotaphytus in Ihre Kontaktliste ein
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

generell lohnt sich bei solch kleinen Schleifen eine Tabelle mit den Variablen als Spalten und jede Zeile ine Iterationsschritt. Damit kommt man meist zum Ziel.
Bei größeren Schleifen kann man so anfangen und erkennt dann meist die Regelmäßigkeit und die Abbruchbedingung ist klar.

Wenn Du magst, kannst ja mal die ersten beiden Iterationen hinschreiben Augenzwinkern
28.09.2006 17:51 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
Kira007
Grünschnabel


Dabei seit: 28.09.2006
Beiträge: 6

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

also bei der zweiten Aufgabe habe ich nicht wiklich eine Ahnung wie es funktioniert, wäre super wenn es mir jemand erklären könnte.

Das Gleichheitszeichen in der Informatik hat doch auch eine andere Bedeutung als in der Mathematik oder ?

was würde ich z.B. als Ausgabe a erhalten wenn ich b = 100 setze ?

Als Ausgabe erhalte ich Null ?



Gruß Kira

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Kira007: 28.09.2006 23:12.

28.09.2006 23:07 Kira007 ist offline E-Mail an Kira007 senden Beiträge von Kira007 suchen Nehmen Sie Kira007 in Ihre Freundesliste auf
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das Gleichheitszeichen wird in den meisten Dialekten als Zuweisung von rechts nach links interpretiert.

a=a-100 heißt demnach

substrahiere 100 von a und speichere das Ergebnis wieder in a.

Eine ebenfalls mögliche Schreibweise ist
code:
1:
a-=100

Und ist äquvalent zur oberen
28.09.2006 23:18 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
Kira007
Grünschnabel


Dabei seit: 28.09.2006
Beiträge: 6

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ok, Danke für die Erklärung habs verstanden

wie würde dann die 1Iteration aussehen, mit b:1000


Gruß Kira
28.09.2006 23:26 Kira007 ist offline E-Mail an Kira007 senden Beiträge von Kira007 suchen Nehmen Sie Kira007 in Ihre Freundesliste auf
dachdecker2
Moderator


Dabei seit: 14.09.2006
Beiträge: 20

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Crotaphytus
Prinzipiell würd ich ja sagen, probiers aus... Augenzwinkern


Allerdings kannst du dir das auch so überlegen: In der Schleife wird b nur abhängig von a geändert. Das heißt, wie du b vorher setzt, ist vollkommen egal, das beeinfluss nur, ob die Schleife anläuft oder nicht. Wenn sie das tut, ist das Verhalten immer gleich.


Da steht die Lösung schon drin - wenn b größer als 10 ist, wird die Schleife ausgeführt, ansonsten wird sie übergangen. In der Regel kannst du davon ausgehen, dass b einen Zufallswert enthält, wenn du es nicht selbst mit einem bestimmten Wert initialisierst. Folglich wird das Programm je nach Variablentyp von b mehr oder weniger oft die Schleife ausfürhen oder nicht.

Beispiel: Wenn b vom Typ unsigned char ist (dessen Wertebereich von 0 bis 255 reicht), und echte Zufallswerte im Speicher stehen, kannst du davon ausgehen, dass die Schleife in etwa 245 von 255 Starts ausgeführt wird. a (einige Programmiersprachen sind case sensitive, d.h. sie unterscheiden zwischen Groß- und Kleinschreibung -> A = 200 verändert in diesen Sprachen den Wert von A, nicht den von a) wird nach der Ausführung der Schleife 0 sein. In jedem Durchlauf 100 von a abgezogen werden und nach dem zweiten Durchlauf die Schleifenbedinung nicht mehr erfüllt ist.

Mache doch mal die angesprochene Tabelle, in der du die Spalten Schleifendurchlauf, a und b mit Zahlen belegst.

Bevor du dir eine Unart aneignest Augenzwinkern - du solltest zur besseren Übersichtlichkeit Zusammengehörigen Code gleich einrücken, zum Beispiel so:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
a: 200

Wiederhole, falls b > 10
    a=a-100
    b=a*2

// so ein Fenster bekommst du mit [code] Fensterinhalt [/code ]


__________________
Gruß, dachdecker2

http://rettedeinefreiheit.de
29.09.2006 07:55 dachdecker2 ist offline E-Mail an dachdecker2 senden Beiträge von dachdecker2 suchen Nehmen Sie dachdecker2 in Ihre Freundesliste auf Fügen Sie dachdecker2 in Ihre Kontaktliste ein MSN Passport-Profil von dachdecker2 anzeigen
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich hüpf dir mal auf die Spürnge mit der ersten Zeile der Tabelle: (Hinweis: b sollte größer 10 sein Augenzwinkern )

code:
1:
2:
3:
4:
5:
b: 20

i	a	b
00	200	20
01	

Und jetzt Du weiter.

Noch ein tip: drück auf zitieren und entferne die [quote] tags, um meinen Code weiterbenutzen zu können.
29.09.2006 08:51 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
Kira007
Grünschnabel


Dabei seit: 28.09.2006
Beiträge: 6

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

OK, Danke für Eure Hilfe

was bedeutet das i, und wie kommst Du auf die 20 ?, frage lieber bevor ich weiter mache

oder hast Du b:20 als Startwert genommen ?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Kira007: 29.09.2006 09:12.

29.09.2006 09:05 Kira007 ist offline E-Mail an Kira007 senden Beiträge von Kira007 suchen Nehmen Sie Kira007 in Ihre Freundesliste auf
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

i steht in der Regel für Iteration(sschritte) soll einfach nur durchzähken.

Und ja ich habe b einfach auf 20 gesetzt, damit die Schleife losgeht Augenzwinkern

Jan
29.09.2006 09:44 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
Kira007
Grünschnabel


Dabei seit: 28.09.2006
Beiträge: 6

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
b: 20

i	a	b
00	200	20
01	100     200


ist das so richtig verwirrt

oder wäre es dann aufgrund Das Gleichheitszeichen wird in den meisten Dialekten als Zuweisung von rechts nach links interpretiert.

a=a-100 heißt demnach

substrahiere 100 von a und speichere das Ergebnis wieder in a.

code:
1:
2:
3:
4:
5:
b: 20

i	a	b
00	200	20
01	300     600

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Kira007: 29.09.2006 15:43.

29.09.2006 15:40 Kira007 ist offline E-Mail an Kira007 senden Beiträge von Kira007 suchen Nehmen Sie Kira007 in Ihre Freundesliste auf
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Kira007
code:
1:
2:
3:
4:
5:
b: 20

i	a	b
00	200	20
01	100     200


ist das so richtig verwirrt

Ja, wie Du auf das zweite kommst ist mir unklar verwirrt

denn
Zitat:
Das Gleichheitszeichen wird in den meisten Dialekten als Zuweisung von rechts nach links interpretiert.

a=a-100 heißt demnach

substrahiere 100 von a und speichere das Ergebnis wieder in a.

hast Du ja genau gemacht:

200-100 = 100 und das wir in a gespeichert (und damit der alte Wert überschrieben!)

Machst Du denn die Sache noch zu Ende?

Jan
04.10.2006 13:07 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
Kira007
Grünschnabel


Dabei seit: 28.09.2006
Beiträge: 6

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ist schon alles klar.

Danke Dir

Gruß Kira
14.10.2006 09:34 Kira007 ist offline E-Mail an Kira007 senden Beiträge von Kira007 suchen Nehmen Sie Kira007 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Programmierung