Kleine Programmieraufgaben

Gute Links und Tutorials könnt ihr hier posten.
Antworten
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Kleine Programmieraufgaben im doppelten Sinne bietet der SHORTENING CONTEST. Der überwiegende Teil der bislang 15 Aufgaben ist so, dass der benötigte Algorithmus klar ist und es nur noch um die Implementierung geht.

Die Aufgaben eigenen sich sowohl für Programmieranfänger, die anfangs oft nicht wissen, was sie programmieren sollen, aber auch für diejenigen, die den Anfängerstatus hinter sich gelassen haben und mal einen kleinen Pausensnack brauchen. Und natürlich für alle, die sich für Code-Golf erwärmen können.

Ein paar Beispiele:
- Polybius-Verschlüsselung
- Fibonacci-Zahlen
- Römische-Zahlen-Rechner
- Binäre Uhr
- Sudoku-Checker
- Faktultäten-Zahlensystem
- Zahlensystem-Umrechner
- Koordinatensortierer

Inzwischen (1.04.2010) sind weitere Aufgabe dazu gekommen, u.a.
- Pascalsches Dreieck
- Morse-Alphabet
- Wochentagsbestimmung
- Berechnung des ggT
Zuletzt geändert von numerix am Donnerstag 1. April 2010, 20:40, insgesamt 1-mal geändert.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Nette Sache. Auch schöne Sachen für Anfänger. Sowas sollte man vielleicht auch mal auf deutsch machen
Benutzeravatar
pyFan
User
Beiträge: 22
Registriert: Sonntag 4. Januar 2009, 15:44

Hallo,

Tolle Seite.
Hat man aber auch irgendwann die Möglichkeit,
die Lösungen der einzelnen Mitspieler zu sehen?
Ist schon klar, dass das während eines Contests sinnlos ist.

Oder habe ich irgend etwas übersehen?

Gruss

pyFan
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

pyFan hat geschrieben:Hat man aber auch irgendwann die Möglichkeit,
die Lösungen der einzelnen Mitspieler zu sehen?
Ist schon klar, dass das während eines Contests sinnlos ist.
Oder habe ich irgend etwas übersehen?
Nein, du hast nichts übersehen. So wie ich das sehe, ist das ein "Contest" ohne wirkliches Ende (es gab kürzlich noch einen Eintrag, wonach die Laufzeit bis 2025 angesetzt war, aber der ist jetzt verschwunden), so dass man die Lösungen der anderen höchstens dann zu Gesicht bekommt, wenn einer seinen Code irgendwo zeigt. Ich vermute mal, dass zumindest diejenigen, die auf den vorderen Plätzen mit ihrer Lösung liegen, das eher nicht tun werden. :)
TRiBLy
User
Beiträge: 2
Registriert: Samstag 20. Februar 2010, 15:57

Yey...ich bin so einer der nie weiß was er proggramieren soll. Danke für den Link :D

Da kann ich gleich mal meine neu erworbenen Fähigkeiten in meiner neuen Lieblingssprache zur Probe stellen :D
Benutzeravatar
pyFan
User
Beiträge: 22
Registriert: Sonntag 4. Januar 2009, 15:44

Hallo,

Das finde ich aber nicht in Ordnung.
Jeder Autor sollte die Möglichkeit haben, seinen Quelltext
nach Ablauf einer gewissen Zeit sichtbar zu machen.

Ewig lange Laufzeiten sind auch nicht sooo toll.
Irgendwann schläft die ganze Sache ein...

> dass zumindest diejenigen, die auf den vorderen Plätzen mit ihrer Lösung liegen, das eher nicht tun werden.

Na dann sollen sie doch mit ihrem Wissen sterben...

Gruss

pyFan
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

pyFan hat geschrieben:Das finde ich aber nicht in Ordnung.
Jeder Autor sollte die Möglichkeit haben, seinen Quelltext
nach Ablauf einer gewissen Zeit sichtbar zu machen.

Ewig lange Laufzeiten sind auch nicht sooo toll.
Irgendwann schläft die ganze Sache ein...
Kann sein, muss aber nicht. Wäre aber auch egal.
Das schönste daran ist doch, die Aufgaben selbst zu lösen.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Mittlerweile ist das Aufgabenangebot auf 35 mit Python lösbare Aufgaben angewachsen und es sind weitere nette Sachen hinzu gekommen, u.a.
- PRIMES: Ausgabe alle Primzahlen bis 1 Mio.
- LOOK_SAY: Look & Say-Sequence (Conway-Folge)
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Beschränkung auf 256 Bytes finde ich hart. Führt wohl zu extrem häßlichem Code, oder?
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

mkesper hat geschrieben:Beschränkung auf 256 Bytes finde ich hart. Führt wohl zu extrem häßlichem Code, oder?
Diese Beschränkung ist da eher die Ausnahme, für die meisten Aufgaben gibt es nur eine theoretische Beschränkung (ca. 50 KB). Insofern kann man diese Aufgaben auch ganz unabhängig von der Codelänge zu Übungszwecken nutzen.

Im übrigen sind auch nicht alle kurzen Lösungen hässlich (andere allerdings schon ...). Die Berechnung aller Primzahlen bis 1 Mio lässt sich in Python z.B. sehr kurz und für meinen Geschmack auch sehr elegant lösen.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

@numerix und HWK:
Respekt euch beiden, ich habe mich auch mal an zwei Aufgaben versucht, aber ich brauche immer schon 1/2 von dem was ihr insgesamt habt um auf stdin zuzugreifen ;-)
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Sr4l hat geschrieben:ich habe mich auch mal an zwei Aufgaben versucht, aber ich brauche immer schon 1/2 von dem was ihr insgesamt habt um auf stdin zuzugreifen ;-)
Also da gibt es eigentlich nicht viele Variationsmöglichkeiten (die kurz sind). Wenn ich mich richtig erinnere, dann bin ich letztlich bei allen Aufgaben nach Experimenten mit anderen Möglichkeiten wieder zum schlichten raw_input()/input() zurückgekehrt, weil es damit dann doch am kürzesten wurde. Eine import-Anweisung ist beim Code-Golf eben ein teurer Spaß ...
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Verdammt daran habe ich gar nicht gedacht.

Code: Alles auswählen

import sys
sys.stdin.read...
Danke.
Antworten