Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wer wird Millionär mit Delphi (https://www.delphipraxis.net/172219-wer-wird-millionaer-mit-delphi.html)

AlexII 16. Jan 2013 12:30

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:

Sir Rufo 16. Jan 2013 13:09

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:
Frage : string; // Ausgabe
Antwort1, Antwort2, Antwort3, Antwort4 : string; // Ausgabe
Richtig : Integer // Ausgabe
oder (wenn ihr Delphi-Referenz durchsuchenarray schon kennt)
Delphi-Quellcode:
Frage : string; // Ausgabe
Antworten : array[1..4] of string; // Ausgabe
Richtig : Integer // Ausgabe
Schön wäre es jetzt auch, wenn jede Frage pro Runde nur einmal gestellt wird.
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:
GestellteFragenKennzeichen : array of integer; // Eingabe
FrageKennzeichen : Integer; // Ausgabe
Frage : string; // Ausgabe
Antworten : array[1..4] of string; // Ausgabe
Richtig : Integer // Ausgabe
Diese Fragen sollen aus einer Datei gelesen werden, dann wird ja noch der Dateiname benötigt
Delphi-Quellcode:
DateiName : string;
GestellteFragenKennzeichen : array of integer; // Eingabe
FrageKennzeichen : Integer; // Ausgabe
Frage : string; // Ausgabe
Antworten : array[1..4] of string; // Ausgabe
Richtig : Integer // Ausgabe
In Delphi/Pascal (und eingeenglischt :mrgreen:) umgesetzt würde das dann so aussehen:
Delphi-Quellcode:
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;
Um nun der Gruppe ein unabhängiges Arbeiten zu ermöglichen, werden diese Teile als Dummys programmiert.
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:
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.
Sind alle diese Dummys dann fertig, und mit der Oberfläche verbunden, dann fühlt sich die Oberfläche auch schon lebendig an.

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. :)

p80286 16. Jan 2013 15:15

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

DeddyH 16. Jan 2013 15:26

AW: Wer wird Millionär mit Delphi
 
Zitat:

Zitat von p80286 (Beitrag 1199283)
@alle Informatikschüler
Was DeddyH verwundert, ist die Diskrepanz zwischen den Anforderungen des beruflichen Alltags und der schulischen Wirklichkeit.

Ich hätte es selbst nicht besser ausdrücken können :thumb:

Dalai 16. Jan 2013 15:55

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

Codehunter 16. Jan 2013 19:35

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.

DeddyH 16. Jan 2013 19:40

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.
Seite 4 von 4   « Erste     234   

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