Mengatur Pemandangan:
Ini adalah sore yang biasa-biasa saja, ketika Anda bersantai setelah hari yang panjang dengan terlibat dalam hiburan favorit Anda: menjawab sejumlah besar pertanyaan menawan di PPCG. Ini bukan hari yang baik untuk Anda; programmer Pyth sialan itu terus mendapatkan jawaban terbaik dan itu membunuh getaran Anda. Tiba-tiba, Anda melihat pertanyaan baru telah diposting! Anda mengambil keputusan; bukan kali ini CJammers. Dengan marah, Anda mulai mengetik, melahirkan aliran karakter; janin dari loop BrainFuck yang agung seperti produk akhir Anda nantinya. Anda mengetik dan mengetik. Lebih cepat! Lebih cepat lagi! Anda sangat fokus, Anda bahkan tidak melihat lampu di layar Anda mulai berkedip-kedip. Tiba-tiba, monitor menyala hijau, simbol seperti alien yang menempel pada desktop. Menggunakan keterampilan sempurna Anda, Andacat ~/Desktop/aliensymbol
dan disajikan dengan banyak angka, pesan! Menjadi programmer PPCG yang cerdik seperti Anda, Anda perhatikan bahwa itu terlihat seperti ASCII. Tidak masalah bagi Anda, Anda print(chr(i) for i in file)
dan menguraikan pesan. Pikiran pertama Anda: "Saya perlu membagikan ini dengan komunitas!".
...
Siapa yang akan memikirkannya? Bahwa orang pertama yang melakukan kontak dengan alien akan menjadi programmer PPCG yang rendah hati. Mengapa kita Mungkin itu karena kita adalah lambang kecerdasan manusia. Atau mungkin karena BrainFuck hampir sedekat yang kita miliki dengan bahasa asing. Namun demikian, alien - menjadi bentuk kehidupan yang sangat cerdas - ingin menguji apakah mereka harus mengklasifikasikan ras manusia sebagai cerdas atau tidak. Sebagai ujian kecakapan mental kami, para alien telah meminta kami untuk mengirimi mereka beberapa program komputer untuk menunjukkan bahwa kami berbudaya secara teknologi. Masalahnya adalah, satu-satunya bahasa manusia yang mereka pahami adalah angka ASCII!
Bantu manusia menunjukkan kepada makhluk-makhluk itu siapa alfa intelektual sesungguhnya. Kami perlu mengirimi mereka skrip yang akan mengubah kode sumber berbasis teks kami menjadi versi ASCII numerik mereka. Sayangnya, karena teknologi kami yang terbelakang (terima kasih Obama), kami harus mengirimkan program penerjemahan sekecil mungkin. Untung mereka memilih untuk menghubungi PPCG!
Tantangan:
Premis dari tantangan ini sederhana: Anda harus menulis sebuah program yang akan mengambil kode sumber program apa pun (atau file teks umum apa pun dalam hal ini), dan mengeluarkan versi yang dipisahkan dengan spasi dengan terjemahan ASCII di bawah setiap baris. Yaitu, diberi input file teks, Anda perlu menampilkan setiap baris file tersebut diikuti oleh baris yang berisi representasi ASCII dari setiap karakter di baris di atasnya (dengan setiap angka yang sesuai dengan karakter yang diwakilinya).
Contoh akan sangat memperjelas hal ini. Mengambil kode sumber yang terkenal hello world
sebagai input:
#include <stdio.h>
int main() {
printf("hello, world\n");
return 0;
}
program Anda harus menampilkan:
# i n c l u d e < s t d i o . h >
35 105 110 99 108 117 100 101 32 60 115 116 100 105 111 46 104 62 10
10
i n t m a i n ( ) {
105 110 116 32 109 97 105 110 40 41 32 123 10
p r i n t f ( " h e l l o , w o r l d \ n " ) ;
32 32 32 32 112 114 105 110 116 102 40 34 104 101 108 108 111 44 32 119 111 114 108 100 92 110 34 41 59 10
r e t u r n 0 ;
32 32 32 32 114 101 116 117 114 110 32 48 59 10
}
125 10
Detail Implementasi:
Anda dapat memilih untuk mengambil input dalam bentuk apa pun yang Anda inginkan (membuka file, pipa baris perintah, parameter fungsi dll.) Dan Anda harus output ke stdout atau mengembalikan output dari suatu fungsi.
Hal-hal yang perlu diperhatikan
- Setiap karakter dalam output dipisahkan oleh '\ t' untuk memungkinkan spasi 3 digit pada baris di bawah ini untuk berbaris (kami akan menganggap tab Anda disetel ke 4 spasi atau lebih).
- Baris baru ditampilkan pada baris yang ditekan kembali (perhatikan 10 di contoh)
- Persyaratan pencetakan '\ t' dan '\ n' lemah. Keluaran Anda harus, dalam pengertian umum, terlihat menyenangkan bagi mata (perlu menunjukkan kepada orang-orang asing itu kami memiliki rasa estetika juga), dan jika Anda dapat menekuk dua poin sebelumnya sambil mempertahankan integritas visual, Anda akan dimaafkan.
- Anda dapat memilih untuk berasumsi apakah ada baris baru di akhir baris terakhir.
Mencetak gol
Ini adalah kode-golf sehingga program terpendek menang. Catatan, meskipun program Anda bukan yang terpendek, tetapi menggunakan trik yang benar-benar rapi relatif terhadap bahasa yang Anda gunakan, banyak +1 untuk Anda!
Semoga berhasil. Peringkat kecerdasan intergalaksi umat manusia berada di pundak Anda.
Catatan: Maafkan lubang plot. Saya bukan penulis : D