Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 44

Thema: Contest: Tutorial zum Programmieren eines Taschenrechners

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Contest: Tutorial zum Programmieren eines Taschenrechners

    Wie im „Eine-Idee“-Thread ( http://www.multimediaxis.de/showthread.php?t=60590 ) bereits angekündigt, folgt nun die Aufgabenstellung von meiner Seite aus.

    Contest: Tutorial zum Programmieren eines Taschenrechners

    - Vorwort -

    Da sich anscheinend sonst keiner dafür bereit erklärt, den Wettbewerb zu leiten, dachte ich mir, dass die Idee daran nicht scheitern dürfe, einen solchen Contest zu veranstalten.

    - Aufgabenstellung -

    Kurzform:

    Schreibe ein Tutorial für Anfänger zum Programmieren eines Taschenrechners in einer beliebigen Programmiersprache.

    Detailreicher:

    Es gibt 3 verschiedene Stufen:

    Stufe1:
    Der Taschenrechner umfasst: Addition, Subtraktion, Multiplikation und Division.

    Stufe2:
    Stufe1 + Geometrische Flächenberechnung (z.B. Quadrat, Kreis, Drachen)

    Stufe3:
    Stufe2 + Geometrische Körperberechnung (z.B. Quader, Kugel, Zylinder, Kegel)

    Bei Stufe 2 und 3 steht es dem Wettbewerbsteilnehmer frei, in wiefern er die Berechnungen umsetzt und welche er integriert.

    Grundsätzlich gilt, dass der spätere Benutzer des Programms 2 Zahlen selbst eingeben kann und dazu die gewünschte Rechenart wählt. Darauf soll entweder eine Schaltfläche mit einem „=“ oder ähnlicher Bedeutung zur Verfügung stehen. Wird diese (oder vll. [Enter]) betätigt, so wird das Ergebnis der Rechnung angezeigt.
    Wie das im Einzelnen bei Stufe 2 und 3 aussieht, bleibt, wie bereits erwähnt, dem Teilnehmer überlassen.

    Es kann jede Programmiersprache benutzt werden. Die spätere Programmoberfläche ist ebenso frei wählbar. Damit ist vor allem das Äußere gemeint.

    Zitat Zitat
    1. Konsolen-Apps sind zugelassen
    Je nach gewählter Sprache, kann das Programmieren einer GUI recht aufwendig und kompliziert werden. Das widerspricht aber dem Prinzip eines Anfängerfreundlichen Tutorials. GUI-Programmierung per WinAPI oder Toolkit kann ich nicht vorraussetzen, weil die Leute, die sowas bedienen können, auch einen Taschenrechner aus dem Ärmel schütteln können. Wenn ich aber die GUI-Programmierung mit ins Tutorial reinnehme sprengt das den Rahmen und ist mit großer Wahrscheinlichkeit eher abschreckend für die Leser.
    Sicher ist die Bedienbarkeit eines Taschenrechners per GUI besser als einen, den man per Konsole bedienen muss, aber es geht hier ja um die Programmierung und die darin verwendeten Technicken, nicht darum ein möglichst gutes Endprodukt zu produzieren.
    Dem Teilnehmer sollte also freigestellt werden, ob er ein Tut für einen GUI- oder einen Konsolenrechner schreibt. Das kann dann natürlich bei der Bewertung eine Rolle spielen. GUI-Programme wirken besser auf Anfänger da sie "was zum Anfassen" sind. Ein Tutorial was einem einfach die Erstellung eines solchen Programmes vermittelt ist attraktiver als das "abstrakte" Konsolen-Tut. Alternativ und je nachdem wieviele Einsendungen es gibt, kann man Konsolen und GUI-Tuts ja getrennt bewerten.

    2. Die Testbarkeit
    Ich würde sagen, Windows wird als Standard-Test Umgebung verlangt. Programmieranfänger, für die das Tut ja gedacht ist, haben mit Sicherheit kein Linux laufen. Die linux-only User hier können ja gucken ob sie die einfachen Windowsprogramme auch per WINE ans laufen kriegen..
    Sollte für das Ausführen des Programmes externe Programme oder Bibliotheken benötigt werden, so sind diese vom Teilnehmer zu verlinken/bereit zu stellen. Geringe Abhängigkeit oder die Möglichkeit die Dinger statisch in die Binary reinzubinden sind aber letztendlich auch wieder Pluspunkte. Weniger Kram zu installieren => Attraktiver für den Anfänger.
    Bei PHP, sollte das Programm auf einem laufenden PHP-Server liegen und verlinkt sein, so daß zumindest die fehlerfreie Funktionalität ohne zusätzliche Installation getestet werden kann.

    3. Was setze ich vorraus?
    Ein Tutorial für einen Taschenrechner hat mMn nur zwei Arten von Zielgruppen.
    a) Den totalen Anfänger
    Keinerlei Erfahrung mit Programmierung oder ähnlichem.
    b) Den Anfänger
    Hello-World und vielleicht Eingabe-Antwort Programm in der Sprache des Tutorials absolviert.
    Welchen der beiden ich als Teilnehmer anpeile, bleibt mir überlassen. Wichtig ist natürlich, daß ein schlankeres Tutorial meistens besser ankommt als eine riesige Textflut.
    Reine Dosanwendungen, also rein textorientierte Programme, sind jedoch nicht wünschenswert.

    Das Tutorial ist in Form einer Text oder *.html Datei abzugeben (also inkl. HTML, PDF und Office Dokumente/Works/OpenOffice.org).
    Dabei sollte besonders darauf geachtet werden, dass es ein Anfänger versteht, der also noch nie etwas mit der jeweiligen Sprache gemacht hat; dass die Rechtschreibung einigermaßen akzeptabel ist; dass es einer vernünftigen Reihenfolge nachkommt; dass mögliche Quellen angegeben werden und dass es quasi die eigene Großmutter versteht (nur noch mal erwähnt, um die anfängerfreundliche Schreibung hervorzuheben).

    Zitat Zitat
    mehr als Grundlagen in der GUI Programmierung sollte nicht erklärt werden müssen, .
    Zu dem Tutorial soll ein eigener Taschenrechner mitbeigelegt werden, der funktionstüchtig und das mögliche Ergebnis des Tutorials festhält.

    Es kann jeder mitmachen, der meint, ein verständliches und selbsterstelltes Ergebnis präsentieren zu können.

    - Jury? -

    Am Ende des Wettbewerbs wird eine Umfrage den Sieger bestimmen.

    - Termine -

    Der Contest beginnt ab sofort und endet am 07.12.2005.
    Damit sollte genügend Zeit gegeben sein, nicht nur ein anständiges Programm, sondern auch ein dazugehöriges Tutorial zu verfassen.
    Bis zum 07.12., 23:59 Uhr, sollen die Tutorials mit den dazugehörigen Programmen hier veröffentlicht werden.
    Danach wird kein Tutorial mehr zum Wettbewerb zugelassen.
    Die Umfrage wird kurze Zeit später folgen und endet nach 2-3 Wochen.

    - Sonstiges -

    Wenn noch weitere Fragen bestehen, hoffe ich, dass diese baldmöglichst gestellt werden, um Missverständnissen aus dem Weg zu gehen.
    Die so ziemlich freien Möglichkeiten sollen nicht davon ablenken, dass ein totaler N00b im Programmieren das Endprodukt, also das Tutorial, verstehen können soll. (toller Satz ^^)

    Jeder Teilnehmer kann nur ein Tutorial einreichen.

    Dies ist meine erste selbstverfasste Aufgabenstellung, deswegen seid mir nicht all zu böse, wenn irgendetwas noch nicht so klar sein sollte.

    Und jetzt: Fangt an!

    Geändert von Niji-chan (08.10.2005 um 10:40 Uhr)

  2. #2
    Uff. Ein Taschenrechner zu programmieren ist eine Sache, aber einem totalen Neuling (wie du es gesagt hast) dies zu erklären ist eine ganz andere... Mal sehen ob ich das einplanen kann, sind ja bald Ferien.

  3. #3
    Zitat Zitat
    Zu dem Tutorial soll ein eigener Taschenrechner mitbeigelegt werden, der funktionstüchtig und das mögliche Ergebnis des Tutorials festhält.
    Das verstehe ich noch nicht so ganz. Ist Mit eigener Taschenrechner die compilierte Version des Tutorial Taschenrechners gemeint?


    Und soll der Taschenrechner auch grafisch gestaltet sein? Und darf man dafür Grafikdateien dem Tutorial hinzufügen?

  4. #4
    Mit dem beigelegten Taschenrechner ist eine compilierte Version des Tutorialprogramms gemeint, ja.

    Zitat Zitat
    Die spätere Programmoberfläche ist ebenso frei wählbar.
    Damit ist auch die grafische Gestaltung gemeint. Wenn es dadurch nötig wird, Grafikdateien beim Tutorial mitzuliefern, ist dies gestattet.

  5. #5
    Ich hoff aber doch mal, dass wir nicht noch extra was eine Variable oder eine Klasse ist, oder?

  6. #6
    Zitat Zitat von DFYX
    Ich hoff aber doch mal, dass wir nicht noch extra was eine Variable oder eine Klasse ist, oder?
    anfänger tutorial

    ne, du könntest zb grundvoraussetzungen für das, was man können sollte angeben, möglicherweise auf ein totales anfängertutorial verweisen, wäre ne elegante lösung, imo.

    oder du erklärst sowas einfach nicht und setzt es voraus. das ist dann natürlich nicht mehr 100% anfängerkram...

  7. #7
    Auf welchem Betriebssystem muss das Ding mindestens laufen? Ich würde mich da ja wenigstens auf Windows festlegen, weil das immer noch das meist genutzte OS ist. Und die Jury (die Community welche wählt) muss ja auch fähig sein, dass Programm in Augenschein zu nehmen. Und nicht jeder hat Mac OS oder Linux zur Hand.

    Was mir Bedenken macht ist die Aussage, dass es ein Newbie ohne Vorkentnisse dieser Sprache oder die eigene Oma können muss. Da sind die Möglichkeiten gleich viel eingegrenzter.

    Geändert von Ynnus (07.10.2005 um 13:02 Uhr)

  8. #8
    Hm, interessant. Ich merke gerade, dass ich bisher immer übersehen hab, dass es auch um Tuts geht, nicht nur ums Programmieren.
    Ich weiß noch nicht, ob ich mitmache, ich bin nicht unbedingt ein guter Tutorialschreiber und hab momentan viel um die Ohren.

  9. #9
    Hm, das ist interessant. Ich lese zum Glück viele Tutorialbücher, da wird es beim Formulieren (hoffentlich) keine Schwierigkeiten bei mir geben. Mit satten 2 Monaten Zeit können IMO sogar "Trödler" fertig werden (wenn ich es bis dahin geschafft habe, wird das stimmen ). Leider hab' ich kaum Erfahrung mit fortgeschrittener Mathematik (konnte man mal abwählen, was ich Depp auch gemacht habe ), weshalb ich mich wohl mit Stufe 1 begnügen muss. Höchstens noch Stufe 2, aber bei Stufe 3 hab' ich keine Ahnung.
    Zitat Zitat
    Reine Dosanwendungen, also rein textorientierte Programme, sind jedoch nicht wünschenswert.
    Bin ich froh, dass ich mich endlich von QBasic verabschiedet habe^^.

  10. #10
    Ich bleib' weg. Ich müßte einem Neuling erst mal das gesamte Konzept von Programmiersprachen, dann das gesamte Konzept von OOP, dann die Grundprinzipien vonn Java und dann Swing erklären, bevor ich überhaupt auf den Matheteil kommen würde - das wären bei einem guten Tutorial zwischen 10 und 30 Seiten nur für Abhängigkeiten. Muß nicht sein.

    Wenn Textprogramme erlaubt wären könnte man das Ganze viel einfacher machen (allein durch die Verwendung von PHP könnte ich 80% der Arbeit einsparen), aber so habe ich weder die Zeit noch die Geduld noch die Energie, um eine Buchstabenwüste zusammenzutippen, nur um hinterher zu sagen: "So, und jetzt fasse ich das eigentliche Thema dieses Tutorials in zwanzig Zeilen zusammen".

  11. #11
    Für n' neuling wäre mir das auch zu viel. Für jemanden der schon die Grundfunktionen der entsprechenden Sprache kann, also etwa (Hello-World oder Gib-deinen-Namen-ein-und-ich-sag-Hallo-zu-dir- Anwendungen entwickeln kann)

  12. #12
    Meine Situation ist ähnlich wie die von Jeez - ich hab nicht wirklich Zeit und Lust dazu, irgendjemanden OOP und Java zu erklären. Die Grundlagen von Swing wären noch drin, aber mehr wohl nicht.
    Vielleicht progge ich aus Spaß 'nen Rechner ohne wirkliches Tut. Mal sehen.

  13. #13
    Eben aus dem Grund hab ich gefragt. Ich denk, mehr als Grundlagen in der GUI Programmierung sollte nicht erklärt werden müssen, sonst wirds zu viel.

    Wer dafür ist, den Contest entsprechend anzupassen, möge bitte die Hand heben *heb*

  14. #14

  15. #15
    *heb*

  16. #16

  17. #17
    ich probier mich mal mit PureBasic.
    Mal sone frage kann man nicht einfach auch den Quellcode komentieren?

  18. #18
    Zitat Zitat von MJcoox
    ich probier mich mal mit PureBasic.
    Mal sone frage kann man nicht einfach auch den Quellcode komentieren?
    Glaubst du, ein kommentierter Quellcode kann ein Tutorial ersetzen?
    Wenn du da wirklich neue Sachen erklären willst, musst du auch einen ähnlch ausführlichen Text als Kommentar schreiben - da kannst du das gleich extern machen, das erhöht die Übersicht.

  19. #19
    ja werd ich auch machen, mit der .txt datei.

    Wollte nur fragen ob es auch so möglich ist.

  20. #20
    Hrm... joa, also wegen PHP wurde ich auch noch mal per PN angeschrieben ...
    Stelle man sich jetzt jemanden vor, der nicht weiß, wie er PHP bei sich installiert, ich meine, der muss das Tut doch auch irgendwie nachvollziehen können.
    Es sollte möglichst ein eigenständiges Programm herauskommen, dass also dann schon Compiliert ist.
    (gibt es eigentlich Interpreter, die *.exe erzeugen?)

    Zitat Zitat
    mehr als Grundlagen in der GUI Programmierung sollte nicht erklärt werden müssen, sonst wirds zu viel.
    Ergänze ich gleich.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •