Autor |
Beitrag |
Ilay
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 20.04.10 21:36
Hallo meine Freunde
Ich bin ein absoluter Anfänger, was das Programmieren mit Delphie angeht, mich interessiert dieser Bereich der Informatik jedoch sehr.
Ich habe zwei Aufgaben die mir keine Ruhe lassen und ich einfach keinen Ansatz bzw überhaupt ein ganzes Programm zustande krieg.
Würde sich jmd von euch die Mühe machen mir so viele Ansätze wie möglich zu geben, oder sogar einen gesamten Programmausdruck hier zu antworten, wäre ich ihm sehr sehr dankbar!
1. Es soll die Summe aller ungeraden Zahlen von 1 bis zu einem einzugebenden Höchstwert n berechnet und ausgegeben werden!
Bsp: n=10 dann soll 1+3+5+7+9 addiert werden und z=25 ausgegeben werden.
2. Wieviel gerade zahlen (der erste Summand ist 2) sind zu addieren, damit eine einzugebende Summe s erreicht oder überschritten wird?
- hier hab ich garkeine Idee bzw Ansätze!
Ich bin auf eure Hilfe angewiesen und hoffe ihr könnt mir weiterhelfen!
Gruß Ilay
Moderiert von Narses: Titel geändert: Ausrufezeichen entfernt.
|
|
Jann1k
      
Beiträge: 866
Erhaltene Danke: 43
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: Di 20.04.10 21:59
zu 1)
Ansatz1:
Du initialisierst einen Wert auf 1, dann nimmst du eine while Schleife, die überprüft, ob dein Wert größer als der Höchstwert ist, ist dies nicht der fall, addierst du den Wert zu deiner Summe hinzu und erhöhst den Wert auf 1.
zu 2)
Du machst dasselbe in grün (also Wert bei 2 initialisieren) und zählst nebenbei eine Variable in der while Schleife hoch.
|
|
Ilay 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 20.04.10 22:10
und wie sieht das als Befehl in Delphi aus?
|
|
Jann1k
      
Beiträge: 866
Erhaltene Danke: 43
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: Di 20.04.10 22:20
Zitat: |
und wie sieht das als Befehl in Delphi aus?
|
Das findet sich hier(Die Kapitel über Variablen und Kontrollstrukturen):
www.christian-stelzm...rtikel/crashkurs.htm
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Di 20.04.10 23:01
Hey
Das Tänzchen können wir uns wahrscheinlich sparen, oder zumindest etwas verkürzen  : Fertigen Code wird dir wahrscheinlich niemand einfach nur hinschreiben.
Eine While-Schleife führt den im Block( begin end;) stehenden Code so lange aus, bis ihre Bedingung nicht mehr erfüllt ist. Als erstes musst du also überlegen, was diese Bedingung ist.
Dann:
1)Was muss ich vor der Schleife machen(Startwert für Variablen wählen)?
2)In der Schleife: - Was mache ich mit der aktuellen Zahl?
- Wie komme ich von der aktuellen Zahl auf die nächste?
3)Fertig.
Für die 2. Aufgabe musst du die Abbruchbedingung überarbeiten.
Die Sprache heißt übrigens Delphi(ohne e..), und hat mit Informatik so viel zu tun wie Ausbildung mit Studium.
lg,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Zuletzt bearbeitet von Hidden am Mi 21.04.10 12:42, insgesamt 2-mal bearbeitet
|
|
jfheins
      
Beiträge: 918
Erhaltene Danke: 158
Win 10
VS 2013, VS2015
|
Verfasst: Di 20.04.10 23:18
Crossposts bitte angeben 
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Mi 21.04.10 10:30
|
|
Ilay 
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 21.04.10 13:44
ja wie gesagt ich bin absoluter anfänger in diesem Bereich und habe gehofft, dass mir jmd 1 Beispiel für jeweils eine rechnung posten könnte? 
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mi 21.04.10 13:53
zu beispiel 1 folgendes (beispiel 2 geht ja mehr oder weniger analog):
Quelltext 1: 2: 3: 4: 5: 6:
| i = 1; x = 1; solange n > i ist dann erhöhe i um 1; zähle zu x 2 dazu; gib x aus. |
so, näher an Quellcode geh ich nicht ran. Ich hab keine Lust Hausaufgaben für andere zu machen. Immerhin hast du dir das Fach ja selbst ausgesucht.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 21.04.10 14:17
Hier gibt es übrigens die Lösung inklusive Code: www.delphipraxis.net...1148189.html#1148189
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mi 21.04.10 14:32
Geile Lösung, muss man neidlos zugeben (naja, eig. bin ich neidisch^^) aber ob es zielführend ist fertige (und noch dazu derart komplexe) lösungen zu posten ist fraglich.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mi 21.04.10 14:32
 Na, wenn er besonders mal das Zweite abgibt, prost Mahlzeit xD
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Ilay 
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 21.04.10 15:31
Auch hier bedanke ich mich nochmal
Wer weitere, möglicherweise leichtere lösungvorschläge geben kann bitte trotzdem posten.
Meiner Meinung nach gibt es eine einfachere Lösung ungerade Zahlen zu ermitteln.
1. Möglichkeit: 2n -1
2. Möglichkeit: ungerade Zahl (Bsp 1) + 2 (somit kommt man ebenfalls immer auf ungerade)
Wie würde das in einem Quelltext aussehen?
|
|
JoelH
      
Beiträge: 806
Erhaltene Danke: 17
Win10
Delphi Alexandria 11.2 Patch 1
|
Verfasst: Mi 21.04.10 16:31
Ilay hat folgendes geschrieben : |
Wer weitere, möglicherweise leichtere lösungvorschläge geben kann bitte trotzdem posten.
|
man kanns zB. rekursiv lösen.
Ilay hat folgendes geschrieben : |
Wie würde das in einem Quelltext aussehen? |
Zwölfzeilig bei mir, zweimal if verwendet, einmal mod.
Aber mal im Ernst, wenn dir wirklich was am Programmieren liegt, wie oben geschrieben, dann lerns halt. Hab ich auch gemacht, jetzt war die Umsetzung eine Fingerübung von 2 Minuten.
_________________ mfg. Joel
|
|
Ilay 
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 21.04.10 16:58
JoelH
Sicher bin ich interessiert und durch di gegebenden tipps bin ich auch um einiges vorran gekomm, was mir fehlt ist halt dieses Umsetzen durch die verschiedensten Anwendungen und was es alles gibt.
Wie würde der Quelltext dann bei dir aussehen JoelH??
|
|
martin300
      
Beiträge: 186
Erhaltene Danke: 2
|
Verfasst: Mi 21.04.10 17:05
Hallo,
du brauchst doch nur in der Delphi Hilfe nachsehen zb.
www.delphibasics.co.uk/RTL.asp?Name=Odd
|
|
JoelH
      
Beiträge: 806
Erhaltene Danke: 17
Win10
Delphi Alexandria 11.2 Patch 1
|
Verfasst: Do 22.04.10 08:21
Ilay hat folgendes geschrieben : | JoelH
Sicher bin ich interessiert und durch di gegebenden tipps bin ich auch um einiges vorran gekomm, was mir fehlt ist halt dieses Umsetzen durch die verschiedensten Anwendungen und was es alles gibt.
Wie würde der Quelltext dann bei dir aussehen JoelH?? |
Du bekommst den Code am Tag nach dem Hausaufgabenabgabedatum.
_________________ mfg. Joel
|
|
Ilay 
Hält's aus hier
Beiträge: 7
|
Verfasst: Do 22.04.10 11:46
die Abgabe war heute
einige meiner Mitschüler mussten ihr Programm vorstellen, ich musste nicht.
Mich interessiert trotzdem wie der Code nun aussehen würde, damit ich auch ein lauffähiges Programm habe und somit bei weiteren Programm im weiteren Schuljahr "mitreden" kann
Wie würde der Code nun bei dir aussehen Joel`?
LG
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Do 22.04.10 12:06
Sicher
Wir erwarten ja gar nicht, dass du es ohne Beispiel verstehst. Aber Das läuft ziemlich schnell auf ein generelles Verständnis von Schleifen heraus. Und das ist so elementar wie + oder *: Das kannst du entweder verschleppen oder nicht, aber nachholen musst du es am Ende in jedem Fall.
Schau' dir einfach ncoh einmal meine Step-by-Step-Anleitung von oben an. Vielleicht kann es dir helfen, dich schrittweise heranzutasten: - Eine Schleife, die Alle Zahlen von m bis n Addiert
- Eine Schleife, die alle geraden/ungeraden Zahlen einmal per ShowMessage(IntToStr(..)); ausgibt
lg,
PS: Wenn Deutsch nicht deine Muttersprache ist, warum klingen dann deine Aufgabenstellungen so typisch?  (nicht weiter diskutieren, schau' dir einfach Schleifen noch einmal an.)
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
JoelH
      
Beiträge: 806
Erhaltene Danke: 17
Win10
Delphi Alexandria 11.2 Patch 1
|
Verfasst: Mo 26.04.10 09:25
_________________ mfg. Joel
|
|