AW: Wer wird Millionär mit Delphi
Als ich mein Fachabi (Schwerpunkt Wirtschaftsinformatik) gemacht habe, hatten wir am Ende des Jahres gerade so nen Benzinrechner programmiert, mit 4 Edits, 2 Buttons und ein Paar Labels... Ah... und nicht zu vergessen, noch ein Paar Images waren dabei, wow war das ne Leistung. Und selbstverständlich hab ich dafür ne 1 bekommen. :thumb:
Katastrophe also... :pale: |
AW: Wer wird Millionär mit Delphi
Um diesen Thread noch zu retten, kehre ich mal wieder zum Thema zurück :)
Ihr solltet nun einen groben Ablaufplan erstellen, wann was ausgeführt werden soll. Damit unterteilt ihr das Gesamtproblem in kleine Teilprobleme, die dann sehr schön von einzelnen ausprogrammiert werden können. Ihr braucht z.B. etwas, dass euch die nächste Frage liefert. Das umfasst die Frage selber, 4 Antwortmöglichkeiten und welche der Antworten richtig ist.
Delphi-Quellcode:
oder (wenn ihr array schon kennt)
Frage : string; // Ausgabe
Antwort1, Antwort2, Antwort3, Antwort4 : string; // Ausgabe Richtig : Integer // Ausgabe
Delphi-Quellcode:
Schön wäre es jetzt auch, wenn jede Frage pro Runde nur einmal gestellt wird.
Frage : string; // Ausgabe
Antworten : array[1..4] of string; // Ausgabe Richtig : Integer // Ausgabe Dafür benötigt man die eindeutigen Kennzeichen für jede bislang gestellte Frage und jede Frage muss auch so ein eindeutiges Kennzeichen haben.
Delphi-Quellcode:
Diese Fragen sollen aus einer Datei gelesen werden, dann wird ja noch der Dateiname benötigt
GestellteFragenKennzeichen : array of integer; // Eingabe
FrageKennzeichen : Integer; // Ausgabe Frage : string; // Ausgabe Antworten : array[1..4] of string; // Ausgabe Richtig : Integer // Ausgabe
Delphi-Quellcode:
In Delphi/Pascal (und eingeenglischt :mrgreen:) umgesetzt würde das dann so aussehen:
DateiName : string;
GestellteFragenKennzeichen : array of integer; // Eingabe FrageKennzeichen : Integer; // Ausgabe Frage : string; // Ausgabe Antworten : array[1..4] of string; // Ausgabe Richtig : Integer // Ausgabe
Delphi-Quellcode:
Um nun der Gruppe ein unabhängiges Arbeiten zu ermöglichen, werden diese Teile als Dummys programmiert.
procedure GetNextQuestion(
// Eingabe-Argumente const FileName : string; // Dateiname mit dem Fragenkatalog QuestionIDArr : array of integer; // bereits gestellte Fragen // Ausgabe-Argumente out QuestionID : Integer; // ausgewählte Frage-ID out Question : string; // Fragetext out Answers : array[1..4] of string; // Antworten CorrectAnswerIndex : Integer // Index der richtigen Antwort (1..4) ); begin // hier kommt der Code end;
Delphi-Quellcode:
unit Form1;
interface ... implementation uses ... QuestionCatalogue_Dummy; ... procedure TForm1.Foo( Sender : TObject ); var LQuestionID : Integer; LQuestion : string; LAnswers : array[1..4] of string; LCorrectAnswer : Integer; begin GetNextQuestion( FQuestionFile, FQuestionArray, LQuestionID, LQuestion, LAnswers, LCorrectAnswer ); end;
Delphi-Quellcode:
Sind alle diese Dummys dann fertig, und mit der Oberfläche verbunden, dann fühlt sich die Oberfläche auch schon lebendig an.
unit QuestionCatalogue;
interface procedure GetNextQuestion( // Eingabe-Argumente const FileName : string; // Dateiname mit dem Fragenkatalog QuestionIDArr : array of integer; // bereits gestellte Fragen // Ausgabe-Argumente out QuestionID : Integer; // ausgewählte Frage-ID out Question : string; // Fragetext out Answers : array[1..4] of string; // Antworten CorrectAnswerIndex : Integer // Index der richtigen Antwort (1..4) ); implementation procedure GetNextQuestion( // Eingabe-Argumente const FileName : string; // Dateiname mit dem Fragenkatalog QuestionIDArr : array of integer; // bereits gestellte Fragen // Ausgabe-Argumente out QuestionID : Integer; // ausgewählte Frage-ID out Question : string; // Fragetext out Answers : array[1..4] of string; // Antworten CorrectAnswerIndex : Integer // Index der richtigen Antwort (1..4) ); var LIdx : Integer; begin // eindeutige QuestionID ermitteln repeat QuestionID := Random( 100 ) + 1; for LIdx := Low( QuestionIDArr ) to High( QuestionIDArr ) do if QuestionID = QuestionIDArr[LIdx] then begin QuestionID := 0; Break; end; until QuestionID <> 0; CorrectAnswerIndex := Random( 4 ) + 1; for LIdx := 1 to 4 do if LIdx = CorrectsAnswerIndex then Answers[LIdx] := 'richtige Antwort' else Answers[LIdx] := 'falsche Antwort'; end; end. Jetzt kann ein jeder den ihm zugeteilten Part ausprogrammieren und gleich mit der Oberfläche testen. Zum Schluss werden alle die Dummys gegen die echten Funktionen ersetzt und es sollte ein fertiges Programm herauskommen. :) |
AW: Wer wird Millionär mit Delphi
@Sir Rufo :thumb:
@alle Informatikschüler Was DeddyH verwundert, ist die Diskrepanz zwischen den Anforderungen des beruflichen Alltags und der schulischen Wirklichkeit. Gruß K-H |
AW: Wer wird Millionär mit Delphi
Zitat:
|
AW: Wer wird Millionär mit Delphi
[OT]
Nun, die Schule bietet nunmal kein Informatikstudium oder auch nur eine Ausbildung in diese Richtung. In der Schule können und sollen nur Grundlagen vermittelt werden, auf die man später aufbauen kann. Dass diese Grundlagen nicht immer das sind, was sie sein sollten, steht dabei außer Frage, aber dennoch auf einem anderen Blatt. [/OT] MfG Dalai |
AW: Wer wird Millionär mit Delphi
Ich denke, es reicht vollkommen wenn es die Schule schafft ein paar Grundlagen zu vermitteln und vorallem das Interesse zu wecken. Software konsumieren ist leicht und kann jeder, Software erschaffen ist schon etwas anspruchsvoller.
|
AW: Wer wird Millionär mit Delphi
Wir kommen aber langsam arg vom Thema ab, oder?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz