AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wer wird Millionär mit Delphi

Ein Thema von Infogruppe · begonnen am 19. Dez 2012 · letzter Beitrag vom 16. Jan 2013
Antwort Antwort
Seite 4 von 4   « Erste     234   
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#31

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 12:30
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.

Katastrophe also...
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!

Geändert von AlexII (16. Jan 2013 um 12:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#32

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 13:09
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 ) 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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#33

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 15:15
@Sir Rufo

@alle Informatikschüler
Was DeddyH verwundert, ist die Diskrepanz zwischen den Anforderungen des beruflichen Alltags und der schulischen Wirklichkeit.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#34

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 15:26
@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
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#35

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 15:55
[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
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#36

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 19:35
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#37

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 19:40
Wir kommen aber langsam arg vom Thema ab, oder?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:00 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