Tsükliline IKT algoritm Pascal näide. Tsüklilised algoritmid tsüklite tüübid ja tsüklilised meeskonnad Pascalis

Slaidi 2.

Plaanima

Tsükli kontseptsiooni operaatori tsükkel tsükli jaoks, samal ajal kui tsükkel korduv kirjandus

Slaidi 3.

Kirjandus

KasStonov A.f., Evstratova G.a. Keel Pascal: Õpetus ülikoolidele. - Cherepovetts: Gou VPO CHSU, 2010. - 117 C. - bibliogriks: lk.114. Elektrooniline õpik Keel Pascal /http://Pascal.guti.ru plaan

Slaidi 4.

Tsükli kontseptsioon

Paljude ülesannete lahendamise algoritmid on tsüklilised, kus tulemuste saavutamiseks teostatakse mitu korda teatud tegevusjärjestust. Näiteks näitavad teadmiste juhtimisprogramm küsimuse, aktsepteerib vastust, lisab märgi märgi punktide summale, seejärel kordab neid tegevusi, kuni teema vastab kõigile küsimustele. Või näiteks otsida soovitud perekonnanimi nimekirjas, kontrollige nimekirja nimekirja, et sobitada kokkusattumus, siis teine, kolmas jne. Niikaua kui soovitud perekonnanimi leitakse või loendi lõppu.

Slaidi 5.

Algoritmi, milles on mitu korda tehtud operaatorite rühma, nimetatakse tsükliliseks. Rühma korduvate operaatorite nimetatakse tsükli keha. Pascalis saab tsükleid rakendada, samal ajal kui korrake tsükli operaatorid. Plaanima

Slaidi 6.

Tsükli operaator jaoks

Tsükli operaatori kasutatakse juhul, kui tsükli korpus peab toimuma mitu korda ja korduste arv on eelnevalt teada.

Slaid 7.

1. vorm salvestamise operaatori tsükli jaoks

Operaatori salvestusoperaatori 1. vormi kirjeldatakse üldiselt järgmist: Forschechik: \u003d esialgne_treatmentto-vastaspidi_Dorator; Kus, et, teete teenindamise sõnad. Arvesti on järjestuse tüübi muutuja (tavaliselt nagu täisarv), mis määrab tsükli korduste arvu. Korduside arvu peetakse vastavalt valemile: Final_Dative on algne_station + 1. Final_ väärtus peaks olema suurem või võrdne esialgse_nimi.

Slaid 8.

Kui tsükli korpus koosneb mitmest operaatorist, siis näeb operaatori käitaja salvestamise esimene vorm selline: Forschechik: \u003d esialgne_Nameto-confined_do alustada (tsükli keha) lõpp;

Slaidi 9.

Kaaluge algoritmi töö jaoks tsükli esimeses salvestusvormis. Loendur on määratud algsele väärtusele. Tingimus on kontrollitud: loenduri väärtus on suurem kui final_station? Kui tingimus on tõsi (jah), lõpeb tsükli täitmise. Kui seisund on vale (NO), teostatakse tsükli korpus, seejärel suureneb loenduri väärtus ühe ja tingimused kontrollivad uuesti, s.o. lk.

Slaidi 10.

2. vormi salvestamise käitaja tsükli jaoks

Operaatorile salvestusoperaatori 2. vormi kirjeldatakse üldiselt järgmiselt: counter: \u003d esialgne_downdowto-end_dactivity. Kus: downto, do - Teenindussõnad. Loendur on muutuja järjestuse tüübi (tavaliselt nagu täisarv), mis määrab arvu tsükli korduste. Korduside arvu peetakse valemiga: algväärtus-finite_dation + 1. Esialgne_namedinteriity olla suurem või võrdselt ette nähtud.

Slaid 11.

Kui tsükli korpus koosneb mitmest operaatorist, siis näeb operaatori operaatori salvestuse 2. vorm välja selline: Forschechik: \u003d esialgne_downtofo-eveningdo alustada // kehatsükli lõpp;

Slaidi 12.

Mõtle algoritmi tööks tsükli teises vormis salvestamise: loendur on määratud esialgse väärtuse. Tingimus on kontrollitud: loenduri väärtus on väiksem kui final_station? Kui tingimus on tõsi (jah), lõpeb tsükli täitmise. Kui seisund on vale (NO), siis tsükli korpus läbi, siis loenduri väärtuse väheneb ühiku ja tingimused kontrollida uuesti, st. lk.

Slaid 13.

Tsükli operaator jaoks

programmex1; Var i, n: täisarv; (I - loendur, n - nõutav tähtede arv) S: string; (S - genereeritud string-liin) alustab WRITELN-i ("sisestage tähtede arv"); (Tärnide arv) Readln (N) taotletakse; (Kasutaja siseneb sparside arvu n) S: \u003d ""; (Tühiku stringi moodustumine algab tühja stringiga) (string on moodustatud tsükli jooksul. Esialgne_nity on meetri - 1, lõplik_tility on vajalik arv spars n.) FORI: \u003d 1 kuni n do s: \u003d S + "*"; (Iga etapis tsükli stringile, ühe tärniga) WRIRELN (s) on liimitud; (joon kuvatakse) Readln; lõpp. Plaani näide: programm moodustab stringi stringi. Tähede arvu stringi määrab kasutaja poolt.

Slaidi 14.

Tsükli ajal

Kuigi tsüklit kasutatakse, kui tsükli keha korduste arv programmi ajal ei ole teada ja seda saab määrata ainult selle käigus. Üldiselt, samas kui avaldus on kirjutatud järgmiselt: Kuigi tingimus Douperator; Kus tehke korraldusi. Tingimus on loogiline tüüpi väljendus, mis määrab tsükli jätkamise.

Slaid 15.

Kui tsükli keha koosneb mitmest operaatorist, siis samas tsükkel on kirjutatud järgmiselt: Teil on vaja // kehatsükli lõppu;

Slaidi 16.

Kaaluge selle aja tsükli algoritmi: kontrollitakse seisundit. Kui seisund on tõepoolest, teostatakse tsükli keha. Pärast seda kontrollib seisund uuesti. Kui seisund on vale, on tsükkel lõpule viidud.

Slaid 17.

Seega, kui tsükkel eeltingimuse või tsükliga "samas" (tsükli keha on endiselt tõeline seisund). Kui, kui te esimest korda tsükli möödute, on seisund vale, tsükli keha ei ole kunagi täidetud. Kui tingimus ei muutu kunagi valeks, korratakse tsüklit lõputult, s.t. Ilmneb külm.

Slaid 18.

Programmi ex2; Varachoumpount: reaalne; (Konto suurus) kuu: täisarv; (Kuude arv pärast konto avamist) Alusta kontot: \u003d 1000; (Kuludel 1000 rubla) kuu: \u003d 0; (Konto on äsja avatud) WhilaAccount

Slaid 19.

Korda tsüklit

Kordatsükkel, samuti samal ajal tsükkel, kasutatakse programmis, kui teil on vaja teha tsükli keha mitu korda, kuid korduste arv on eelnevalt teada. Üldiselt on korduv tsükkel kirjutatud järgmiselt: Kordage // kehatsükkel, kuni seisund; Kus korrata, kuni - teenust sõnad. Tingimus on loogiline tüüpi väljendus, mis määrab tsükli lõpu määrab.

Slaid 20.

Kaaluge korduva tsükli toimiva algoritmi: kordus ja kuni tsükli korpus toimub reserveeritud sõnade vahel. Tingimus on kontrollitud. Kui tingimus on tõepoolest, on tsükkel lõpule viidud. Kui seisund on vale, tsükli keha uuesti läbi.

Slaid 21.

Seega repret on tsükkel lavi või tsükli "to" (tsükli keha viiakse läbi tõe tõeks). Järelikult teostatakse tsükli keha vähemalt üks kord. Kui tingimus ei muutu kunagi tõsi, muutub tsükkel lõpmatuks.

Slaid 22.

Programm ex3; VAR Aeg: täisarv; (Kohaletoimetamise aeg) rakud: täisarv; (rakkude arv) Alusta aega: \u003d 0; (rakk ei ole kunagi kunagi alustatud) rakud: \u003d 1; (ühekordne) kordamine: \u003d aeg + 3; Rakud * 2; (rakkude arv kasvas 2 korda), kuni rakud\u003e 24; (Kuni tõeseisundisse "rakkude arv üle 24") WRIRELN (aeg); (väljund) Readln; lõpp. Tehase Näide: Unicullular Ameba iga 3 tunni järel on jagatud kaheks rakkuks. Pärast seda, mitu tundi ületab rakkude arv 24.

Vaata kõiki slaidid

Slaidi 1.

Töövõtja robot tsükliline algoritm
Ettekanne informaatika õppetund. 9. klassi Teema: juhtimine ja algoritmid

Slaidi 2.

I: \u003d 1 kuni n alustada tegevust1; Meede2; Lõpp;
I: \u003d 1 kuni n do Action1; Meede2;
1

Slaidi 3.

2
Kuigi (tingimus TRUE) alustavad meede1; Meede2; Lõpp;
Samal ajal (tingimus: TRUE) do Action1; Meede2;

Slaidi 4.

3
17 rakku
12 rakku

Slaidi 5.

4
Programm N1; Var i: täisarv; Alusta i: \u003d 1 kuni 12 do robotforw; Robotleft; I: \u003d 1 kuni 17 do Robotforw; Robotleft; I: \u003d 1 kuni 12 do Robotforw; Robotleft; I: \u003d 1 kuni 17 do Robotforw; Robotleft; lõpp.
Allapoole
Liikumine paremale
Üles liikuma
Liikumine vasakule
See ja järgmised käsud pöörduvad vasakule roboti nurgas

Slaidi 6.

5
Kui paned seina, hakkab robot sukelduda ja programm peatub

Slaid 7.

6
Programm N2; Var i: täisarv; Alustage samal ajal kui FreeForW do Robotforw; Robotleft; Kuigi FreeForW do Robotforw; Robotleft; Kuigi FreeForW do Robotforw; Robotleft; Kuigi FreeForW do Robotforw; Robotleft; lõpp.
Edasi on tasuta, tehke robot edasi.

Slaid 8.

Slaidi 9.

8
Programm N3; Var i: täisarv; Alusta i: \u003d 1 kuni 4 algab FreeForwi robotiforw; Robotleft; lõpp; lõpp.
Neli korda edasi liikuda, kuni takistusi ei ole ja keerake vasakule

Slaidi 10.

9
Neli korda edasi liikuda, kuni takistusi ei ole ja keerake vasakule

Slaid 11.

10
Sõltumatu töö ülesanded
Ülesanne 1. Olukorra vasakpoolses seina suvalises kohas pannakse takistuseks. Robot peaks jõudma punktile 1 ja naaske oma algse riigi juurde. Märkus: Kasutage veel kolm järjekindlalt ühendatud tsüklit.
1
1

Slaidi 12.

11
Ülesanne 2. Olukorra vasakpoolne sein suvalises kohas on nikerdatud. Robot peaks saama lasti juurde, viige see laosse transpordiks ja naasma oma algse riigi juurde. Märkus: Kasutage veel kaks järjekindlalt ühendatud tsüklit.

Slaid 13.

12
Ülesanne 3. Olukorra vasaku seina suvalises asukohas paigutatakse viis lasti. Robot peab kõik lasti laosse transpordiks. Märkus: Kasutage kahe järjest ühendatud tsüklit seni investeerinud tsükli parameetriga.

Slaidi 14.

13
Näide 1 Robot asub koridori sissepääsu ees. On vaja märkida kõik rakud koridoris ja tagastage tagasi

Slaid 15.

14
Programm N7; Alustada robotforw; Freelaft ei alusta valimist; Robotforw; lõpp; Robotback; Kuigi Freeleft ei robotubak; lõpp.
Me teeme samm edasi tunneli sisenemiseks
Kuigi vasakul on seina, tähistage puuri ja tehke sammu edasi
Tagasi tunneli juurde tagasi
Vasakule seinale, liigutades samm tagasi

Slaidi 16.

15
Näide 2 On kaks seinad, mis on varustatud nurga all. Seinte pikkused on meelevaldsed. Robot on nurgas seinte vahel (vt joonis). On vaja teha programm, kus robot tähistab kõik rakud seina siseküljele. Roboti lõplik positsioon meelevaldselt.

Slaid 17.

16
Programm N8; Alusta, kuigi mitte Freeright'i alustamist valige; Robotforw; lõpp; Kui vabastamine ei robotuback; Robotleft; Freelaft ei alusta valimist; Robotforw; lõpp; lõpp.
Kuigi õigus ei ole vaba, siis tähistan ma raku ja tehke sammu edasi.
Tagasi robot tagasi
Pöörduge vasakule
Kui vasak ei ole vaba, tähistan ma raku ja tehke sammu edasi.

Slaid 18.

Slaid 19.

18
Näide 3 Olukord kattub seina, mis jagab olukorra kaheks osaks. Seinal on läbipääsu rakkude suurusega suvalises kohas. On vaja teha programm, kus robot leiab selle lõigu ja läheb teise osa olukorrast.

Slaid 20.

19
Programm N9; Alustada robotleft; Kuigi FreeForW do Robotforw; Robotright; Kuigi ei ole freeleft do robotforw; Robotleft; Robotforw; Robotforw; lõpp.
Pöörake robot seina suunas.
Me liigume edasi, kuni ma ei seisa seina
Keera robot mööda seina
Liikudes edasi, kuni seina lõpeb
Pöörake robot läbipääsu suunas
Teeme kaks sammu edasi, läheme teise poole olukorraga

Üksikute slaidide esitluse kirjeldus:

1 Slaidi

Slaidi kirjeldus:

Klasside teema: "tsüklilise struktuuri algoritmid. Programmeerimine tsüklid Pascal »distsipliini" informaatika "

2 Slaidi

Slaidi kirjeldus:

Selle okupatsiooni teema peamised kontseptsioonid uuritakse järgmiste mõistetega: tsükli mõiste; Tsükliliste algoritmide sordid (tsükli eeltingimusega, tsükliga postribaga, parameetriga tsükkel); tsükliliste algoritmide plokkskeemid; tsüklite operaatorite esindamine Pascal programmeerimiskeeles; Tsüklite rakendamine probleemide lahendamisel.

3 Slaidi

Slaidi kirjeldus:

Tsükli mõiste paljude ülesannete lahendamisel teostatakse mitu korda ja sama toimingute järjestust. Näiteks sissepääsuks haridusasutus Üliõpilane annab eksamitele, arvutatuna nende poolt hinnatud punktidega (muutuja S; selle algväärtus S: \u003d 0;). Iga eksami puhul saab ta hinnanguid N. Kui hinnang on suurem kui "2", siis S: \u003d S + N; Vastasel juhul peatage arvutused (tsükli väljumine).

4 Slaidi

Slaidi kirjeldus:

Tsükli tsükli mõiste on operaatorite järjestus, mida saab teostada rohkem kui üks kord. Tsüklilist algoritmi nimetatakse algoritmi, mis tagab sama tegevuse mitmekordse kordumise uutele andmetele. Tsüklioperaatorid on kolm tüüpi: eeltingimusega tsüklid; Tsüklid postconditioniga; Tsüklid meetriga.

5 Slaidi

Slaidi kirjeldus:

Tsükli eeltingimusega. Tüüp tsükkel, samas kui prindib tsükli keha, kuni seisund täidetakse, salvestatakse pärast sõna vooskeemi eeltingimusega

6 Slaidi

Slaidi kirjeldus:

Tsükli eeltingimusega. Tüüp tsükkel Kuigi samal ajal kui tsükkel ülalmainitud on kasutatud, kui kordumise arv tsükli keha on teadmata ette, ja sõltub seisundist. Kui seisund on tõene, siis on tsükli korpus teostatud, seejärel kontrollige taas tingimusi ja seni, kuni seisund muutub valeks.

7 Slaidi

Slaidi kirjeldus:

Käitaja tsükkel koos prepala (samas - samas - samas tsükli) See kõige sagedamini kasutatav korduva operaatoril on ühine vaade Pascal (Format): Kuigi<условие> Do.<оператор>; Siin, tee - reserveeritud sõnad (inglise keeles: samas-in, do - do);<условие> - loogiline väljendus;<оператор> - meelevaldne (võimalusel komposiit) operaator.

8 Slaidi

Slaidi kirjeldus:

Tsükli postribaga. Tüüp tsükli kuni tellimuse käitaja tsükli koos detonatsiooni, täitmise 1-N operaatorite korratakse, kuni seisund muutub õigeks. Selles tsüklis kontrollitakse seisundit alles pärast tsükli kehasid. Sellest järeldub, et keha teostab alati vähemalt pärast vooskeemi postkaate

9 Slaidi

Slaidi kirjeldus:

Tsükli postribaga. Tsükli tüüp enne, kui see on oluline! Tsükkel ametikohaga teostatakse vähemalt kord sõltumatult seisundist. Loop tsükli kahtlemata mugavus on see, et selle sees saate kirjutada mitmeid operaatorit ilma komposiitoperaatori kasutamiseta. Tingimuste kontroll on pärast tsükli keha. Service Word kuni.

10 Slaidi

Slaidi kirjeldus:

Operaatori tsükkel postribaga (tüüp kuni tsükli) Üldine vaade (formaadis) Tsükli operaator Pascal Pascal Järgmine: Korda<Оператор 1>; <Оператор 2>; … <Оператор N>; Kuni<условие>;

11 Slaidi

Slaidi kirjeldus:

Tsükli käitaja rakenduse näide, mille lairibaga väljund ekraanile paaris, muutuja N \u003d 1, 2, 3, 4, 5, 6, 7, 8, 9 väärtused ja Muutuja A \u003d 10, 20, 30, 40, 50, 60, 70 ja 70, 80, 90 See operaator on: N: \u003d 0; Korrake n: \u003d n + 1; A: \u003d 10 * n; WRITELN (N: 2, '', a: 3); Kuni n\u003e \u003d 9;

12 Slaidi

Slaidi kirjeldus:

Tsükkel parameetriga. Parameetriga tsükli tüüpi tsükli tüüpi kasutatakse konkreetse arvu tsükli samme täita. Tuleb märkida, et Pascal Pascal tsükkel ei ole liiga paindlik (seevastu näiteks sellist tüüpi tsükli keeles c). Kuna Pascalil on tsükli parameeter (või loendur) varieerub väärtusega võrdub ühega. Seega, kui see on vajalik fraktsioneeriva etapi täitmiseks, peate kasutama tüübi tüübi tsüklit. Seal on kaks sorti tsükli: kasvades ja vähenemine väärtused arvesti (või parameeter). Tsükli plokk diagramm parameetriga (tsükli jaoks)

13 Slaidi

Slaidi kirjeldus:

14 Slaidi

Slaidi kirjeldus:

Tsükli operaator parameetriga. Tsükli tüüp tsüklioperaatori ühise vaate (formaadina) jaoks parameetriga<счетчик> := <начальное значение> .<конечное значение> Alustada.<Операторы> lõpp; Jaoks<счетчик> := <начальное значение> Alla.<начальное значение> Alustada.<Операторы> lõpp; Arvesti väärtuste (parameetri) suurenemisega, mille arvesti väärtuste vähenemine (parameeter)

15 Slaidi

Slaidi kirjeldus:

Tsükli operaator parameetriga. Tsükli tüüpi operaatori jaoks, kes rakendab tsüklit, kasutatakse, kui on vaja, et programmi fragment kordas määratud arvu aega<переменная цикла>: = <начальное значение> Et<конечное значение> Do.<оператор>; Siin: Sest, tee - reserveeritud sõnad (inglise keel: enne, täita);<счетчик (параметр) цикла> - liik muutuja Täisarv, mis varieerub segmendis<начального значения>, ühiku suurendamine iga tsükli lõpus;<оператор> - mis tahes (sagedamini komposiit) operaator.

16 Slaidi

Slaidi kirjeldus:

Tsükli operaator parameetriga. Tüüpitsükkel, mille avaldus koosneb päisest ja tsükli korpusest. Tsükli korpuses asuv komposiitoperaator peab olema suletud algavas ja lõpp-operaatori sulgudes. · Mõõturi identifikaatorit kasutatakse tavaliselt "I". · Arvesti muutuja peab olema järjestuse tüüp. Näiteks täisarv tüüp: bait, täisarv. · Tsükli parameetri alg- ja lõppväärtusi ei saa tsükli jooksul muuta. · Operaatorile kasutatakse fikseeritud tsüklite korraldamiseks eelnevalt teada või määrata programmi täitmise ajal korduste arvu järgi.

17 Slaidi

Slaidi kirjeldus:

Tsüklite kasutamine probleemide lahendamisel võib iga ülalkirjeldatud tsüklit kasutada samade ülesannete PSCAL-i programmeerimiseks tsüklilise algoritmiga.

18 Slaidi

Slaidi kirjeldus:

Ülesande number 1 Avage Pascalabc.net programm (programmeerimisprogrammide integreeritud programmid Pascal) Salvesta programm kausta oma nimega süsteemis töökataloog PABCWORK.NET "YIE_IN / CIKL_1.PAS Salvesta Kuidas ...

19 Slaidi

Slaidi kirjeldus:

Ülesanne nr 1 tsükli kasutamine (eeltingimusega), et teha ja siluda programmi, mis arvutab kõigi looduslike numbrite ruutude summa 1 kuni 100-ni. Esmased andmed: A: täisarvud; Tulemus - summa: S: Longint; Programm ex1; Var a: täisarv; S: Longint; (Long täisarv) Alustage A: \u003d 1; S: \u003d 0; (Muutuja S summade kogumiseks) a<=100 Do { Начало цикла – проверка условия } Begin S:=S+A*A; A:=A+1 End; Writeln(‘Вывод результата S= ’ ,S) End. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_1.pas

20 slaidi

Slaidi kirjeldus:

Ülesanne 2. Korraldage tsükliline struktuur Pascal Keel Pascalabc.net programmi ABC keskkonnas; Var x, u: täisarv; Alusta X: \u003d 2; X.<= 10 do begin Y:=x*x; writeln(‘вывод х: ’, x, ‘вывод у: ’, y); x:= x+2; end; end. Применить оператор цикла с предусловием для вычисления значения функции y=x2, при значениях x 2, 4, 6, 8, 10. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_2.pas























Tagasi edasi

Tähelepanu! Eelvaate slaidid kasutatakse ainult informatiivsetel eesmärkidel ja ei pruugi anda ideid kõigi esitlusvõime kohta. Kui olete sellest tööst huvitatud, laadige alla täielik versioon.

Eesmärk: Tsüklite algoritmilise struktuuri uurimine, mudelite loomine ja algoritmid praktiliste probleemide lahendamisel.

Klasside ajal

I. Teadmiste tegelikkus

  • Korrake algoritmi kontseptsiooni algoritmilise keele põhiprojekte.
  • Et olla võimeline arendama matemaatilist mudelit, algoritmi ja blokeerimisskeemi probleemi lahendamiseks.
  • On programmeerimiskeelte mõiste ja nende kohtumine.
  • Suutma töötada programmeerimiskeskkonnas.
  • Tea programmi struktuuri.
  • Suutma salvestada väljendeid, mis sisaldavad numbreid ja iseloomulikke väärtusi.
  • Tean ettevõtjate struktuuri ja nende töö omadusi.
  • Operaatorite rakendamine programmide kirjutamisel lineaarsete ja hargnevate struktuuridega.
  • Suutma luua ja käivitada programmid silumiseks.

II. Teoreetiline materjal õppetund

Enamik praktilisi ülesandeid nõuavad sama tegevuse kordumist, st ühe või mitme ettevõtja taaskasutamist. (Esitlus)

Laske numbrite järjestuse sisestamiseks ja töödelda. Kui numbrid on vaid viis, saate lineaarse algoritmi teha. Kui neid on tuhandeid, kirjutage lineaarne algoritm, kuid väga tüütu ja irratsionaalne. Kui numbrite arv ajaks algoritm ei ole teada, on lineaarne algoritm põhimõtteliselt võimatu.

Veel üks näide. Isiku perekonnanime leidmiseks loendis peate kontrollima nimekirja eesnime, siis teine, kolmas jne. Kuni loendi soovitud või lõppu leitakse või ei leita. Teil on võimalik lahendada selliseid raskusi tsüklitega.

Tsüklit nimetatakse algoritmi (programmide) mitmeks käivitatavaks osaks. Seega tsükliline algoritm on algoritmi sisaldav tsüklit.

On kahte tüüpi tsükleid: teadaoleva arvu kordusi ja tundmatu arvu kordusi. Samal ajal on mõlemal juhul mitmeid kordusi algoritmi arendamise etapis mitmeid kordusi.

Seal on 3 tüüpi tsüklilisi struktuure:

  • Tsükli eeltingimusega;
  • Tsükkel pärast acclincleerimata;
  • Tsükkel parameetriga;

Vastasel juhul nimetatakse neid struktuure "kuni", "tüüpi tsüklid.

Andmete salvestamise algoritmiliste struktuuride graafiline vorm:

Tsükkel eeltingimusega (muidu tsükkel) kuni) Tundub:

seisukord - loogiline väljendus.

Tsüklit ei tohi teostada, kui loogilise väljenduse väärtus osutub kohe valeks.

Alguse ja lõpu vahel asuvate käskude seeria toimub kuni seni on tingimus tõene .

Jaoks tsükli lõpuni, On vaja, et algaja ja lõpu vaheliste juhiste järjestus muudab sisse lülitatud muutujate väärtust tingimus.

Tsükkel postcondition (muidu tsükkel) enne) Tundub:

seisukord - loogiline väljendus.

Märge:

Iga vahel juhiste järjestuskorda. jakuni on alati täidetud vähemalt üks kord;

Selleks, et tsükkel täidetakse, on vaja, et operaatorite järjestuskorda. jakuni Muutis ekspressioonitingimustes sisalduvate muutujate väärtusi.

Korduskorraldus, samuti ajal juhiseid, kasutatakse programmis, kui teil on vaja läbi mõningaid korduvaid arvutusi (tsükkel), kuid kordumise arv ei ole eelnevalt teada ja määrab arvutuse arv ise.

Tsükkel parameetriga (muidu tsükkel) jaoks) See on vorm:

i - tsükli parameeter;
A - tsükli algväärtus;
B - tsükli lõppväärtus;
H on parameetri muutmise samm.

Selle tsükli struktuuri nimetatakse muidu tsükli i korda.

See käsk tehakse sel viisil: parameeter I on määratud esialgse väärtuse A võrreldakse lõpliku väärtusega B ja kui see on väiksem või võrdne lõpliku väärtusega B, teostatakse mitmeid käske. Parameetrile määratakse eelmise, suurendatud h. - parameetri muutuste sammud ja võrreldes lõpliku väärtusega b.

Programmeerimiskeeles, Pascal, parameetri muutmise samm võib olla võrdne ühe või miinus.

Kui alguse ja lõpu vahel on ainult üks operaator, ei saa operaatori sulgud kirjutada. See reegel töötab "veel" ja "jaoks" tüüpi tsükli.

Kaaluge näidet nende struktuuride kasutavate ülesannete lahendamisel.

Näide.

Arvutage numbrite saadus 1 kuni 5, kasutades erinevaid tsükli võimalusi.

Matemaatiline mudel:

P \u003d 1 · 2 · 3 · 4 · 5 \u003d 120

Teeme algoritmi vooskeemi kujul.

Algoritmi õigsuse kontrollimiseks täitke jälgi tabel.

Samm Tegevus Riba i. Kontrollimine tingimus
1 P: \u003d 1 1
2 i: \u003d 1; 1 1
3 i.<=5
P: \u003d p * i
I: \u003d i + 1
1 1 1<=5, да (истина)
4 i.<=5
P: \u003d p * i
I: \u003d i + 1
2 2 2<=5, да (истина)
5 i.<=5
P: \u003d p * i
I: \u003d i + 1
6 3 3<=5, да (истина)
6 i.<=5
P: \u003d p * i
I: \u003d i + 1
24 4 4<=5, да (истина)
7 i.<=5
P: \u003d p * i
I: \u003d i + 1
120 5 5<=5, да (истина)
8 i.<=5
P: \u003d p * i
I: \u003d i + 1
6<=5, нет (ложь)

Kontrollitingimused toimuvad mitmetes etappides: käskude tingimuste kontrollimine ühel filiaalidel. Seetõttu ei salvestata jälgi tabel algoritmi käsud, vaid eraldi toimingud arvuti poolt igas etapis.

Esimene samm: P on määratud väärtus.

Teine etapp: I on määratud ühele.

Samm kolmas: Ma olen võrdne üksus kontrollides üksi seisundit vähem või võrdne viie või võrdne, jah, see on tõsi, see tähendab, et ühe korrutatud väärtus on kaks. I: Üks pluss üks, seal on kaks.

Etapp neli:mina olen kaks, seisund on praegu väiksem või võrdne viie, jah, seisund on tõene, see tähendab, et väärtus 2 korrutatakse ühe, on 2. I: Kaks pluss üks, seal on kolm .

Viiendaks:mina olen kolm, kontrollime seisundit kolm vähem või võrdne viie, jah, tingimus on tõene, mis tähendab p määrab kahe korrutatud väärtuse kolmega, seal on kuus. I: kolm pluss üks, seal on neli.

Samm kuus:neljaga võrdne, tingimus on neli vähem või võrdne viie, jah, tingimus on tõsi, see tähendab, et kuue korrutatud väärtus neljaga on kakskümmend neli. I: neli pluss üks, seal on viis.

Samm seitsmes:sest ma võrdne viis, seisund on viis vähem või võrdne viie, jah, seisund on tõsi, see tähendab, et väärtus kahekümne nelja korrutatud viiega on sada kakskümmend. I: viis pluss üks, seal on kuus.

Etapp Kaheksas:kui ma võrdse kuue poole võrra, on seisund kuus vähem või võrdne viie võrra, ei ole seisund vale, siis lahkume tsükli ja tulemusena saame viimase väärtuse võrdne saja ja kakskümmend.

Programm PR1;
Var i: täisarv;
Alusta.
P: \u003d 1;
i: \u003d 1;
Kuni ma.<=5 do
Alusta.
P: \u003d p * i;
i: \u003d i + 1;
lõpp;
Kirjutage ('p \u003d', p);
lõpp.

Tsükli desihhanismi puhul ehitame plokkskeemi ja jälgi tabelit. (Slide16)

Selle tulemusena me saame viimase väärtuse võrdne saja kakskümmend seitsmendas etapis

Parameetriga tsükli jaoks ehitame plokkskeemi ja jälgi tabelit. (Slide17)

Selle tulemusena me saame viimase väärtuse võrdne saja kakskümmend kuuendas etapis

Ülesanne:

Kuva numbreid 1 kuni 5 V:

  1. lihtsalt;
  2. vastupidises järjekorras.

Matemaatiline mudel:

  1. 1 2 3 4 5;
  2. 5 4 3 2 1.

Plokkskeem ja probleemi lahendamise probleem on esitatud numbrite jaoks otsese ja vastupidises järjekorras.

(Slaid 21)

Me salvestame peetavad algoritmid programmeerimiskeele Pascalis.

(Slaid 22)

III. Õppeni kokkuvõte

Ja nii vaatasime läbi järgmised küsimused:

  1. Algoritmilise struktuuri tsükkel;
  2. Algoritmiliste struktuuride tüübid:
    1. Tsükli eeltingimusega;
    2. Tsükkel pärast acclincleerimata;
    3. Tsükkel parameetriga;
  3. Peetakse nende struktuuride kirjutamise viise;
  4. Nende struktuuride abiga probleeme lahendamise probleemide lahendamise näited.

Tsüklilised algoritmid06.04.2017
Tsüklilised algoritmid
Tsüklite tüübid ja tsüklilised
Meeskonnad Pascalis

Tsüklit korratakse
Järjestuse kordamine
tegevus
Algoritmi osa korduv
nimetatakse tsükli keha
Tsüklite tüübid
Antud numbriga
Kordused
Tingimused
tsükkel
Tingimusega
Väljumise tingimus on
tsükkel

Tüübid tsüklite (sisu)
Tsükli eeltingimusega
Praktika
Tsükli postribaga
Praktika
Tsükkel parameetritega
Praktika
Keeruliste ülesannete lahendamine

Tsükli eeltingimusega

Praktika

tingimus ja tegevus, mida tuleb teha ainult
Pärast tingimuste kontrollimist kasutage tsüklit eeltingimuses.


Enne iga tsükli keha täitmist kontrollitakse
tingimused, kui tulemus "tõde", siis tsükli keha tehakse
Jällegi, kui "vale", siis on tsüklist väljapääs.
Plokis - skeem
Alustada tsüklit
Mitte
Seisukord
Jah
Tsükli keha
Tsükli lõpp
Pascalis.
Samas<условие> teha.
Alusta.
<тело цикла>
lõpp;

Tsükli postribaga

Praktika
Kui korduste arv on eelnevalt teada, kuid ainult täpsustatud
tingimus ja tegevus, mida tuleb enne teha
Seisukord Kontroll Kasutage tsükli postkaarega.
Tingimusena kasutatakse loogilist ekspressiooni, keha
Tsükkel on lihtne või komposiitoperaator.
Pärast tsükli korpuse täitmist
tingimused, kui tulemus on "vale", siis teostatakse tsükli keha
Taas, kui "tõde", siis on tsüklist väljapääs.
Plokis - skeem
Pascalis.
Korda.
Tsükli keha
<тело цикла>
Jah
Mitte
Seisukord
Kuni<условие>;

Tsükkel parameetriga

Praktika
Tsükkel parameetriga
Juhul kui korduste arv on eelnevalt teada
Parameetris kasutatakse tsüklit.
Muutuja, milles täpsustatakse korduste arvu
Tsükli parameeter või kontrollimuutuja.
Pärast iga keha täitmise tsükli haldamist
Muutuja suureneb või väheneb, tsükkel
See kestab, kuni see on aeg, kuni see ületab kas
on vähem piirangud.
Plokis - skeem
Pascalis.
X: \u003d A kuni B Doo
X: \u003d a, b, c
Tsükli keha
X - kontrollimuutuja (tsükli parameeter)
A - algne tähendus X, in-finite x
C - Muuda muutmise samm
Alusta.
<тело цикла>
Lõpp;
Sammuna saate kasutada
ainult:
"To" \u003d 1;
"Alla" \u003d -1

Näide ülesandest, kasutades tsüklit eeltingimusega
Teooria

Sliver algoritm:
Korruta number x esialgu võrdne 1
Määratud mitu korda (H) on 3.
Alustama
Programm Stepen;
Var.
H, B, X: täisarv;
Alusta.
WRITELN (kraadi? '');
Readln (h);
X: \u003d 1;
B: \u003d 1;
Kuigi B.<=H do
Alusta.
X: \u003d x * 3;
B: \u003d B + 1;
Lõpp;
WRITELN (tulemus ", X);
Lõpp.
Pascal
N.
Sisestage antud kraad
X: \u003d 1
Algväärtused
B: \u003d 1
Mitte
"B" kraadi loendur
B≤h.
Jah
X: \u003d x * 3
Korrutamine 3-ga.
B \u003d + 1
Suurendada meetrit
H.
Saadud saadud
Väärtused
lõpp
Block diagramm
Selgitused

Näide ülesandest, kasutades tsüklit postkaate
Teooria
Ülesanne: tõsta antud kraadi number 3
Sliver algoritm:

Programm Stepen;
Var.
H, B, X: täisarv;
Alusta.
WRITELN (kraadi? '');
Readln (h);
X: \u003d 1;
B: \u003d 0;
Korda.
X: \u003d x * 3;
B: \u003d B + 1;
Mitte
Kuni b\u003e \u003d H;
WRITELN (tulemus ", X);
Lõpp.
Alustama
N.
Sisestage antud kraad
X: \u003d 1
Algväärtused
B: \u003d 0
Korrutamine 3-ga.
X: \u003d x * 3
Suurendada meetrit
B \u003d + 1
Jah
B\u003e \u003d h
"B" kraadi loendur
H.
Saadud saadud
Väärtused
lõpp
Pascal
Block diagramm
Selgitused

Parameetriga tsükkel kasutava ülesande näide
Teooria
Ülesanne: tõsta antud kraadi number 3
Sliver algoritm:
Korruta number x esialgu võrdne 1 määratud arv kordi (H) 3-ga.
Programm Stepen;
Var.
H, B, X: täisarv;
Alusta.
WRITELN (kraadi? '');
Readln (h);
X: \u003d 1;
B: \u003d 1 kuni h doo
Alusta.
X: \u003d x * 3;
Lõpp;
WRITELN (tulemus ", X);
Lõpp.
Pascal
Alustama
N.
X: \u003d 1
B: \u003d 1, h, 1
X: \u003d x * 3
H.
lõpp
Block diagramm
Sisestage antud kraad
Esialgne väärtus X \u003d 1
Parameetrid 1 eKr
Korrutamine 3-ga.
Saadud saadud
Väärtused
Selgitused

Tsükli valik sõltub probleemi omadustest. Ainult praktika ütleb teile optimaalse lahenduse.

Ülesanne: alustades koolitus, sportlane esimesel päeval
RAN 10 km. Iga päev ta suurendas päevavalgust
Norma 10% eelmise päeva normist.
Mis täielik tee töötab sportlane 7 päeva.
Sisendmuutujad:
D - päevade arv
SD - Kaugus praeguse päeva jaoks
Väljundmuutujad:
S - jagatud tee

Block - skeem lahendada

alustama
S: \u003d 10
SD: \u003d 10
D: \u003d 1
D: \u003d d + 1
SD: \u003d SD * 1.1
S: \u003d S + SD
mitte
D \u003d 7.
Jah
S.
lõpp

Pascalis

Tsükli "jaoks"
Tsükli "Kuigi"
Tsükli "enne"
Programmi algaja;
Programmi algaja;
Programmi algaja;
Var.
Var.
Var.
S, SD: reaalne;
S, SD: reaalne;
S, SD: reaalne;
D: baid;
D: baid;
D: baid;
Alusta.
Alusta.
Alusta.
S: \u003d 10;
S: \u003d 10;
S: \u003d 10;
SD: \u003d 10;
SD: \u003d 10;
SD: \u003d 10;
D: \u003d 2 kuni 7
Alusta.
Kuigi D.<7 do
Alusta.
Korda.
D: \u003d d + 1;
SD: \u003d 1.1 * SD;
D: \u003d d + 1;
SD: \u003d 1.1 * SD;
S: \u003d S + SD;
SD: \u003d 1.1 * SD;
S: \u003d S + SD;
lõpp;
S: \u003d S + SD;
Kuni (d \u003d 7);
WRITELN ('S \u003d', s);
lõpp;
WRITELN ('S \u003d', s);
Lõpp.
WRITELN ('S \u003d', s);
Lõpp.
Lõpp.

Küsimused kontrollimiseks:
1. Mis käitaja Pascal on seadistatud tsükli
Provote
2. Kuna parameetri tsüklis näitavad samm "1" ja "-1"
3. Milline filiaal pärineb tsüklist
postkond
4. Kas seisundi parameetriga tsükkel on tsükkel
5. Mis võiks olla tsükli keha
6. Kui tsüklit kasutatakse parameetritega
lõpp