ComputersProgramming

Nab hab sej programming lus: loops

Cov nab hab sej programming lus (raws li "sej" los yog "sej") Muaj ntau txoj kev rau cov voj ib co kev txiav txim. Lub ntsiab cov cuab yeej rau kev siv ntawm tej iteration nyob rau hauv nab hab sej - thaum loops thiab rau. Cov thaum lub voj yog ntau universal tshaj rau, li ntawd nws yog qeeb qeeb. Txawm li cas los, qhov no tsis txhais hais tias nws yog zoo dua! Cov kev voj yog siv ntau tshaj, vim hais tias nrog nws pom tau hais cov feem ntau nyuaj paub tab rau lub creation ntawm multi-level thiab mnogouslovnyh cov kev pab cuam.

Nab hab sej: voj voog nrog postcondition

Mus nrog postcondition - nws loops thaum, uas yog cov feem ntau universal quas lug nyob rau hauv lub programming ib puag ncig. Cov thaum lub voj ua hauj lwm nyob rau hauv lub hauv paus ntsiab lus ntawm "raws li ntev raws li". Qhov no txhais tau tias cov nram qab no: thaum ib tug tej yam kev mob yuav rov qab muaj tseeb nqi, nws yuav ua hauj lwm! Qhov no tsim yog hu ua ib tug "voj voog" vim hais tias cov kev haumxeeb tswj ntawm cyclically dua, pib nrog thawj zaug nqi. Tawm nyob rau hauv lub voj voog thaum sej muab los siv thaum lub sij hawm thaum tus nqi yuav tsis muaj tseeb. Thaum no tus taw tes, tus neeg txhais lus hau qhov kev pab cuam rau cov nram no haumxeeb-semantic ya, piv txwv li ib txoj kab tshiab, uas yog nyob rau tom qab lub thaiv nrog lub postcondition thaum.

Nyob rau hauv lub cajmeem lus, Nab hab sej mus thaum postcondition muaj cov nram qab syntax:

1. Thaum lub sij hawm (mob):

2. qhia

Qhia yuav ua tau xws li ib tug ib daim ntawv los yog ob peb. Tus mob no yeej ib txwm muaj tseeb tseem ceeb ntawm tej uas tsis yog-zero. Qhov no tsim ua hauj lwm raws li ntev raws li qhov kev cai tswjhwm mob no yeej muaj tseeb.

Siv voj voog thaum nyob rau hauv lub "nab hab sej" piv txwv li

Rassmotirim thaum lub voj. Nab hab sej yog heev nthuav lug nws iterations:

ib = 0
thaum ib tug <7:
sau ( "A")
ib = ib tug + 1

Peb twb tau tshaj tawm nce mus nce los "ib tug" thiab hais kom nws pes tsawg. Ces teem tus mob "thaum ib tug <7", uas yog, thaum lub sij hawm nce mus nce los "ib tug" yog tsawg tshaj li tus xov tooj "7", ces peb lub voj yuav tau tseg raws li ntev raws li muaj yog tsis muaj tseeb.

Ib tug cuav (uas yog, yuav tawm los ntawm lub voj voog) nws yuav ua tau thaum lub nce mus nce los yuav tsum ntau dua li tus naj npawb "7". No tshwm sim, nws yog txhua lub sij hawm incremented los ntawm 1, hais tias peb qhia nyob rau hauv lub "a = ib tug + 1".

Yog hais tias koj khiav qhov no kev tsim kho, tsab ntawv "A" yuav tsum tau qhia lub sij hawm 7 nyob rau hauv ib kem!

A
A
A
A
A
A
A

Txom voj thaum nyob rau hauv nab hab sej

Yuav ua li cas yuav ua rau ib qho kev txom voj hauv nab hab sej pliag? Kwv yees tsis yooj yim, vim hais tias cov kev voj voog sau kom txog thaum txog thaum nws tau txais ib tug cuav nqi, thiab yog hais tias cov nqi no tsuas yog tsis muaj? Lo lus teb rau lo lus nug no tej zaum twb yog li txhua yam yog tseeb. Nyob rau hauv tej rooj plaub, ib cov voj infinite yog yuav tsum tau mus daws tau ib qho teeb meem? Qhov kev piv txwv yuav pab raws li ib tug realization ntawm xws li ib tug kev pab cuam, raws li ib tug "moos." Ntawm no, ntawm chav kawm, koj yuav tau siv ib cov voj infinite, uas yuav tsum tau mus tas li tshiab thiab qhia lub sij hawm.

Infinite voj yog feem ntau ib tug yuam kev novice programmers uas tsis nco qab mus ntxiv ib tug kev hloov mus los tej yam kev mob.

Cia wb mus saib lub nram qab no daim ntawm sej code. Cov mus nyob rau hauv cov ntaub ntawv no iterated indefinitely (tom qab lub "#" tus cwj pwm yog ib tug saib):

tooj = 1 # tshaj tawm ib tug nce mus nce los tooj thiab cob nws ib tug nqi ntawm 1

thaum tooj <10: # tsim lub postcondition, uas suav tsawg tshaj li 10

sau 'Nyob zoo' # mob (sau «Nyob zoo» lus)

Xws li ib tug kev pab cuam yuav tsum tsis txhob Rush mus compile, vim hais tias nws yuav khiav indefinitely. Peb nug xws tej yam kev mob uas yuav tsis yog cuav qhov tseem ceeb mob «tooj <10" nyob rau hauv cov ntaub ntawv no thiab yeej ib txwm muaj tseeb, li ntawd, lub iteration yuav lossi nqa N-th naj npawb ntawm "Nyob zoo" lus. Nyob rau hauv thiaj li yuav tso tseg cov txheej txheem ntawm compiling nyob mus ib txhis, koj yuav tsum nias tus yuam sij ua ke Ctrl + C nyob rau hauv lub plhaub.

Nab hab sej: syntax. Thaum, thiab rau loops

Raws li hais saum toj no, nyob rau hauv cov lus ntawm lub "nab hab sej" programming, muaj ntau ntau txoj kev mus npaj ib tug rov pab pawg neeg cov kab zauv. Nws los txog rau lub cawm voj kev, uas yog ib tug me ntsis txawv los ntawm nws cov counterpart thaum, vim hais tias nws tsim yog ib tug me ntsis ntau tham tshaj cia li postcondition. wb tsis tham txog universality ntawm lub voj voog, vim hais tias nws tsuas tsis, Txawm li cas los, yuav muab sau tseg tias kev voj yog sai npaum li cas tshaj ib pliag. Ib tug ntau yam ntawm txoj kev los daws kom tau tus tsim thiab kev kawm ntawv ntawm no me me outperform voj voog nrog postcondition, li ntawd, nws yog ntau npaum li cas yuav siv los ua ntau tseem ceeb paub tab.

Yuav ua li cas yog cov kev sib tw txojkev lub voj voog rau? Undoubtedly, tib yam li hais tias ntawm lub thaum - iterate tej dab. Qhov kev pab cuam sau ntawv ua nyob rau hauv "sej", yog dav siv voj, uas muaj peev xwm sawv ntawm kev siv traversal predetermined plurality hais thiab ua nyob rau hauv nws cov ntau lub cev iterating tshaj lawv. Nta ntawm no tsim yuav siv nyob rau hauv kev kab los yog npe ib yam li tej lwm yam khoom iterated.

Piv txwv li ntawm kev siv rau lub voj voog nyob rau hauv nab hab sej

Wb hais tias peb muaj ib co daim ntawv teev cov xov tooj, thiab peb yuav tsum tau txhua lub caij (ie. E. Number) nce los ntawm peb cov chav nyob. Yuav kom siv xws li ib tug neeg ua hauj lwm peb tau los ntawm lub voj, rau cov voj kev.

Cia saib ib tug ceev Piv txwv li, qhov uas peb yuav ua tau qhov kev tsim nyog kev txiav txim rau qhov no (tom qab lub "#" tus cwj pwm yog ib tug saib):

spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # tshaj tawm hais tias array muaj 10 nuj nqis

suav = 0 # tsim counter nrog xoom

rau cov ntsiab nyob rau hauv spisok_chisel: # iterate tshaj lub array thiab sau nws nyob rau hauv lub ntsiab

spisok_chisel [suav] = ntsiab + # 3 tooj ua array ntawm peb

suav = suav + 1 # mus rau lub xov tooj tom ntej nyob rau hauv lub Performance index

Cov tshwm sim ntawm cov saum toj no kev tsim kho yuav tsum tau:

spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98]

Nyob rau hauv peb tus yam ntxwv, muaj ib tug kuj tsis paub meej, uas peb yuav tsum tau nyob rau hauv thiaj li yuav noj peb caug cov kev hloov tseem ceeb nyob rau hauv lub array «spisok_chisel». Cov nce mus nce los suav kaw ib tug Performance index nqi ntawm txhua lub caij nyob rau hauv lub array (txhua tooj nyob rau hauv daim ntawv teev). Kuj tsis paub meej «ntsiab» txuas lub resulting nqi nyob rau hauv daim ntawv teev. Nyob rau hauv lub kev voj, peb pom yuav ua li cas los mus siv cov kev ntawm txhua tus kwv nyob rau hauv lub zauv daim ntawv teev. Hauv lub voj, txhua numeric kwv nrog index «count» ntxiv tus nqi ntawm cov tam sim no iterated caij thiab peb. Tom qab ntawd peb index «suav» nce los ntawm ib tug, thiab cov ndlwg ntawm kev siv ntawm qhov kev pab cuam rov mus rau lub caij pib ntawm kev tsim kho tawm rau. Yog li, lub voj yuav khiav kom txog thaum txog thaum nws tau ua txhua lub caij nyob rau hauv lub array, muab los ntawm cov kev mob. Yog hais tias tej lub caij yog uas ploj lawm, tab sis yog muab los ntawm cov kev mob, lub voj voog yog tiav. Peb ua kom ib tug xav paub ntau tshaj: Yog hais tias koj tsis txhob sau ib txoj kab ntawm «count = suav + 1", txawm lub fact tias ib tug array ntawm cov khoom ua ntse, qhov tshwm sim yuav nco ntsoov muab ntxiv mus rau tus thawj suav yam khoom Performance index pes tsawg c.

Tam sim no peb muaj peev xwm xav txog thaum lub voj lag luam hauv paus ntsiab lus thiab paub qhov txawv (rov qab hais tias nyob rau hauv nab hab sej tawm ntawm lub voj voog nrog postcondition yog nqa tawm nyob rau hauv lub hauv paus ntawm cov zajlus kom kev - yeej muaj tseeb (lub voj voog tseem) los yog cuav (lub voj voog yuav tsis)).

Yuav ua li cas mus kho ib txoj hlua nyob rau hauv nab hab sej siv cov qauv siv rau?

Nyob rau hauv txhua txhua hom lus programming muaj cycles, thiab lawv ua hauj lwm, feem ntau yog nyob rau hauv tib lub ntsiab cai, qhov sib txawv pom xwb nyob rau hauv lub syntax. Txawm li cas los, cov kev voj nyob rau hauv cov lus "sej" tsis yog ib qho zoo tib yam thiab tsis tseem ceeb, vim hais tias lub hauv paus ntsiab ntawm nws lub lag luam yog tsis yog tas rau hauv lub txee. Qhov no tsim enumerates txhua yam nyias. Tag nrho cov no yuav muab tau yooj yim piav qhia los ntawm cov piv txwv ntawm kev ua hauj lwm nrog cov hlua, tab sis ua ntej wb nrog nyob tus yeees ntawm lub voj voog rau:

rau nce mus nce los

Nws yog muab cia rau hauv ib tug nce mus nce los voj voog lag luam tshwm sim

nyob rau hauv peremennaya_2

ntsiab lus «nyob rau hauv» - nws yog ib tug yuavtsum tau kawm uantej thaum ua hauj lwm nrog «rau» voj voog. Los ntawm peremennoy_2 peb rub tus nqi uas yuav tau iterated. Rau clarity, thiab clarity, cia saib ib tug me me piv txwv ntawm yuav ua li cas mus ua hauj lwm thiab mus txheeb cov hlua nyob rau hauv nab hab sej:

char = 'programming' # tshaj tawm ib tug nce mus nce los thiab muab ib txoj hlua nqi

rau slovo nyob rau hauv char: # Tsim ib tug nce mus nce los slovo, uas yuav muaj mus ntxiv busting lis dej num ntawm nce mus nce los char

sau (slovo, kawg = '^') # zis lub slovo thiab tom qab txhua tsab ntawv, ntxig ib lub cim - ib tug noog.

Cov tshwm sim ntawm cov tsab ntawv:

P ^ p ^ o ^ r ^ r ^ ib ^ m ^ m ^ ^ thiab p ^ o ^ ib ^ ib ^ n ^ thiab ^ e

ntxiv daim ntawv

neeg teb xov tooj tseem siv cov kev hloov mus rau qhov kev siv ntawm lub tom ntej no voj voog, muab los ntawm cov kev mob, tsis hais txog ntawm qhov nqi koj tshuav ntawm lub voj. Siv cov tseem lus no yuav tsum nyob rau hauv ob mus - thiab thaum.

Xav txog qhov no piv txwv:

rau count nyob rau hauv 'rov ua txhua tsab ntawv, tsuas yog'

Yog hais tias count == 'o':

ntxiv

sau (count * 2, kawg = '')

Cov tshwm sim yuav tsum tau li nram qab no:

Ppvvttrriimm kkaazhzhdduuyuyu bbuukkvvuu ,, kkrrmmee

Thaum lub handler pom ib tsab ntawv "o" nyob rau hauv cov hlua 'rov ua txhua tsab ntawv, tsuas yog' lub tua ntawm cov kev pab cuam tam sim ntawd xa mus rau lub kab tom qab lo lus '' tseem '', nyob qhov twg tus mob twb teem mus theej tawm txhua tsab ntawv.

so daim ntawv

Lo lus tseem ceeb «so» tso nyob rau hauv qhov chaw nyob qhov twg lub voj voog yog yuav tsum tau tu ncua tsis tos rau nws kawm tiav, uas tau muab los ntawm tus mob. Qhov no tsim yog feem ntau siv thaum sau ntawv cov kev pab cuam nrog ib tug ntau ntawm logic thiab tej yam kev mob.

Xav txog ib tug me me piv txwv ntawm cov chaw ua hauj lwm so daim ntawv:

rau count nyob rau hauv 'rov ua txhua tsab ntawv, tsuas yog'

Yog hais tias count == 'o':

so

sau (count * 2, kawg = '')

Cov tshwm sim yuav tsum tau li nram qab no:

nn

Thaum lub handler pom ib tsab ntawv "o" nyob rau hauv cov hlua 'rov ua txhua tsab ntawv tshwj tsis yog rau' lub tua ntawm cov kev pab cuam tam sim ntawd nres, txawm lub fact tias tom ntej no kab muaj ib co ntawm cov tej yam kev mob rau lub voj voog.

Cov khawv koob lo lus uas lwm tus neeg

Nyob rau hauv ib tug series ntawm tej yam zoo yuav thov lub xov tooj lwm yam. Yuav ua li cas yog nws rau? Nws kuj cov tshev mis uas tau cog lus tawm hauv lub voj txhais tau tias ib tug so los yog cov niaj zaus txoj kev. Thaiv nrog predetermined cai nyob rau hauv kev siv lwm tus pib tsuas yog thaum tus mob ntawd tso zis hauv lub voj voog twb nqa tawm tsis muaj kev siv so qauv.

Xav txog ib tug me me piv txwv:

rau count nyob rau hauv 'nyob zoo ntiaj teb no':

Yog hais tias count == 'Kuv':

so

lwm tus:

sau ( 'Koj kab lus twb tsis muaj tsab ntawv' Kuv '')

Lub tso zis ntawm tsab ntawv:

Koj kab lus no tsis yog lub tsab ntawv "I"

Piv txwv ntawm mus nyob rau hauv lub rov qab kev txiav txim ntawm tus nab hab sej programming lus

Raws li siv nyob rau hauv nab hab sej rov qab voj voog? Wb xav txog tej yam uas sau ntawv ib qho kev pab uas yuav tsum tau kom paub txog cov cim kab thiab sau nws nyob rau hauv rov qab kev txiav txim. Yuav ua li cas los mus siv no?

Xav txog cov piv txwv nram qab no:

slovo = 'programming'

new_slovo = []

rau count nyob rau hauv ntau yam (len (s), 0, -1):

new_slovo.append (s [i-1])

new_slovlo

[ 'P', 'p', 'o', 'g', 'p', 'ib', 'm', 'm', 'u', 'p', 'o', 'ib', ' ib tug ',' n ',' u ',' e ']

sau (new_slovo)

[ 'P', 'p', 'o', 'g', 'p', 'ib', 'm', 'm', 'thiab', 'p', 'o', 'nyob rau hauv', ' ib tug ',' n ',' u ',' e ']

sau ( ''. koom (new_slovo))

Cov tshwm sim ntawm cov tsab ntawv:

einavorimmargorp

nested loops

Nyob rau hauv nab hab sej, tseem muaj mus ntawm programming thiab cov kev nqis peev, uas yog muab tso rau hauv lub cev ntawm lwm. Nyob rau hauv txhua lub hlis yuav tsum yog ib tug nested voj, thiab yog li ntawd nws tau los tsim kom tau ib tug ntaiv rau infinity. Nyob rau hauv thawj iteration ntawm lub txheej voj twv nrog ib tug hu mus rau lub puab voj, uas yog tua ua ntej kawm tiav ntawm nws tus kheej, ces tswj tag nrho cov redirected mus rau hauv lub cev ntawm lub txheej voj. Txhua yam lus nws muaj nws tus kheej cov yam ntxwv ntawm nested loops, cia saib yuav ua li cas lawv ua hauj lwm nyob rau hauv lub "nab hab sej" programming lus.

Yog hais tias koj siv nested loops, Nab hab sej muaj raws li nram no syntax:

rau nce mus nce los nyob rau hauv ib theem zuj zus ntawm cov tsiaj ntawv:

rau nce mus nce los nyob rau hauv ib theem zuj zus ntawm cov tsiaj

kev txiav txim (s)

kev txiav txim (s)

Qhov tshwj xeeb nta ntawm nested loops yog qhov tseeb hais tias nyob rau hauv lub voj voog ntawm txhua yam yuav siv tau raws li txhua yam uas lub voj voog! Qhov no txhais tau tias nyob rau hauv ib lub voj voog thaum (los yog rau) yuav muab kos rau ib lub voj voog los yog dua thaum thiab vice versa.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hmn.delachieve.com. Theme powered by WordPress.