“Үшін” циклы. FOR, NEXT операторлары. Цикл ішінде цикл

Егер цикл деқайталану саны белгілі болса,программада“Үшін” циклон пайдаланған дұрыс.Бейсиктебұл құрылымныңжүрілісі:

FORk=k0TOKn[STEP H]

S

NEXT<[цикл параметрі]>

FOR-цикл басының операторы,не циклтақырыбы деп.,NEXT-цикл соңы операторы деп., К-цикл параметрі,цикл санауыш,не басқарушыайнымалы деп те аталады;K0менKn-параметрдің ,бастапқы және соңғы мәндері. (FOR-үшін, NEXT-келесі,n-қадам ұзындығы,s-цикл денесі)

Цикл денесі басқарушы айнымалының мәні К0-ден бастап Kn-нен асқанға дейін қайталанып орындала береді. Құрылымда көрсетілгендей , FORоператорының құрамында TO(дейін)жәнеSTEP(қадам)қызметші сөздері бар.Егер n=1болса,STEP Hқызметші сөзінпраграммада тастап кету де мүмкін, NEXT операторында дацикл параметрін жазбауға болады,ол жазылған кезде басқарушы айнымалы атымен бірдей болуы тиіс. Цикл санауыш Бейсикте рұқсат етілген кез-келген идентификатор бола алады.K0,Kn,n-бүтін, бөлшекте, теріс сандар немесеарифметикалықөрнек түрінде берілуідемүмкін.

Өткен тақырыптағыфакториалдыесептейтінпрограмманыңFOR-NEXTоператорынпайдаланып құрылған түрі:

  1. REM Факториал
  2. INPUT”n=”; N& R=1
  3. FOR k>1TON
  4. k=k*k
  5. NEXT
  6. PRINT “ ”n” 1=”; R
  • END

Бұл программаның 20-жолына к=1командасыныңкіргізілмегенікөрініптұр,ал FORоператорындабірінші жолы пайдаланылады.

Ескерту. FORk=k0TOKnSTEP H цикліндеK0>Kп , n>0болса,цикл орындалмай,тастап кетіледі,сондай-ақ k0<Knжәнеn<0 болса да.

Мысалы y=ln(1+x)/(x^2+1) функциясын [0; 1]кесіндісіндеc.2қадам бойыншакестелеу керек.

Программаның орындалу нәтижесінавтоматтытүрдекесте бойынша беру есептің талабына сай келеді.Осыған сәйкес, прогрмманытөмендегіше құру мүмкін.

  • REM кестелеу
  • INPUT “a, b, n=”;A, B, N
  • H=(B-A)/N
  • PRINT STRING $(38, “-”)
  • PRINT “k”;TAB(4)“/”;TAB(10)“x”;TAB(20) “/”;TAB (26) “4”; TAB (38) “/”;
  • PRINT STRING $ (38, “-”)
  • FOR k=1TON
  • X=A+K*H
  • Y= LOG (1+X)/(S^2+1)
  • PRINT “K”;TAB (4) “/”; TAB (10) X:TAB (20) “/”; TAB (22) Y:TAB (38) “/”;
  • PRINT STRING $ (38, “-”)

Rub

?-0,1,5

К  х Y
0 .0 0
1 .2 .175309
5 10 .346573

Программада:

20: a,b,n- мәндерін ендіру (а=0, в=1, n=5, n-[a,b] кесіндісін тең бөліктерге бөлу саны); 30: h мәнін есептеу (егер 20- жолға n-нің орнына h енгізілсе 30- жолдағы меншіктеу командасын N=INT((B-A)/h)түрінде жазу керек. 40-60 кесте басындағы екі кесіндіні сызып, аралығына k,x,y айнымалыларын енгізу: 70-110: цикл х=в-ға дейін (b=a+n*h) y функциясының мәндерін n қадаммен жай дәлдік бойынша есептеу, кестеге сызу (100 жол) 120: кестенің төменгі сызығын сызу.

Цикл ішінде цикл

Бейсикте цикл ішінде циклдің жазылу түрі.

FORK=K0TOKn

FORJ=J0 TOJn

S

NEHTj:NEHTK

Мұндағы j – ішкі цикл параметрі, К – сыртқы цикл параметрі, NEHT J: NEHTK операторын N=x,j,kтүрінде жазу да мүмкін (бірінші параметр ішкі цикл параметрі болуы тиіс)

Мысалы: Көбейту кестесін есептеп , көбейту нәтижелерін экранға шығару керек.

10REM кесте

  • FOR K=1TO10
  • FOR j=1TO10
  • A=K*J

50 PRINTUSING “###”; A:

  • NEHT j
  • PRINT K
  • NEHT K

Программадағы сыртқы цикл параметрі бірінші мәнді қабылдаған кезде (К=1 кезінде) ішкі цикл параметрі кезектен 1,2,3,4,5,6,7,8,9,10 мәндерін қабылдап шығады да , 50- Жол 40- жолдың орындалу нәтижесі болатын мәндерді (1,2,3,4,5,6,7,8,9,10 сандарын) бір жол бойында экранда көрсетеді. 50- жол соңына нүктелі үтір символы сол үшін қойылған.70- жолдың орындалу нәтижесінде курсор экранның бір жолын бос тастап кетіп, онан соңғы жол басына орналасады. Бұдан әрі ішкі цикл к=2 үшін орындала бастайды.т.с.с

Программаның орындалу нәтижесінің матрица түрінде экранда көріну түрі мынадай:

1 2 3 4 5 6 7 8 9 10

2 4 6 8 10 12 14 16 18 20

  • • • • • • ••• ••
  • 20 30405060708090100

Кестенің әр бағанында көрінген сандардың соңғы цифрлары әр баған бойында жазылуы, ол PRINT USING операторының әрекеті (оператора әр сан үш орындық цифрлар тізбегімен тұратын атіп шығару енгізілген орындар оң жақтан бастап есептеледі)

Әр түрлі есептеу жұмыстарын орындайтын көлемді программаларды шығып программалар-процедуралар түрінде құрып, оларды негізгі программада біріктірген ыңғайлы.Процедурада функия сияқтынәтиженіқайтарып бермейді, ол тек қана-операторлар тізбегін орындайды. Процедурада функция сияқты құрылады.

Правка→Редактирование→Новая сув

Subvoutine →процедура-акыл.

Диалогтың терезеде процедура атын енгіземіз. Атына типті білдіретін символды тіркеп жазудың қажеті жоқ.

SUB процедура аты

ENDSUB

Мысалы:Тік бұрышты үшбұрыштың гипотенузасын есептейтін процедура құру керек.Катеттер берілген.

SUBGipotenusa(A,B)

C= SAR (A^2+B^2)

PRINTC

ENDSUB

Процедураны негізгі программаның кез-келген жерінде шақыру үшін төмендегі екі тәсілдің бірін пайдаланамыз.

  • CFLL GIPOTENUSA(a,B)
  • GIPOTENUSA A,B

ҮСҮ табу процедурасы.

SUBҮСҮ (A,B,C)DECLARESUBGIPOTENUSA(A,B)

IFA>BTHEN DECLARESUBҮСҮ (A,B,C)

X=AINPUTA,B,C,D,E

ELSEGIPOTENUSAA,B

L=BCALLҮСҮ(C,D,E)

ENDIF

IFx>cTHEN

X=X

ELSE

X=C

ENDIf

PRINTX

ENDSUB