ابتدایی‌ترین مفهوم در علوم کامپیوتر

اگر دانشجوی یکی از رشته‌های مرتبط با کامپیوتر هستید، احتمالا با ابتدایی‌ترین مفهوم علوم کامپیوتر آشنایی دارید. معمولا استادهای خوش‌سلیقه می‌دانند که باید ذهن یک دانشجوی کامپیوتر را با مدل ورودی - پردازش - خروجی آشنا کنند.

فرض کنیم در کلاس درس هستیم،معمولا این طور شروع می‌شود: برای حل اکثر مساله‌ها در علوم کامپیوتر سه بخش وجود دارد:

مدل ورودی - پردازش - خروجی
مدل ورودی - پردازش - خروجی

معمولا هر مساله‌ای یک سری ورودی دارد، سپس این ورودی‌ها در مرحله‌ی دوم پردازش می‌شوند و در مرحله‌ی آخر پردازش خروجی مناسب تولید می‌شود.

ورودی‌ها معمولا توسط یک عامل انسانی یا یک پروسه‌ی در حال اجرا به برنامه داده می‌شود، برنامه این ورودی‌ها را پردازش می‌کند و در مرحله‌ی آخر خروجی مناسب را تولید می‌کند.

مثال ۱ (تابع در برنامه‌نویسی)

فرض کنیم از ما خواسته می‌شود تا برنامه‌ای بنویسیم که یک عدد را از ورودی بگیرد، اگر این عدد مضرب سه بود، پیغام OK و در غیر این صورت پیغام NO به خروجی فرستاده شود.

def multiple_by_three(num):
    if num % 3 == 0:
        return &quotOK&quot
    else:
        return &quotNO&quot

در این جا ورودی مساله یک عدد است که از ورودی گرفته می‌شود سپس وارد مرحله‌ی پردازش می‌شود، در مرحله‌ی پردازش بررسی می‌شود که آیا باقیمانده‌ی عدد وارد شده بر سه صفر است یا نه. اگر صفر بود یعنی این عدد مضرب سه است. اگر عدد مضرب سه بود پیغام OK و در غیر این صورت پیغام NO به خروجی فرستاده می‌شود.

مثال ۲ (فرایند ETL)

در مهندسی داده (Data Engineering) هم با مسائلی از این دست مواجه می‌شویم. یکی از وظایف مهندس داده نوشتن روال‌های ETL است که طی این روال یک سری داده به عنوان ورودی می‌خواند آن‌ها را تمیز می‌کند و پس از تبدیل کردن به شکل مناسب آن‌ها را به خروجی می‌فرستد:

یک ETL نمونه
یک ETL نمونه

مثلا در فرایند ETL بالا، یک مهندس داده می‌خواد مقدار male را با صفر و مقدار female را با یک جایگزین کند، یک فایل CSV به عنوان ورودی به برنامه داده می‌شود، برنامه تبدیل مورد نظر را انجام می‌دهد و در نهایت یک فایل CSV جدید به عنوان خروجی تولید می‌کند.


منابع

https://en.wikipedia.org/wiki/IPO_model