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
Romiox

Registriert seit: 14. Okt 2010
Ort: Ruhrpott
57 Beiträge
 
#1

AW: Wer wird Millionär mit Delphi

  Alt 15. Jan 2013, 21:11
Und dafür habt Ihr nur 4 Wochen gebraucht? Respekt, jetzt fehlt nur noch ein "bisschen" Code und das Ding ist fertig
Ich sag das nur sehr ungern, aber das ist für nen Informatikkurs leider schon ne Leistung. Der Informatikunterricht an Schulen ist qualitativ leider für Hintern, vorallem was praktische Dinge angeht. Sortieren erklären: Gut und schön. Implemetieren? "Guckt doch mal im Internet ob Ihr was findet"... Dann ist halt die GUI schon ne Leistung. Mal ganz abgesehen davon, dass es bei mir im Kurs fast immer so war, dass dann noch Hilfe gebraucht wurde einen "gecopypasteten" Code in die Anwendung zu integrieren. Und der Parallelkurs, der in Java statt Delphi unterrichtet wurde, konnte am Ende zwar nen Käfer laufen lassen, aber kaum ein Applet mit mehr als 2 Knöpfen zusammenklicken...

Gruß,
Janis F.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 07:03
Ich habe ja mittlerweile schon viel Negatives über den Informatikunterricht gelesen, aber diese Beschreibung grenzt für mich schon an Realsatire
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 Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.284 Beiträge
 
Delphi 12 Athens
 
#3

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 07:56
Romiox Beschreibung stimmt leider. Und es war an den meisten Schulen früher auch nicht besser. Selbst in der dahingehend oft über den grünen Klee gelobten DDR nicht. Informatikunterricht damals sah bei uns so aus:

Die Karawane trabt in den Computerraum. Erstmal Heizung aufdrehen denn der Raum wird nur von einer Klassenstufe genutzt und ist entsprechend selten in Gebrauch. Dann die "Computer" (KC-87) einschalten und "vorglühen". Unter 15 Grad Celsius funktionierten nämlich die HF-Modulatoren nicht und die "Monitore" (eigentlich verkappte RFT-Campingfernseher) gaben nur Rauschen von sich. Das dauerte dann schon mal 10 Minuten. Wenns dann endlich soweit war, die Dinger noch einmal neustarten denn das BIOS wartete nur ca. 2 Minuten auf eine Eingabe und startete danach in irgendeinen speziellen Modus der für Diplomwissenschaftler gedacht war.

Dann folgt der regelmäßige Vortrag des Lehrers, wie man in den BASIC-Interpreter startet. Im BIOS "POKE 1234" (genaue Adresse weiß ich nicht mehr) eingeben und warten... warten... Kassette einlegen und "READ 1234, abc" eingeben. Warten... warten... Tadaaaa! Abgestürzt. Dieser Zustand war damals übrigens ein Greenscreen of Death, oder auch "GoD" genannt. Mangels Schulenglisch verstanden wir den Witz an der Sache aber erst Jahre später. Es lag aber auch zum Teil daran, dass wir Schwarzweiß-Monitore hatten.

Bis hier hin waren schon locker 25 Minuten ins Land gegangen bis so eine Informatikstunde effektiv beginnen konnte. Dann wurden Zettel ausgeteilt mit Codeschnipseln, die man abzutippen hatte. Am Ende der Stunde wurde das Ganze dann auf Kassette gespeichert.

So zog sich das das ganze Schuljahr hin. Und wenn man wirklich sauber "gecodet" (um nicht zu sagen saubere Augen-Hand-Koordination bewiesen) hatte, fügte sich die Sache am Jahresende zu einem kleinen Computerspiel in BASIC zusammen: U-Boot fahren durch Tropfsteinhöhlen. Sowas ähnliches wie eine Frühform von "Descent". Ich hab damals eine 1 dafür bekommen, dass ich meinem U-Boot eine Art Frontantenne verpasst hatte (simple Anpassung eines ANSI-Array).

Darum wundert mich die Beschreibung des heutigen Schul-IT-Unterrichts nicht wirklich. Die Lehrer die das machen sind doch selbst keine Informatiker und gehen streng nach Lehrbuch vor. Manche ödet die abendliche Einarbeitungszeit am heimischen PC auch noch an. Dann wird der Unterricht nicht wesentlich besser. Zumal sich nicht wenige Computerräume in unseren Schulen heute noch auf Pentium-1-Niveau mit Windows 98 befinden. Mangels kompatibler Malware mag das noch nicht mal ein Sicherheitsrisiko sein, aber Pluspunkte bringt das nicht ein. Zumal die Schüler oft gar nicht in der Lage sind, sich z.B. das an der Schule eingesetzte Delphi 2 für zu Hause zu besorgen da es das schlicht nicht mehr gibt und (vermutlich) unter Windows 8 auch gar nicht mehr läuft. Hat man gut betuchte Eltern, spendieren die einem ein XE3 Edu-Version. Doch was nützt das wenn man die Projekte von zu Hause nicht im Computerraum der Schule einsetzen kann?

Daher liebe Stammuser hier: Bitte lasst die hämischen Kommentare den Threadopenern gegenüber. Wir sollten doch froh sein wenn wir noch Delphi-Nachwuchs bekommen und dieser sogar mit Spaß an der Sache dabei ist. Wir sollten sie unterstützen und nicht mit Kommentaren wie "Ihr habt euch zu viel vorgenommen, schafft ihr eh nicht" noch entmutigen.

Zum Thema urheberrechtlich geschütztes Design: Schon mal was vom Schulprivileg gehört? Solange das nur im schulischen Rahmen verwendet wird ist es ok. Es sollte den jungen Leuten nur mal jemand erklären, dass man das dann nicht im Internet veröffentlichen darf (auch nicht als Screenshot).
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#4

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 08:17
Trotzdem wirst Du doch zugeben müssen, dass 4 Wochen für eine Gruppe eine recht lange Zeit ist, ein simples Formular zusammenzuklicken. Das könnte man höchstens noch mit demokratischer Abstimmung das Design betreffend rechtfertigen
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 Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.284 Beiträge
 
Delphi 12 Athens
 
#5

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 08:22
Man sollte den Kalender im Auge behalten. Es waren Weihnachtsferien dazwischen, oder?
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 10:00
[..] Selbst in der dahingehend oft über den grünen Klee gelobten DDR nicht. [..]
Beim Klassenfeind war’s auch nicht besser. In der Schule hatten wir überhaupt kein Informatikunterricht und später an der Uni mußten wir uns mit einem Siemens Großrechner rumquälen.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.284 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wer wird Millionär mit Delphi

  Alt 16. Jan 2013, 10:11
an der Uni mußten wir uns mit einem Siemens Großrechner rumquälen.
Die hatten wenigstens hartcodierte Standardpasswörter.
  Mit Zitat antworten Zitat
AlexII

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

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
 
#9

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
Antwort Antwort


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 01:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz