Rozpoczynamy nowy konkurs: „Pomysłowe „Hello World””. Poniżej znajdziecie wszelkie informacje.
Pomysłowe „Hello World”
Informacje o konkursie.
Cel.
Głównym celem konkursu jest zmotywowanie młodych programistów do samodzielnego komplikowania problemów związanych z programowaniem 😉 A tak na serio: celem jest pokazanie swojej kreatywności w połączeniu z umiejętnościami programistycznymi.
Zadanie.
Napisanie jak najbardziej skomplikowanego i zakręconego programu wyświetlającego napis „Hello World”.
Opis zadania.
Program powinien zostać napisany w formie konsolowej lub komunikatu typu MessageBox. Język programowania dowolny. Działanie każdego programu powinno być krótko opisane, poza tym kod powinien być (w miarę możliwości) opatrzony komentarzami.
Ocenianie.
Oceniany będzie poziom skomplikowania algorytmu generującego napis „Hello World” i pomysłowość. Program powinien w całości dążyć do wyświetlenia komunikatu, nie powinien robić nic, co nie jest z tym związane. Sposób wyświetlania nie będzie oceniany.
Pracę oceniać będą Drazek, Iskar, KKKas oraz Nakiel. Każdy oceniający odda 1, 2 i 3 punkty. Wygra praca, która otrzyma największą liczbę punktów. W przypadku remisu odbędzie się głosowanie wśród jurorów, która z prac ma zostać uznana za zwycięską.
Przykład.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
program Project2; {$APPTYPE CONSOLE} uses SysUtils, TypInfo; type {$M+} TKlasa = class private FHello: Integer; FWorld: Integer; published property Hello: Integer read FHello; property World: Integer read FWorld; end; {$M-} procedure HelloWorld; var i: Integer; PropCount: Integer; DaneTypu: PTypeData; Lista: PPropList; Klasa: TKlasa; begin Klasa := TKlasa.Create; try DaneTypu := GetTypeData(PTypeInfo(Klasa.ClassInfo)); PropCount := DaneTypu^.PropCount; New(Lista); try GetPropInfos(PTypeInfo(Klasa.ClassInfo), Lista); // pobierz liste wlasciwosci // wypisz liste wlasciwości klasy for i := 0 to PropCount - 1 do Write(Lista^[I]^.Name, ' '); finally Dispose(Lista); end; finally Klasa.Free; end; end; begin HelloWorld; ReadLn; end. |
W programie została utworzona klasa zawierająca właściwości o nazwach Hello oraz World. Napis „Hello World” tworzony jest poprzez wypisanie wszystkich właściwości klasy TKlasa oddzielonych spacją.
Czas trwania.
Na prace czekamy do 03.02.2007 do godziny 24:00. Projekty należy dodawać za pośrednictwem naszego serwisu, na dole tej strony.
Nagrody.
Wpis na stronie głównej oraz konto na serwerze unit1 na okres jednego roku pod adresem w domenie unit1.pl oraz możliwością podpięcia własnej domeny – pojemność 200 MB, transfer 30GB/mc oraz 3 bazy MySQL.
Pokażcie, że „Hello World” nie musi być proste i nudne.
Życzymy powodzenia i liczymy na dużą frekwencję 🙂
KKKas, poprawki Iskar