Cikliskais algoritms ICT paskāls piemērs. Cikliskie algoritmi Ciklu veidi un cikliskās komandas Paskālā. Cikla izvēle ir atkarīga no problēmas apstākļu īpašībām. Tikai prakse jums pateiks optimālo risinājumu


Ciklu veidi

cilpas ar parametru priekš

cilpas ar priekšnosacījumu

cikls kamēr ar priekšnosacījumu

cikls atkārtojiet - līdz ar pēcnosacījumu


Cilpa ar priekšnosacījumu Pascal - WHILE

Cilpas operators ar priekšnosacījumu veic darbības nezināmu skaitu reižu. Cilpa iziet, ja kāda loģiskā izteiksme vai tās rezultāts izrādās nepatiess.

Jo lojalitāte loģiskā izteiksme sākumā tiek pārbaudīts, cilpas pamattekstu var neizpildīt pat vienu reizi.


Cilpas struktūra LAIKĀ


Bloks - cikla diagramma LAIKĀ

operators

stāvokli


Piemērs

Uzdevums: Uzrakstiet programmu, kas aprēķina visu pāra skaitļu summu līdz 50.

writeln("Summa ir: ",summa);


Uzdevums

Uzrakstiet programmu, kas meklē n!.


Cilpa ar pēcnosacījumu Paskālā — REPEAT-UNTIL

Šis operators ir līdzīgs cilpas operatoram ar priekšnosacījumu, bet atšķiras no tā ar to, ka nosacījums tiek pārbaudīts pēc cilpas pamatteksta (darbības) izpildes. Tas nodrošina, ka tas tiek izpildīts vismaz vienu reizi, atšķirībā no iepriekš parsētajām cilpām.

Lūdzu, ņemiet vērā, ka šis operators cikls nozīmē vairāku operatoru klātbūtni cikla pamattekstā, tas ir, var veikt vairākas darbības, tāpēc pakalpojuma vārdi Sāciet Un Beigas Nav vajadzīgs.


Cilpas struktūra

ATKĀRTOT-LĪDZ


Bloks - cikla diagramma ATKĀRTOT-LĪDZ

operators

stāvokli


Piemērs

Uzdevums: Uzrakstiet programmu, kas nosaka skaitļa pirmo un pēdējo ciparu summu.

a,b,c,d:vesels skaitlis;

writeln("ievadiet numuru");

writeln('Pirmā un pēdējā cipara summa ir:'c);


Uzdevums

Uzrakstiet programmu, kas nosaka, vai skaitlis ir pirmskaitlis.


Cilpa ar parametru Pascal - FOR

Cikls PRIEKŠ iestata nosacījumus, kādos programma darbosies pirms tās izpildes, pieņemsim, ka programmai ir nepieciešams cilpa n reizes, tad to var viegli izdarīt, izmantojot šo cilpu.

U cikls PRIEKŠ Ir raksturīga iezīme - skaitītājs, ko parasti apzīmē ar burtu i vai j.

Ciklā skaitītāju var norādīt vai nu tieši (pakalpojuma vārds uz ), un apgrieztā secībā (funkcionālais vārds līdz ).


Cilpas struktūra PRIEKŠ

FOR i:= n1 TO n2 DO

1. ieraksta forma

FOR i:= n2 DOWNTO n1 DO

2. ieraksta forma


Bloks - cikla diagramma PRIEKŠ

i:= n1 … n2

Cilpas korpuss


Piemērs

Uzdevums: Uzrakstiet programmu, kas aprēķina dotā skaitļa n-to pakāpju.

a, n, i, pr: vesels skaitlis;

writeln('Ievadiet numuru');

writeln('Ievadiet skaitļa jaudu');

i:= 1 līdz n darīt

writeln('Cipara jauda ir',pr);


Uzdevums

Uzrakstiet programmu, kas atrod skaitli P = (1-1/2)(1-1/3)*…*(1-1/n).

N tiek ievadīts no tastatūras.







Cilpa ar priekšnosacījumu Ja atkārtojumu skaits iepriekš nav zināms, bet to nosaka tikai nosacījums, un darbība, kas jāveic tikai pēc nosacījuma pārbaudes, izmantojiet cilpu ar priekšnosacījumu. Kā nosacījums tiek izmantota loģiskā izteiksme, cilpas pamatteksts ir vienkāršs vai salikts operators. Pirms katras cilpas korpusa izpildes tiek pārbaudīts nosacījums, ja rezultāts ir “true”, tad cilpas pamatteksts tiek izpildīts vēlreiz, ja “false”, tad cilpa tiek izieta. Uz blokshēmas In Pascal begin end; Nosacījums Cilpas pamatteksts Nē Prakse Cilpas sākums Cilpas beigas JĀ Kamēr dariet


Cikla ar pēcnosacījumu Ja atkārtojumu skaits nav iepriekš zināms, bet to nosaka tikai nosacījums, un darbība, kas jāveic pirms stāvokļa pārbaudes, izmantojiet cilpu ar pēcnosacījumu. Kā nosacījums tiek izmantota loģiskā izteiksme, cilpas pamatteksts ir vienkāršs vai salikts operators. Pēc katras cilpas korpusa izpildes tiek pārbaudīts nosacījums, ja rezultāts ir “false”, tad cilpas pamatteksts tiek izpildīts vēlreiz, ja “true”, tad cilpa tiek izieta. Par blokshēmu Paskālā Atkārtot Nosacījums Cilpa Body Jā Nē Prakse Līdz ;


Cilpa ar parametru Gadījumos, kad atkārtojumu skaits ir zināms iepriekš, tiek izmantota cilpa ar parametru. Mainīgo, kas norāda atkārtojumu skaitu, sauc par cilpas parametru vai vadības mainīgo. Pēc katras cilpas korpusa izpildes vadības mainīgais tiek palielināts vai samazināts, cilpa tiek izpildīta, līdz tā pārsniedz vai kļūst mazāka par robežu. Pascal blokshēmā X ir vadības mainīgais (cikla parametrs) A ir X sākotnējā vērtība, B ir X beigu vērtība C ir X maiņas solis. Kā soli varat izmantot tikai: “to” = 1; “downto” = -1 X:=A,B,C Ķermeņa cilpas prakse X:=A līdz B do Begin End;


Problēmas piemērs, izmantojot cilpu ar priekšnosacījumu Palieliniet skaitli 3 līdz noteiktai pakāpei UZDEVUMS: Verbālais algoritms: reiziniet skaitli X, kas sākotnēji vienāds ar 1 noteiktu reižu skaitu (H) ar 3. sākt H BHBH X:=1 X:=X*3 beigas X Ievadiet dotos grādus Sākotnējās vērtības “B” grādu skaitītājs B=B+1 Reizināšana ar 3 Skaitītāja palielināšana Iegūtās vērtības izvadīšana Programm Stepen; Var H,B,X:vesels skaitlis; Sākt Writeln (grāds?); Readln(H); X:=1; B:=1; Kamēr B


H X:=1 X:=X*3 beigas X Ievadiet doto jaudu Sākotnējās vērtības" title="Uzdevuma piemērs, izmantojot cilpu ar pēcnosacījumu Palieliniet skaitli 3 līdz noteiktai pakāpei UZDEVUMS: Verbālais algoritms: Reizināt skaitlis X sākotnēji vienāds ar 1 noteiktu reižu skaitu (H) 3. sākums N B>=H X:=1 X:=X*3 beigas X Ievadiet noteiktu pakāpi Sākotnējās vērtības" class="link_thumb"> 8 !} Problēmas piemērs, izmantojot cilpu ar pēcnosacījumu Palieliniet skaitli 3 līdz noteiktai pakāpei UZDEVUMS: Verbālais algoritms: reiziniet skaitli X, kas sākotnēji vienāds ar 1 noteiktu reižu skaitu (H) ar 3. sākt H B>=H X:= 1 X:=X*3 beigas X Dotās pakāpes ievadīšana Sākotnējās vērtības “B” grādu skaitītājs B=B+1 Reizināšana ar 3 Skaitītāja palielināšana Iegūtās vērtības izvadīšana Programm Stepen; Var H,B,X:vesels skaitlis; Sākt Writeln (grāds?); Readln(H); X:=1; B:=0; Atkārtojiet X:=X*3; B:=B+1; Līdz B>=H; Writeln(Rezultāts,X); Beigas. Nē Jā Paskāla teorijas blokshēmas skaidrojumi B:=0 =H X:=1 X:=X*3 beigas X Dotās pakāpes ievadīšana Sākotnējās vērtības"> =H X:=1 X:=X*3 beigas X Dotās pakāpes ievadīšana Sākotnējās vērtības "B" grādu skaitītājs B=B +1 Reizināšana ar 3 Palielināt skaitītāju Izvadīt iegūto vērtību Programm Stepen; Var H,B,X:integer; Begin Writeln(gree?); Readln(H); X:=1; B:=0; Atkārtot X:= X*3; B: =B+1; līdz B>=H; Writeln (rezultāts, X); beigas. Nē Jā Teorija Paskāla blokshēmas skaidrojumi B:=0"> =H X:=1 X:=X*3 beigas X Ievadiet doto pakāpi Sākotnējās vērtības" title=" Problēmas piemērs, izmantojot cilpu ar pēcnosacījumu Palieliniet skaitli 3 līdz noteiktai pakāpei UZDEVUMS: Verbālais algoritms: reiziniet skaitli X, kas sākotnēji vienāds ar 1 doto skaitli reizes (H) ar 3. sākums N B>=H X: =1 X:=X*3 beigas X Norādītās pakāpes ievadīšana Sākotnējās vērtības"> title="Problēmas piemērs, izmantojot cilpu ar pēcnosacījumu Palieliniet skaitli 3 līdz noteiktai pakāpei UZDEVUMS: Verbālais algoritms: reiziniet skaitli X, kas sākotnēji vienāds ar 1 noteiktu reižu skaitu (H) ar 3. sākt H B>=H X:= 1 X:=X*3 beigas X Dotās pakāpes ievadīšana Sākotnējās vērtības"> !}


Uzdevuma piemērs, izmantojot cilpu ar parametru Palielināt skaitli 3 līdz noteiktai pakāpei UZDEVUMS: Verbālais algoritms: reiziniet skaitli X, kas sākotnēji vienāds ar 1, noteiktu reižu skaitu (H) ar 3. sākt H X:=1 X:=X*3 beigas X Ievadiet doto jaudu Sākotnējā vērtība X=1 Parametri no 1 līdz N Reizināšana ar 3 Iegūtās vērtības izvade Programm Stepen; Var H,B,X:vesels skaitlis; Sākt Writeln (grāds?); Readln(H); X:=1; Ja B:=1 līdz H, Sākt X:=X*3; Beigas; Writeln(Rezultāts,X); Beigas. B:=1,H,1 Paskāla teorijas blokshēmas skaidrojumi




Uzdevums: Uzsācis treniņus, sportists pirmajā dienā noskrēja 10 km. Katru dienu viņš palielināja dienas normu par 10% no iepriekšējās dienas normas. Kāda ir kopējā distance, ko sportists veiks 7 dienās? Ievades mainīgie: Izvades mainīgie: S – kopējais ceļš d – dienu skaits Sd – attālums pašreizējā dienā


Beigas Jautājumi kontrolei: 1. Kurš operators Pascal definē cilpu ar priekšnosacījumu 2. Kā cilpas parametrā norādīt soli “1” un “-1” 3. Kuram atzaram seko cilpa ar pēcnosacījumu? 4. Vai ir nosacījuma parametrs 5. Kāds var būt cilpas pamatteksts 6. Kad tiek izmantota cilpa ar parametriem

2. slaids

Plāns

Cilpas jēdziens Cikla paziņojums For Loop While Loop Repeat Literature

3. slaids

Literatūra

Kastornovs A.F., Evstratova G.A. Pascal programmēšanas valoda: pamācība universitātēm. - Čerepoveca: Valsts profesionālās augstākās izglītības iestāde ChSU, 2010. - 117 lpp. - Bibliogrāfija: 114. lpp. Elektroniskā mācību grāmata par Pascal programmēšanas valodu /http://pascal.guti.ru plāns

4. slaids

Cikla jēdziens

Daudzu problēmu risināšanas algoritmi ir cikliski, lai sasniegtu rezultātu specifiska secība darbības tiek veiktas vairākas reizes. Piemēram, zināšanu kontroles programma parāda jautājumu, pieņem atbildi, pievieno atzīmi par atbildi kopējam rezultātam, pēc tam atkārto šīs darbības, līdz subjekts atbild uz visiem jautājumiem. Vai, piemēram, lai sarakstā meklētu vēlamo uzvārdu, ir jāpārbauda pirmais uzvārds sarakstā, vai tas atbilst meklētajam, tad otrais, trešais utt. līdz tiek atrasts vēlamais uzvārds vai sasniegts saraksta beigas.

5. slaids

Algoritmu, kurā ir paziņojumu grupa, kas tiek izpildīta vairākas reizes, sauc par ciklisku. Atkārtotu apgalvojumu grupu sauc par cilpas pamattekstu. Programmā Pascal cilpas var ieviest, izmantojot For, While un Repeat cilpas paziņojumus. Plāns

6. slaids

Cilpas operatoram

Operators For loop tiek izmantots, ja cilpas pamatteksts ir jāizpilda vairākas reizes, un atkārtojumu skaits ir zināms iepriekš.

7. slaids

1. For cilpas operatora rakstīšanas forma

1. forma operatora For ierakstīšanai vispārējs skats izskatās šādi: ForCounter:=Start_valuetoFinal_valuedoOperator; Kur For, to, do ir funkciju vārdi. Skaitītājs ir kārtas mainīgais (parasti vesels skaitlis), kas nosaka, cik reižu cilpa atkārtosies. Atkārtojumu skaitu aprēķina pēc formulas: Final_value – Initial_value+1. End_Value ir jābūt lielākai par sākuma_vērtību vai vienādam ar to.

8. slaids

Ja cilpas pamattekstu veido vairāki operatori, tad operatora For rakstīšanas 1. forma izskatās šādi: ForCounter:=Start_valuetoFinal_valuedo Begin (Cilpas pamatteksts) End;

9. slaids

Apskatīsim For cilpas algoritmu pirmajā rakstīšanas formā. Skaitītājam tiek piešķirta sākotnējā_ vērtība. Tiek pārbaudīts nosacījums: vai skaitītāja vērtība ir lielāka par End_value? Ja nosacījums ir patiess (Jā), cilpa beidzas. Ja nosacījums ir false (Nē), tad tiek izpildīts cilpas pamatteksts, tad skaitītāja vērtība tiek palielināta par vienu un nosacījums tiek pārbaudīts vēlreiz, t.i. 2. punkts.

10. slaids

2. For cilpas operatora rakstīšanas forma

Otrais operatora For rakstīšanas veids kopumā izskatās šādi: For Counter:=Start_valuedowntoFinal_valuedoOperator; Kur: For, downto, do ir funkciju vārdi. Skaitītājs ir kārtas mainīgais (parasti vesels skaitlis), kas nosaka, cik reižu cilpa atkārtosies. Atkārtojumu skaitu aprēķina pēc formulas: Sākuma_vērtība–Galīgā_vērtība+1. Sākuma_vērtībai ir jābūt lielākai vai vienādai ar beigu_vērtību.

11. slaids

Ja cilpas pamattekstu veido vairāki operatori, tad 2. For operatora rakstīšanas forma izskatās šādi: ForCounter:=Start_valuedowntoFinal_valuedo Begin //Cilpas pamatteksts End;

12. slaids

Apskatīsim For cilpas algoritmu otrajā apzīmējuma formā: Skaitītājam tiek piešķirta sākotnējā_ vērtība. Tiek pārbaudīts nosacījums: vai skaitītāja vērtība ir mazāka par End_value? Ja nosacījums ir patiess (Jā), cilpa beidzas. Ja nosacījums ir false (Nē), tad tiek izpildīts cilpas pamatteksts, tad skaitītāja vērtība tiek samazināta par vienu un nosacījums tiek pārbaudīts vēlreiz, t.i. 2. punkts.

13. slaids

Cilpas operatoram

programmaEx1; var i, n:integer; (i – skaitītājs, n – nepieciešamais zvaigžņu skaits) s:string;(s – ģenerēta zvaigžņu virkne) begin Writeln("Ievadiet zvaigžņu skaitu"); (jautā zvaigžņu skaitu) Readln(n); (lietotājs ievada zvaigžņu skaitu n) s:=""; (zvaigznīšu rindas veidošana sākas ar tukšu rindu) (Līniju veido Cilpai. Skaitītāja sākotnējā_vērtība ir 1, galīgā_vērtība ir nepieciešamais zvaigžņu skaits n.) fori:= 1 līdz n do s:=s+"*"; (katrā cilpas solī līnijai tiek pielīmēta viena zvaigznīte) Writeln(s) (tiek izdrukāta rinda) Readln; beigas. Plāna piemērs: programma ģenerē zvaigžņu virkni. Zvaigžņu skaitu rindā nosaka lietotājs.

14. slaids

Kamēr cilpa

Cikla While tiek izmantota, ja cilpas pamatteksta atkārtojumu skaits programmas izstrādes laikā nav zināms, un to var noteikt tikai programmas darbības laikā. Kopumā paziņojums While ir rakstīts šādi: While Condition doOperator; Kur While, do ir funkciju vārdi. Nosacījums ir loģiska izteiksme, kas nosaka cilpas turpinājumu.

15. slaids

Ja cilpas pamatteksts sastāv no vairākiem priekšrakstiem, tad cilpu While raksta šādi: WhileCondition do Begin //Cilpas body End;

16. slaids

Apskatīsim cilpas While algoritmu: nosacījums ir pārbaudīts. Ja nosacījums ir patiess, tad tiek izpildīts cilpas pamatteksts. Pēc tam stāvoklis tiek pārbaudīts vēlreiz. Ja nosacījums ir nepatiess, cilpa beidzas.

17. slaids

Tādējādi While ir cilpa ar priekšnosacījumu vai cilpu “While” (cilpas pamatteksts tiek izpildīts, kamēr nosacījums ir patiess). Ja cilpas pirmajā piegājienā nosacījums ir nepatiess, tad cilpas pamatteksts netiks izpildīts pat vienu reizi. Ja nosacījums nekad nekļūst nepatiess, tad cilpa atkārtosies bezgalīgi, t.i. cilpa notiks.

18. slaids

ProgrammaEx2; varAccount: Real; (konta lielums) Mēnesis: Vesels skaitlis; (mēnešu skaits, kas pagājuši kopš konta atvēršanas) begin Konts:=1000; (kontā tika iemaksāti 1000 rubļu) Mēnesis:=0; (konts tikko tika atvērts) whileAccount

19. slaids

Atkārtojiet ciklu

Repeat cilpa, tāpat kā cilpa While, tiek izmantota programmā, ja nepieciešams vairākas reizes izpildīt cilpas pamattekstu, bet atkārtojumu skaits nav iepriekš zināms. Kopumā atkārtošanas cilpa tiek rakstīta šādi: Repeat //Cilpas pamatteksts Līdz stāvoklim; Kur Atkārtot, Līdz ir funkciju vārdi. Nosacījums ir Būla izteiksme, kas nosaka cilpas beigas.

20. slaids

Apskatīsim atkārtošanas cilpas algoritmu: Tiek izpildīts cilpas pamatteksts, kas atrodas starp rezervētajiem vārdiem Atkārtot un Līdz. Stāvoklis tiek pārbaudīts. Ja nosacījums ir patiess, cilpa beidzas. Ja nosacījums ir nepatiess, cilpas pamatteksts tiek izpildīts vēlreiz.

21. slaids

Tādējādi Repet ir cilpa ar pēcnosacījumu vai cilpu “Pirms” (cilpas pamatteksts tiek izpildīts, līdz nosacījums ir patiess). Tāpēc cilpas korpuss tiek izpildīts vismaz vienu reizi. Ja nosacījums nekad nekļūst patiess, tad cilpa kļūs bezgalīga.

22. slaids

ProgrammaEx3; var Laiks:integer; (dalīšanas laiks) Šūnas: vesels skaitlis;(šūnu skaits) sāk ) Šūnas: =Šūnas*2;(šūnu skaits palielinājās 2 reizes) Līdz Šūnas>24; (līdz nosacījums "šūnu skaits ir lielāks par 24" ir patiess) Writeln(Time) (izvadiet rezultātu) Readln; beigas. Plāna piemērs: vienšūnas amēba sadalās 2 šūnās ik pēc 3 stundām. Nosakiet, pēc cik stundām šūnu skaits pārsniegs 24.

Skatīt visus slaidus























Atpakaļ uz priekšu

Uzmanību! Priekšskatījums Slaidiem ir tikai informatīvs nolūks, un tie var neatspoguļot visas prezentācijas funkcijas. Ja jūs interesē Šis darbs, lūdzu, lejupielādējiet pilno versiju.

Mērķis: ciklu algoritmiskās struktūras izpēte, modeļu un algoritmu veidošana praktisku uzdevumu risināšanai.

Nodarbību laikā

I. Zināšanu papildināšana

  • Pārskatiet algoritma koncepciju un algoritmiskās valodas pamatkonstrukcijas.
  • Spēt attīstīties matemātiskais modelis, algoritms un blokshēma problēmas risināšanai.
  • Jums ir izpratne par programmēšanas valodām un to mērķiem.
  • Spēt strādāt programmēšanas vidē.
  • Zināt programmu struktūras.
  • Prast rakstīt izteiksmes, kas satur skaitliskus un simboliskus lielumus.
  • Zināt operatoru struktūras un viņu darba īpatnības.
  • Prast lietot operatorus, rakstot programmas ar lineārām un sazarotām struktūrām.
  • Prast datorā izveidot un palaist programmas atkļūdošanai.

II. Nodarbības teorētiskais materiāls

Lielākajai daļai praktisko problēmu ir jāatkārto vienas un tās pašas darbības, tas ir, viena vai vairāku operatoru atkārtota izmantošana. (Prezentācija)

Pieņemsim, ka jums ir jāievada un jāapstrādā skaitļu secība. Ja ir tikai pieci skaitļi, varat izveidot lineāru algoritmu. Ja tādu ir tūkstotis, ir iespējams uzrakstīt lineāru algoritmu, taču tas ir ļoti nogurdinoši un neracionāli. Ja algoritma izstrādes laikā skaitļu skaits nav zināms, tad lineārais algoritms būtībā nav iespējams.

Vēl viens piemērs. Lai sarakstā atrastu personas uzvārdu, ir jāatzīmē pirmais uzvārds sarakstā, pēc tam otrais, trešais utt. līdz tiek atrasts vēlamais vai sasniegts saraksta beigas. Šādas grūtības var pārvarēt ar ciklu palīdzību.

Cikls ir algoritma (programmas) sadaļa, kas tiek izpildīta atkārtoti. Attiecīgi cikliskais algoritms ir algoritms, kas satur ciklus.

Ir divu veidu cikli: ar zināmu atkārtojumu skaitu un ar nezināmu atkārtojumu skaitu. Abos gadījumos tas attiecas uz atkārtojumu skaitu algoritma izstrādes stadijā.

Ir 3 veidu cikliskās struktūras:

  • Cilpa ar priekšnosacījumu;
  • Cilpa ar pēcnosacījumu;
  • Cilpa ar parametru;

Pretējā gadījumā šīs struktūras sauc par cikliem, piemēram, “Kamēr”, “Pirms”, “Par”.

Algoritmisko struktūru datu ierakstīšanas grafiskā forma:

Cilpa ar priekšnosacījumu (aka cilpa Uz redzēšanos) ir šāda forma:

stāvokli – loģiskā tipa izteiksme.

Cikla var netikt izpildīta pat vienu reizi, ja loģiskās izteiksmes vērtība uzreiz izrādās nepatiesa.

Komandu sērijas starp sākumu un beigām tiek izpildītas līdz kamēr nosacījums ir patiess .

Par to lai cikls beidzas, ir nepieciešams, lai instrukciju secība starp BEGIN un END mainītu iekļauto mainīgo vērtību stāvokli.

Cilpa ar pēcnosacījumu (aka cilpa pirms tam) ir šāda forma:

stāvokli – loģiskā tipa izteiksme.

Piezīme:

Instrukciju secība starpatkārtojiet Unlīdz vienmēr piepildīsies vismaz vienreiz;

Lai cilpa tiktu pabeigta, ir nepieciešams, lai paziņojumu secība starpatkārtojiet Unlīdz mainīja nosacījumu izteiksmē iekļauto mainīgo vērtības.

Atkārtošanas instrukcija, tāpat kā instrukcija while, tiek lietota programmā, ja nepieciešams veikt dažus atkārtotus aprēķinus (cilpu), bet atkārtojumu skaits nav iepriekš zināms un to nosaka paša aprēķina gaita.

Cilpa ar parametru (aka cilpa Priekš) ir šāda forma:

i – cikla parametrs;
a – cikla sākuma vērtība;
b – cikla beigu vērtība;
h – parametru maiņas solis.

Šī cikla struktūru sauc citādi cikls i reizes.

Šī komanda tiek izpildīta šādi: parametram i tiek iestatīta sākotnējā vērtība a, salīdzinot ar galīgo vērtību b, un, ja tā ir mazāka vai vienāda ar galīgo vērtību b, tiek izpildīta virkne komandu. Parametram tiek piešķirta iepriekšējā vērtība, kas palielināta par h– parametru maiņas solis un atkal tiek salīdzināts ar galīgo vērtību b.

Pascal programmēšanas valodā parametru maiņas solis var būt vienāds ar vienu vai mīnus viens.

Ja starp sākumu un beigām ir tikai viens priekšraksts, operatora iekavas nav jāraksta. Šis noteikums darbojas tādām cilpām kā “Kamēr” un “For”.

Apskatīsim piemēru problēmu risināšanai, izmantojot šīs struktūras

Piemērs.

Aprēķiniet skaitļu reizinājumu no 1 līdz 5, izmantojot dažādas cilpas opcijas

Matemātiskais modelis:

Р= 1·2·3·4·5=120

Sastādīsim algoritmu blokshēmas veidā.

Lai pārbaudītu algoritma pareizību, aizpildīsim izsekošanas tabulu.

Solis Darbība R i Stāvokļa pārbaude
1 P:=1 1
2 i:=1; 1 1
3 i<=5
P:=P*I
i:=i+1
1 1 1<=5, да (истина)
4 i<=5
P:=P*I
i:=i+1
2 2 2<=5, да (истина)
5 i<=5
P:=P*I
i:=i+1
6 3 3<=5, да (истина)
6 i<=5
P:=P*I
i:=i+1
24 4 4<=5, да (истина)
7 i<=5
P:=P*I
i:=i+1
120 5 5<=5, да (истина)
8 i<=5
P:=P*I
i:=i+1
6<=5, нет (ложь)

Nosacījuma pārbaude notiek vairākos posmos: stāvokļa pārbaude un komandu izpilde vienā no atzariem. Tāpēc izsekošanas tabulā tiek ierakstītas nevis algoritmu komandas, bet gan atsevišķas darbības, ko dators veic katrā solī.

Pirmais solis: P ir piešķirta vērtība viens.

Otrais solis: i ir piešķirta vērtība viens.

Trešais solis: ja i ir vienāds ar vienu, mēs pārbaudām, vai nosacījums viens ir mazāks vai vienāds ar pieci, jā, nosacījums ir patiess, kas nozīmē, ka P tiek piešķirta vērtība, kas reizināta ar vienu, būs divi. Attiecībā uz i: viens plus viens ir vienāds ar diviem.

Ceturtais solis: ja i ir vienāds ar divi, mēs pārbaudām, vai nosacījums divi ir mazāks vai vienāds ar pieci, jā, nosacījums ir patiess, kas nozīmē, ka P ir piešķirta vērtība 2 reizi viens, tā būs 2. Attiecībā uz i: divi plus viens, būs trīs.

Piektais solis: ja i ir vienāds ar trīs, mēs pārbaudām, vai nosacījums trīs ir mazāks vai vienāds ar pieci, jā, nosacījums ir patiess, kas nozīmē, ka P ir piešķirta vērtība divi, kas reizināta ar trīs, tas būs seši. Attiecībā uz i: trīs plus viens ir četri.

Sestais solis: ja i ir vienāds ar četriem, mēs pārbaudām, vai nosacījums četri ir mazāks vai vienāds ar pieci, jā, nosacījums ir patiess, kas nozīmē, ka P ir piešķirta vērtība sešas reiz četras, tas būs divdesmit četri. Attiecībā uz i: četri plus viens ir pieci.

Septītais solis: ja i ir vienāds ar pieci, mēs pārbaudām, vai nosacījums pieci ir mazāks vai vienāds ar pieci, jā, nosacījums ir patiess, kas nozīmē, ka P ir piešķirta vērtība divdesmit četri, kas reizināta ar pieci, tas būs simts divdesmit. Man: pieci plus viens ir seši.

Astotais solis: kad i ir vienāds ar seši, mēs pārbaudām, vai nosacījums seši ir mazāks vai vienāds ar pieci, nē, nosacījums ir nepatiess, tad izejam no cilpas, un rezultātā iegūstam pēdējo vērtību, kas vienāda ar simt divdesmit .

Programma Pr1;
Var i: vesels skaitlis;
Sāciet
P:=1;
i:=1;
Kamēr es<=5 do
sākt
P:=P*i;
i:=i+1;
beigas;
Write('P=', P);
beigas.

Cilpai ar pēcnosacījumu mēs izveidosim blokshēmu un izsekošanas tabulu. (16. slaids)

Rezultātā mēs iegūstam pēdējo vērtību, kas vienāda ar simt divdesmit septītajā solī

Un ciklam ar parametru mēs izveidosim blokshēmu un izsekošanas tabulu. (17. slaids)

Rezultātā sestajā solī iegūstam pēdējo vērtību, kas vienāda ar simt divdesmit

Uzdevums:

Rādīt skaitļus no 1 līdz 5 collas:

  1. tiešs pasūtījums;
  2. apgrieztā secībā.

Matemātiskais modelis:

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

Blokshēma un problēmas risināšanas programma ir parādīta skaitļiem uz priekšu un apgrieztā secībā.

(21. slaids)

Rakstīsim aplūkotos algoritmus Pascal programmēšanas valodā.

(22. slaids)

III. Apkopojot stundu

Un tāpēc mēs izskatījām šādus jautājumus:

  1. Algoritmiskās struktūras cikls;
  2. Algoritmisko struktūru veidi:
    1. Cilpa ar priekšnosacījumu;
    2. Cilpa ar pēcnosacījumu;
    3. Cilpa ar parametru;
  3. Mēs izskatījām veidus, kā reģistrēt šīs struktūras;
  4. Mēs apskatījām piemērus problēmu risināšanai, izmantojot šīs struktūras.