مهندس نرمافزار، مهندس داده، علاقهمند به هوش مصنوعی (دانشآموختهی دانشگاه خواجه نَصیرُالدین طوسی)
ابتداییترین مفهوم در علوم کامپیوتر
اگر دانشجوی یکی از رشتههای مرتبط با کامپیوتر هستید، احتمالا با ابتداییترین مفهوم علوم کامپیوتر آشنایی دارید. معمولا استادهای خوشسلیقه میدانند که باید ذهن یک دانشجوی کامپیوتر را با مدل ورودی - پردازش - خروجی آشنا کنند.
فرض کنیم در کلاس درس هستیم،معمولا این طور شروع میشود: برای حل اکثر مسالهها در علوم کامپیوتر سه بخش وجود دارد:
معمولا هر مسالهای یک سری ورودی دارد، سپس این ورودیها در مرحلهی دوم پردازش میشوند و در مرحلهی آخر پردازش خروجی مناسب تولید میشود.
ورودیها معمولا توسط یک عامل انسانی یا یک پروسهی در حال اجرا به برنامه داده میشود، برنامه این ورودیها را پردازش میکند و در مرحلهی آخر خروجی مناسب را تولید میکند.
مثال ۱ (تابع در برنامهنویسی)
فرض کنیم از ما خواسته میشود تا برنامهای بنویسیم که یک عدد را از ورودی بگیرد، اگر این عدد مضرب سه بود، پیغام OK و در غیر این صورت پیغام NO به خروجی فرستاده شود.
def multiple_by_three(num):
if num % 3 == 0:
return "OK"
else:
return "NO"
در این جا ورودی مساله یک عدد است که از ورودی گرفته میشود سپس وارد مرحلهی پردازش میشود، در مرحلهی پردازش بررسی میشود که آیا باقیماندهی عدد وارد شده بر سه صفر است یا نه. اگر صفر بود یعنی این عدد مضرب سه است. اگر عدد مضرب سه بود پیغام OK و در غیر این صورت پیغام NO به خروجی فرستاده میشود.
مثال ۲ (فرایند ETL)
در مهندسی داده (Data Engineering) هم با مسائلی از این دست مواجه میشویم. یکی از وظایف مهندس داده نوشتن روالهای ETL است که طی این روال یک سری داده به عنوان ورودی میخواند آنها را تمیز میکند و پس از تبدیل کردن به شکل مناسب آنها را به خروجی میفرستد:
مثلا در فرایند ETL بالا، یک مهندس داده میخواد مقدار male را با صفر و مقدار female را با یک جایگزین کند، یک فایل CSV به عنوان ورودی به برنامه داده میشود، برنامه تبدیل مورد نظر را انجام میدهد و در نهایت یک فایل CSV جدید به عنوان خروجی تولید میکند.
منابع
مطلبی دیگر از این انتشارات
دیگه معطل بَک نشو! (Don't think about Back-end) ?
مطلبی دیگر از این انتشارات
نخستین برنامه با PyQt5
مطلبی دیگر از این انتشارات
برنامه نویس نبـــــــــــــود! ۱و ۲و ۳