Computers, Programming
Programming. Basic algorithmic Siv
Yuav kom tsim tej kev pab cuam tsim nyog yooj yim algorithmic tsim. Nram qab no yog cov uas yooj yim xaiv rau daws cov teeb meem. Nws yuav siv tau, e.g., rau cov lag luam nrog homogeneous piv txwv. Nws muaj lwm yam hom: branching thiab ntxees. Uas yuav tsum tau them nyob rau hauv no tsab xov xwm. Tiam sis ua ntej koj yuav tsum to taub li cas ib algorithm yog nyob rau hauv feem ntau.
algorithm
Lo lus "algorithm" los ntawm lub Latin algoritmi. Ua li cas nws txhais li cas? Qhabnias lo lus los ntawm lub npe ntawm kev kawm txog zauv, kev ua ub no uas coj qhov chaw nyob rau hauv lub IX xyoo pua. Vim treatise al Khorezmi noob neej yuav ua ntsib nrog qhov yooj yim hom algorithmic tsim thiab feem ntau nrog lub dav tswvyim.
Nyuam qhuav pib hauv daim ntawv ntawm spelling tau txais - "algorithm". Tam sim no nws yog tsuas yog siv nyob rau hauv tej yam mob.
Algorithm - ib tug txheej txheem uas txhais tau tias hloov cov ntaub ntawv, uas tshwm sim nyob rau hauv discrete kauj ruam. Nrog rau qhov no tswvyim, txhua tus neeg ntsej muag nyob rau hauv lub neej, leej twg nws yog. Algorithms yuav tau piav raws li tshuaj yej thiab khoom noj khoom haus, kev ua lej khu los yog tas li ntawd, cov tshuaj sib npaug, thiab hais txog. D. Tag nrho cov khoom siv uas nws ua hauj lwm tus txheej txheem no cia li, ua hauj lwm los ntawm meej cov kauj ruam tshuaj nyob rau hauv lub processor nco. Tej algorithms yog hu ua tsev neeg. Nws muaj lwm yam hom. Cia peb kawm lawv.
hom ntawm algorithms
Basic algorithmic lug raug muab faib ua ob peb yam, uas yuav tsum tau los sib tham nyob rau hauv cov pawg lus no. Yuav ua li cas yog lawv?
- Cov Ntaub Ntawv. Tej algorithms yog ua hauj lwm nrog loj nyiaj ntawm cov ntaub ntawv, tab sis cov sheer volume ntawm cov zauv me me nyob rau hauv ntev thiab yoojyim.
- Control. Lub lag luam ntawm xws algorithms yog txuam nrog cov ntaub ntawv uas yog muaj nyob rau ntawm ib tug qhov chaw. Thaum tau txais daim ntawv xa tshwj xeeb Pib ntsais koj teeb kom cov lag luam los ntawm pab kiag li lawm.
- Xam. Tsis zoo li cov ntaub ntawv algorithms piav ua hauj lwm nrog me me ntawm cov ntaub ntawv, tab sis ua ib tug loj ua hauj lwm txoj.
Nyob rau hauv qhov tseeb, lub algorithm yog muaj tseeb rau cov me tshaj kom meej qhia ntawv. Txawm li cas los, tsis yog txhua txhua tej ntaub ntawv yuav tsum tau hu ua qhia txog lub tswvyim. Yuav kom nkag siab txog cov algorithm qhia ntawv los yog tsis yog, nws yuav tsum tau soj ntsuam rau lub xub ntiag ntawm tej yam khoom.
thaj chaw ntawm algorithms
Tag nrho cov loj algorithmic tsim yuav tsum muaj tej yam uas lawv "ua raws li." Xav txog lo lus nug no nyob rau hauv ntau yam.
Yog hais tias tag nrho taug qab qhov kev kawm ntawm cov algorithms thiab lawv lub zog, koj yuav pom tias tsis tas to taub lawv cov pej xeem, kom meej meej txaus kom haum lub hom phiaj. Qhov tseeb tshwm sim yog tau, txawm hais tias koj cia li lo rau cov yam txhua yam kev txiav txim. Los ntawm no peb yuav xaus uas vim cov tsis muaj lub ntsiab lus nyob rau hauv lub khiav dej num, cov algorithm yog tseem ua tau kom them rau qhov kev siv ntawm ib tug computer. Nyob rau hauv lwm yam lus, rau lub automated pab kiag li lawm yuav tsum tau nyob rau ntawm tus txheej txheem no.
Yuav ua li cas cov khoom yuav tsum muaj ib tug yooj yim algorithmic tsim rau siab tshaj plaws precision ua hauj lwm?
- Understandability. Txhua pab neeg yuav tsum tau meej khiav kwv. Nws nkawd hais tias tsis muaj dab tsi yog yooj yim dua, piv txwv li, kos ib teev nyob rau hauv qhov chaw, muaj, tab sis nws tsis yog spelled pab neeg IEP, uas yuav ua tau ib tug txiav txim, nws yuav tsis tau ua.
- Hauj lwm zoo. Uas txhais tau hais tias qhov no vaj tse? Yuav tsum tau kom tau ib tug tshwm sim. Lub algorithm yuav tsis tab sis ua rau ib co zoo ntawm lo lus teb. Vim ib qho yuam kev, koj yuav tau txais cov tsis ncaj ncees lawm tshwm sim uas tau kev kawm, tab sis nws yuav. Ntxiv mus, lub teb yuav tsum tau txais tom qab ib tug tej yam muaj pes tsawg tus ntawm cov kauj ruam.
- Pawg. Tej algorithm yuav tsum muaj feem xyuam rau tej chav kawm ntawv ntawm cov teeb meem. Nruab nrab ntawm lawv lawv tej zaum yuav txawv tswv yim ntaub ntawv.
- Tseeb. Txhua qhov kev txiav txim yuav tsum tau muaj tsuas yog ib lub ntsiab lus, thiab tsis txhob muab tau rau cov derivative decryption. Qhov tseeb tiag mas, tsis muaj teeb meem ntau npaum li cas qhov kev pab cuam yog launched, qhov tshwm sim yuav tsum yog tib txhua lub sij hawm.
- Discrete. Algorithm - raws kev siv cov kauj ruam. Txhua kauj ruam yog ib tug hais kom hla los yog ntxiv tshiab sawv daws yuav tsis tau.
- Correctness. Tej algorithm hais tias yog muaj feem xyuam rau txhua yam kev pab raws qib, yuav tsum yog rau txhua leej txhua tus. Nyob rau hauv lub cajmeem, muaj ntau feem ntau teeb meem yog tsis nyob rau hauv kev sau ntawv ruam, uas feem ntau tsis yuav tsum tau ntau lub sij hawm, thiab nyob rau hauv nqa tawm lawv rau tag nrho cov hom ntawm cov lus nug. Yog li ntawd, ib tug tseem ceeb kauj ruam yuav tau debug lub algorithm. Yuav pab tau nrog rau qhov no thiab qhov yooj yim algorithmic tsim, lub repetition ntawm cov uas yuav ua rau kom zoo dua tau.
Hauj lwm ntawm algorithms
Yog hais tias peb tham txog yuav ua li cas sau ntawv algorithms, nws yuav tsum ntsiab qhov nram qab no:
- Lus. Nyob rau hauv lwm yam lus, nyob rau hauv cov lus, uas nws yooj yim mus hais lus tivthaiv.
- Rooj. Txawj, cov algorithm yog sau nyob rau hauv ib lub rooj thiab feem ntau yog siv raws li ib tug pab caij.
- Formula-hais lus. Lub hauv paus coj lus izyasneniya txoj kev, tab sis tej yam ua tseem muaj sau cim los yog siv cov formulas lej.
- Graphic. Xws li ib tug algorithm yog sau nyob rau hauv ib tug tshwj xeeb cov lus flowcharts.
Nws yog tsim nyog los hais cov xeem taw tes. Yuav ua li cas yog ib tug flowchart? Qhov no linear los yog nonlinear algorithm, cov kauj ruam ntawm uas yog sau siv tshwj xeeb units. Lawv muaj lawv tus kheej configuration, lub hom phiaj thiab muaj nuj nqi. Nyob rau hauv cov ntaub ntawv ntawm no piav qhia, tus algorithm sau thaiv kos duab, uas yog interconnected kab. Lawv yuav tsum tau sau ib qho kev txiav txim (kauj ruam).
algorithmic tsim
Ib txhia cam hais tias lub algorithms tsis muaj 3 hom, thiab 4. Cov yooj yim algorithmic tsim: linear, branched, cyclic. Yuav ua li cas yog vim li cas xws li ib tug misconception, nws tsis yog tseeb. Txawm li cas los, rau tej yam yooj yim kev daws teeb meem rau txoj teeb meem siv computer algorithms rau cov peb haum loj pawg. Cia peb kawm lawv.
- Tawm. Qhov no computational txheej txheem tau txais no lub npe vim yog lub fact tias tag nrho cov kev ua yog nqa tawm nyob rau hauv ib tug linear theem zuj zus, nyob rau txhua kauj ruam yog ua ntau tshaj li ib zaug. Yog hais tias peb xav txog lub tswvyim ntawm qhov teeb meem, ces nws blocks muab tso rau ib tug saum toj no cov lwm yam, nyob ntawm seb qhov kev kawm ntawm ib theem zuj zus tus xov tooj. Tawm algorithms ua hauj lwm nyob rau hauv xws li ib tug txoj kev uas cov ntaub ntawv tsis hloov cov kev taw qhia thiab kev nkag siab ntawm kev txiav txim. Tej kev daws teeb meem haum txoj kev laij cov lej los yog sib txawv, square nrhiav, los yog ntawm nws perimeter, thiab hais txog. N. Lub ntsiab yam ntawm algorithmic tsim yog raws nraim nws.
- Branching. Qhov no computational txheej txheem implies lub xub ntiag ntawm ib cov zajlus kom qhia (lub LP) thiab ib tug xaiv ntawm tej yam kev mob (ceg "cuav" thiab "muaj tseeb"). Nyob rau hauv txhua rooj plaub, nws pom tau hais tsuas yog ib tug ntawm ob tug los yog ntau tshaj pawg. Tsis muaj teeb meem thiab tsis tau yuav, uas yuav muab los siv yog tseem lwm cov kev xaiv. Yog hais tias ob ceg ntawm lub algorithm, nws yog yooj yim, yog tias ntau tshaj ob - complex. Cov yav tas txoj kev mas, ib qho yooj yim nyob rau cov nuj nqis ntawm cov thawj. Lub ntsiab yam ntawm algorithmic tsim yog thawj taw tes thiab lub thib ob. Cov nram qab no daim ntawv no kuj muaj nyob rau hauv daim ntawv no.
- Cyclical. Qhov no algorithm yuav tas caij yog hais dua, thaum uas siv cov sib txawv tswv yim ntaub ntawv. Nyob rau hauv lwm yam lus, xws li ib tug txheej txheem no hu ua ib lub voj voog.
Nws yuav tsum tau muab sau tseg tias tag nrho cov loj algorithmic tsim (nram qab no, ceg, loops) sib thooj nrog txhua lwm yam, txawm tias lawv muaj peev xwm yuav siv tau nyias.
Tsim loops thiab lawv hom
Ua li cas nws coj los ua ib tug voj?
- Lub voj counter. Qhov no yog ib tug nce mus nce los uas qhia cov thawj cov nuj nqis, thiab tus repetition ntawm qhov kev txiav txim nws yuav hloov. Nws yuav tsum tau nkag mus rau hauv lub algorithm. Basic algorithmic siv ntawm ncej-hom ua hauj lwm tsis muaj nws yuav tsis.
- Hloov cov index saum toj no cov ntaub ntawv ua ntej ib tug tshiab repetition ntawm lub voj voog.
- Xyuas tej yam kev mob mus rau lub computer txiav txim siab seb puas yuav rov "scroll" voj los yog ntau tshaj yog tsis muaj yuav tsum tau.
Mus yuav ua tau deterministic thiab iterative. Tus thawj yog ib tug redo nrog lub npe hu tooj ntawm repetitions. Iterative voj voog - ib tug uas yog pheej rov qab ua ib qho indefinite nqi ntawm lub sij hawm kom txog rau thaum tus mob yog muaj tseeb los yog cuav.
Cov yooj yim algorithm
Nws yog ib nqi yuav tsum nco ntsoov hais tias tej algorithmic lug tsis muaj xws li cov yooj yim algorithm. Yuav ua li cas yog nws? Cov tswvyim no yog tsis pom nyob rau hauv niaj hnub ntaub ntawv, tab sis qhov no tsis txhais hais tias nws yeej ua tau thiab tsis tshwm sim. Muab hais tias cov tshuaj ntawm muaj teeb meem yuav tsum ces yuav tsum ob peb ceg los yog repetitions, cov nram qab no xaus. Basic algorithmic (cov linear, branched, cyclic) yog yooj yim. Nyob rau hauv qhov tseeb, lawv sawv cev "yam ntxwv tsev" ntawm txhua thiaj li hu ua cov lus qhia.
linear algorithms
Raws li yog tseeb los ntawm cov saum toj no, ib tug algorithms yog linear thiab uas tsis yog-linear. Xav txog cov thawj embodiment. Yog vim li cas lawv hu rau nws? Tag nrho cov heev yooj yim. Qhov tseeb yog tias tag nrho cov kev uas ua kom yog ua si nyob rau hauv lub algorithm, yog kom meej meej raws li kev siv ntawm tag nrho cov kauj ruam nruj me ntsis ib tug tom qab lwm. Feem ntau, cov kev pab raws qib no me me thiab muaj ib tug tsawg theem ntawm complexity.
Ib qho piv txwv ntawm ib tug linear algorithm yuav ua tau ib tug txheej txheem ntawm kev npaj ntawm cov tshuaj yej:
- Hliv dej rau hauv lub hwj kais.
- Muab lub hwj kais ntawm lub qhov cub rau rhaub.
- Siv lub khob.
- Ncuav mus rau hauv ib lub khob ntawm cov tshuaj yej.
- Ntxiv lub qab zib.
- Tom qab boiling dej kub nchuav rau hauv lub khob.
- Siv ib rab diav.
- Do qab zib.
Programming yooj yim algorithmic lug - hnyav txaus deal, tab sis yog hais tias nws yog ib tug linear algorithm, feem ntau nws yog heev yooj yim mus siv rau lawv.
branching algorithms
Yuav ua li cas to taub hais tias lub algorithm yog branching? Nws yog txaus kom ntseeg tau tias koj muaj ib tug xaiv ntawm ob los yog ntau tshaj kev kawm ntawm kev txiav txim, nyob ntawm seb qhov kev kawm ntawm los yog tsis ua hauj lwm tej yam kev mob. Txhua txoj kev no yog hu ua ib tug ceg.
Lub ntsiab feature ntawm branching algorithm yog lub hav zoov ntawm ib tug nyob ntawm ceg. Nws tshwm sim thaum lub sij hawm rau qhov kev kuaj qhia rau qhov tseeb los yog lus dag.
Feem ntau, cov zajlus kom kab zauv uas muaj tuaj tej yam tshwm sim "tsawg tshaj", "ntau", "tsawg dua los sis sib npaug zos", "ntau dua los yog sib npaug zos rau", "sib npaug zos", "tsis sib npaug zos." Tej zaum kuj muaj embodiments qhov twg tus mob txuam nrog txhua lwm yam los ntawm qhov hais kom ua thiab (u) los yog (los yog).
Ib qho piv txwv ntawm xws li ib algorithm tej zaum yuav daws tau cov nram qab no qhov teeb meem: Yog hais tias cov kev qhia ((x + 3) / 1) yog sib npaug zos rau ib tug zoo xov tooj, ces tso saib cov ntawm qhov screen, Yog hais tias tsis zoo - mus qhia rau tus neeg siv hais txog qhov yuam kev.
Tej yam yooj yim txaus nyob rau hauv kev xyaum siv qhov yooj yim algorithmic tsim. Branching yog ib qho ntawm feem ntau txoj kev daws.
Deterministic voj voog los yog los ntawm kev voj voog counter
Lub voj voog ntawm lub txee - voj voog uas muaj ib tug kuj tsis paub meej hais tias kev hloov nrog ib tug tej kauj ruam muaj nqis. Kauj ruam txhais los ntawm tus neeg siv los sis muab los ntawm cov programmer thaum sau ntawv software. Feem ntau ntawm cov lus no voj voog siv ib tug neeg teb xov tooj rau.
Yuav kom qhov kev pab cuam mus tso saib ob kab 4 lub sij hawm:
- "Yuav ua li cas yog koj?"
- "Zoo, ua tsaug rau koj!"
- "Yuav ua li cas yog koj?"
- "Zoo, ua tsaug rau koj!"
Koj yuav tsum tsim ib deterministic voj voog. Yuav ua li cas yog nws zoo? Peb siv cov lus "Pascal" rau ib tug zoo dua xaav tsim.
1. Rau kuv: = 1 mus rau 2 ua:
- kuv yog ib tug counter voj voog, nws txiav txim rau tus xov tooj ntawm repetitions nyob rau hauv lub voj.
2. Pib (qhib curly bracket rau ob nqe lus yog lub cev voj voog thiab pheej rov qab ua ke.)
3. Writeln ( 'Yuav ua li cas yog koj?'):
- lo lus txhais tau tias writeln xaus nqe lus nyob rau hauv ib quotes.
4. Writeln ( 'Fine, ua tsaug').
5. Xaus.
6. kuv: = kuv + 1.
Raws li koj tau pom, yooj yim heev thiab txawm kev lom zem rau siv yooj yim algorithmic tsim. Basic algorithms yeej paub zoo tias, yog tsis muaj lawv nws yog tsis yooj yim sua rau sau cov kev pab cuam.
Voj voog nrog postcondition
Voj voog nrog postcondition yuav tau rov qab ib tug indefinite tooj ntawm kev ua tsis inserting lub xov tooj kev zawm hniav los yog compound lus. Nws yuav tsum tseg ib zaug. Nws ua hauj lwm mus los kom txog thaum tus mob no tsis muaj tseeb. Nws tsis nyob rau hauv lub tsim ntawm qhov tseeb ntsuas. Nyob rau hauv no algorithm nws yog ua tau. Basic algorithmic siv ntawm no hom ntawm kev ua hauj lwm nyob rau hauv no xyov pace.
Rau realization ntawm no voj voog yuav tsum tau tsim Repeat A mus txog rau thaum B. Cia nws txhais tau tias "kom rov hais dua cov kauj ruam kom txog thaum tus mob no tsis muaj tseeb." Raws li, nws yog qhia los ntawm ib tug tus kheej repetition txheej txheem los ntawm B - cov ntaub ntawv uas raug yuav tsum tau ib tug muaj tseeb muaj nqis.
Voj voog nrog precondition
Voj voog nrog postcondition yuav ua lub tsev nyob rau hauv xws li ib txoj hais tias nws yog ua nyob rau ntawm tsawg kawg yog ib zaug nyob rau hauv txhua rooj plaub. Txawm li cas los, muaj mob thaum lub voj voog yuav tsum nyob rau hauv cov ntaub ntawv ntawm ib tug mob, thiab yuav tsum tsis txhob nqa tawm nyob rau hauv lub qhaj ntawv ntawm tsis tshua mob heev. Txwv tsis pub, qhov tshwm sim yuav tsis muaj tseeb. Nws yog nyob rau hauv cov ntaub ntawv no ib tug voj nrog ib tug precondition. Yuav kom tsim tus tsim nyog tsim «thaum A ua B». Tus thawj pab neeg no yog cia txhais li "ntev." A - tej yam kev mob, thiab - tej yam uas yuav tau rov qab. Tag nrho cov tsim txhais tau tias "kom txog thaum tus mob no yeej muaj tseeb, ua tau ib qho kev txiav txim."
Tag nrho cov loj algorithmic tsim ua hauj lwm xwb nyob rau hauv tej yam mob. Yuav ua li cas yog lawv nyob rau hauv lub voj nrog ib tug precondition? Yog hais tias koj yuav tsum tau rov ntau dua ib tug txiav txim, tab sis ob peb, ces koj yuav tsum tau siv los yog compound cov nqe lus, los yog tshwj xeeb nkhaus. Lub voj voog yuav zoo tsis tau tua yog hais tias tus mob yog tsis muaj tseeb thaum nkag mus rau hauv nws. Raws li, qhov kev txiav txim yuav tau rov qab yog hais tias nws yog muaj tseeb.
Lub koom haum pab algorithm
Lub koom haum pab algorithm yog siv nyob rau hauv lwm yam dab los ntawm specifying xwb nws lub npe. Nws yog ib tug loj algorithmic designs tsis thov. Nyob rau hauv lub cajmeem hom lus xws txiav txim no yog hu ua niaj hnub ua. Yuav kom pab txhawb lub chaw ua hauj lwm nrog cov code, thiab ces yooj yim dua daws teeb meem txhua yam uas ua ke rau hauv ib tug tsev, uas yog ib tug pab algorithm. Txhua tus ntawm lawv yuav nug nws lub npe, uas tso cai rau tom qab pheej hu rau nws.
Similar articles
Trending Now