خانه
گاما

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

دسته بندی:کپسول آموزشی
بروزرسانی شده در:1405/02/7
تعداد بازدید85
گروه رویداد: دستورهایی هستند که مشخص می‌کنند برنامه از کجا شروع شود. مثل «وقتی پرچم سبز کلیک شد» یا «وقتی کلید فاصله فشرده شد».

گروه رویداد: نقطهٔ آغاز هر برنامه

آشنایی با دستورهایی مثل «وقتی پرچم سبز کلیک شد» و «وقتی کلید فاصله فشرده شد» به عنوان قلب تپندهٔ برنامه‌های تعاملی
در این مقاله یاد می‌گیرید که رویدادها1 چگونه مشخص می‌کنند برنامه از کجا شروع به کار کند. با مثال‌های ملموس از محیط اسکرچ2 و برنامه‌نویسی متنی، با دستورهایی مثل «وقتی پرچم سبز کلیک شد»، «وقتی کلید فاصله فشرده شد» و «وقتی روی نقش کلیک شد» آشنا می‌شوید. همچنین می‌فهمید چرا انتخاب درست رویداد شروع، برای طراحی یک برنامهٔ کاربردی ضروری است.

۱. رویدادها: فرمان شروع در برنامه‌نویسی

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

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

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

برخی از رایج‌ترین رویدادهای شروع در برنامه‌نویسی مقدماتی عبارتند از:

  • وقتی پرچم سبز کلیک شد (when green flag clicked): یک رویداد استاندارد در اسکرچ که اجرای اصلی برنامه را آغاز می‌کند.
  • وقتی کلید فاصله فشرده شد (when space key pressed): رویدادی که با فشردن یک کلید مشخص فعال می‌شود.
  • وقتی روی نقش کلیک شد (when this sprite clicked): مخصوص اشیاء (نقش‌ها) در برنامه‌های گرافیکی.
  • وقتی صدای بلندی شنیده شد (when loudness > threshold): رویداد مبتنی بر ورودی میکروفون.
نام رویداد (فارسی) محرک کاربرد معمول
وقتی پرچم سبز کلیک شد کلیک روی دکمهٔ پرچم سبز شروع اصلی بازی یا انیمیشن
وقتی کلید فاصله فشرده شد فشردن کلید Space کنترل حرکت (مثل پرش یا شلیک)
وقتی نقش کلیک شد کلیک روی یک شیء خاص تعامل با دکمه‌ها یا اشیاء بازی

۲. تفاوت رویدادهای شروع با حلقه و شرط

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

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

  • رویداد شروع:وقتی پرچم سبز کلیک شد
  • حلقه:تکرار همیشه (برای حرکت مداوم گربه)
  • شرط:اگر به لبه رسیدی (برای تشخیص برخورد به لبه)

همان طور که می‌بینید، رویداد شروع، حلقه و شرط هر کدام نقش جداگانه‌ای دارند و با هم یک برنامهٔ کامل می‌سازند.

۳. کاربرد عملی: طراحی یک ماشین حساب ساده با رویدادها

فرض کنید می‌خواهید یک ماشین حساب بسازید که با فشردن کلیدهای +، -، * و / عملیات مربوطه را انجام دهد. در اینجا هر کلید یک رویداد جداگانه محسوب می‌شود. شبه‌کد این برنامه به صورت زیر است:

وقتی کلید '+' فشرده شد:
    نتیجه = عدد۱ + عدد۲
    نمایش نتیجه

وقتی کلید '-' فشرده شد:
    نتیجه = عدد۱ - عدد۲
    نمایش نتیجه

در این مثال، بدون رویدادهای فشردن کلید، برنامه هرگز نمی‌داند کاربر کدام عمل را درخواست کرده است. همچنین می‌توانید از رویداد «وقتی پرچم سبز کلیک شد» برای مقداردهی اولیه (مثلاً قرار دادن اعداد پیش‌فرض 0 در حافظه) استفاده کنید.

یک نمونهٔ واقعی دیگر: در نرم‌افزارهای ارائه مطلب مانند پاورپوینت، با فشردن کلید F5 (رویداد) نمایش اسلایدها از ابتدا شروع می‌شود. این یعنی طراح نرم‌افزار از رویداد صفحه کلید برای تعیین نقطهٔ شروع استفاده کرده است.

۴. چالش‌های مفهومی در درک رویدادها

پرسش ۱: آیا یک برنامه می‌تواند چندین رویداد شروع متفاوت داشته باشد؟
پاسخ: بله، اغلب برنامه‌ها چندین رویداد شروع دارند. برای نمونه، در یک بازی ممکن است هم با کلیک روی پرچم سبز (شروع عادی) و هم با فشردن کلید R (شروع مجدد) بازی آغاز شود. هر رویداد می‌تواند یک توالی متفاوت از دستورها را اجرا کند.
پرسش ۲: اگر دو رویداد همزمان فعال شوند چه اتفاقی می‌افتد؟
پاسخ: در محیط‌های برنامه‌نویسی ساده مثل اسکرچ، دستورها به ترتیب (معمولاً بر اساس ترتیب قرارگیری بلوک‌ها) اجرا می‌شوند. در محیط‌های پیشرفته‌تر ممکن است مدیریت هم‌روندی6 (همزمانی) توسط سیستم عامل یا زمانبند زبان برنامه‌نویسی انجام شود. اما برای شروع، فرض می‌کنیم رویدادها یکی پس از دیگری پردازش می‌شوند.
پرسش ۳: آیا رویداد «وقتی پرچم سبز کلیک شد» معادلی در زبان‌های متنی دارد؟
پاسخ: بله، در بسیاری از زبان‌ها، رویداد «بارگذاری صفحه»7 یا «آماده شدن سند»8 نقشی مشابه دارد. برای مثال در جاوااسکریپت، window.[removed] رویدادی است که وقتی تمام محتوای صفحه بارگذاری شد، اجرا می‌شود. در پایتون (با کتابخانهٔ تینتر9) نیز می‌توان رویداد شروع را به دکمه‌ها یا کلیدها وصل کرد.

۵. فرمول‌بندی منطق رویدادها

گاهی برای مدل‌سازی رویدادها در ریاضیات یا علوم کامپیوتر از فرمول‌های منطقی استفاده می‌شود. اگر رویداد $E$ و شرط $C$ را در نظر بگیریم، می‌توان نوشت:

$ \text{اجرای دستورات} \leftarrow \text{رویداد } E \ \text{و} \ \text{شرط } C $

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

$ \text{پرش} \leftarrow (\text{فشردن فاصله}) \ \text{AND} \ (\text{چتر} = \text{بسته}) $

این نمایش ریاضی به برنامه‌نویسان کمک می‌کند تا پیش از نوشتن کد، منطق رویدادها را طراحی کنند.

نکات کلیدی: رویدادها نقطهٔ شروع اجرا در برنامه‌ها هستند. «وقتی پرچم سبز کلیک شد» معروف‌ترین رویداد در اسکرچ و «وقتی کلید فاصله فشرده شد» نمادی از رویدادهای صفحه کلید است. هر برنامه می‌تواند چندین رویداد داشته باشد و رویدادها با حلقه و شرط تفاوت اساسی دارند. درک رویدادها اولین گام برای نوشتن برنامه‌های تعاملی و پاسخگو است.

پاورقی

1رویداد – معادل انگلیسی: Event. به هر اتفاق قابل تشخیص توسط برنامه (مانند کلیک، فشردن کلید، ورود داده) که باعث اجرای یک تکه کد می‌شود، رویداد گویند.

2اسکرچ – معادل انگلیسی: Scratch. یک زبان برنامه‌نویسی دیداری و رایگان برای کودکان و نوجوانان که توسط دانشگاه ام‌آی‌تی ساخته شده است.

3شنونده – معادل انگلیسی: Listener. تابعی که به طور مداوم منتظر وقوع یک رویداد خاص می‌ماند و هنگام وقوع آن، اجرا می‌شود.

4حلقه – معادل انگلیسی: Loop. ساختاری در برنامه‌نویسی که یک بلوک دستوری را به تعداد معین یا تا زمانی که شرطی برقرار است، تکرار می‌کند.

5شرط – معادل انگلیسی: Condition. ساختاری تصمیم‌گیرنده (مانند اگر-آن‌گاه) که مسیر اجرای برنامه را بر اساس درست یا نادرست بودن یک گزاره تعیین می‌کند.

6هم‌روندی – معادل انگلیسی: Concurrency. توانایی یک برنامه در اجرای چند کار به طور همزمان یا شبه‌همزمان.

7بارگذاری صفحه – معادل انگلیسی: Page Load. رویدادی که پس از بارگیری کامل یک صفحهٔ وب در مرورگر رخ می‌دهد.

8آماده شدن سند – معادل انگلیسی: Document Ready. رویدادی که نشان می‌دهد ساختار DOM صفحه برای دسترسی آماده است.

9تینتر – معادل انگلیسی: Tkinter. کتابخانه استاندارد پایتون برای ساخت رابط‌های کاربری گرافیکی (GUI).

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

وب جهانی: به همه وب‌سایت‌هایی که در اینترنت وجود دارند، می‌گویند.

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

فناوری: استفاده از علم و تجربه برای درست کردن یک چیز یا پیدا کردن یک راه‌حل که بتواند یک نیاز یا خواسته ما را برطرف کند

فناوری سخت: وقتی برای حل یک مشکل، جواب ما یک چیز فیزیکی و قابل لمس باشد، مثل یک وسیله یا ابزار
کپسول آموزشی

فناوری سخت: وقتی برای حل یک مشکل، جواب ما یک چیز فیزیکی و قابل لمس باشد، مثل یک وسیله یا ابزار

فناوری نرم: وقتی برای حل یک مشکل، جواب ما یک برنامه، روش یا راهکار باشد، نه یک وسیله فیزیکی.
کپسول آموزشی

فناوری نرم: وقتی برای حل یک مشکل، جواب ما یک برنامه، روش یا راهکار باشد، نه یک وسیله فیزیکی.

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

خلاقیت: یعنی از قوه تخیل خود استفاده کنیم و ایده‌های تازه و نو خلق کنیم تا بتوانیم مسائل مختلف زندگیمان را حل کنیم.

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

نوآوری: یعنی ایده‌های جدید و خلاقانه خود را عملی کنیم و یک محصول یا خدمت را برای اولین بار بسازیم یا آن را خیلی بهتر از قبل کنیم.

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

اختراع: یعنی برای اولین بار یک وسیله یا روش کاملاً جدید بسازیم که تا به حال وجود نداشته است

محصول: به چیزی می‌گویند که در کارخانه یا توسط یک فرد ساخته می‌شود و ما می‌توانیم آن را بخریم و از آن استفاده کنیم، مثل تلویزیون یا دوچرخه
کپسول آموزشی

محصول: به چیزی می‌گویند که در کارخانه یا توسط یک فرد ساخته می‌شود و ما می‌توانیم آن را بخریم و از آن استفاده کنیم، مثل تلویزیون یا دوچرخه

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

تکامل فناوری: یعنی یک فناوری در طول زمان تغییر کند و پیشرفت نماید تا بهتر، قوی‌تر یا کارآمدتر شود

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

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

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

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

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

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