Übungsaufgabe für alle :: Nr. 1
Übersicht

![]() |
wunderkindBetreff: Übungsaufgabe für alle :: Nr. 1 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im Studium wurden wir diese Woche mit untenstehender Aufgabe belästigt. Umzusetzen mit Pascal 6.0, welches eine Reihe Nachteile gegenüber BlitzBasic hat (Vorteile natürlich auch).
Dabei kam mir die Idee, dass diese Aufgabe auch all jene (und die anderen ![]() Also, seht's euch an und versucht euch daran! Wenn Fragen sind, dann werden die (erfahreneren) Mitglieder dieses Forums euch sicher helfen. Die Spezies unter uns bitte ich darum, sich eben auf diese Hilfe zu beschränken und keine Komplettlösungen zu posten. Die Aufgabe (Ende & Lösung: Fr. 12.11., 22:00) Ein pyrotechnisches Experiment soll simuliert werden. Für das Experiment stehen 4 Zutaten zur Auswahl. Zudem wird gefragt ob die Raumtemperatur über 30°C ist, der Arbeitsbereich sauber ist und ob das Ansetzen der Mischung in einem Sicherheitsabzug durchgeführt wird. Die Mengen der einzelnen Zutaten 1 bis 4 werden vom Programm nacheinander abgefragt. Sollte eine Zutat nicht verwendet werden, dann gibt der Anwender als Menge 0 an. Anschließend werden die booleschen Fragen gestellt - ob die Raumtemperatur über 30°C ist und der Arbeitsbereich sicher ist. Nun muss dass Programm ermitteln ob die Verbindung stabil ist, oder in die Luft geht. Das Programm gibt aus: Die Verbindung ist stabil: <TRUE/FALSE> Dabei gibt es folgende Kriterienliste
Drastische Einschränkung: zur Lösung der Aufgabe dürfen keine Select / Case Anweisungen und keine if / then Abfragen benutzt werden. Tipp: Die Aufgabe lässt sich über boolesche Operationen lösen. Wenn euch dieser Tipp verwirrt, dann ignoriert ihn ![]() Weiterer Tipp: Sammelt die Informationen für euch auf einem Zettel und macht euch klar, was die Aufgabe tatsächlich von euch will. Viel Erfolg! |
||
![]() |
Ctuchik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das sollte funktionieren, habs aber nicht besonders ausführlich getestet!
Code: [AUSKLAPPEN] editiert by Triton |
||
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle! Fraget euren Arzt oder Apotheker! |
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
-=Laugh Out Loud=- | ||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Möööönsch Ctuchik:
wunderkind hat Folgendes geschrieben: ...keine Komplettlösungen zu posten.
Post die Lösung doch bitte erst nach "Ende" der Aufgabe, damit keiner "abschreiben" kann ![]() @ Topic: Gefällt mir sehr gut. Will mehr davon ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
judos |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
was ist wenn man pascal 6.0 nicht hat ???
kann man das irgend wo herunterladen ??? möchte es gerne einmal ausprobieren..... |
||
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Wenn du es nicht hast, dann nimmst du BlitzBasic... ![]() Und vom runterladen würde ich abraten! Bzw, die Version 5.0 gibts kostenlos (soweit ich weis) alles darüber kostet! grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
Ctuchik |
![]() Antworten mit Zitat ![]() |
---|---|---|
BladeRunner hat Folgendes geschrieben: Möööönsch Ctuchik:
Post die Lösung doch bitte erst nach "Ende" der Aufgabe, damit keiner "abschreiben" kann ![]() Oh, tut mir leid, das hab ich irgendwie überlesen ![]() naja, jetz is eh egal jetzt isses weg, nochmal schreib ich des eh net ![]() |
||
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle! Fraget euren Arzt oder Apotheker! |
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Aufgabe soll selbstverständlich mit BlitzBasic gelöst werden! ![]() Also: BlitzBasic benutzen. |
||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hätte eventuell auch noch 1,2 Knobelaufgaben, für Turbo Pascal!
Machen wir in Informatik... Die könnte ich dann hier reinsetzen. Natürlich kann man zur Lösung dann BB nutzen. |
||
~ Hey Ho Let's Go ~ |
![]() |
Twit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey das mit der aufgabe find ich cool. Da kommt mir wider die diskussion über das wikki buch in den sinn. Mann könnte doch son wikki buch oder ne website machen wo man dann ne mänge von aufgaben für Noob's finden kann. | ||
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, ich habs auch mal gelöst.....
Jetzt ist mir etwas in den Sinn gekommen: Man kann ja eigentlich if-Abfragen auch mit einer While-Schleife machen (habs nicht so gemacht!): Code: [AUSKLAPPEN] While x=y and b=0 mach etwas exit wend Das ist ja auch nicht erlaubt, denke ich?? cu simi |
||
![]() |
pile |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doch, da es in der Aufgabenstellung nicht erwähnt wurde.
Hab aber auch mal 2 Fragen: Soll das Programm Hinweise darauf geben warum die Mischung nun Explodiert ist und kann danach noch mal gemischt werden oder endet dann das Programm? |
||
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238% |
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
@simi
Also mit Schleifen die logischen Ergebnisse zu erfragen ist ziemlich ineffizient ![]() @pile Nein, der Hinweis muss nicht gegeben werden, zumal die Prüfung ohne If recht umständlich ist. Wenn du willst., kannst du das Programm neu starten, das ist aber nicht Bestandteil der Aufgabe. Nett wäre es aber, wenn man das Ergebnis zu Gesicht bekommt ![]() |
||
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ha!! habs auch geschafft, diese Aufgabe gefällt mir, weil sie mal was ganz anderes ist. Hier merkt man mal, wie wichtig die Bedingungen sind *gg*.
@Simi: Das geht auch ohne Schleifen als Bedingungen... ![]() wo darf man denn mal seine Lösung präsentieren? |
||
![]() |
pile |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also sind while schleifen erlaubt. Simi hat schon recht, wenn sie richtig genutzt werden isses das Selbe wie ne If-Abfrage. | ||
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238% |
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Timo
Lass den anderen noch bis Freitagabend Zeit. Dann kannst du hier deinen Lösungsweg posten und wir werden darauf hinweisen, was gut ist oder was besser gemacht werden könnte. |
||
![]() |
pile |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab noch ne kleine Frage: Was soll passieren wenn man bei über 30 Grad arbeitet, also wo es ja eigendlich explodiert aber man bei jeder Zutat 0 Gramm angibt? Soll das ganze dann auch explodieren?
Ich weiß wenn man logisch überlegt kann es nicht explodieren, aber vieleicht gehört es ja trotzdem zur Aufgabenstellung. |
||
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238% |
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hast recht, das könnte man ja noch einbauen, das am Ende noch einmal geprüft wird, ob die Temp. über 30 Grad ist, und ob wir vielleicht gar kein Gemisch haben. | ||
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
pile hat Folgendes geschrieben: Ich hab noch ne kleine Frage: Was soll passieren wenn man bei über 30 Grad arbeitet, also wo es ja eigendlich explodiert aber man bei jeder Zutat 0 Gramm angibt? Soll das ganze dann auch explodieren?
Richtig, das ist eigentlich eine Lücke. Also, wenn die Mengenangaben überall 0 sind, dann ist es unerheblich, was mit den Folgebedingungen ist. In diesem Fall ist die Verbindung stabil und es kommt zu keiner Explosion. Wenn der Fall bisher nicht berücksichtigt wurde, macht das nichts. Es stand ja auch nicht in der Aufgabenstellung. Ist mir auch nicht aufgefallen. |
||
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
wunderkind hat Folgendes geschrieben: Also mit Schleifen die logischen Ergebnisse zu erfragen ist ziemlich ineffizient
stimmt nicht, weil:Code: [AUSKLAPPEN] while x=y and b=0
wird (ungefähr):Code: [AUSKLAPPEN] mach etwas exit wend 0: mov eax, [x] ;schieb x in eax
genau das gleiche wie IF..THEN, weil 8 (wend) nie ausgeführt wird...
1: test eax, [y] ;x = y? 2: jnz @9 ;wenn nicht, spring zur ende loop 3: mov eax, [b] ;schieb b in eax 4: test eax, eax ;b gleich 0? 5: jnz @9 ;wenn nicht, spring zur ende loop 6: { mach etwas } 7: jmp @9 ;exit 8: jmp @0 ;wend 9: { weitere befehle } EDIT: deswegen ist es tatsächlich eine IF..THEN abfrage, nur anders geschrieben... also ich würde sagen es ist genau so wenig erlaubt wie IF..THEN |
||
Norweger...
Spreche aber verdammt gut 8086 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group