![Монтаж канализации своими руками. Ошибки и решения. #24](https://i.ytimg.com/vi/S4fOYedAruE/hqdefault.jpg)
Բովանդակություն
- Քայլեր
- Մեթոդ 1-ից 2-ը. For-loop տեխնիկա
- 2 -րդ մեթոդ 2 -ից. «Քուն ()» տեխնիկան
- Նմուշի կոդ
- Խորհուրդներ
- Գուշացումներ
Երբևէ ցանկացե՞լ եք ստեղծել C ծրագիր, որը սպասում է որոշակի ժամանակ: Դուք կարող եք հարմարեցնել ժամանակը «թռչել» ժամանակով, օրինակ ՝ խաղի համար թռուցիկ էջ (ծանուցում կամ ակնարկ) ցուցադրելիս: ... Լավ, ահա «կանգնած» ծրագիր ստեղծելու մի քանի եղանակ, կարդացեք ...
Քայլեր
1 Թողեք ձեր պրոցեսորը որոշ ժամանակ աշխատի ՝ առանց նկատելի իրադարձություն առաջացնելու:
2 Այս ուշացման ընթացքում այլ գործողություններ մի կատարեք ՝ պարզ ժամանակային հետաձգում ստեղծելու համար:
Մեթոդ 1-ից 2-ը. For-loop տեխնիկա
1 Օգտագործեք տիպիկ «for» օղակը, որին հաջորդում է դատարկ հայտարարությունը ՝ հետաձգում իրականացնելու համար:
2 Գրեք հետևյալ կերպ, օրինակ.
- համար (i = 1; i100; i ++);
- Օպերատորը հետևում է «;» - ին: ստիպում է համակարգչին 100 անգամ օղակել առանց նկատելի իրադարձության: Դա միայն ժամանակի հետաձգում է ստեղծում:
2 -րդ մեթոդ 2 -ից. «Քուն ()» տեխնիկան
1 Օգտագործեք քուն (): Ֆունկցիան կոչվում է sleep (int ms), հայտարարված է TIME.H>, ինչը ստիպում է ծրագրին սպասել որոշակի ժամանակ միլիվայրկյաններով:
2 Ներառեք հետևյալ տողը ձեր ծրագրում int main () - ից առաջ.
- #ներառել TIME.H>
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 () օգտագործելիս: