Giriş
Bu zorlukta, göreviniz iki Fin isminin vakalarını doğru bir şekilde listelemektir . Büküm, listelerden birini diğerini üretmek için kılavuz olarak kullanabilmenizdir.
İsimler
Verilerimiz olarak aşağıdaki iki sapma tablosunu kullanıyoruz. Bunlar, her satırda bir vaka olmak üzere, yukarıda adı geçen Wikipedia makalesindekiyle aynı sırayla, tekil formda olmak üzere iki ismin vakasını listeler : varsa çoğul .
Tablo 1: Ovi vakaları ("kapı")
ovi : ovet
oven : ovien
oven : ovet
ovea : ovia
ovessa : ovissa
ovesta : ovista
oveen : oviin
ovella : ovilla
ovelta : ovilta
ovelle : oville
ovena : ovina
oveksi : oviksi
ovin
ovetta : ovitta
ovine
Tablo 2: Jalka vakaları ("ayak")
jalka : jalat
jalan : jalkojen
jalan : jalat
jalkaa : jalkoja
jalassa : jaloissa
jalasta : jaloista
jalkaan : jalkoihin
jalalla : jaloilla
jalalta : jaloilta
jalalle : jaloille
jalkana : jalkoina
jalaksi : jaloiksi
jaloin
jalatta : jaloitta
jalkoine
Görev
Göreviniz, girdi olarak bir dizeyi alan, bir dizeyi çıktı olarak veren ve aşağıdaki özelliğe sahip iki program f
ve g
(muhtemelen farklı adlarla) yazmaktır . Tablo 1'e f
giriş olarak verilirse , Tablo 2'yi verir ve Tablo 2'ye verilirse g
, Tablo 1'i verir. Diğer tüm girdiler tanımlanmamış davranışla sonuçlanır. Tablolar , hem giriş hem de çıkışta tam olarak yukarıdaki gibi görünmelidir . İsteğe bağlı olarak bir satırsonu satırı olduğunu varsayabilirsiniz, ancak daha sonra her iki tabloda ve hem giriş hem de çıkışta kullanılması gerekir. Önceki satırsonu yok.
Kurallar ve Bonuslar
İşlevler veya tam programlar olarak yazabilir f
ve g
aynı türden olmaları gerekir ve tamamen ayrı olmalıdırlar (için bir yardımcı işlev f
yazarsanız, g
orada kullanmak istiyorsanız yeniden yazmanız gerekir ) . En düşük toplam bayt sayısı kazanır ve standart boşluklara izin verilmez.
Normal ifadeler kullanmamanız için % -25 bonus vardır .
Bazı Açıklamalar
Bu bir fonksiyon / program yazmaya herhangi bir sorun oluşturmaz f
girişini yok sayar ve hep Tablo 2 döndürür ve bir fonksiyon / program g
her zaman sadece o gerekmektedir Tablo 1. döndürür ve ; diğer tüm girdilerin ve diğer girdilerin davranışı önemsizdir.f(Table 1) == Table 2
g(Table 2) == Table 1
f
g
"Tamamen ayrı" kısım şu anlama gelir. Cevabınız, biri farklı f
diğeri g
tercihen farklı kod kutularında olmak üzere iki kod parçası sağlar. Eğer kodu f
bir dosyaya koyar ve çalıştırırsam, aynı şekilde çalışır g
. Puanınız, iki kod parçasının bayt sayımlarının toplamıdır. Yinelenen kodlar iki kez sayılır.
f
girdi olarak"
if Table 1 is given `f` as input
Bir tabloya nasıl fonksiyon girer? Bu kısmı anlamıyorum