Ինչպես հետաձգել ծրագրի կատարումը C- ում

Հեղինակ: Joan Hall
Ստեղծման Ամսաթիվը: 28 Փետրվար 2021
Թարմացման Ամսաթիվը: 1 Հուլիս 2024
Anonim
Монтаж канализации своими руками. Ошибки и решения. #24
Տեսանյութ: Монтаж канализации своими руками. Ошибки и решения. #24

Բովանդակություն

Երբևէ ցանկացե՞լ եք ստեղծել C ծրագիր, որը սպասում է որոշակի ժամանակ: Դուք կարող եք հարմարեցնել ժամանակը «թռչել» ժամանակով, օրինակ ՝ խաղի համար թռուցիկ էջ (ծանուցում կամ ակնարկ) ցուցադրելիս: ... Լավ, ահա «կանգնած» ծրագիր ստեղծելու մի քանի եղանակ, կարդացեք ...

Քայլեր

  1. 1 Թողեք ձեր պրոցեսորը որոշ ժամանակ աշխատի ՝ առանց նկատելի իրադարձություն առաջացնելու:
  2. 2 Այս ուշացման ընթացքում այլ գործողություններ մի կատարեք ՝ պարզ ժամանակային հետաձգում ստեղծելու համար:

Մեթոդ 1-ից 2-ը. For-loop տեխնիկա

  1. 1 Օգտագործեք տիպիկ «for» օղակը, որին հաջորդում է դատարկ հայտարարությունը ՝ հետաձգում իրականացնելու համար:
  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 -ը ոչ թե 1 վայրկյան է, այլ իրականում 1000 վայրկյան:

Նմուշի կոդ

Programրագիր, որը սպասում է որոշակի քանակությամբ վայրկյանների.



#include stdio.h> #include dos.h> int main () {int del; // Հետաձգման ժամանակահատվածը printf ("Մուտքագրեք հետաձգման ժամանակը (վայրկյաններով)."); scanf ("% i" ,? del); դել * = 1000; // Բազմապատկեք այն 1000 -ով ՝ միլիվայրկյանների Delay (del) փոխարկելու համար; // Հետաձգում: printf («Կատարված է»); վերադարձ 0; }


Programրագիր, որը հետ է հաշվում 10 -ից 0:


#ներառել STDIO.H> #ներառել TIME.H> int main () {int i; համար (i = 10; i> = 0; i--) {printf ("% i n", i); // Գրեք ընթացիկ «հետհաշվարկի» համարը Հետաձգում (1000); // Սպասեք երկրորդ} վերադարձ 0; }

Խորհուրդներ

  • Միլիվայրկյանը 1/1000 վայրկյան է:
  • Վերոնշյալ ալգորիթմը կարող է իրականացվել `օգտագործելով ցանկացած օղակաձև կառուցվածք, որին հաջորդում է null օպերատորը` "; ինչպես while կամ do -while օղակները օգտագործելով:

Գուշացումներ

  • Այս մեթոդը, ընդհանուր առմամբ, անիմաստ է այլ բանի համար, քան չնչին ծրագիր: Ընդհանուր առմամբ, դա իրականացնելու համար օգտագործեք ժամանակաչափ կամ իրադարձությունների վրա հիմնված մոտեցում: Հակառակ դեպքում, ծրագիրը ուշացումով չի արձագանքում, և դա միշտ չէ, որ լավ է: Բացի այդ, N- ի օղակում ընտրելը, եթե դա կախված է հրամանների կատարումից, կարող է անսպասելի արդյունքներ ունենալ: Ըստ երևույթին, սկզբնական հեղինակը երբեք չի լսել օպտիմալացնող կազմողի մասին ... այն կարող է օպտիմալացնել մի ամբողջ հանգույց, եթե իրականում ոչինչ չանի:
  • Նկատի ունեցեք, որ «for-loop» մեթոդը օգտագործելիս i- ի համար կարող է շատ մեծ ընդմիջում պահանջվել, քանի որ դատարկ հայտարարությունը շատ արագ է: Նման մեծ թվերը կարող են չհամապատասխանել ամբողջ թվին:
  • Եթե ​​օգտագործում եք for-loop, կոմպիլյատորը կարող է օպտիմալացնել կոդը, և քանի որ loop- ը ոչինչ չի անում, հեռացրեք այն: Դա տեղի չի ունենում Delay () օգտագործելիս: