فهرست عناوین

موضوع قبلی

2. دفتر یادنگاشت ریبرگ

موضوع بعدی

4. روزنامه

3. درنگ

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

../../_images/pause1.gif

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

../../_images/pause2.gif

توجه

میلی ثانیه یک هزارم یک ثانیه است. یعنی هر هزار میلی ثانیه برابر است با ۱ ثانیه.

امتحانش کنید!

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

3.1. اندیشه

توجه

پشت صحنه اتّفاقات زیادی می‌افتد تا ریبرگ را به حرکت در بیاید، شیئی را بردارد و دست آخر نتیجهٔ به هنگام روی نمایشگر به نمایش در بیاید. همهٔ این‌ها نمی‌تواند در یک آن اتّفاق بیافتد. ولی معمولاً خیلی سریع انجام می‌شود. استفاده از تابع think() (به معنی فکر کردن) به ما کمی وقت اضافه می‌دهد. به طور پیش فرض؛ این وقت اضافه ۲۵۰ میلی ثانیه است (که یک چهارم یک ثانیه است).

با صرف نظر از کاربرد ()pause، تا به حال، برنامه‌هایی نوشته‌اید که در آن‌ها ریبرگ در طول اجرای گام‌های برنامه را با سرعت یکنواختی اجرا می‌کرد. طوری که انگار ریبرگ قبل از اجرای هر دستور اوّل کمی فکر می‌کرد. در حقیقت، می‌توانید وقت -(اضافه‌ای) که ریبرگ برای نمایش نتیجهٔ هر کاری اختصاص می‌دهد- را کنترل کنید. برای این کار می‌توانید از تابع think(ms) استفاده کنید که در آن ms نشانوند یک عدد صحیح است بر حسب میلی ثانیه. این نشانوند نمایانگر وقت (اضافه)ای است که ریبرگ برای انجام یک کار صرف می‌کند.

این کار را امتحانش کنید!

برنامه‌ای بنویسید که از think(ms) استفاده کند. می‌توانید think(ms) را در بخش‌های مختلف برنامه استفاده کنید. با استفاده از مقادیر مختلف برای نشانوند ms می‌توانید بعضی جاهای برنامه را سریع نشان بدهید و بقیّه را کند کنید. برای این که کاری کنید که ریبرگ تا جای ممکن سرعی حرکت کند از think(0) استفاده کنید.