Seite 7 von 7

Verfasst: Freitag 1. Mai 2009, 13:23
von Leonidas
dynasty-warriors hat geschrieben:meine frage war, wie ich weiter machen sollte!!! welche schleife wär empfehlenswert?
BlackJack hat dir doch gesagt, was man machen muss, um eine Antwort auf diese Frage zu bekommen :?:

Verfasst: Freitag 1. Mai 2009, 13:26
von numerix
BlackJack, machst du noch eine Forth-Lösung? Das ist immer so nett anzusehen.
Wollte ich schon als Teenager lernen, ist leider bis heute nie was draus geworden ...

Verfasst: Freitag 1. Mai 2009, 13:56
von dynasty-warriors
ok ich habe die lösung es alleine geschaffft!!!!!!!!!!!!!!!

ohne euch!!!! das schachbrett bzw. zielflagge habe ich!!

also ihr könnt es closen!!! und nochmals 10000 dank , dass ihr mich verarscht habt, und ich habe sehr sehr viel zeit hier verschendet ohne ein lösung zu haben!! egal ich habe mein problem ALLEINE gelöst und thread bitte @ mod closen!!!

:evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil:

Verfasst: Freitag 1. Mai 2009, 14:01
von Bernhard
BlackJack hat geschrieben:... Lag vielleicht auch daran, das sich dynasty-warriors zurück zog, nachdem mindestens eine Komplett-Lösung gepostet wurde. Mag nicht mal jemand eine Lösung posten, damit das nervige gebettel aufhört!?
Es ist aber auch gemein, wenn die Lehrer nach einem halben Jahr so schwere Aufgaben stellen und die Antwort vorher nicht richtig erklären. Dabei scheint die Sonne und der Lehrer genießt den ersten Mai.

Probier mal das hier, damit Ruhe rein kommt:

Code: Alles auswählen

#Programm beginnt hier
print "P1" 
anzahl_x = 80 
anzahl_y = 50 
print anzahl_x, 
print anzahl_y
while anzahl_x==80:     # Aussere while-Schleife
    print ("1"*74+"\n")*26,
    while anzahl_y==50:
        print ("0"*74+"\n")*26 #Innere while-Schleife
        break
    break
#Programm endet hier
Ach ja, und falls der Lehrer merkt, dass das Programm abgeschrieben und nicht selbst geschrieben ist, dann druckt Dir vorher lieber diesen Thread aus. Damit kannst Du ihm immerhin beweisen, dass Du nicht zu faul warst und Dir viel Mühe gegeben hast, eine Lösung zu präsentieren.

Verfasst: Freitag 1. Mai 2009, 14:07
von dynasty-warriors
lol! irgendwie habe ich das gefühl, wenn einer im forum beleidigt bzw. fertig gemacht wurde, dann erst die lösung bekommen wird!

p.s. ich konnte mir auswählen, welche flagge ich mache, und ich habe das schachbrett gemacht, und zwar komplett und richtig

und @ bernhard vielen dank, aber ich kann es nicht abgeben, da ich so was noch nicht gelernt habe!

Code: Alles auswählen

 print ("1"*74+"\n")*26,
    while anzahl_y==50:
        print ("0"*74+"\n")*26 #Innere while-Schleife
        break
    break 
[/quote]

Verfasst: Freitag 1. Mai 2009, 17:05
von bankkind
Wunderbar.. :-D

Am besten fand ich als er versucht hat den C Code im Python Interpreter zu übersetzen...

Verfasst: Freitag 1. Mai 2009, 17:26
von BlackJack
@Leonidas: Eine Lösung in C gab es schon http://www.python-forum.de/post-133871.html#133871

Aber Deine ist auch nett. :-)

@numerix: Forth ist ja so ähnlich wie Factor. Aber meinestwegen, die Zielflagge in Forth auf dem C64:

BildBild

:-)

Verfasst: Freitag 1. Mai 2009, 19:05
von numerix
BlackJack hat geschrieben:@numerix: Forth ist ja so ähnlich wie Factor. Aber meinestwegen, die Zielflagge in Forth auf dem C64:
Danke! - Vielleicht finde ich irgendwann doch noch die Zeit, mal was mit Forth zu machen. Oder vielleicht sollte ich mir dann lieber gleich Factor vornehmen. Und Haskell hat irgendwie auch was ....

Ach ja, wahrscheinlich wird es letztlich doch bei der Träumerei bleiben und ich genieße dann ab und zu ein paar Snippets hier im Forum ... :)

Verfasst: Freitag 1. Mai 2009, 19:30
von Leonidas
numerix hat geschrieben:Oder vielleicht sollte ich mir dann lieber gleich Factor vornehmen.
Besser gleich Factor. Da hast du eine brauchbare Implementation und eine ziemlich aktive Community. Außerdem ist die eingebaute Hilfe ziemlich brauchbar um die Sprache zu lernen :)

Verfasst: Freitag 1. Mai 2009, 21:31
von Rebecca
Hab' schon lange nichts mehr mit Lolpython gemacht:

Code: Alles auswählen

VISIBLE LOL P1 /LOL
VISIBLE 20 AND ALLFINGERZ

GIMME EACH I IN UR NUMBRZ WIT ALLFINGERZ! OK?
    GIMME EACH J IN UR NUMBRZ WIT 20! OK?
        IZ WIT I EVEN & J ODD! OR MABEE WIT I ODD & J EVEN! ?
            VISIBLE EASTERBUNNY AND
        NOPE?
            VISIBLE CHEEZBURGER AND
    VISIBLE

Verfasst: Freitag 1. Mai 2009, 21:43
von Rebecca
Und noch eine Funktion fuer Emacs:

Code: Alles auswählen

(defun create-f1-flag ()
  (interactive)
  (insert "P1\n20 10\n")
  (dotimes (i 10 nil)
    (dotimes (j 20 nil)
      (insert (if (or (and (evenp i) (oddp j)) (and (oddp i) (evenp j))) "0" "1")))
    (insert "\n")))
Hmm, was fuer ein Tastenkuerzel binde ich denn jetzt an diese Funktion, damit ich immer schnell eine Formel-1-Flagge erzeugen kann? :wink:

Verfasst: Samstag 2. Mai 2009, 08:24
von BlackJack
Und noch eine Pascal-Lösung, die alle drei Flaggen ausgeben kann: http://paste.pocoo.org/show/115370/

Die Funktion, die ein Pixel für die "Zielflagge" berechnet, ist direkt in Assembler implementiert, damit wäre die Sprache also auch abgedeckt. :-)

Verfasst: Samstag 2. Mai 2009, 09:32
von snafu
lunar hat geschrieben:Ich bewundere aufrichtig eure Geduld.
Wir haben halt alle sehr viel Langeweile. ;)

Verfasst: Samstag 2. Mai 2009, 10:46
von BlackJack
Und noch eine objektorientierte Lösung in Io: http://paste.pocoo.org/show/115375/

:-)

Verfasst: Samstag 2. Mai 2009, 11:05
von Rebecca
Piet wuerde mich ja auch mal interessieren, aber dazu muesste ich mir erstmal einen Compiler installieren... Hmm...

Verfasst: Samstag 2. Mai 2009, 12:06
von Dill
wie wärs mit ner lösung in prolog?

Verfasst: Samstag 2. Mai 2009, 12:34
von yipyip
Sorry, in Prolog habe ich's grad nicht gemacht, dafür aber mein 1. Programm in Erlang. :D

Code: Alles auswählen

#!/usr/bin/env escript

-mode(compile).

header(TITLE, W, H) ->
    io:format("~s~n", [TITLE]),
    io:format("~w ~w~n", [W, H]).

row(0, _) ->
    io:format("~n");

row(N, BIT) ->
    io:format("~w", [BIT]),
    BIT1 = BIT bxor 1,
    row(N-1, BIT1).

rows(_, 0, _) ->
    void;

rows(W, H, BIT) ->
    row(W, BIT),
    BIT1 = BIT bxor 1,
    rows(W, H-1, BIT1).

checkered_flag(TITLE, W, H) ->
    header(TITLE, W, H),
    rows(W, H, 0).

main([]) ->
    checkered_flag("P1", 30, 20).
Einfach Erlang installieren, Skript ausführbar machen und aufrufen.
:wink:
yipyip

Verfasst: Samstag 2. Mai 2009, 14:27
von Rebecca
Groovy finde ich eigentlich auch ganz nett, es versoehnt mich ein wenig mit Java :wink:

Code: Alles auswählen

println "P 1\n20 10"

for (i in 0..9) {
    for (j in 0..20) {
        if ((i % 2) ^ (j % 2)) {
            print "1 "
        }
        else {
            print "0 "
        }
    }
    println ""
}
Im Gegensatz zu meinen vorigen Programmen habe ich hier das logische xor, was man gut brauchen koennte (es aber nicht gibt) mal auf ein bitweises xor zurueckgefuehrt. Macht die Sache eigentlich sogar noch leserlicher.