অসম্পূর্ণতা ডান সোম français


13

করতে অনুবন্ধী একটি ক্রিয়াপদ মধ্যে L'imparfait , এক চাহিদা নিম্নলিখিত ধাপগুলি অনুসরণ করুন করুন:

  1. শব্দের "কান্ড" সন্ধান করুন; -onsশব্দের nous-conjugated form থেকে বাদ দিয়ে এটি অর্জন করা হয় । উদাহরণস্বরূপ, ভিভ্রে হ'ল নুস ভিভনস ; Vivons ফলন -onsথেকে অপসারণ ।viv-
  2. স্টেমটি নিন এবং বিষয় অনুযায়ী একটি উপযুক্ত সমাপ্তি যুক্ত করুন। এখানে শেষ:

    je         -ais
    tu         -ais
    il/elle    -ait
    
    nous       -ions
    vous       -iez
    ils/elles  -aient
    

উদ্দেশ্য একটি ক্রিয়া এবং একটি বিষয় দেওয়া, সাবজেক্টের সাথে সেই ক্রিয়াটির অপূর্ণ ফর্ম আউটপুট। ইনপুট ফর্ম্যাটটি আপনার ভাষার পক্ষে উপযুক্ত কোনও ফর্ম্যাটে থাকতে পারে। আপনার জমাটি হয় কোনও প্রোগ্রাম, স্নিপেট বা ফাংশন হতে পারে। (দ্রষ্টব্য যে ক্রিয়াটি একটি সত্য ক্রিয়া হতে হবে না।)

আপনি ধরে নিতে পারেন যে ক্রিয়াটি একটি নিয়মিত ক্রিয়া, অর্থাত্ এড়িয়ে যাওয়ার মতো আইটেমগুলিকে একটি -irক্রিয়া হিসাবে বিবেচনা করা হবে , কোনও অনিয়মিত নয়। অনিয়মিত হিসাবে আপনাকে মাপতে হবে কেবল ক্রিয়াটি être ; এটি যেমন সংযুক্ত করা হয়:

j'étais
tu étais
il/elle était

nous étions
vous étiez
ils/elles étaient

এখানে জন্য কাঠামো হয় -er, -reএবং -irকাণ্ডজ্ঞান ফর্ম ক্রিয়া

-ER => (e)ons           ; e is added after a 'g'
-RE => ons
-IR => issons

এর সাথে শেষ হয় না এমন কোনও কিছুই হ্যান্ডেল করতে হবে না।

(নোট যে Je পরবর্তী স্বরবর্ণ সঙ্গে মার্জ, যদি সেখানে এক। যেমন, je acheter -> j'achetaishআমাদের উদ্দেশ্যে একটি স্বরবর্ণ বিবেচনা করা হবে।)

উদাহরণ IOs

input: tu vivre
output: tu vivais

input: elles nager
output: elles nageaient

input: je morter
output: je mortais     ; incorrect in real life, but correct for our purposes

input: vous finir
output: vous finissiez

input: il croire
output: il croiait

input: nous jouer
output: nous jouions

বোনাসেস

  • সমস্ত Nঅতিরিক্ত অনিয়মিত ক্রিয়া পরিচালিত -5N বাইট ।
  • -10% আপনি আরো আউটপুট অপূর্ণ কাল ক্রিয়া প্রতিটি সংশ্লেষ।

এটি একটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম প্রোগ্রামটি জিতে।


@ CᴏɴᴏʀO'Bʀɪᴇɴ je habiterহয়ে যায় j' habiteনাকি j'habite?
ব্যবহারকারী 41805

পুনঃটুইট করেছেন
কনর ও ব্রায়েন

@ CᴏɴᴏʀO'Bʀɪᴇɴ -10% বোনাসের জন্য, ইনপুটটিতে এখনও সর্বনাম থাকা দরকার, বা এটি কেবল ক্রিয়া হতে পারে?
ব্যবহারকারী 41805

Morterঅস্তিত্ব নেই, আমি ধরে নিই যে আপনি to dieকোনটি উল্লেখ করছেন যা mourirফলন করবে je mouraisযা আসলে সঠিক।
মারাত্মক রূপ দিন

@ ফ্যাটালাইজ আমি উল্লেখ করছি morter। এটি প্রযুক্তিগতভাবে ভুল কারণ এটি একটি শব্দ নয়।
কনর ও ব্রায়ান

উত্তর:


2

প্রক্রিয়াজাতকরণ, 342-10% (বোনাস) = 307.8

আমি একটি ফাংশন তৈরি করেছি। ফাংশনটি কল করতে, প্রথম পরামিতি হিসাবে সর্বনাম এবং দ্বিতীয় হিসাবে ক্রিয়াটি অন্তর্ভুক্ত করুন। উদাহরণ স্বরূপ,a("je","habiter")

দয়া করে নোট করুন যে আমার প্রোগ্রামটি সমস্ত সর্বনামের জন্য ক্রিয়াটি সংহত করে, সুতরাং আমি কীভাবে 10% বোনাস পেয়েছি।

void a(String a,String b){String[]e={"ais","ais","ait","ait","ions","iez","aient","aient"},p={"je","tu","il","elle","nous","vous","ils","elles"};if("aehiou".contains(b.charAt(0)+""))p[0]="j'";for(String i:p)println(i+" "+b.substring(0,b.length()-2)+(b.endsWith("ger")?"e":b.endsWith("ir")?"iss":"")+e[java.util.Arrays.asList(p).indexOf(i)]);}

পঠনযোগ্য ফর্ম:

void a(String a,String b){
  String[]e={"ais","ais","ait","ait","ions","iez","aient","aient"},p={"je","tu","il","elle","nous","vous","ils","elles"};
  if("aehiou".contains(b.charAt(0)+""))p[0]="j'";
  for(String i:p)
    println(i+" "+b.substring(0,b.length()-2)+(b.endsWith("ger")?"e":b.endsWith("ir")?"iss":"")+e[java.util.Arrays.asList(p).indexOf(i)]);
}

আউটপুট (জন্য a("je", "habiter"))

j' habitais
tu habitais
il habitait
elle habitait
nous habitions
vous habitiez
ils habitaient
elles habitaient

অভিনন্দন!
কনার ও'ব্রায়েন

1
হ্যাঁ! হ্যাঁ! হ্যাঁ! কোড-গল্ফে আমার প্রথম জয়! হ্যাঁ! হ্যাঁ! [গলা পরিষ্কার করে] @ কেও'বি আপনাকে ধন্যবাদ
ব্যবহারকারী 41805

নেতৃস্থানীয় এইচ সহ সমস্ত ক্রিয়া সর্বনামকে আলাদা করবে না। কেবল নীরব এইচ। পাল্টা উদাহরণ হ্যার (জে হেইস) (যাইহোক অনিয়মিত), হ্যাচার, হেলিটার, হোল্টার, হরিসর এবং আরও অনেক কিছু। আপনি ক্রিয়াকলাপগুলি শেষের দিকেও মিস করেন, যেখানে "নস ফর্ম" হয়ে যায় ç
উড়হিসিদুর

4

হাস্কেল, 366 362 352 বাইট

s#v=m++g++d++t
 where
 m|v=="être"="ét"|i/="rio"&&i/="erd"&&i/="eri"=r 2 v|otherwise=r 3 v
 g=if(last m=='g'&&head t/='i')then"e"else""
 d|init i=="ri"="iss"|i=="eri"="y"|otherwise=""
 t|s=="je"||s=="tu"="ais"|elem s["il","elle","on"]="ait"|s=="nous"="ions"|s=="vous"="iez"|s=="ils"||s=="elles"="aient"
 r i=reverse.drop i.reverse
 i=take 3$reverse v

আপনি এটি ghci এ সংকলন করতে এবং এটি "je"#"choisir"পেতে এটির মতো ব্যবহার করতে পারেন "choisissais"

এই কোডটি কিছু অনিয়মিত ক্রিয়াগুলির সাথে কাজ করে। এটা তোলে অনুবন্ধী করতে croire ( Je croyais , Tu croyais ...) বা prendre সেইসাথে তার ডেরাইভেটিভস ( apprendre , comprendre , ইত্যাদি)।

আমি -ire শেষ হওয়া অনুবন্ধী অন্যান্য ক্রিয়া (যেমন একটি সংক্ষিপ্ত পথ খুঁজে পাইনি lire , rire , ভয়ানক , ইত্যাদি) বা -dre মধ্যে (যেমন craindre , soudre , ইত্যাদি)।


এটা 352 কারণ বাইট করা উচিত হবে না êএবং é?
ব্যবহারকারী 41805

2

জাভা , 389 385 383 382 352.7 443-10% (বোনাস) = 398.7 বাইট

বাইট কাউন্ট হ্রাস @ পিটারটেলর এবং @ ফ্যাটালাইজের জন্য ধন্যবাদ
দয়া করে নোট করুন যে আমার প্রোগ্রামটি সমস্ত সর্বনামের জন্য ক্রিয়াটি সংহত করে, সুতরাং আমি কীভাবে 10% বোনাস পেয়েছি।

class A{public static void main(String[]a){String[]e={"ais","ais","ait","ait","ions","iez","aient","aient"},p={"je","tu","il","elle","nous","vous","ils","elles"},w=new java.util.Scanner(System.in).nextLine().split(" ");if("aehiou".contains(w[1].charAt(0)+""))p[0]="j'";for(String i:p)System.out.println(i+" "+w[1].substring(0,w[1].length()-2)+(w[1].endsWith("ger")?"e":w[1].endsWith("ir")?"iss":"")+e[java.util.Arrays.asList(p).indexOf(i)]);}}

পঠনযোগ্য ফর্ম (এখনও বেশ অগোছালো):

 1| class A{
 2|   public static void main(String[]a){
 3|     String[]e={"ais","ais","ait","ait","ions","iez","aient","aient"};
 4|     String[]p={"je","tu","il","elle","nous","vous","ils","elles"};
 5|     String[]w=new java.util.Scanner(System.in).nextLine().split(" ");
 6|     if("aehiou".contains(w[1].charAt(0)+""))p[0]="j'";
 7|     for(String i: p) {
 8|       System.out.print(i+" "+w[1].substring(0,w[1].length()-2)+(w[1].endsWith("ger")?"e":w[1].endsWith("ir")?"iss":"")+e[java.util.Arrays.asList(p).indexOf(i)]);
 9|     }
10|   }
11| }

ব্যাখ্যা:

Lines 3-4: Initialisation of arrays.
Line    5: Read a line as input and split it into words
Line    6: Shorten the `je` to `j'` in presence of a succeeding vowel or a `h`.
Line    7: Create a for-loop iterating through all of the pronouns .
Line    8: Conjugate the verb(remove the ending from the infinite form of the verb and add ending accordingly) and print the result, along with the pronoun.



(পুরানো সংস্করণ) 393-10% = 352.7 বাইট

দয়া করে মনে রাখবেন যে আমার পুরানো প্রোগ্রামটি jeমার্জ হওয়ার বিষয়ে নতুন নিয়মটি মানছে না j'

class A{public static void main(String[]a){String[]e={"ais","ais","ait","ait","ions","iez","aient","aient"},p={"je","tu","il","elle","nous","vous","ils","elles"},w=new java.util.Scanner(System.in).nextLine().split(" ");for(String i:p)System.out.println(i+" "+w[1].substring(0,w[1].length()-2)+(w[1].endsWith("ger")?"e":w[1].endsWith("ir")?"iss":"")+e[java.util.Arrays.asList(p).indexOf(i)]);}}

2
আপনার উভয় kএবং কেন l?
পিটার টেলর

@ পিটারটেলর জি, ধন্যবাদ এটির জন্য ধন্যবাদ!
ব্যবহারকারী 41805

আপনার এখানে একটি অকেজো স্থান রয়েছে:w[1].substring(0, w[1].length()-2)
ফ্যাটালাইজ করুন

@ ফ্যাটালাইজ আমি আমার সর্বশেষ সম্পাদনায় অকেজো জায়গা সরিয়ে ফেলেছি।
ব্যবহারকারী 41805

1

পাইথন 3 , 258-10% = 232.2 223-10% = 200.7

আমাকে 35 বাইট বাঁচানোর জন্য @WW কে প্রচুর ধন্যবাদ!

def t(x,y):
 z=y[-2:];y=y[:-2];y+='e'*(y[-1]=='g');y+='iss'*(z=='ir')
 return[('j'+"e'"[y[0]in'aeiouh']+' tu il elle nous vous ils elles').split()[i]+' '+y+'ais ais ait ait ions iez aient aient'.split()[i]for i in range(8)]

এটি অনলাইন চেষ্টা করুন!


1
আপনি splitআপনার তালিকাগুলি আরও কমপ্রেস করতে একটি ব্যবহার করতে পারেন । এছাড়াও ব্যবহার ;আপনাকে কিছু ইন্ডেন্টেশন এড়াতে সহায়তা করতে পারে।
অ্যাডহক গার্ফ হান্টার

1
ifএস এ আপনার শর্তসাপেক্ষে আপনার প্যারেনস লাগবে না ।
অ্যাডহক গার্ফ হান্টার

1
আপনার জমা দেওয়ার পরে কোনও জায়গা j'লাগবে বলে মনে হচ্ছে এটি অনুমানের সাথে মেলে না।
অ্যাডহক গার্ফ হান্টার

1
@WW ধন্যবাদ! এবং প্রধান পোস্টের মন্তব্যে ওপি বলেছে যে একটি স্থান সহ "জে" "ঠিক আছে
জাঠ ওশ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.