اعداد OCR

اعداد OCR

متوسط

دستورالعمل‌ها

یک شبکه‌ی ۳ در ۴ از خط‌های عمودی، زیرخط‌ها و فاصله‌ها داده شده است؛ مشخص کنید کدام عدد نمایش داده شده است یا اینکه ناخوانا است.

برای شروع، یک قلم دودویی ساده را به رشته‌ای تبدیل کنید که 0 یا 1 دارد.

این قلم دودویی از خط‌های عمودی و زیرخط‌ها ساخته شده است و چهار سطر ارتفاع و سه ستون عرض دارد.

     _   #
    | |  # zero.
    |_|  #
         # the fourth row is always blank

به «0» تبدیل می‌شود.

         #
      |  # one.
      |  #
         # (blank fourth row)

به «1» تبدیل می‌شود.

اگر ورودی اندازه‌ی درست را داشته باشد اما قابل تشخیص نباشد، برنامه‌ی شما باید «?» را برگرداند.

اگر ورودی اندازه‌ی نادرست داشته باشد، برنامه‌ی شما باید یک خطا برگرداند.

برنامه‌تان را به‌روزرسانی کنید تا رشته‌های دودویی چندنویسه‌ای را تشخیص دهد و اعداد ناخوانا را با «?» جایگزین کند.

برنامه‌تان را به‌روزرسانی کنید تا همه‌ی اعداد 0 تا 9 را تشخیص دهد، هم به‌صورت جداگانه و هم به‌عنوان بخشی از یک رشته‌ی بزرگ‌تر.

 _ 
 _|
|_ 
   

به «2» تبدیل می‌شود.

      _  _     _  _  _  _  _  _  #
    | _| _||_||_ |_   ||_||_|| | # decimal numbers.
    ||_  _|  | _||_|  ||_| _||_| #
                                 # fourth line is always blank

به «1234567890» تبدیل می‌شود.

برنامه‌تان را به‌روزرسانی کنید تا چندین عدد را مدیریت کند، هر کدام در یک خط. هنگام تبدیل چند خط، خط‌ها را با ویرگول به هم بچسبانید.

    _  _ 
  | _| _|
  ||_  _|
         
    _  _ 
|_||_ |_ 
  | _||_|
         
 _  _  _ 
  ||_||_|
  ||_| _|
         

به «123,456,789» تبدیل می‌شود.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Delphi Pascal Exercism

آماده‌اید اعداد OCR را شروع کنید؟

در Exercism ثبت‌نام کنید تا Delphi Pascal را همراه با 76 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.