Yang ingin saya lihat adalah upaya Anda dalam menulis semacam "cerita" yang memiliki makna yang cukup mudah dibaca, tetapi juga membuat fragmen kode yang valid. Misalnya, kode BASIC (BBC) ini:
LET customer = "sober"
REPEAT
INPUT "more beer"
UNTIL customer = "drunk"
(berdasarkan http://img.rakuten.com/PIC/12184048/0/1/300/12184048.jpg untuk idenya)
Aturan / pedoman:
- Kode harus valid dalam bahasa yang Anda tentukan - Siapa pun harus dapat menjalankannya tanpa perlu membuat gambar mewah
- String, komentar, atau apa pun yang memungkinkan teks bebas ditambahkan ke kode, dapat digunakan, tetapi paling banyak 3 kata per string (dan Anda tidak dapat memasukkan banyak string atau komentar dalam satu baris)
- Kode Anda tidak harus menghasilkan output yang masuk akal ketika dijalankan. Itu bahkan bisa menjadi infinite loop, selama kode itu valid dan itu mewakili sesuatu yang masuk akal (*) ketika dibaca dalam bahasa Inggris.
- Interpungsi apa pun dalam kode Anda akan diabaikan dalam cerita.
- Variabel tidak perlu didefinisikan. Kode yang Anda buat di sini hanyalah fragmen kode . Anda akan kehilangan 5 poin karena memanggil variabel / kata kunci / label / dll yang tidak ditentukan. meskipun.
- untuk setiap kata kunci / pernyataan / fungsi / dll bawaan yang Anda gunakan, Anda menerima 15 poin . Ini termasuk
for
danif
, tetapi juga fungsi bawaan sepertireplace()
. Perpustakaan tidak dihitung sebagai fungsi bawaan, tetapi Anda bebas untuk menggunakannya. - untuk setiap huruf, angka, atau garis bawah dalam kode Anda, Anda menerima 1 poin .
- untuk setiap baris / blok kode yang tidak terkait ( ) dengan cerita, atau menggunakan kata kunci / pernyataan / dll tanpa makna ( ) dalam bahasa Inggris, Anda kehilangan 20 poin , dan karakter yang terlibat tidak akan dihitung menuju 1 poin per huruf / jumlah. Agar adil terhadap bahasa yang membutuhkan tipe data seperti
int
saat mendefinisikan variabel, tipe data diabaikan sepenuhnya. Ini berarti mereka tidak menerima 10 poin untuk menjadi kata kunci, mereka tidak akan menerima poin untuk karakter yang terlibat, tetapi mereka juga tidak menyebabkan kehilangan poin. - Tidak diperbolehkan membuat bahasa Inggris yang valid dengan memasukkan komentar untuk "mengisi bagian yang kosong".
- Karena ini adalah kontes popularitas , untuk setiap upvote jawaban Anda, Anda akan menerima 25 poin .
- Pastikan untuk menentukan bahasa kode Anda, dan rumus yang Anda gunakan untuk menghitung jumlah poin yang diperoleh jawaban Anda.
- Jawaban dengan poin terbanyak, menggunakan sistem ini di atas, menang.
- Dengan menggunakan sistem ini, contoh kode di atas akan mendapatkan
4*15 + 53*1 = 113
poin awal.
(*) Over-analysation / objektifikasi bagian: untuk menjaga ini seobjektif mungkin, "masuk akal" atau "tidak berhubungan" berarti sebagai berikut: Jika potongan kode menggunakan kata-kata yang bukan bahasa Inggris, itu tidak berlaku (misalnya, const
atau int
yang bukan kata-kata bahasa Inggris, tapi foreach
atau typeof
adalah 2 kata bahasa Inggris digabung, sehingga tidak apa-apa). Juga, bahkan jika Anda menggunakan kata-kata bahasa Inggris yang valid seperti print
atau echo
, ini harus sesuai dengan cerita dengan makna aslinya (jadi 'meletakkan tinta di atas kertas' dan 'memantulkan suara', bukan 'menampilkan di layar'). Dan dengan 'pas', maksud saya bahwa subjek cerita harus terkait dengannya.
Saya harap "disclaimer" terakhir ini memenuhi persyaratan untuk menentukan kriteria obyektif.