Chciałbym zobaczyć twoje próby napisania pewnego rodzaju „historii”, która ma dość łatwe do odczytania znaczenie, ale także stworzenie prawidłowego fragmentu kodu. Na przykład ten kod BASIC (BBC):
LET customer = "sober"
REPEAT
INPUT "more beer"
UNTIL customer = "drunk"
(na podstawie http://img.rakuten.com/PIC/12184048/0/1/300/12184048.jpg dla pomysłu)
Zasady / wytyczne:
- Kod musi być poprawny w języku, który określiłeś - Każdy musi mieć możliwość uruchomienia go bez potrzeby tworzenia żadnego wymyślnego
- Można użyć ciągów, komentarzy lub czegokolwiek, co pozwala na dodanie dowolnego tekstu do kodu, ale maksymalnie do 3 słów na ciąg (i nie można wstawić wielu ciągów lub komentarzy pod rząd)
- Twój kod nie musi powodować żadnych sensownych wyników podczas jego wykonywania. Może to być nawet nieskończona pętla, o ile kod jest poprawny i reprezentuje coś sensownego (*) podczas czytania w języku angielskim.
- Wszelkie interakcje w kodzie będą ignorowane w historii.
- Zmienne nie muszą być definiowane. Tworzony tutaj kod jest tylko fragmentem kodu . Będziesz stracić 5 punktów za nazwanie niezdefiniowanej zmiennej / słowo kluczowe / label / etc. chociaż.
- Za każde wbudowane słowo kluczowe / instrukcję / funkcję / etc, którego używasz, otrzymujesz 15 punktów . Należą do nich
for
iif
, ale również wbudowane funkcje, takie jakreplace()
. Biblioteki nie liczą się jako funkcje wbudowane, ale możesz z nich korzystać. - za każdą literę, cyfrę lub znak podkreślenia w kodzie otrzymujesz 1 punkt .
- za każdy wiersz / blok kodu, który nie jest powiązany ( ) z historią lub używa słów kluczowych / instrukcji / itp. bez znaczenia ( ) w języku angielskim, tracisz 20 punktów , a zaangażowane znaki nie będą wliczane do 1 punktu za literę / numer. Aby zachować uczciwość wobec języków, które potrzebują typów danych, takich jak
int
podczas definiowania zmiennych, typy danych są całkowicie ignorowane. Oznacza to, że nie otrzymują 10 punktów za słowo kluczowe, nie otrzymują punktów za zaangażowane postacie, ale również nie powodują utraty punktów. - Niedopuszczalne jest tworzenie poprawnego języka angielskiego przez wstawienie komentarza do „wypełnij puste pola”.
- Ponieważ jest to konkurs popularności , za każde głosowanie na twoją odpowiedź otrzymasz 25 punktów .
- Upewnij się, że określasz język, w którym znajduje się Twój kod, oraz formułę, której użyłeś do zliczenia punktów, które uzyskasz w odpowiedzi.
- Odpowiedź z największą liczbą punktów przy użyciu powyższego systemu wygrywa.
- Przy użyciu tego systemu powyższy przykładowy kod uzyskałby
4*15 + 53*1 = 113
punkty początkowe.
(*) część nadmiernej analizy / zobiektywizowania: aby zachować to jak najbardziej obiektywne, „rozsądny” lub „niepowiązany” oznacza, co następuje: Jeśli fragment kodu używa słów, które nie są w języku angielskim, nie są poprawne (na przykład const
lub int
są nie angielskie słowa, ale foreach
lub typeof
są połączone 2 angielskie słowa, więc to jest w porządku). Ponadto, nawet jeśli użyjesz prawidłowych angielskich słów, takich jak print
lub echo
, będą one musiały pasować do opowieści o ich oryginalnym znaczeniu (więc „wkładanie atramentu na papier” i „odbijanie dźwięku”, a nie „pokazywanie się na ekranie”). A przez „dopasowanie” rozumiem, że temat tej historii musi być z tym związany.
Mam nadzieję, że to ostatnie „zastrzeżenie” spełnia wymóg zdefiniowania obiektywnych kryteriów.