![Ата-ана жиналысы (6-сынып)](https://i.ytimg.com/vi/BCNJJ94BC18/hqdefault.jpg)
Мазмұны
- Қадамдар
- 2-ші әдіс 1: For-loop техникасы
- 2 -ші әдіс 2: «ұйқы ()» техникасы
- Үлгі коды
- Кеңестер
- Ескертулер
Сіз белгілі бір уақытты күтетін С бағдарламасын жасағыңыз келді ме? Сіз уақытты «ұшу» әдісімен реттей аласыз, мысалы: ойынға қалқымалы бетті көрсеткенде (хабарландыру немесе кеңес). ... Жарайды, мұнда «тоқтап қалу» бағдарламасын құрудың бірнеше жолдары берілген, оқыңыз ...
Қадамдар
1 Процессорды байқалатын оқиға тудырмай біраз уақыт жұмыс істеуге рұқсат етіңіз.
2 Қарапайым уақыт кідірісін жасау үшін осы кідіріс кезінде басқа әрекеттерді жасамаңыз.
2-ші әдіс 1: For-loop техникасы
1 Кешіктіруді жүзеге асыру үшін әдеттегі «for» циклін, содан кейін бос мәлімдемені қолданыңыз.
2 Мынадай жазыңыз, мысалы:
- үшін (i = 1; i100; i ++);
- Оператор «;» белгісін орындайды. компьютерді елеулі оқиғасыз 100 рет айналдыруға мәжбүр етеді. Ол тек уақытты кешіктіреді.
2 -ші әдіс 2: «ұйқы ()» техникасы
1 Ұйқыны пайдаланыңыз (). Бұл функция TIME.H> деп жарияланған ұйқы (int ms) деп аталады, бұл бағдарламаны миллисекундтарда көрсетілген уақытты күтуге мәжбүр етеді.
2 Int main () алдында бағдарламаңызға келесі жолды қосыңыз:
- #қосу TIME.H>
3 Бағдарламаны кешіктіру үшін қажет жерге қойыңыз:
- ұйқы (1000);
- «1000» мәнін күтілетін миллисекунд санына өзгертіңіз (мысалы, егер сіз 2 секундқа кешіктіруді қаласаңыз, оны «2000» деп ауыстырыңыз.
- Кеңес: Кейбір жүйелерде мән миллисекундтардың орнына секундтарда көрсетілуі мүмкін. Сондықтан кейде 1000 - 1 секунд емес, шын мәнінде 1000 секунд.
Үлгі коды
Белгілі бір секунд күтетін бағдарлама:
#include stdio.h> #include dos.h> int main () {int del; // кешіктіру кезеңі printf («Кідіріс уақытын енгізіңіз (секундпен):»); scanf («% i» ,? del); del * = 1000; // Милисекундқа түрлендіру үшін оны 1000 -ға көбейтіңіз Кешіктіру (del); // Кешігу. printf («Орындалды»); қайтару 0; }
10 -нан 0 -ге дейін есептелетін бағдарлама:
#include STDIO.H> #include TIME.H> int main () {int i; for (i = 10; i> = 0; i--) {printf («% i n», i); // Ағымдағы «кері санақ» нөмірін жазыңыз Кешіктіру (1000); // Бір секунд күтіңіз} қайтару 0; }
Кеңестер
- Милисекунд - 1/1000 секунд.
- Жоғарыда көрсетілген алгоритм кез келген цикл құрылымын, содан кейін нөлдік операторды қолдана отырып орындалуы мүмкін - while немесе do -while ілмектерін қолдану арқылы.
Ескертулер
- Бұл әдіс қарапайым бағдарламадан басқа ештеңеге жарамайды. Жалпы, бұл үшін таймерлерді немесе оқиғаға негізделген әдісті қолданыңыз. Әйтпесе, кешігу кезінде бағдарлама жауап бермейді және бұл әрқашан жақсы емес. Сонымен қатар, циклде N таңдау, егер ол командалардың орындалуына байланысты болса, күтпеген нәтижеге әкелуі мүмкін. Шамасы, түпнұсқалық автор оңтайландырушы компилятор туралы ешқашан естімеген ... егер ол ештеңе жасамаса, ол бүкіл циклді оңтайландыра алады!
- Назар аударыңыз, «for-loop» әдісін қолданғанда, i үшін өте үлкен интервал қажет болуы мүмкін, себебі бос мәлімдеме өте жылдам. Мұндай үлкен сандар бүтін санға сәйкес келмеуі мүмкін.
- Егер сіз циклды қолдансаңыз, компилятор кодты оңтайландыра алады және цикл ештеңе жасамайтындықтан, оны алып тастаңыз. Бұл Delay () функциясын қолданғанда болмайды.