Ciklisks IKT algoritms Pascal piemērs. Cikliskie algoritmi veidi cikliem un ciklisko komandu uz Pascal

2. slaids.

Plāns

Cikla koncepcijas operatora cikls cikla cikla atkārtot literatūru

3. slaids.

Literatūra

Kastornov a.f., evstratova g.a. Programmēšana Valoda Pascal: apmācība universitātēm. - Cherepovets: Gou VPO CHSU, 2010. - 117 c. - BIBLIOGR.: P.114. Elektroniskā mācību grāmata par programmēšanas valodu Pascal /http://pascal.guti.ru plāns

4. slaids.

Cikla koncepcija

Algoritmi daudzu uzdevumu risināšanai ir cikliski, kuros, lai sasniegtu rezultātu, tiek veikta noteikta darbības secība vairākkārt. Piemēram, zināšanu kontroles programma parāda jautājumu, pieņem atbildi, pievieno atzīmi atbildei uz punktu skaitu, pēc tam atkārto šīs darbības, kamēr objekts reaģē uz visiem jautājumiem. Vai, piemēram, lai meklētu vajadzīgo uzvārdu sarakstā, pārbaudiet saraksta vārdu, lai atbilstu sakritībai, tad otrajā, trešajā utt. Kamēr vēlamais uzvārds ir atrasts vai tiks atrasts saraksta beigas.

5. slaids.

Algoritms, kurā ir vairākas reizes vairākkārt veikto operatoru grupa, tiek saukts par ciklisku. Atkārtotu operatoru grupu sauc par cikla ķermeni. Pascal, cikli var īstenot, izmantojot, bet un atkārtot cikla operatorus. Plāns

6. slaids.

Cikla operators

Cikla operatoram tiek izmantots, ja cikla korpuss jāveic vairākas reizes, un atkārtošanās skaits ir zināms iepriekš.

7. slaids.

1. ieraksta operatora cikla forma

Ekspluatanta ierakstīšanas operatora 1. formu parasti apraksta šādi: Forschechik: \u003d sākotnējais_treatmentto-oppise_dorator; Kur, lai, darītu pakalpojumu vārdi. Mērītājs ir mainīgais secības veids (parasti tāds kā vesels skaitlis), kas nosaka cikla atkārtojumu skaitu. Atkārtoto atkārtojumu skaits tiek uzskatīts saskaņā ar formulu: galīgais_dative ir sākotnējais_station + 1. Pēdējā vērtība ir lielāka vai vienāda ar sākotnējo nosaukumu.

8. slaids.

Ja cikla korpuss sastāv no vairākiem operatoriem, tad operatora operatora ieraksta 1. veidlapa izskatās šādi: Forschechik: \u003d sākotnējais_nameto-confined_do sākas (cikla korpuss) beigas;

Slide 9.

Apsveriet algoritmu par cikla darbu pirmajā ieraksta formā. Skaitītājs tiek piešķirts sākotnējai vērtībai. Stāvoklis ir pārbaudīts: counter vērtība ir lielāka par galīgo_station? Ja stāvoklis ir taisnība (jā), cikla izpilde beidzas. Ja stāvoklis ir nepatiess (nē), cikla korpuss tiek veikts, tad skaitītāja vērtība palielinās par vienu, un atkal pārbaudiet, t.i. p.

10. slaids.

2. ieraksta operatora cikla forma

Operatora ierakstīšanas operatora 2. veids ir aprakstīts šādi: counter: \u003d sākotnējais_downdowndo-end_daktivitāte. Kur: Par, Downto, Do - Pakalpojumu vārdi. Counter ir mainīgais secības tipa (parasti tāds kā vesels skaitlis), kas nosaka cikla atkārtojumu skaitu. Atkārtojumu skaits tiek uzskatīts par formulu: sākotnējā_ vērtība-finite_dation + 1. Sākotnējais_namatnieks ir lielāks vai vienlīdzīgi paredzēts.

Slaidu 11.

Ja cikla korpuss sastāv no vairākiem operatoriem, tad Operatora operatora 2. operatora ierakstīšanas veids izskatās šādi: Forschechik: \u003d sākotnējais_downtofo-Havingdo sākas // ķermeņa cikla beigas;

Slaids 12.

Apsveriet cikla darbības algoritmu otrajā ierakstīšanas formā: skaitītājam tiek piešķirta sākotnējā vērtība. Nosacījums ir pārbaudīts: counter vērtība ir mazāka par finālu_station? Ja stāvoklis ir taisnība (jā), cikla izpilde beidzas. Ja stāvoklis ir nepatiess (nē), tad cikla korpuss tiek veikts, tad skaitītāja vērtība samazinās par vienu vienību, un atkal pārbaudiet, t.i. p.

Slaidu 13.

Cikla operators

programex1; Var i, n: vesels skaitlis; (I - Counter, N - Nepieciešamais zvaigžņu skaits) S: virkne; (S - ģenerētā virkne līnija) sākt rakstu ("Ievadiet zvaigžņu skaitu"); (Asterisks skaits) readln (n) ir pieprasīts; (Lietotājs iekļūst Spars n) S skaitu: \u003d ""; (Stroke string veidošanās sākas ar tukšu virkni) (virkne veidojas pa ciklu. Sākotnējais_nity ir mērītājs - 1, pēdējais_TILITY ir vajadzīgais spārnu n.) Fori: \u003d 1 līdz n do s: \u003d S + "*"; (Katrā cikla posmā uz virkni ir pielīmēta viena zvaigznīte) writeln (-as); (tiek parādīta līnija) Readln; beigas. Plāna piemērs: programma veido virknes virkni. Zvaigžņu skaits virknē nosaka lietotājs.

Slide 14.

Ciklā

Kamēr cikls tiek izmantots, ja cikla ķermeņa atkārtojumu skaits programmas laikā nav zināms, un to var noteikt tikai tās darbības laikā. Kopumā, bet paziņojums ir rakstīts šādi: bet nosacījums divmastu; Kur, bet dariet - pakalpojumu vārdi. Nosacījums ir loģiska tipa izteiksme, kas nosaka cikla turpināšanu.

Slide 15.

Ja cikla korpuss sastāv no vairākiem operatoriem, cik cikls ir uzrakstīts šādi: Wastboard sākas // ķermeņa cikla beigas;

Slaidu 16.

Apsveriet cikla algoritmu: tiek pārbaudīts stāvoklis. Ja stāvoklis ir patiesi, cikla korpuss tiek veikts. Pēc tam stāvoklis tiek pārbaudīts vēlreiz. Ja stāvoklis ir nepatiess, cikls ir pabeigts.

Slide 17.

Tādējādi, kad cikls ar priekšnosacījumu vai ciklu ", bet" (cikla korpuss joprojām ir patiess stāvoklis). Ja, kad pirmo reizi iziet ciklu, stāvoklis būs nepatiess, cikla korpuss nekad netiks izpildīts. Ja stāvoklis nekad kļūst nepatiess, cikls tiks atkārtots bezgalīgi, t.i. Notiks auksts.

Slide 18.

Programma ex2; VaraCcount: reāls; (konta lielums) mēnesis: vesels skaitlis; (Skaits mēnešos kopš atvēršanas konta) sākt kontu: \u003d 1000; (Pie izdevumiem Ielieciet 1000 rubļu mēnesi: \u003d 0; (Konts ir tikko atvērts) WhileAccount

Slide 19.

Atkārtojiet ciklu

Atkārtošanas cikls, kā arī cikls cikls tiek izmantots programmā, ja jums ir nepieciešams veikt cikla korpusu vairākas reizes, bet atkārtojumu skaits nav zināms iepriekš. Kopumā atkārtota cikls ir uzrakstīts šādi: Atkārtojiet // ķermeņa ciklu līdz stāvoklim; Kur atkārtot, līdz - pakalpojumu vārdi. Stāvoklis ir loģiska tipa izteiksme, kas nosaka cikla beigas.

Slide 20.

Apsveriet atkārtota cikla darbības algoritmu: atkārtojiet un līdz cikla korpusam tiek veikta starp rezervētajiem vārdiem. Stāvoklis tiek pārbaudīts. Ja stāvoklis ir patiesi, cikls ir pabeigts. Ja stāvoklis ir nepareizs, cikla korpuss atkal tiek veikta.

Slide 21.

Tādējādi Repet ir cikls ar pēcviļķes vai ciklu "uz" (cikla korpuss tiek veikts ar stāvokļa patiesību). Līdz ar to cikla korpuss tiek veikts vismaz vienu reizi. Ja stāvoklis nekad nav taisnība, cikls kļūs bezgalīgs.

Slaids 22.

Programma ex3; VaR laiks: vesels skaitlis; (Piegādes laika) šūnas: vesels skaitlis; (šūnu skaits) sākt laiku: \u003d 0; (šūnu vēl nekad nav sākusies) šūnas: \u003d 1; (viens) Atkārtojiet laiku: \u003d laiks + 3; (pēc nākamo trīs stundu) šūnas: \u003d \u003d Šūnas * 2; (šūnu skaits palielinājās par 2 reizēm) līdz šūnām\u003e 24; (līdz patiesības stāvoklim "Šūnu skaits vairāk nekā 24") Writeln (laiks); (izeja) READLN; beigas. Rūpnīcas piemērs: Unicellular AMEBA ik pēc 3 stundām ir sadalīta 2 šūnās. Nosakiet, pēc cik stundām šūnu skaits pārsniedz 24.

Skatīt visus slaidus

1. slaids.

Darbuzņēmējs robots ciklisks algoritms
Prezentācija informātikas stundai. 9. klase Temats: vadība un algoritmi

2. slaids.

I: \u003d 1 līdz n var sākt darbību1; Action2; Beigas;
Par i: \u003d 1 līdz n do darbībai1; Action2;
1

3. slaids.

2
Kamēr (stāvoklis ir taisnība), sākas action1; Action2; Beigas;
Kamēr (stāvoklis TRUE) Vai Action1; Action2;

4. slaids.

3
17 šūnas
12 šūnas

5. slaids.

4
Programma N1; Var i: vesels skaitlis; Sākt i: \u003d 1 līdz 12 do robotforw; Robotleft; Par i: \u003d 1 līdz 17 vai robotforw; Robotleft; I: \u003d 1 līdz 12 vai robotforw; Robotleft; Par i: \u003d 1 līdz 17 vai robotforw; Robotleft; beigas.
Uz leju
Pārvietojas pa labi
Virzīties uz augšu
Pārvietojas pa kreisi
Tas un šādas komandas vēršas pie stūra robota pa kreisi

6. slaids.

5
Ja jūs ievietojat sienu, robots nirīs tajā, un programma apstāsies

7. slaids.

6
Programma N2; Var i: vesels skaitlis; Sākas, kamēr FreeForw do robotforw; Robotleft; Kamēr FreeForw do robotforw; Robotleft; Kamēr FreeForw do robotforw; Robotleft; Kamēr FreeForw do robotforw; Robotleft; beigas.
Lai gan uz priekšu ir bezmaksas, veiciet robotu uz priekšu.

8. slaids.

Slide 9.

8
Programma N3; Var i: vesels skaitlis; Sākt i: \u003d 1 līdz 4 sākas, kamēr FreeForw do robotforw; Robotleft; beigas; beigas.
Četras reizes, lai virzītos uz priekšu, līdz nav šķērslis un pagriezies pa kreisi

10. slaids.

9
Četras reizes, lai virzītos uz priekšu, līdz nav šķērslis, un pagriezieties pa kreisi

Slaidu 11.

10
Uzdevumi neatkarīgam darbam
Uzdevums 1. Situācijas kreisā siena patvaļīgā vietā ir šķērslis. Robotam jāiet uz 1. punktu un atgriezties tās sākotnējā stāvoklī. Piezīme. Izmantojiet trīs secīgi savienotus ciklus vēl.
1
1

Slaids 12.

11
Uzdevums 2. Situācijas kreisā siena patvaļīgā vietā ir cirsts. Robotam vajadzētu nokļūt kravā, ņemiet to transportēt to uz noliktavu un atgriezties tās sākotnējā stāvoklī. PIEZĪME. Izmantojiet vēl divus secīgi savienotus ciklus.

Slaidu 13.

12
Uzdevums 3. Situācijas kreisā siena patvaļīgā vietā atrodas piecas kravas. Robotam ir jābūt visu kravu transportēšanai uz noliktavu. Piezīme: izmantojiet divus secīgus savienotus ciklus līdz šim ieguldītos ciklā ar parametru.

Slide 14.

13
1. piemērs Robots atrodas pie ieejas koridorā. Ir nepieciešams atzīmēt visas šūnas koridorā, un atgriezties atpakaļ

Slide 15.

14
Programma N7; Sākt robotforw; Kamēr nav freeleft, izvēlieties; Robotforw; beigas; Robotback; Kamēr ne freeleft do robotback; beigas.
Mēs veicam soli uz priekšu, lai ievadītu tuneli
Kamēr kreisajā pusē ir siena, atzīmējiet būrī un veiciet soli uz priekšu
Atgriezties atpakaļ tunelī
Kamēr kreisā siena, pārvietojot soli atpakaļ

Slaidu 16.

15
2. piemērs Ir divas sienas, ko piegādā leņķis. Sienu garumi ir patvaļīgi. Robots atrodas stūrī starp sienām (skatīt attēlu). Ir nepieciešams veikt programmu, kurā robots iezīmē visas šūnas sienas iekšpusē. Galīgo pozīciju robota patvaļīgi.

Slide 17.

16
Programma N8; Sākas, kamēr nav brīvais gaisma, izvēlieties; Robotforw; beigas; Lai gan atbrīvošana notiek robotback; Robotleft; Kamēr nav freeleft, izvēlieties; Robotforw; beigas; beigas.
Kamēr tiesības nav brīvas, es svinēju šūnu un veiciet soli uz priekšu.
Atgrieziet robotu atpakaļ
Pagrieziet pa kreisi
Kamēr kreisais nav bezmaksas, es svinēju šūnu un veiciet soli uz priekšu.

Slide 18.

Slide 19.

18
3. piemērs Situācija pārklājas ar sienu, kas sadala situāciju divās daļās. Sienas ir pāreja šūnu izmērā patvaļīgā vietā. Ir nepieciešams veikt programmu, kurā robots atrod šo fragmentu un dodas uz citu situācijas daļu.

Slide 20.

19
Programma N9; Sākt robotleft; Kamēr FreeForw do robotforw; Robotright; Kamēr ne freeleft do robotforw; Robotleft; Robotforw; Robotforw; beigas.
Pagrieziet robotu uz sienas.
Mēs virzāmies uz priekšu, līdz es stāvu sienā
Pagrieziet robotu gar sienu
Virzoties uz priekšu, līdz siena nebeidzas
Pagrieziet robotu uz pāreju
Mēs veicam divus soļus uz priekšu, mēs dodamies uz citu pusi no situācijas

Prezentācijas apraksts par atsevišķām slaidiem:

1 slaids

Slide Apraksts:

Klases priekšmets: "cikliskās struktūras algoritmi. Programmēšanas cikli uz Pascal »Disciplīna" Informātika "

2 slaids

Slide Apraksts:

Galvenās koncepcijas tēmu šajā profesijā tiek pētīta ar šādiem jēdzieniem: jēdziens cikla; Ciklisko algoritmu šķirnes (cikls ar priekšnosacījumu, ciklu ar postband, cikls ar parametru); ciklisko algoritmu diagrammas; ciklu operatoru pārstāvība Pascal programmēšanas valodā; Piesaistot ciklus, risinot problēmas.

3 slide

Slide Apraksts:

Cikla koncepcija, risinot daudzus uzdevumus, vienu un to pašu darbību secība tiek veikta vairākas reizes. Piemēram, pēc uzņemšanas izglītības iestāde Students sniedz eksāmenus, bet aprēķina ar tiem rezultāti (mainīgais s; tā sākotnējā vērtība S: \u003d 0;). Katram eksāmenam tas saņem aplēses N. Ja aprēķins ir lielāks par "2", tad S: \u003d S + N; Pretējā gadījumā pārtrauciet aprēķinus (iziet no cikla).

4 slaids

Slide Apraksts:

Cikla cikla koncepcija ir operatoru secība, ko var veikt vairāk nekā vienu reizi. Ciklisko algoritmu sauc par algoritmu, kas paredz vairākkārtēju atkārtotu to pašu darbību jauniem datiem. Ir trīs veidu cikla operatori: cikli ar priekšnoteikumu; Cikli ar postcondition; Cikli ar metru.

5 slaids

Slide Apraksts:

Cikls ar priekšnosacījumu. Ierakstiet ciklu, kamēr noteiciet cikla korpusu, līdz nosacījums tiek izpildīts, ierakstīts pēc vārda plūsmas shēma ar priekšnoteikumu

6 slaids

Slide Apraksts:

Cikls ar priekšnosacījumu. Tipa cikls, bet, kamēr cikls ar iepriekš minēto tiek izmantots, kad cikla korpusa atkārtošanās skaits nav zināms iepriekš, un tas ir atkarīgs no stāvokļa. Ja stāvoklis ir taisnība, tad cikla korpuss tiek izpildīts, tad atkal pārbaudot apstākļus un līdz brīdim, kad stāvoklis kļūst nepatiess.

7 slide

Slide Apraksts:

Operatora cikls ar Prepalu (kamēr - cik cikls) Visbiežāk izmantotajam atkārtošanās operatoram ir kopīgs skats uz Pascal (formāts): kamēr<условие> Do.<оператор>; Lūk, dariet - rezervētus vārdus (no angļu: kamēr-in, darīt - darīt);<условие> - loģiskā izteiksme;<оператор> - patvaļīgs (iespējams, kompozītu) operators.

8 slaids

Slide Apraksts:

Ciklu ar postband. Tipa cikls līdz cikla operatora secībai ar detonāciju, 1-N operatoru izpilde tiek atkārtota, līdz stāvoklis kļūst pareizs. Šajā ciklā stāvoklis tiek pārbaudīts tikai pēc cikla struktūru. No tā izriet, ka ķermenis vienmēr veic vismaz vienu reizi plūsmas shēmā ar pasta daļu

9 slide

Slide Apraksts:

Ciklu ar postband. Cikla tipa pirms tā ir svarīga! Cikls ar amatu tiek veikta vismaz vienu reizi neatkarīgi no stāvokļa. Loop cikla neapšaubāmi ir tas, ka tajā var rakstīt vairākus operatorus, neizmantojot kompozītu operatoru. Nosacījumi Pārbaudiet pēc cikla korpusa. Pakalpojuma vārds līdz.

10 slaids

Slide Apraksts:

Operatora cikls ar PostBand (tips līdz cikls) Vispārējs skats (formāts) cikla operators ar Pascal Pascal Nākamais: Atkārtojiet<Оператор 1>; <Оператор 2>; … <Оператор N>; Līdz<условие>;

11 slide

Slide Apraksts:

Piemērs cikla operatora piemērošanai ar PostBand par izejas uz ekrāna pāra, vērtības mainīgā n \u003d 1, 2, 3, 4, 5, 6, 7, 8, 9 un 9 un mainīgais a \u003d 10, 20, 30, 40, 50, 60, 70 un 70, 80, 90 Šis operators būs: n: \u003d 0; Atkārtojiet n: \u003d n + 1; A: \u003d 10 * N; Writeln (N: 2, '', A: 3); Līdz n\u003e \u003d 9;

12 slaids

Slide Apraksts:

Cikls ar parametru. Tipa cikla veids ar parametru tiek izmantots, ja vēlaties veikt konkrētu cikla soļu skaitu. Jāatzīmē, ka Pascal pascal cikls nav pārāk elastīgs (atšķirībā no tā, piemēram, no šāda veida cikla c). Jo, uz Pascal, cikla parametrs (vai skaitītājs) atšķiras ar vērtību, kas vienāda ar vienu. Tādējādi, ja ir nepieciešams veikt daļēju soli, jums ir jāizmanto cikla cikls. Ir divas šķirnes no cikla: ar pieaugošo un samazinot vērtības skaitītāju (vai parametru). Cikla bloka diagramma ar parametru (ciklam)

13 slide

Slide Apraksts:

14 slide

Slide Apraksts:

Cikla operators ar parametru. Cikla tipa kopējam skatījumam (formatēt) cikla operatora ar parametru<счетчик> := <начальное значение> uz.<конечное значение> Sākas.<Операторы> beigas; Priekš<счетчик> := <начальное значение> Līdz.<начальное значение> Sākas.<Операторы> beigas; Ar skaitītāju vērtību pieaugumu (parametru), samazinoties skaitītāju vērtībām (parametrs)

15 slaids

Slide Apraksts:

Cikla operators ar parametru. Cikla veids operatoram, kas īsteno ciklu, lieto, ja ir nepieciešams, lai programmas fragments atkārtotu norādīto skaitu<переменная цикла>: = <начальное значение> Tas<конечное значение> Do.<оператор>; Šeit: Par, lai, darītu - rezervēti vārdi (angļu: par, pirms, izpildīt);<счетчик (параметр) цикла> - ierakstiet mainīgo Vesels skaitlis, kas atšķiras no segmenta no<начального значения>, palielinot ierīci katra cikla posma beigās;<оператор> - jebkurš (biežāk kompozītu) operators.

16 slaids

Slide Apraksts:

Cikla operators ar parametru. Tipa cikls par paziņojumu sastāv no galvenes un cikla korpusa. Kombinētais operators, kas atrodas cikla korpusā, ir jāiekļauj sākumā un gala operatora kronšteinos. · Metru identifikators parasti tiek izmantots "I". · Mērierīces mainīgajam jābūt secības tipam. Piemēram, vesels skaitlis: baits, vesels skaitlis. · Cikla parametra sākotnējās un gala vērtības nevar mainīt cikla laikā. · Operatoram izmanto, lai organizētu ciklus ar fiksētu, iepriekš zināms vai noteikts programmas izpildes laikā pēc atkārtojumu skaita.

17 slaids

Slide Apraksts:

Ciklu izmantošana, risinot problēmas, katrs no iepriekš aprakstītajiem cikliem var izmantot, lai programmētu tos pašus uzdevumus Pascal ar ciklisko algoritmu.

18 slide

Slide Apraksts:

Uzdevuma numurs 1 Atveriet PASCALABC.NET programmu (integrētās programmas programmēšanas programmām Pascal) Saglabājiet programmu mapē ar savu vārdu sistēmā darba mape Pabcwork.net_in / cikl_1.pas ietaupīt, kā ...

19 slaids

Slide Apraksts:

Uzdevuma numurs 1 Izmantojot ciklu, bet (ar priekšnosacījumu), lai veiktu un atkļūdotu programmu, kas aprēķina visu dabisko skaitļu kvadrātu summu no 1 līdz 100. Sākotnējie dati: A: vesels skaitlis; Rezultāts - Summa: S: Longint; Programma ex1; Var A: vesels skaitlis; S: Longint; (Ilgs vesels skaitlis) sākas: \u003d 1; S: \u003d 0; (mainīgais s uzkrāt summas), bet a<=100 Do { Начало цикла – проверка условия } Begin S:=S+A*A; A:=A+1 End; Writeln(‘Вывод результата S= ’ ,S) End. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_1.pas

20 slaids

Slide Apraksts:

Uzdevums 2. Nodrošiniet ciklisko struktūru Pascal valodā Pascalabc.net programmā ABC vidē; Var x, u: vesels skaitlis; Sākt X: \u003d 2; Bet 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























Atpakaļ uz priekšu

Uzmanību! Priekšskatījuma slaidi tiek izmantoti tikai informatīviem nolūkiem un nevar sniegt idejas par visām prezentācijas iespējām. Ja jūs interesē šis darbs, lūdzu, lejupielādējiet pilno versiju.

Mērķis: Izmeklējot ciklu algoritmisko struktūru, modeļu un algoritmu izveidi praktisku problēmu risināšanai.

Klases laikā

I. Zināšanu aktualizācija

  • Atkārtojiet algoritma koncepciju, algoritmiskās valodas pamata dizainu.
  • Lai varētu izstrādāt matemātisko modeli, algoritmu un bloķēšanas shēmu, lai atrisinātu problēmu.
  • Ir jēdziens programmēšanas valodas un viņu iecelšanu.
  • Jāspēj strādāt programmēšanas vidē.
  • Zināt programmas struktūru.
  • Jāspēj ierakstīt izteiksmes, kas satur ciparu un rakstzīmju vērtības.
  • Zināt operatoru struktūru un viņu darba funkcijas.
  • Lai varētu pieteikties operatoriem, rakstot programmas ar lineārām un filiāļu struktūrām.
  • Lai varētu izveidot un palaist programmas atkļūdošanai.

II. Teorētiskā materiāla nodarbība

Lielākā daļa praktisko uzdevumu ir nepieciešama vairāku to pašu darbību atkārtošanos, t.i. vienas vai vairāku operatoru atkārtota izmantošana. (Prezentācija)

Ļaujiet tai ir nepieciešams ievadīt un apstrādāt numuru secību. Ja skaitļi ir tikai pieci, jūs varat veikt lineāru algoritmu. Ja viņiem ir tūkstošiem, uzrakstiet lineāru algoritmu, bet ļoti nogurdinošu un neracionālu. Ja skaitļu skaits līdz brīdim, kad algoritms nav zināms, lineārais algoritms ir būtiski neiespējami.

Citu piemēru. Lai atrastu personas uzvārdu sarakstā, jums ir jāpārbauda saraksta vārds, tad otrais, trešais, utt. Līdz saraksta vēlamais vai beigas ir atrasts vai netiks atrasts. Jūs varat pārvarēt šādas grūtības ar cikliem.

Ciklu sauc par vairāku izpildāmo algoritma daļu (programmas). Attiecīgi cikliskais algoritms ir ciklu algoritms.

Ir divu veidu cikli: ar zināmu atkārtojumu skaitu un ar nezināmu atkārtojumu skaitu. Tajā pašā laikā abos gadījumos algoritma attīstības posmā ir vairāki atkārtojumi.

Ir 3 veidu cikliskās struktūras:

  • Cikls ar priekšnoteikumu;
  • Cikls ar pēcapstrādi;
  • Cikls ar parametru;

Pretējā gadījumā šīs struktūras sauc par "līdz", "par" tipa cikliem.

Datu ierakstīšanas algoritmisko struktūru grafiskā forma:

Cikls ar priekšnoteikumu (citādi cikls līdz) Tas izskatās:

stāvoklis - loģiskā izteiksme.

Cikls nedrīkst izpildīt, ja loģiskās izteiksmes vērtība nekavējoties izrādās meli.

Sērijas komandu, kas atrodas starp sākuma un beigām, tiek veiktas līdz līdz šim stāvoklis ir taisnība .

Priekš uz cikla beigām, tas ir nepieciešams, ka secība instrukciju starp sākas un beigām mainīt vērtību mainīgo iekļauti iekļauti stāvoklis.

Cikls ar postcondition (citādi cikls agrāk) Tas izskatās:

stāvoklis - loģiskā izteiksme.

Piezīme:

Norādījumu secība starp katruatkārtot. unlīdz vienmēr tiks izpildīts vismaz vienreiz;

Lai cikls būtu pabeigts, ir nepieciešams, lai sekvence operatoru starpatkārtot. unlīdz Mainīja izteiksmes stāvoklī iekļauto mainīgo vērtības.

Atkārto instrukcija, kā arī norādījums tiek izmantots programmā, ja jums ir nepieciešams veikt dažus atkārtotus aprēķinus (ciklu), bet atkārtošanās skaits nav zināms iepriekš, un nosaka pats aprēķina skaits.

Cikls ar parametru (citādi cikls priekš) Tam ir veidlapa:

i - cikla parametrs;
a - cikla sākotnējā vērtība;
b - cikla galīgā vērtība;
H ir parametru maiņas solis.

Šī cikla struktūra citādi tiek saukta cikls i reizes.

Šī komanda tiek darīts šādā veidā: i parametrs ir piešķirts sākotnējo vērtību, salīdzinot ar galīgo vērtību B un, ja tas ir mazāks vai vienāds ar galīgo vērtību B, tiek veikta virkne komandu. Parametram ir piešķirta iepriekšējā, paplašinātā vērtība h. - parametra izmaiņu soļi un atkal salīdzinājumā ar galīgo vērtību b.

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

Ja starp sākas un beigām ir tikai viens operators, operatora kronšteini nevar rakstīt. Šis noteikums darbojas "vēl" un "tipa cikla".

Apsveriet uzdevumu risināšanas piemēru, izmantojot šīs struktūras.

Piemērs.

Aprēķiniet skaitļu produktu no 1 līdz 5, izmantojot dažādus cikla opcijas.

Matemātiskais modelis:

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

Padarīsim algoritmu shēmas veidā.

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

Solis Darbība R i. Pārbaudes stāvoklis
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, нет (ложь)

Verifikācijas nosacījumi notiek vairākos posmos: pārbauda noteikumus un izpildi komandu vienā no filiālēm. Tāpēc izsekošanas tabula neparedz algoritmu komandas, bet atsevišķas darbības, ko datorā veic katrā posmā.

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

Otrais solis: Man ir piešķirts vienam.

3. solis: I EQUAL vienība pārbauda tikai stāvokli, kas ir mazāks vai vienāds ar pieciem, jā, nosacījums ir taisnība, tas nozīmē, ka viena reizināta ar vienu būs divas. Par i: viens plus viens, būs divi.

4. solis:es vienāds ar diviem, stāvoklis šobrīd ir mazāks vai vienāds ar pieciem, jā, nosacījums ir taisnība, tas nozīmē, ka 2 vērtība, kas reizināta ar vienu, būs 2. I: divi plus viens, būs trīs .

Piķis piektais:es vienādos ar trim, mēs pārbaudām trīs, kas ir mazāk vai vienāds ar pieciem, jā, nosacījums ir taisnība, kas nozīmē, ka Piešķir divu vērtību, kas reizināta ar trim, būs seši. I: Trīs plus viens, būs četri.

Sestais solis:es vienāds ar četriem, nosacījums ir četri mazāk vai vienādi ar pieciem, jā, nosacījums ir taisnība, tas nozīmē, ka seši, kas reizina ar četriem, būs divdesmit četri. Attiecībā uz i: četriem plus viens, būs pieci.

Septītā solis:jo es vienāds ar pieciem, nosacījums ir pieci mazāk vai vienādi ar pieciem, jā, nosacījums ir taisnība, tas nozīmē, ka divdesmit četru skaita vērtība, kas reizināta ar pieciem, būs simts divdesmit. Par i: pieciem plus viens, būs seši.

Solis astotais:i, kas vienāds ar sešiem, stāvoklis ir seši mazāk vai vienāds ar pieciem, nē, stāvoklis ir nepatiess, tad mēs atstājam ciklu, un kā rezultātā mēs iegūstam pēdējo vērtību, kas vienāda ar simts divdesmit.

Programma PR1;
Var i: vesels skaitlis;
Sākt.
P: \u003d 1;
i: \u003d 1;
Kamēr es.<=5 do
Sākt.
P: \u003d p * i;
i: \u003d i + 1;
beigas;
Rakstīt ("p \u003d", p);
beigas.

Ciklu ar nošķiršanu mēs izveidojam bloka diagrammu un izsekot tabulu. (slide16)

Tā rezultātā, mēs saņemam pēdējo vērtību, kas ir vienāda ar simts divdesmit septītajā posmā

Un ciklu ar parametru, mēs veidojam bloka diagrammu un izsekot tabulu. (slide17)

Tā rezultātā, mēs iegūstam pēdējo vērtību vienāda ar simts divdesmit sestajā posmā

Uzdevums:

Displeja numuri no 1 līdz 5 V:

  1. vienkāršs;
  2. apgrieztā secībā.

Matemātiskais modelis:

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

Bloka diagramma un problēmas risināšanas problēma ir parādīta skaitļiem tiešā un apgrieztā secībā.

(21. slaids)

Mēs reģistrējam aplūkotos algoritmus programmēšanas valodā Pascal.

(Slaids 22)

III. Apkopojot nodarbību

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

  1. Algoritmiskā struktūras cikls;
  2. Algoritmisko struktūru veidi:
    1. Cikls ar priekšnoteikumu;
    2. Cikls ar pēcapstrādi;
    3. Cikls ar parametru;
  3. Uzskata, kā rakstīt šīs struktūras;
  4. Izjauktos piemērus, kā risināt problēmas ar šo struktūru palīdzību.

Cikliskie algoritmi06.04.2017
Cikliskie algoritmi
Ciklu un cikliskās veidi
Komandas uz Pascal

Cikls tiek atkārtots
Secības atkārtošanās
rīcība
Atkārtojot daļu no algoritma
sauc par cikla ķermeni
Ciklu veidi
Ar noteiktu numuru
Atkārtojums
Noteikumi nosacījums
cikls
Ar nosacījumu
Izejas stāvoklis ir
cikls

Ciklu veidi (saturs)
Cikls ar priekšnoteikumu
Prakse
Cikls ar pastkastību
Prakse
Cikls ar parametriem
Prakse
Sarežģītu uzdevumu risinājums

Cikls ar priekšnoteikumu

Prakse

stāvoklis un darbība, kas jāveic tikai
Pēc nosacījumu pārbaudes izmantojiet ciklu priekšnosacījumu.


Pirms katra cikla korpusa izpildes tiek pārbaudīta
apstākļi, ja "patiesības" rezultāts tiek veikts cikla korpuss
Vēlreiz, ja "meli", tad ir izeja no cikla.
Uz bloka shēmu
Sākuma cikls
Ne
Stāvoklis

Cikla korpuss
Cikla beigas
Pascal.
Kamēr<условие> darīt.
Sākt.
<тело цикла>
beigas;

Cikls ar pastkastību

Prakse
Ja atkārtojumu skaits iepriekš nav zināms, bet tikai norādīts
nosacījums un darbība, kas jāveic pirms tam
Stāvoklis pārbauda ciklu ar postcal.
Kā nosacījums tiek izmantots loģisks izteiksme, ķermenis
Cikls ir vienkāršs vai salikts operators.
Pēc katra cikla ķermeņa izpildes pārbaudes
apstākļi, ja rezultāts ir "nepatiess", tad cikla korpuss tiek veikts
Vēlreiz, ja "patiesība", tad ir izeja no cikla.
Uz bloka shēmu
Pascal.
Atkārtot.
Cikla korpuss
<тело цикла>

Ne
Stāvoklis
Līdz.<условие>;

Cikls ar parametru

Prakse
Cikls ar parametru
Gadījumos, kad atkārtojumu skaits ir zināms iepriekš
Cikls tiek izmantots parametrā.
Tiek saukts par mainīgo, norādot atkārtojumu skaitu
Cikla parametrs vai kontroles mainīgais.
Pēc katras ķermeņa izpildes cikla pārvaldības
Mainīgais palielinās vai samazinās, cikls
Tas darbojas, līdz tas ir laiks, līdz tas arī pārsniedz
būs mazāk ierobežojumi.
Uz bloka shēmu
Pascal.
Par X: \u003d A līdz B DOO
X: \u003d A, B, C
Cikla korpuss
X - kontroles mainīgais (cikla parametrs)
A - Sākotnējā nozīme X, In - Finite X
C - solis pārmaiņām x
Sākt.
<тело цикла>
Beigas;
Kā soli, ko varat izmantot
tikai:
"Uz" \u003d 1;
"Downto" \u003d -1

Uzdevuma piemērs, izmantojot ciklu ar priekšnoteikumu
Teorija

Sliver algoritms:
Reiziniet numuru X sākotnēji ir vienāds ar 1
Norādīto skaitu reižu (H) ar 3.
Sākt
Programmas stepen;
Var.
H, b, x: vesels skaitlis;
Sākt.
Writeln ("grāds?");
Readln (h);
X: \u003d 1;
B: \u003d 1;
Kamēr B.<=H do
Sākt.
X: \u003d x * 3;
B: \u003d B + 1;
Beigas;
Writeln ("rezultāts", x);
Beigas.
Paskal
N.
Ievadiet konkrētu grādu
X: \u003d 1
Sākotnējās vērtības
B: \u003d 1
Ne
"B" grādu skaitītājs
B≤h.

X: \u003d x * 3
Reizināšana ar 3.
B \u003d in + 1
Palielināt skaitītāju
H.
Saņemto saņemto atcelšanu
Vērtības
beigties
Blokshēma
Paskaidrojumi

Uzdevuma piemērs, izmantojot ciklu ar pasta daļu
Teorija
Uzdevums: Paceliet skaitli 3 noteiktā grādā
Sliver algoritms:

Programmas stepen;
Var.
H, b, x: vesels skaitlis;
Sākt.
Writeln ("grāds?");
Readln (h);
X: \u003d 1;
B: \u003d 0;
Atkārtot.
X: \u003d x * 3;
B: \u003d B + 1;
Ne
Līdz b\u003e \u003d h;
Writeln ("rezultāts", x);
Beigas.
Sākt
N.
Ievadiet konkrētu grādu
X: \u003d 1
Sākotnējās vērtības
B: \u003d 0
Reizināšana ar 3.
X: \u003d x * 3
Palielināt skaitītāju
B \u003d in + 1

B\u003e \u003d h
"B" grādu skaitītājs
H.
Saņemto saņemto atcelšanu
Vērtības
beigties
Paskal
Blokshēma
Paskaidrojumi

Uzdevuma piemērs, izmantojot ciklu ar parametru
Teorija
Uzdevums: Paceliet skaitli 3 noteiktā grādā
Sliver algoritms:
Reiziniet numuru x sākotnēji ir vienāds ar 1 norādīto skaitu reižu (H) ar 3.
Programmas stepen;
Var.
H, b, x: vesels skaitlis;
Sākt.
Writeln ("grāds?");
Readln (h);
X: \u003d 1;
B: \u003d 1 līdz H DOO
Sākt.
X: \u003d x * 3;
Beigas;
Writeln ("rezultāts", x);
Beigas.
Paskal
Sākt
N.
X: \u003d 1
B: \u003d 1, h, 1
X: \u003d x * 3
H.
beigties
Blokshēma
Ievadiet konkrētu grādu
Sākotnējā vērtība x \u003d 1
Parametri no 1 BC
Reizināšana ar 3.
Saņemto saņemto atcelšanu
Vērtības
Paskaidrojumi

Cikla izvēle ir atkarīga no problēmas īpašībām. Tikai prakse jums pateiks optimālo risinājumu.

Uzdevums: Apmācības uzsākšana, sportists pirmajā dienā
skrēja 10 km. Katru dienu viņš palielināja dienasgaismu
Norma 10% no iepriekšējās dienas normas.
Kāds ir kopējais ceļš uz 7 dienām.
Ievades mainīgie lielumi:
D - dienu skaits
SD - attālums pašreizējai dienai
Izejas mainīgie lielumi:
S - kopīgs veids

Bloks - shēma, lai atrisinātu

sākt
S: \u003d 10
SD: \u003d 10
D: \u003d 1
D: \u003d D + 1
SD: \u003d SD * 1.1
S: \u003d S + SD
ne
D \u003d 7.

S.
beigties

Programma Pascal

Cikls "par"
Cikls "kamēr"
Cikls "pirms"
Programma Beg;
Programma Beg;
Programma Beg;
Var.
Var.
Var.
S, SD: reāls;
S, SD: reāls;
S, SD: reāls;
D: baits;
D: baits;
D: baits;
Sākt.
Sākt.
Sākt.
S: \u003d 10;
S: \u003d 10;
S: \u003d 10;
SD: \u003d 10;
SD: \u003d 10;
SD: \u003d 10;
Par D: \u003d 2 līdz 7 darīt
Sākt.
Kamēr D.<7 do
Sākt.
Atkārtot.
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;
beigas;
S: \u003d S + SD;
Līdz (d \u003d 7);
Writeln ('s \u003d', s);
beigas;
Writeln ('s \u003d', s);
Beigas.
Writeln ('s \u003d', s);
Beigas.
Beigas.

Kontroles jautājumi:
1. Kāds operators Pascal ir iestatīts cikls
Izrādīties
2. Tā kā ciklā parametru norāda soli "1" un "-1"
3. Kāda filiāle nāk no cikla ar
postcondition
4. Vai ir cikls ar stāvokļa parametru
5. Kas varētu būt cikla korpuss
6. Kad cikls tiek izmantots ar parametriem
beigas