بایگانی ماهیانه: می 2013

سیاهچاله

چرا اینترنت زمان شما را مانند یک سیاه‌چاله می‌مکد!

احتمالاً شما هم با این پدیده برخورد کرده‌اید که زمانی که برای کاری کوچک و مفید (چک کردن ایمیل یا نوشتن مقاله برای دوبرنامه‌نویس!) سراغ اینترنت می‌روید، نمی‌توانید از پای رایانه بلند شوید. در واقع زمانی این کار را انجام می‌دهید که احساس می‌کنید چند دقیقه گذشته، در حالی که چند ساعت گذشته است. ساینتیفیک امریکن در مقاله‌ای که چند روز پیش منتشر کرده، برخی از علل احتمالی این مسئله را بررسی کرده‌است.

به نظر می‌رسد که مغز انسان تمایل شدیدی به رویارویی با ناشناخته‌ها دارد. در واقع اینترنت سبکه‌ی گسترده‌ای از اطلاعات به هم گسترده است و هنگامی که فرد در چنین محیط بی حدّ و مرزی قرار می‌گیرد، خروج از آن بسیار سخت می‌شود.

دومین دلیلی که در این مقاله برشمرده می‌شود، لذّت‌هایی است که در آن وجود دارد. این لذّت‌ها عملاً کاربر را شرطی می‌کنند. اگر آزمایش معروف پاولف را به خاطر داشته‌باشید، می‌توانید چیزهایی مانند یک خبر جالب، یک عکس زیبا، یک ایمیل یا پیغام در شبکه اجتماعی و … را مانند غذا و دسترسی به اینترنت را مانند زنگ درنظر بگیرید. علاوه بر آن، انسان ذاتاً اجتماعی است. به همین دلیل، شما معمولاً از کارهایی مانند خواندن پست‌های وبلاگ و ایمیل‌های تازه و گشت و گذار در شبکه‌های اجتماعی لذّت می‌برید.

دلیل دیگر، که بیشتر به ناتوانی در ترک اینترنت مربوط است، محوبودن مرز میان کار مفید و اتلاف وقت است. در بسیاری از شرایط دیگر، مثلاً در بسیاری از مشاغلی که با اینترنت سر و کار ندارند، تفاوت محسوس و مشهوی وجود دارد میان زمانی که شخص کار می‌کند و زمانی که وقت تلف می‌کند. این مرز در اینترنت محو و مبهم می‌شود. بر اساس تحقیقات، به نظر می‌رسد که اراده مانند یک ماهیچه است: با کارکشیدن از آن می‎توان آن را تقویت کرد؛ ولی استفاده زیاد از آن می‌تواند سبب خسته‌شدنش نیز بشود. این اتفاق در اینترنت می‌افتد، چراکه کاربر مدام باید در حال مقاومت و ایستادگی در برابر اتلاف وقت باشد.

مسئله جالب دیگر بروز نوعی واکنش جنگ و گریز است. در وب چیزهایی هست که نیاز به واکنش درست، سریع و مناسب دارد، مثل ایمیل و پیغام‌های شبکه‌های اجتماعی. به همین دلیل، بدن در وضعیتی قرار می‌گیرد که آمادگی رویارویی با خطرات بالقوّه را داشته‌باشد.

منبع


مسأله فرعی جالبی که حین نگارش این مقاله به ذهنم رسید، این است که چقدر ویژگی‌هایی که هزاران سال است در انسان نمود داشته‌اند، رنگ و بوی اینترنت و فناوری گرفته‌اند. شخصاً زیاد به این مسأله خوشبین نیستم، گرچه هنوز برای قضاوت زود است و باید صبر کرد. با این وجود، برخی از نتایج منفی این تغییرات همین امروز هم خود را نشان داده‌اند. افزایش معنادار نرخ چاقی و برخی اختلالات دیگر می‌تواند با این مسئله در ارتباط باشد.

گاهی اوقات می‌شونم که بزرگترها به شوخی به دهه شصتی‌ها می‌گویند “بچه‌های روغن‌نباتی”، روغن نباتی دستکم وجود فیزیکی داشت، نرم‌افزار تنها در حدّ برق جاری در مدارهای منطقی وجود فیزیکی دارد. وای به حال ما که “بچه‌های اینترنت” می‌شویم! به نظر شما، ما چه موجوداتی خواهیم شد؟!؟

شرکت‌های فعال در حوزه‌ی فناوری، چگونه درآمد کسب می کنند؟

امروزه شرکت‌های کوچک و بزرگی را می‌شناسیم که به ما خدماتی ارائه می‌دهند و زندگی آنلاین ما، در واقع همین حکایت ما و این شرکت‌هاست.

این یک بازی برد-برد است. ما برنده‌ایم، چرا که سرویس‌های کارآمد و خوبی را در اختیار داریم، و آنها برنده‌اند چون درآمد خوبی به جیب می‌زنند.

ولی همیشه اینگونه نیست که آنها برای دادن این خدمات به ما، از ما پولی دریافت کنند. برای نمونه، دراپ‌باکس را در نظر بگیرید، خیلی از ما یک اکانت رایگان در این سرویس داریم. اما درآمد این شرکت، تنها از پلن‌های پولی (که فضای بیشتری در اختیار شما قرار می‌دهند) کسب می‌شود:

SavedPicture-2013515212630.png

* Freemium به سرویس‌هایی اشاره دارند که یک سرویس رایگان در اختیار کاربران می‌گذارند، بعد امکاناتی بیشتر از آن (در اینجا فضای بیشتر) را می‌فروشند. (اطلاعات بیشتر)

یا مثلن Stackoverflow، به هیچ عنوان از کاربرانش پولی دریافت نمی‌کند و درآمدش تنها از راه تبلیغات است:

SavedPicture-2013515212623.png

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

جالب این‌که کسانی که عضو فعال این وبگاه باشند (امتیازشان دست‌کم ۱۲۵ باشد) تبلیغات به مراتب کمتری را مشاهده می‌کنند!

* تصور می‌کنم بخش کاریابی این وبگاه هم یک منبع درآمد برای این شرکت باشد، هرچند در عکس بالا این مورد ذکر نشده است.

 

چند مورد دیگر را نیز ببینید:

SavedPicture-201351521265.png SavedPicture-2013515212613.png SavedPicture-2013515212647.png

 

اما چیزی که بیشتر توجه من را به خود جلب کرد، Instagram بود:

SavedPicture-2013515212558.png

اینستاگرام اکنون متعلق به شرکت فیس‌بوک است. به نظر می‌رسد فایده‌ی این شبکه‌ی اجتماعی، از طریق شبکه اجتماعی فیس‌بوک باشد. (یکپارچگی اینستاگرام و فیس‌بوک، به معنی حضور بیشتر کاربران در فیس‌بوک و درآمد بیشتر این شرکت است)

جالب این‌که پیش از این‌که فیس‌بوک، اینستاگرام را بخرد، سازندگان اینستاگرام از آن درآمدی کسب نمی‌کردند!

شیوه‌ی درآمدزایی دیگر شرکت‌های مهم حوزه‌ی فناوری را در اینجا ببینید.

***

اما این الگوی درآمد، برای ما کاربران مشکلاتی هم دارد. مشهور ترین مثال، تعطیلی گوگل ریدر است که بسیاری را ناراحت و عصبانی کرد.

به خصوص شرکت‌های بزرگ، وقتی حس کنند که یک سرویس دیگر درآمد رضایت بخشی ندارد، می‌توانند آن را تعطیل کنند. البته شرکت‌های کوچک (که منبع درآمد دیگری جز یک سرویس ندارند) ممکن است با تمرکز بیشتر روی آن سرویس، درآمد حاصل از آن را بیشتر کنند. چرا که تعطیلی سرویس برای شرکت‌های کوچک به معنی نابودی شرکت است.

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

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

به هر حال، تصمیم با ماست که چقدر مراقب حریم خصوصی خود باشیم. اگر نمی‌توانیم یا نمی‌خواهیم پولی برای این سرویس‌ها بدهیم، دست‌کم در میان سرویس‌های موجود، آنی را انتخاب کنیم که بیشتر به حریم خصوصی کاربران اهمیت می‌دهد.

ما و وبلاگمون و توییتر!

چند وقت پیش احمدعلی یه پست نوشت که «دو برنامه‌نویس» اجتماعی می‌شود و از این چیزا. دو تا آیکون شبکه اجتماعی هم گذاشت این گوشه‌ی وبلاگ.

راستش من نفهمیدم اینا به چه دردی می‌خورن، بنابراین برشون می‌دارم (احمدعلی منو به فحش می‌کشه الان!)

به جاش، عکس خودم و احمدعلی رو گذاشتم، با لینک به اکانت توییترمون. :)

راستش مدتیه که من و احمدعلی شروع کردیم به توییت کردن در توییتر، و البته شده بلای خانمان سوز… امروز امتحان دینی داشتیم، دیروز من و احمدعلی و مسعود فاطمی داشتیم هی همدیگه رو منشن می کردیم… :|

به هر حال، من در توییتر @MahdiGhiasi هستم و احمدعلی در توییتر @ahmadalli .

آورده‌اند که…

درویشی (از دنیا دل کنده) به مجرد گوشه‌ی صحرایی نشسته بود. پادشاهی بر او بگذشت؛ درویش – از آن‌جا که فراغ ملک قناعت (به تأثیر آسودگی و بی‌نیازی حاصل از قناعت) است – التفات (توجه) نکرد. سلطان – از آن‌جا که سطوت(شکوه) سلطنت است – برنجید و گفت: این طایفه‌ی خرقه‌پوشان (درویشان) امثال حیوان‌اند (آداب معاشرت بلد نیستند) و اهلیت و آدمیت ندارند. وزیر نزدیک‌ش آمد و گفت: ای جوان‌مرد، سلطان روی زمین برتو گذر کرد؛ چرا خدمتی (تعظیم) نکردی و شرط ادب به‌جای نیاوردی؟ گفت: سلطان را بگوی توقع خدمت از کسی دار که توقع نعمت از تو دارد و دیگر، بدان که ملوک (شاهان) از بهر پاس (محافظت) رعیت‌اند نه رعیت از بهر طاعت ملوک.

پادشه پاسبان درویش است        گرچه رامش به فر دولت اوست

(اگرچه آرامش مملکت وابسته به شکوه حکومت پادشاه است)

گوسپند از برای چوپان نیست        بلکه چوپان برای خدمت اوست

ملک را گفتِ (گفته) درویش استوار آمد؛ گفت: از من تمنایی بکن. گفت: آن همی‌خواهم که دگرباره زحمت من ندهی. گفت: مرا پندی بده؛ گفت:

دریاب اکنون که نعمتت هست به‌دست        کاین دولت و مُلک می‌رود دست به‌دست

به‌نقل از کتاب ادبیات فارسی سوم دبیرستان.

آموزش برنامه‌نویسی – بخش پنجم – چرا هر آموزشی باید عنوان داشته باشد؟

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

توی بخش قبل ما یاد گرفتیم این‌جوری چندتا متغیر بسازیم و درجا مقداردهی‌شون هم بکنیم:

int ali = 1, reza = 3, hadi = 3;

و این‌جوری هم مقدار متغیر رو از کاربر بگیریم:

cin >> ali >> hadi >> reza;

و اینی که می‌بینید توی آمورش قبلی ۲۰۰۰کلمه از من تایپیدن گرفت!

دفعه‌ی قبل بعد از خلاصه‌ای که اول آموزش گفتیم یه بخش مفهومی هم داشتیم تا ببینیم پشت اون کدهایی که می‌نویسیم واقعا چی می‌گذره ولی امروز چون درس‌مون به‌جایی نرسیده که چیز خاصی رو بتونم توضیح بدم (یا به ذهنم نمی‌رسه که چیزی رو توضیح بدم) امروز از این خبرا نیست.

توی جلسه‌ی قبل یادمون رفت که بگیم چجوری یه متغیر رو چاپ کنید و البته فکر کنم خودتون حدس زدید که چجوریه ولی چون من باید به رسالت آموزشی خودم (!!!) عمل کنم پس بهتون می‌گم چجوری. واضحه که برای چاپ متغیر باید از cout  استفاده کنیم و بعد از >>  بدون این‌که علامت دیگه‌ای بزاریم اسم متغیر رو می‌نویسیم. یعنی این‌جوری:

cout << reza << ali << hadi << endl;

پس همین‌جا می‌تونیم نتیجه بگیریم که endl  هم خودش یه متغیر از یه نوعیه که نمی‌شناسیم‌ش که باعث می‌شه “n”  منتشر بشه.

فعلا بهش نمی‌پردازیم باشه بعدا.

و این‌که روی متغیرهامون می‌تونیم اعمال ریاضی هم انجام بدیم مثلا اون رو با یه عدد دیگه (یا یه متغیر دیگه از نوع خودش) جمع، ضرب، تفریق، تقسیم کنیم و عملیات ریاضی‌مون رو با پرانتز از هم جدا کنیم. اولیت انجام عملیات هم مثل ریاضی (که تاکید می‌کنیم ریاضیات پایه‌تون باید خوب باشه تا برنامه‌نویسی رو در حداقل استانداردهاش یاد بگیرید) به‌ترتیب این‌جوریه:

محتویات پرانتزها

ضرب و تقسیم

جمع و تفریق

و یه عملگر دیگه هم داریم به اسم عملگر باقیمانده که اولیت‌ش آخر از همه‌ست.

عملگر باقیمانده با %  نمایش داده می‌شه و واضحه که باقیمانده‌ی عدد سمت چپ‌ش بر عدد سمت راست‌ش رو خروجی می‌ده و اون عدد سمت راست یا چپ می‌تونه متغیر هم باشه.

مثلا

6 % 3

خروجی‌ش 0  خواهد بود و

6 % 4

هم 2  رو خروجی می‌ده و توی کد زیر:

int ali=100, reza= 80;
cout << ali % reza;

عدد 20 رو خروجی می‌گیریم و البته اگر عدد سمت راست از عدد سمت چپ بزرگ‌تر باشه خروجی همون عدد سمت چپ می‌شه. (بدیهی‌نامه!)

خوب ما الان متغیرمون رو هم داریم ولی بازم به دردمون نمی‌خوره چون تهِ‌تهِ‌ش کار خاصی نمی‌تونیم با متغیرمون بکنیم.

برای این‌که برنامه‌مون یه‌ذره پویاتر باشه باید اطلاعاتی که از کاربرامون می‌گیریم رو به روش‌های مختلف پردازش کنیم. اولین و تقریبا پرکاربردترین روش پردازش این اطلاعات استفاده از شرط‌هاست. یادتونه توی اولین آموزش‌مون وقتی روبات‌مون یه‌ذره خنگ‌تر بود و شرایط رو نرمال در نظر گرفته بودیم، توی الگوریتم بهش می‌گفتیم «اگه یه چیز جامد سفید دیدی اون رو بریز توی لیوان»؟ این از اولین شرط‌هایی بود که باهم باهاشون آشنا شدیم و البته شرط‌هایی که من یادم نمیاد ولی فکر کنم بودن!

مطمئن باشید که توی سی‌پلاس‌پلاس هم ما از این شرط‌ها داریم وگرنه که نمی‌شه اسم‌ش رو زبان برنامه‌نویسی گذاشت

توی سی‌پلاس‌پلاس شرط‌ها با if  مشخص می‌شن که توی انگلیسی هم «اگر» معنی می‌ده (برا همین می‌گن سی‌پلاس‌پلاس به زبان انسان‌ها نزدیکه! البته زبان کفار بی‌ناموس خدانشناس عرق‌خور مالِ‌مردم‌خور شیطان‌پرست فراماسون دجال‌پرست تئوری توطئه‌ی انگلیسی زبان!) و عبارت شرطی رو بعد از if توی یه پرانتز می‌نویسیم و اگر چندتا شرط داشته‌باشیم هم اونا رو توی پرانتزهای جداگانه می‌نویسیم وبزارید اینا رو بعدا توضیح بدم.

اول این‌که توی پرانتزی که جلوی if  می‌ذاریم باید عبارت شرطی‌مون رو بنویسیم. فعلا عبارت‌های شرطی‌مون عبارت‌های مقایسه‌ای هستن. یعنی باید دوتا مقدار رو باهم مقایسه کنیم و البته در نهایت شرط‌های پیچیده‌تر یا شرط‌هایی که مقایسه‌ای نیستن هم توی برنامه‌نویسی به شرط‌های مقایسه‌ای بر می‌گردن (یعنی در نهایت چه بخواهید چه نخواهید شرط‌ها مقایسه‌ای هستن. مثلا «اگر آمریکا حمله کنه» که در جواب شرط‌ش برنامه‌مون جواب دندان‌شکنی به آمریکا می‌ده شرطیه که از مقایسه‌ی یک وضعیت منطقه قبل از برخورد بمب‌های آمریکا‌ی کافرِ مسلمون‌کشِ بی‌دینِ «خون جوانان ما می‌چکد از چنگ تو»ِ «مرگ به نیرنگ تو»ِ استعمار جهانی و وضعیت همون منطقه بعد از برخورد بمب‌های همون آمریکایی که گفتم، بدست آورد.)

عبارت شرطی شامل دوتا مقدار هم‌نوع و یک عملگر (operator) شرطی‌ه و بعدا عبارت‌های شرطی‌ای که در ظاهر مقایسه‌ای نیستن ولی در پشت‌پرده از کلی شرط مقایسه‌ای تشکیل شدن رو هم بررسی می‌کنیم.

اون دوتا مقدار هم‌نوع معمولا متغیر هستن (یا حداقل یکی‌شون متغیره) و ما فعلا فقط int رو بلدیم و عملگرهای مقایسه‌ای هم عملگرهای مقایسه‌ای‌ای هستن که توی دوم دبستان یاد گرفتیم (و البته چندتا دیگه که تو دوم دبستان یاد نگرفتیم!) یعنی بزرگتر و کوچکتر >  <  و تساوی که برای این‌که با عملگر مقداردهی متغیر قاطی نشه از دوتا تساوی پشت‌سرهم استفاده می‌کنیم == و عملگر بزرگتر مساوی و کوچکتر مساوی <=  و «>= » و نامساوی <>. یادتون نره که توی عبارت‌های شرطی نمی‌تونیم از یک علامت تساوی استفاده کنیم.

و البته عبارت‌های شرطی هم خودشون خروجی‌ای از نوع یه متغیر دیگه به اسم bool که از کلمه‌ی boolean گرفته‌شده می‌دن و if  هم در واقع به اون خروجی نگاه می‌کنه. پس می‌شه به‌جای عبارت‌های شرطی از متغیرهایی از نوع bool استفاده کرد و البته این متغیرها رو هم می‌شه با عبارت‌های شرطی مقداردهی کرد.

در نهایت بعد از پرانتزی که توش عبارت‌های شرطی‌مون یا متغیر boolمون رو قرار دادیم باید دستوری رو بنویسیم که اگر محتویات پرانتز درست بود اون دستور اجرا بشه. اگر بخواهیم بیش از یک دستور را اجرا کنیم باید به یک‌طوری به کامپایلر بفهمونیم که قراره چه دستوراتی در صورت درست‌بودن شرط اجرا بشه و ما به کمک علامت‌های } و { این کار رو انجام می‌دهیم. به‌طور کلی هم این علامت‌ها برای دسته‌بندی (بسته‌بندی!) کدها مورد استفاده قرار می‌گیرن و البته ما تاحالا این علامت‌ها رو توی قالب کدنویسی‌مون دیدیم:

int main()
{
}

در آینده هم بیش‌تر باهم آشنا می‌شیم!

خوب حالا برای این‌که بیش‌تر متوجه بشیم بیاید باهم یه مثال حل کنیم. فرض کنیم می‌خوایم سن علی و رضا رو از کاربر بگیریم و اون‌ها رو باهم مقایسه کنیم و بگیم که سن اینا نسبت به هم چه وضعیتی داره. پس برنامه‌مون یه‌چیزی مثل این می‌شه:

int main()
{
int ali, reza;
cout << "please enter the age of Ali and Reza";
cin >> ali >> reza;
if (ali==reza)
cout << "They are in the same age!";
if (ali > reza)
cout << "Ali is older than Reza!";
if (ali < reza)
cout << "Reza is older that Ali!";
}

و البته می‌شه این رو به شکل‌های دیگه هم پیاده کرد.

اگر دقت کنید می‌بینید که توی مثال بالا شرط سوم ما برعکس شرط دوم ماست و البته شرط دوم و سوم هم برعکس شرط اول هستن. یکی از راه‌هایی که به کامپایلر بگیم که در صورت درست‌نبودن شرط چه کاری انجام بده اینه که از کلیدواژه‌ی else استفاده کنیم و اتفاقا این خیلی هم معمول و معقوله!

ما می‌تونیم برای این‌که برنامه‌مون کارایی بیش‌تری داشته باشه از else استفاده کنیم. چرا؟ برای این‌که فرض کنید عبارت‌های شرطی اول و دوم و سوم نیاز به پردازش بسیار زیادی داشته باشند. در برنامه‌ی بالا بدون توجه به این‌که کدوم شرط درسته هر سه عبارت شرطی ما پردازش می‌شن و این ممکنه توی برنامه‌های بزرگ فاجعه به بار بیاره و البته این فاجعه هم چیزی نیست جز یکی از کابوس‌های برنامه‌نویس‌ها، کمبود منابع! و البته شما الان دارید (احتمالا) به این قضیه می‌خندید ولی وقتی مثل آهو تو عسل گیر کردید این برنامه‌تونه که به شما می‌خنده (و البته اون شکلک معروف ترول رو می‌تونید به‌جای قیافه‌ی برنامه‌تون تصور کنید! و بدانید و آگاه باشید که به همه‌ی اون شکلک‌ها نمی‌گن ترول بلکه اسم‌شون ……….. هستش و جادی هم نوشته‌ی خوبی در توضیح این قضیه داره.)

و البته یه قضیه‌ی دیگه هم اینه که شما می‌تونید هر تعدادی که دوست دارید توی ifهاتون یه if دیگه استفاده کنید و اصطلاحا بهش if تو در تو (یا 2×2!) می‌گن!

حالا بیاید مثال قبلی‌مون رو بازنویسی کنیم

int main()
{
int ali, reza;
cout << "please enter the age of Ali and Reza";
cin >> ali >> reza;
if (ali==reza)
cout << "They are in the same age!";
else
{
if (ali > reza)
cout << "Ali is older than Reza!";
else
cout << "Reza is older that Ali!";
}
}

خوب حالا بیاید بررسی کنیم که چرا استفاده از else باعث می‌شه برنامه‌مون بهینه‌تر بشه: ببینید وقتی که برنامه اجرا می‌شه در حالت قبلی همون‌طور که گفتم همه‌ی عبارت‌های شرطی اجرا می‌شه ولی این‌جا در بهترین حالت ali == reza درسته و برنامه دیگه سراغ پردازش محتویات else بعد از شرط اول نمی‌ره و اگر هم این نباشه ali > reza پردازش می‌شه و اگر هم این درست نباشه چون شرط سوم رو حذف کردیم و جاش else گذاشتیم بازهم برنامه‌مون از حالت قبل سریع‌تر کارش رو انجام می‌ده.

برای همین هم پیشنهاد می‌کنم تو همچین عبارت‌های شرطی‌تون رو براساس احتمال درست‌بودن از بزرگ به کوچیک تو برنامه قرار بدید تا برنامه‌تون از این نظر در بهترین حالت خودش باشه. البته ما هم این قضیه رو توی مثال‌مون رعایت نکردیم که اگر بخواهیم رعایت کنیم برنامه‌مون می‌شه این:

int main()
{
int ali, reza;
cout << "please enter the age of Ali and Reza";
cin >> ali >> reza;
if (ali<reza)
cout << "Ali is older than Reza!";
else
{
if (ali > reza)
cout << "Reza is older that Ali!";
else
cout << "They are in the same age!";
}
}

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

یه ماشین‌حساب ساده بنویسید که اول دوتا عدد از کاربر بگیره و بعدش به کاربر بگید که اگر می‌خواد اینا رو باهم جمع کنه عدد ۱ اگر می‌خواد تفریق کنه ۲ و تقسیم ۳ و ضرب ۴ رو وارد کنه و برنامه‌ی شما هم خروجی رو حساب کنه و به کاربر بگه. (پیشنهاد می‌کنم اولیت شرط‌هاتون این‌جوری باشه جمع، ضرب، تفریق و تقسیم)

یه برنامه بنویسید که سن سه نفر رو بگیره و اسم‌شون رو بر اساس ترتیب سن‌شون از بزرگ به کوچیک چاپ کنه.

یه برنامه بنویسید که توش سن دو نفر رو بگیره و بررسی کنه ببینه که آیا اختلاف سنی‌شون اون‌قدر کم هست که بتونن باهم دوست‌های صمیمی بشن یا نه (و خوب خودتون خلاقیت به‌خرج بدید در مورد حدود اختلاف‌سنی مناسب!)

تا جلسه‌ی بعدی خدانگهدار…