Оқулық «Федералдық білім беруді дамыту институты»



Pdf көрінісі
бет141/220
Дата25.02.2022
өлшемі2,22 Mb.
#26438
түріОқулық
1   ...   137   138   139   140   141   142   143   144   ...   220
Байланысты:
қазақша кітап

131
 
 
 
goto :EOF
 
goto  операторының тағы  бір  ерекшелігі  таңдау  операторын алмастыру 
ретінде қолданыла алатындығы.
 
goto lab%1 :lab1
 
echo Variant 1 goto :EOF :lab2
 
echo Variant 2 goto :EOF :lab3
 
echo Variant 3 goto :EOF
 
Бұл мысалда 1 бастап 3 дейін диапазондағы командалық жолақтан 
параметр қолданылады және осы параметр мәніне тәуелді сәйкес нұсқа 
таңдалады. 
 
Бір командалық файлды басқасынан шақырту үшін call команданы 
қолданылады. Шақырту форматы келесідей:
 
call [диск:][жол]файл_атауы [параметрлер]
 
Осы  кезде  диск,  жол  және  файл_атауы  орындалған  болуы  қажет 
командалық  файл  атауын  береді.  Бұл  файлдың  кеңейтілуі  .bat  немесе 
.cmd керек. Егер қажет  болса, командалық файлға параметрлер беріле 
алады:
 
call checkdate.bat file1.txt
 
Бірақ  сall  команданы  тек  сыртқы  командалар  файлын  іске  қосу 
үшін  ғана  емес,  сонымен  қатар,  атқарымдар  мен  процестерді 
шақыртуды  ұйымдастыруда  қолданылады.  Ол  үшін  осы  команданың 
келесі пішіні қолдданылады:
 
call :белгі [параметрлер]
 
Атқарымды  шақыруды  ұйымдастырған  кезде:  белгі  шақырылған 
атқарымның  басын  көрсету  керек.  Шақырту  кезінде  берілетін 
параметрлер  атқарым  ішінде  %1,  ...,  %9  позициялық  параметрлерін 
қолдану кезінде қолжетімді.
 
Атқарымнан  қайтару  үшін  /b  кілті  бар  exit  команда  қолданылады:  
exit /b [қайтару_коды]
 
Атқарымдар  мен  процестерді  ұйымдастыру  механизмі  өте  қуатты. 
Ол рекурсивті шақыртуды ұйымдастыруға көмектеседі. Процестермен 
жұмыс мысалы ретінде келесі сценарийді қарастыруға болады:
 
Fibonacci.bat:
 
@echo off
 
rem Командаларды шығару режимін сөндіреміз
 


 
132 
 
set N=%1
 
call fib %N%
 
echo %RESULT%
 
exit /b
 
rem Фибоначчи fib сандарын есептеу атқарымы
 
if %1 == 1 ( set RESULT=1 exit /b )
 
if %1 == 2 ( set RESULT=1 exit /b )
 
rem санды есептейміз N-2 set /a M=%1-2
 
rem фибоначчи санын шығарамыз, номер N-2 call fib %M%
 
rem номер N-2 фибоначчи шығарылған санын стекте 
сақтаймыз 
 
set /a M=%1-2
 
set RES%M%=%RESULT%
 
rem Фибоначчи номер N-1 санын есептеп шығарамыз set /a 
M=%1-1 call fib %M%
 
rem стектен номері N-2 фибоначчи санын шығарамыз, N-1 
номерлі фибоначчи санымен қосамыз және нәтижесін  RESULT 
айнымалысына жазамыз set /a M=%1-2
 
for /F %%i in ('echo %%RES%M%%%') do set /a RESULT+=%%i
 
exit /b
 
Осы орындалу үстіндегі сандық параметрі бар файлды шақырған 
кезде экранға оның факториалына сәйкес келетін сан шығады: 
 
C:\>Fibonacci.bat 8 21
 
Өкінішке  орай  рекурсивті  шақыртуларды  ұйымдастырған  кезде 
айнымалылардың 
мәндері 
сақталмайды. 
Бұл 
мәндер 
бағдарламалаушылардың  өздерінің  ұйымдастыруларына  алып  келеді. 
Сол  себепті  жоғарыда  көрсетілген  мысал  Фибоначчи  сандарын 
классикалық үлгіде орындаудан ерекшеленеді. 
 
Мысалда  бұдан  бұрын  алынған  аралық  нәтижелерді  сақтау  үшін 
айнымалылар  стегі  ұйымдастырылады  (set  RES%M%  =  %RESULT% 
команданы). %M% саны стектің ағымдағы деңгейін береді. Одан кейін 
команданың шығуын алатын және стектен мәндерді алып тастау үшін  
оның  айнымалыларын  жазатын  for  операторы  қолданылады.  Осы 
мәндер Фибоначчи сандар есептеуде қолданылады. 
 
 
 


 


Достарыңызбен бөлісу:
1   ...   137   138   139   140   141   142   143   144   ...   220




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет