مبانی مفهومی کامپیوتر ۱(منطق ریاضی ۱۰۱)

اگر بخواهیم منطق ریاضی رو در یک جمله بیان کنیم باید بگیم <<محض ترین گرایش ریاضی>> به طوری که هر گرایش دیگه ای از ریاضی در نهایت به اون ختم میشه و ازونجا که ریاضی پایه بقیه علوم هست میشه اینجوری استدلال کرد که هرچی توی علوم مختلف اعم از فیزیک و شیمی و.. وجود داره در نهایت از یک آبشخور یعنی منطق ریاضی نشئت میگیره.گزاره منطقی: جمله ای خبری که می تواند درست یا نادرست باشد.جملات پرسشی,عاطفی و امری گزاره منطقی نیستند.جملات زیر همگی گزاره اند:۲ ضربدر ۲ مساوی ۴ است.۲۴ عددی اول است(نادرست هست ولی چون خبری است گزاره است)ما در مریخ زندگی می کنیم....جملات زیر گزاره نیستند:به به چه هوای خوبی!(جمله عاطفی گزاره نیست البته اگر بگوییم هوا خوب است کمی به گزاره نزدیک تر می شویم چون جمله خبری شده ولی کلمه ای مثل <<خوب>> بار احساسی دارد و اگر در دستگاه منطقی ما تعریف قبلی برای کلمه ی خوب وجود نداشته باشد همچنان مبهم است و گزاره به حساب نمی آید.)ساعت چند راه بیوفتیم؟ (جملات سوالی گزاره نیستند و مشخصا نمی توان به آن ارزش درست و غلط یا به قول ما کامپیوتری ها ۰ و ۱ نسبت داد)درس هایت را بخوان.(این جمله امری است و مشخصا نمی توان به آن ارزش صفر یا یک داد)گزاره ها سنگ بنای منطق ریاضی هستند همونطور که ۰ و ۱ ها سنگ بنای محاسبات کامپیوتر هستند.توابع منطقیشاید بهتر باشه اول یک تعریف از تابع ارائه بدم:تابع: یک موجود در ریاضیاته که یک یا چند تا ورودی میگیره و یکسری اعمال روی اون ورودی انجام میده و یک یا چند خروجی بهمون میدهتوابع منطقی‌: یک یا چند گزاره رو دریافت می کنن و یک گزاره جدید میسازن از معروف ترین توابع منطقی میشه به and,or,not,nand,nor,xor,xnor اشاره کرد. به مثال زیر از تابع and توجه کنید:گزاره ۱: ۶ عددی زوج است.گزاره ۲‌: ۶ بر ۳ بخشپذیر است.گزاره ۳ : گزاره ۱ and گزاره ۲ : ۶ عددی زوج است و بر ۳ بخشپذیر است.در علوم کامپیوتر ما زیاد با این کاری نداریم که گزاره ی حاصل چه جمله ای میشه(زیاد کاری نداریم. نه اینکه کلا کاری نداریم!) بلکه تمرکز اصلیمون روی ارزش گزاره ی حاصل بعد از ورود گزاره های قبلی به تابع منطقی هست.ویژگی مهم توابع منطقی اینه که ورودیشون فقط از جنس ۰ و ۱ هست و خروجیشون هم فقط از جنس صفر و یک هست.تابع and(و): این تابع یک خروجی دارد(یا یک یا صفر).تنها در صورتی خروجی این تابع ۱ است که تمام ورودی هاش ۱ باشن ولی حتی اگر یکی از ورودیاش صفر باشه خروجیش صفر میشه بذارین با یه مثال توضیح بدم: جمله ی زیر در کل غلطه!۲۳ عددی اول است و ۴ بزرگتر از ۳ است و ۹۹ بزرگترین عدد دو رقمی است و دو ضربدر دو می شود ۵چرا در کل غلطه؟ چون جمله ی آخرش غلطه با این که سه جمله ی قبلی همگی درست بود.تابع or(یا) : این تابع یک خروجی دارد(صفر یا یک) و تنها در صورتی خروجی این تابع ۰ است که تمام ورودی هاش صفر باشند به عبارتی حتی اگر یکی از ورودیاش یک باشه خروجی نهایی ۱ میشه.مثلا گزاره زیر در کل درسته :۲۴ عددی اول است یا ۴۵ مربع کامل است یا قابیل هابیلو کشت!با وجود اینکه دو جمله اول غلط هستن اما چون جمله سوم درست است و بین این گزاره ها یا بود گزاره ی نهایی درست است.فرق یا منطقی و یا روزمره اینه که در منطق وقتی میگیم <<الف یا ب>> یعنی گزاره ی الف درست باشد یا گزاره ی ب یا هر دو ولی در مکالمه ی روزمره وقتی می گوییم‌<<چای یا قهوه>> منظورمون اینه که یکیش باید انتخاب بشه.تابع not(نقیض): این تابع ارزش گزاره رو برعکس میکنه یعنی اگر صفر باشه یک میشه و اگر یک باشه صفر میشهمثلا نقیض گزاره <<۲۳ عددی اول است>> گزاره ی <<۲۳ عددی اول نیست>> میشه.تابع xor: عبارت xor در حقیقت خلاصه ی عبارت (exclusive or) یا به عبارتی or انحصاری شده هست و وقتی بین دو تا گزاره میاد فقط تحت شرایطی ارزش یک داره که یکی از دو گزاره درست و یکی غلط باشه و در حقیقت اون <<یا>> ای که توی محاوره استفاده میشه xor هستش مثل همون مثال بالا که گفتم <<چای یا قهوه>> که باید یکیش انتخاب بشه.توابع دیگه ای مثل nand,nor,xnor هم وجود دارن که فعلا راسته کار ما نیستن.امیدوارم این پست براتون مفید واقع شده باشه البته این شروع سلسه پست های من تو ویرگول در زمینه ی مبانی مفهومی علوم کامپیوتر بود.منتظر پست های بعدی باشین.