כיצד לעכב את ביצוע התוכנית ב- C

מְחַבֵּר: Joan Hall
תאריך הבריאה: 28 פברואר 2021
תאריך עדכון: 1 יולי 2024
Anonim
שפת C | שיעור מספר 6 - "מערכים"
וִידֵאוֹ: שפת C | שיעור מספר 6 - "מערכים"

תוֹכֶן

האם אי פעם רצית ליצור תוכנית C שמחכה לפרק זמן מסוים? אתה יכול להתאים אישית את הדרך לתת את הזמן "לעוף על ידי", למשל: בעת הצגת דף מוקפץ (הודעה או רמז) למשחק. ... אוקיי, להלן כמה דרכים ליצירת תוכנית "דומם", המשך לקרוא ...

צעדים

  1. 1 תן למעבד לפעול לזמן מה מבלי לגרום לאירוע הנצפה.
  2. 2 אל תבצע פעולות אחרות במהלך העיכוב הזה כדי ליצור עיכוב זמן פשוט.

שיטה 1 מתוך 2: טכניקת לולאה

  1. 1 השתמש בלולאה אופיינית "עבור" ואחריה הצהרה ריקה ליישום עיכוב.
  2. 2 כתוב כך, למשל:
    • עבור (i = 1; i100; i ++);
    • המפעיל בעקבות ";" מאלץ את המחשב לולאה 100 פעמים בלי אירוע מורגש. זה יוצר רק עיכוב בזמן.

שיטה 2 מתוך 2: טכניקת "שינה ()"

  1. 1 השתמש בשינה (). הפונקציה נקראת sleep (int ms), המוצהרת ב- TIME.H>, מה שגורם לתוכנית לחכות לפרק זמן מוגדר באלפיות השנייה.
  2. 2 כלול את השורה הבאה בתוכנית שלך לפני int main ():
    • #כלול TIME.H>
  3. 3 הדבק במידת הצורך כדי לעכב את התוכנית שלך:
    • שינה (1000);
    • שנה את "1000" למספר אלפיות השנייה שברצונך להמתין (לדוגמה, אם ברצונך לבצע עיכוב של 2 שניות, החלף אותו ב- "2000".
    • טיפ: במערכות מסוימות ייתכן שהערך יצוין בשניות במקום באלפיות השנייה. לכן, לפעמים 1000 הוא לא שניה אחת, אלא בעצם 1000 שניות.

קוד לדוגמא

תוכנית שמחכה למספר שניות מסוים:



#include stdio.h> #include dos.h> int main () {int del; // תקופת העיכוב printf ("הזן את זמן העיכוב (בשניות):"); scanf ("% i" ,? del); del * = 1000; // הכפל אותו ב- 1000 כדי להמיר לדליי (אל) באלפיות השנייה; // עיכוב. printf ("בוצע"); החזר 0; }


תוכנית הסופרת לאחור מ -10 ל -0:


#include STDIO.H> #include TIME.H> int main () {int i; עבור (i = 10; i> = 0; i--) {printf ("% i n", i); // כתוב את עיכוב מספר ה'ספירה לאחור '(1000); // המתן שנייה} החזר 0; }

טיפים

  • אלפית השנייה היא 1/1000 שנייה.
  • ניתן ליישם את האלגוריתם הנ"ל באמצעות כל מבנה לולאה שאחריו מפעיל null - "; כמו שימוש בלולאות תוך כדי או תוך כדי.

אזהרות

  • שיטה זו בדרך כלל אינה מועילה לכל דבר אחר מלבד תוכנית טריוויאלית. באופן כללי, השתמש בטיימרים או בגישה מונעת אירועים כדי להשיג זאת. אחרת התוכנית לא תגיב בזמן העיכוב וזה לא תמיד דבר טוב. כמו כן, בחירה ב- N בלולאה, אם הדבר תלוי בביצוע פקודות, עשויה להביא לתוצאות בלתי צפויות. כנראה שהמחבר המקורי מעולם לא שמע על מהדר אופטימיזציה ... הוא יכול לייעל לולאה שלמה אם הוא לא ממש עושה כלום!
  • שים לב שכאשר אתה משתמש בשיטת "לולאה", זה עשוי לקחת מרווח גדול מאוד עבור i, מכיוון שאמירה ריקה מהירה מאוד. מספרים כה גדולים עשויים שלא להתאים לסוג שלם.
  • אם אתה משתמש ב- for-loop, המהדר יכול לייעל את הקוד, ומכיוון שהלולאה לא עושה דבר, הסר אותו. זה לא קורה בעת שימוש ב- Delay ().