Mundarija:

To'plamli fayllar: Ba'zi asoslar ..: 8 qadam
To'plamli fayllar: Ba'zi asoslar ..: 8 qadam

Video: To'plamli fayllar: Ba'zi asoslar ..: 8 qadam

Video: To'plamli fayllar: Ba'zi asoslar ..: 8 qadam
Video: GeoGebrada tayyor fayllar bilan ishlash 1080 2024, Noyabr
Anonim
To'plamli fayllar: ba'zi asosiy ma'lumotlar …
To'plamli fayllar: ba'zi asosiy ma'lumotlar …

Bu ko'rsatma sizga ommaviy ish fayllarini yozishning ba'zi asoslarini o'rgatadi va sizga qiziqarli narsalarni ushlab turish uchun bir nechta burilishlar yordamida sonlarni taxmin qilish o'yinini yaratishni ko'rsatib beradi …

Men o'zimning buyruqlar berish qobiliyatimning ko'p qismini, shuningdek, Internetda yozilgan hamma narsani, xususan Instuctables -ni o'rgandim. Men Instructables foydalanuvchisi Neodudemanga to'plamli yozish bo'yicha ajoyib ko'rsatmalari uchun minnatdorchilik bildirmoqchiman. Rahmat!

1 -qadam: Ommaviy fayl nima?

To'plamli fayl nima?
To'plamli fayl nima?

Xo'sh, mening o'quvchilarimning ko'pchiligi, ehtimol, ommaviy ish nima ekanligini bilishadi, lekin ehtimol …

Ommaviy fayl - bu oddiy faylni ishga tushirganingizda ketma -ket bajariladigan MSDOS buyruqlar to'plami. To'plamli fayllar bloknotda.txt fayllari sifatida boshlanadi va ularni.bat kengaytmasi bilan saqlaganingizda bajariladigan faylga aylanadi. Asosan, siz faqat Notepad -da fayl yozasiz va uni "instruktiv.bat" deb saqlaysiz. Fayl nomining oxiriga.bat qo'yilgandan so'ng, chiroyli, yangi fayl paydo bo'ladi va siz uni nima deb atagan bo'lsangiz, unga chiroyli va tishli belgi qo'yiladi. Xo'sh, endi biz bu fayllar nima ekanligini bilib olsak, yozishni boshlaylik!

2 -qadam: asosiy buyruqlar

Asosiy buyruqlar
Asosiy buyruqlar
Asosiy buyruqlar
Asosiy buyruqlar
Asosiy buyruqlar
Asosiy buyruqlar
Asosiy buyruqlar
Asosiy buyruqlar

To'g'ri, siz bir nechta buyruqlarni o'rganishingiz kerak bo'ladi. Birinchidan, MSDOS buyruq satrini oching. Boshlash oynasini oching, ishga tushirish -ni bosing, "cmd.exe" yozing va keyin run. Okay -ni bosing. Birinchidan, biz o'zgaruvchilarni ko'rib chiqamiz. O'zgaruvchilar - bu raqamlar, so'zlar yoki boshqa narsalar (biroz aniq) farq qiladi. Buyruqning xohishi o'zgaruvchan funktsiyaga ega. U allaqachon o'rnatilgan parametrlarga ega, masalan, TIME, DATE va boshqalar. Aksariyat o'zgaruvchilar, lekin siz o'zingizni belgilashingiz mumkin. Buyruqning so'rovi oynasini bosing va yozing: SET o'zgaruvchisi = tasodifiy "SET" ni katta harf bilan yozishingiz muhim emas, lekin men hamma buyruqlarimni katta harf bilan yozishni yaxshi ko'raman, ayniqsa ommaviy ish fayllarini yozishda. Bu nima qilayotganingizni aytishni osonlashtiradi. Endi Enter ni bosing. Sizga yaxshi! Siz birinchi o'zgaruvchini o'rnatdingiz! Lekin biz u bilan nima qila olamiz? biz qila oladigan hamma narsa o'zgaruvchini to'g'rilashga kim g'amxo'rlik qiladi? Ma'lum bo'lishicha, biz bundan ham ko'proq narsani qila olamiz, lekin birinchi navbatda, kompyuterni bizga o'zgaruvchining qanday o'rnatilganligini aytib berishga harakat qilaylik. To'g'ri, kompyuterni o'zgaruvchan qiymatini o'qishi uchun biz o'zgarmaydigan nomini yozamiz, bu holda "o'zgaruvchi" va nomini %belgilariga qo'yamiz, masalan: %o'zgaruvchi %. Davom eting va yozing va Enter ni bosing:%o'zgaruvchan%G'alati xato? Kompyuter "o'zgaruvchi" ichki yoki tashqi buyruq, ishlaydigan dastur yoki ommaviy fayl sifatida tan olinmaganligini aytdi. Xo'sh, nima uchun bu xatoni berdi? Xo'sh, asosan, bu xatoga yo'l qo'ydi, chunki buyruq irodasi bu o'zgaruvchining qiymatini xuddi siz yozganingiz kabi ko'rib chiqadi. Siz %o'zgaruvchan %ni kiritganingizda, kompyuter sizga "tasodifiy" buyrug'ini bajarishni aytgan deb o'ylagan. Shubhasiz, o'zgaruvchining qiymatini ko'rish uchun bizga boshqa narsa kerak. Bu erda ECHO buyrug'i keladi, ECHO buyrug'i faqat buyruq satriga echo yoki ECHOdan keyin nima yozganingizni aytishni aytadi. Shunday qilib, agar biz ECHO buyrug'ini o'zgaruvchimizdan oldin yozsak, biz xohlagan narsani olishimiz kerak: ECHO %o'zgaruvchi %U erda! Endi biz xohlagan narsani oldik! Kompyuter "tasodifiy" chop etadi. Shubhasiz, bu biz o'zgaruvchiga yozgan qiymatimiz, shuning uchun biz xohlagan natija. Keyingi bosqichda biz o'zgaruvchilar va ulardan qanday foydalanish haqida ko'proq bilib olamiz.

3 -qadam: SET buyrug'i va o'zgaruvchilaridan foydalanish

SET buyrug'i va o'zgaruvchilaridan foydalanish
SET buyrug'i va o'zgaruvchilaridan foydalanish
SET buyrug'i va o'zgaruvchilaridan foydalanish
SET buyrug'i va o'zgaruvchilaridan foydalanish

Xo'sh, endi biz o'zgaruvchilar nima ekanligini bilsak, ular bilan yana nima qila olamiz? Xo'sh, biz matematikani qila olamiz, biz ularni dasturlar va ommaviy fayllarni yozish sharti sifatida ishlata olamiz, asosiy arifmetikani bajaramiz, buyruqlarni bajaramiz va hokazo. Biz o'zgarmaydiganlar bilan qila oladigan hamma narsani ko'rib chiqmaymiz, lekin biz funktsiyaning ba'zi muhim jihatlarini muhokama qilamiz, birinchidan, SET buyrug'i faqat string o'zgaruvchilarini ishlab chiqaradi. Bu shuni anglatadiki, u boshqa matematikani qo'shmaydi yoki qilmaydi. Agar siz kompyuterga 1 qiymatli o'zgaruvchiga 1 qo'shishni aytmoqchi bo'lsangiz, u sizga 1+1 qiymatini beradi. Agar biz ikkita raqamni qo'shishni xohlasak, SET buyrug'idan keyin "/a" qo'yish kerak. Shunday qilib, biz yozamiz: SET /a varible = (value) Endi, biz o'zimiz taqdim etadigan partiya faylimizga o'zgarmaydiganni kiritmoqchimiz. Agar biz formulaga muvofiq qiymatlarni hisoblaganimizda yoki biz foydalanuvchidan kompyuter tomonidan ishlab chiqarilgan raqamni taxmin qilishini xohlasak, buni qilishimiz mumkin. Foydalanuvchi ko'rsatadigan o'zgaruvchini yaratish uchun biz SET buyrug'idan keyin a /p qo'shamiz va = bo'sh joydan keyin maydonni tark etamiz: SET /p o'zgaruvchisi = Mana, borasiz! Foydalanuvchi tomonidan belgilangan o'zgaruvchi! Agar biz bu satrni ommaviy ish fayliga joylashtirmoqchi bo'lsak, u bu satrga yetguncha ishlaydi va davom etishdan oldin foydalanuvchi kiritilishini kutadi. /P haqida boshqa ajoyib narsa, bu /a ni butunlay rad etadi. A /p ni qo'shganimizda, biz faqat /a ni qoldiramiz. Keyingi narsa, biz tasodifiy o'zgaruvchilar ishlab chiqarishni bilib olamiz. Agar biz kompyuter o'zgaruvchiga tasodifiy sonni tanlashini xohlasak, biz shunchaki SET buyrug'ini, so'ngra o'zgaruvchini yozamiz va keyin o'zgaruvchini %RANDOM %ga teng qilib qo'yamiz. Yana bir bor, bu kapital bo'lishi shart emas, lekin men baribir buni qilishni yaxshi ko'raman. Shunday qilib, biz yozamiz: SET /o'zgaruvchi =%RANDOM%Shubhasiz, bu foydalanuvchi tomonidan ko'rsatilgan o'zgaruvchi emas, shuning uchun biz /a ni qo'shamiz. Ajoyib! Endi biz tasodifiy sonni qanday ishlab chiqarishni bilamiz! Lekin bu qanchalik tasodifiy? Ma'lum bo'lishicha, kompyuter 0 dan 37 gacha bo'lgan raqamni tanlaydi. Men aniq raqamni bilmayman. Ammo agar biz kichikroq raqamni xohlasak nima bo'ladi? Faraz qilaylik, bu yo'riqnomada bo'lgani kabi, biz taxmin qiladigan o'yin kabi boshqariladigan raqamni xohlaymizmi? Xo'sh, bu erda IF buyrug'i keladi.

4 -qadam: IF va GOTO buyruqlari. Partiya yozuvchisi qo'lida kuch

IF va GOTO buyruqlari. Partiya yozuvchisi qo'lida kuch
IF va GOTO buyruqlari. Partiya yozuvchisi qo'lida kuch

Shunday qilib, biz boshqariladigan raqamni ishlab chiqarishni xohlaymiz. Faraz qilaylik, biz 1 dan 20 gacha tasodifiy sonni ishlab chiqarishni xohlaymiz. Xo'sh, buni aytish oson, lekin RANDOM qiymati 1 dan 37 000 gacha bo'lgan raqamni tanlaydi. Agar biz IF uchun foydalanmoqchi bo'lsak. IF buyrug'i asosan aytadi: agar biror narsa sodir bo'lsa yoki biror narsa ma'lum qiymatga teng yoki teng bo'lmasa, BUNDAN QILING. Shunday qilib, IF shartli buyruqlarni o'rnatadi. Biz yigirmadan kam, lekin bittadan katta raqamni ishlab chiqarishni xohlaymiz, aniqki, biz kompyuterga tasodifiy sonni tanlashni aytishni boshlaymiz, lekin keyin biz uni yangisini tanlashini aytishimiz kerak bo'ladi. raqam, agar u tanlagan raqam bizning talablarimizga mos kelmasa. Bu erda GOTO buyrug'i keladi. GOTO oddiygina kompyuterga koddagi ma'lum bir yorliqqa o'tishni aytadi. Yorliqlar shunday ko'rinadi: pickAgar ikkita nuqta qo'yilsa, GOTO buyrug'i bilan kira oladigan yorliq bo'ladi. Shunday qilib, agar biz kod bo'limiga "tanlash" yorlig'i bilan o'tmoqchi bo'lsak, biz shunchaki yozamiz: GOTO pickAlright, shuning uchun kodlashni davom ettiramiz. Biz allaqachon kompyuterga tasodifiy sonni tanlashni aytgandik, shuning uchun biz yozdik: SET /a answer =%RANDOM%Endi biz bu raqamni kichikroq diapazonga tushirmoqchimiz. Shunday qilib, biz IF buyrug'ini chaqiramiz. Shunga o'xshash narsa hiyla -nayrangni bajarishi kerak: IF % javob % GTR 20 GOTO pickBu kompyuterga GOTO ni tanlashini aytadi, agar javob GReaTer 20 dan ortiq bo'lsa, biz bu shartlarning har birini IF buyrug'iga qo'yishimiz mumkin: EQU - EqualNEQ - EqualLSS emas - Kamroq ThanGTR - Katta ThanLEQ - Kamroq yoki Tengsiz ToGEQ - Katta yoki Teng ToThus, IF, GOTO, teglar va bu abreviatsiyalar yordamida biz o'z fayllarimizni xohlagan usulda o'zgartirishimiz mumkin. Xo'sh, bizda tasodifiy raqam yigirma yoshdan oshdi va hozirgacha bizda nima bor: pickSET /a answer =%RANDOM%IF%answer%GTR 20 GOTO pickNow, kompyuterning ishlamasligiga ishonch hosil qiling t javob uchun 0 ni tanlang. Endi bizda 1 dan 20 gacha foydalanish mumkin bo'lgan raqam bor. Keling, partiyaning go'shtiga o'tamiz.

5 -qadam: Bizning o'yinimiz go'shti

Bizning o'yinimiz go'shti
Bizning o'yinimiz go'shti

To'g'ri, bizda tasodifiy raqam bor. Shuningdek, biz o'yinchi qancha taxmin qilishini hisoblashni xohlaymiz, shuning uchun biz boshqa o'zgaruvchini o'rnatamiz: SET /a guessnum = 0 Bu geussnum o'zgaruvchisini nolga o'rnatadi va biz unga /a parametrini berdik, shuning uchun biz qo'sha olamiz. har safar foydalanuvchi taxmin qilganda. OK. Bizda tasodifiy raqam bor va biz taxminlar sonini o'rnatdik. Endi bizga ba'zi ko'rsatmalar kerak va biz taxmin qilish uchun foydalanuvchi ma'lumotiga ega bo'lishimiz kerak. Siz hozircha bularning ko'pini tushunishingiz kerak, shuning uchun men sizga kodni ko'rsataman:: beginECHO Men raqam haqida o'ylayman ECHO men o'ylayman …… SET /a GuessNum = 0 (Bu ECHO bu ikki satr va taxminlar sonini 0 ga o'rnatadi): pickASET /a Javob =%RANDOM%IF%Javob%GTR 20 GOTO pickAIF%Javob%EQU 0 GOTO pickAECHO Men 1 dan 20ECHOgacha bo'lgan raqamni o'ylayman of. (Bu bo'lim tasodifiy sonimizni o'rnatmaguncha, keyin esa ECHO o'yinchimiz uchun ko'rsatmalarni bajarguncha aylanadi): Qayta urinish /p Guess = IF %Tahmin %LSS %Javob %ECHO Mening raqamim yuqoriroq. % %taxmin %GTR %javob % ECHO Mening raqamim pastroq. EF%O'ylayman%==%Javob%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Qayta urinish (Bu bo'lim kompyuterga foydalanuvchi kiritishni so'rashini aytadi va foydalanuvchi tanlamaguncha uzluksiz ravishda aylanadi. to'g'ri raqam. So'ngra, u END belgisiga o'tadi): ENDECHO Siz to'g'risiz! Javob %Javob %ECHO bo'ldi %GuessNum %Guesses. ECHO. PAUSECLSECHO Qayta o'ynashni xohlaysizmi? ECHO Y /N? SET /p play = IF %play %EQU y GOTO beginIF %play %EQU n GOTO closeIF % play% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagain. EQU, GTR va LSSni harflar bilan ishlatishimiz mumkinligiga e'tibor bering.) Yaxshi! Agar siz bu kodni nusxa ko'chirgan bo'lsangiz, sizda qonuniy o'yinchi bo'ladi. Haqiqiy emas, lekin bu ko'pchilik qila oladiganidan yaxshiroq. Ammo biz biroz qiziqarli narsalarni qo'shmoqchimiz.

6 -qadam: Twist

Twist
Twist
Twist
Twist
Twist
Twist

Hozir bizda ishchi o'yin bor, lekin biz uni biroz chalkashroq qilishni xohlaymiz. O'yinchimizga kerakli raqamni topishga qanday rag'bat qo'shsa bo'ladi? Biz qandaydir ishni qilsak -chi, agar ular bu raqamni bilmasa, kompyuterini o'chirib qo'yamiz? Bu juda zo'r bo'lardi! Xo'sh, endi biz bu o'zgartirishlarni kiritish uchun kichik kod qo'shamiz. Birinchidan, biz kod bo'limiga "qayta urinish" deb nomlangan qatorni qo'shamiz. Shunday qilib, bo'limni toping. Bu shunday ko'rinadi:: Qayta urinish /p Guess = IF%Tahmin%LSS%Javob%ECHO Mening raqamim yuqori. IF%O'ylayman%GTR%Javob%ECHO Mening raqamim pastroq.. SET /a GuessNum =%GuessNum%+1GOTO RetryOkay, biz bu satrni "ECHO" dan so'ng darhol qo'shamiz. (ECHOdan keyin nuqta qo'yganimizda, u bo'sh satr qoldiradi.) Bu erda yangi kod: IF %GuessNum %EQU 4 GOTO shutdownGBiz bu satrni qo'shganimizda bo'lim shunday ko'rinadi: RetrySET /p Guess = IF %Guess % LSS%Javob%ECHO Mening raqamim yuqori. IF%O'ylayman%GTR%Javob%ECHO Mening raqamim past. IF%Tasavvur%==%Javob%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1IF%GuessNum%EQU 4 GOTO o'chirish U kompyuterga GuessNum EQUals 4 bo'lsa, u kodning "shutdownG" deb nomlangan bo'limiga o'tishi kerakligini aytadi. Xo'sh, biz bu o'chirish bo'limi nima demoqchimiz? Shubhasiz, uni "shutdownG" deb belgilash kerak. Keyinchalik, u kompyuterni o'chirib qo'yishi kerak. O'chirish buyrug'i "SHUTDOWN -s" dir. Bu kompyuterni o'chirib qo'yadi, lekin biz buyruqqa bir qismini qo'shmoqchimiz. Biz "-f" belgisini qo'shamiz. Bu barcha dasturlarni yopishga majbur qiladi va biz "-t 60" ni qo'shamiz. Bu kompyuterga derazani ko'rsatishini va yopilishini oltmish soniya kutishini bildiradi. Bu erga "-c" xabarini ham qo'shamiz "". bu xabarni o'chirish oynasida ko'rsatadi. O'chirish buyrug'idan so'ng, biz yuqoridagi kodni ishlatamiz, bu bizning o'yinchimizga raqamlarni tanlashga imkon beradi va ularga fikr bildiradi, shuning uchun bizning o'chirish kodimiz shunday ko'rinadi: shutdownGSHUTDOWN -s -f -t 60 -c "Bashorat qilishda davom eting! Agar siz to'g'ri raqamni bilmasangiz, kompyuter o'chadi!": shutdownG1SET /p Guess = IF %Guess %LSS %Javob %ECHO Mening raqamim yuqori. IF %O'ylayman %GTR %Javob %ECHO Mening raqamim pastroq. IF%Tasavvur qiling%==%Javob%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO shutdownG1Endi biz kompyuterni O'CHIRISH ga o'rnatdik va xabarni ko'rsatishimiz kerak, lekin biz buni Kompyuter o'chirishni to'xtatishi mumkin, agar u boshlangan bo'lsa. Shunday qilib, biz "end" deb nomlangan kodlash bo'limiga qo'shamiz. Bu bo'lim shunday ko'rinadi:: ENDIF % GuessNum % GTR 4 SHUTDOWN -aECHO Siz to'g'risiz! Javob %Javob %ECHO bo'ldi %GuessNum %Guesses. ECHO. PAUSECLSECHO Qayta o'ynashni xohlaysizmi? ECHO Y /N? SET /p play = IF %play %EQU y GOTO beginIF %play %EQU n GOTO closeIF % play% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagainBiz yopishni to'xtatmoqchimiz va buni "SHUTDOWN -a" buyrug'i bilan qilamiz. Shunday qilib, biz shunday ketma -ketlikni qo'shamiz: IF % GuessNum % GTR 4 SHUTDOWN -Agar biz bu buyruqni yorliqdan keyin qo'shamiz va bu kompyuterga SHUTDOWN -buyrug'ini ishga tushirishni aytadi. to'rtdan ortiq taxmin qildi va yopishni boshladi. Xop! Siz hozir o'yinni tugatishingiz kerak! Biz keyingi bosqichda xatolar yo'qligiga ishonch hosil qilamiz.

7 -qadam: Yakuniy qadamlar

Yakuniy qadamlar
Yakuniy qadamlar

Xo'sh, agar siz bu kodlashni birlashtirgan bo'lsangiz, unda siz shunday ko'rinishga ega bo'lasiz: beginECHO Men o'ylayotgan raqamni o'ylayman ECHO ….. SET /a GuessNum = 0: pickASET / a Javob =%RANDOM%IF%Javob%GTR 20 GOTO pickAIF%Javob%EQU 0 GOTO pickAECHO Men 1 dan 20ECHO gacha bo'lgan raqam haqida o'ylayapman. Qaysi raqam haqida o'ylayman? %LSS%Javob%ECHO Mening raqamim yuqori. IF%O'ylayman%GTR%Javob%ECHO Mening raqamim pastroq. IF%O'ylayman%==%Javob%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1IF%GuessNum% EQU 4 GOTO yopilishiGGOTO Qayta urinish: ENDIF % GuessNum % GTR 4 SHUTDOWN -aECHO Siz to'g'ri! Javob %Javob %ECHO bo'ldi %GuessNum %Guesses. ECHO. PAUSECLSECHO Qayta o'ynashni xohlaysizmi? ECHO Y /N? SET /p play = IF %play %EQU y GOTO beginIF %play %EQU n GOTO closeIF % play% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagain: closeECHO O'ynaganingiz uchun rahmat! PAUSEEXIT cmd: shutdownGSHUTDOWN -s -f -t 60 -c ! Agar siz to'g'ri raqamni bilmasangiz, kompyuter o'chadi! : ShutdownG1SET /p Guess = IF % Guess % LSS % Javob % ECHO Mening raqamim yuqori. IF % Taxmin % GTR % Javob % ECHO Mening raqamim Lower. IF%Tasavvur qiling%==%Javob%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO yopilishiG1Bu bizga kerak bo'lgan hamma narsa bo'lishi kerakmi? Shunday qilib, davom eting va bu notepad.txt faylini GuessGame.bat sifatida saqlang. Aslida, siz.batni oxirigacha qo'ygan bo'lsangiz, xohlagan narsangizga nom berishingiz mumkin. OK, ikonkani bosing va dasturni ishga tushiring! Ishladi? Xo'sh. G'alati ishlar qilyapti, to'g'rimi? Ma'lum bo'lishicha, biz bunday to'plamni yozganimizda, ECHO buyruq irodasi, biz bergan har bir buyruqni xuddi xuddi buyruq satriga yozgandek. Shunday qilib, o'yin ishlaydi, lekin bu biroz chalkash va tushunarsiz. Bu haqda biror narsa qila olamizmi? Ha! Biz qilishimiz kerak bo'lgan narsa bu kodni boshida yozishdir: @ECHO OFFBu kompyuterga ECHO -ni o'chirishni aytadi. Tilanchilikdagi @ belgisi har bir buyruq uchun ECHO -ni o'chirishni bildiradi. Agar biz bu @ni qoldirgan bo'lsak, u faqat bitta buyruq uchun ECHO -ni o'chiradi.

8 -qadam: Hammasi bajarildi

Tabriklaymiz! Siz hozirgina Batch fayl o'yini yozdingiz. Juda oddiy, shunday emasmi? Agar siz buni hal qila olsangiz, unda siz Batch fayllari bilan qanday ishlashni aniqlay olasiz. Faqat u bilan o'ynang, tajriba o'tkazing. Agar siz biror narsa qila olmasangiz yoki kodlashda biror narsa qoldirgan bo'lsam, men sizga faylni shu erda beraman.

Tavsiya: