Seite 7 von 7

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.