Algorithm ya mzunguko wa ICT pascal mfano. Uwasilishaji - algorithms ya mzunguko. Kitanzi kilicho na masharti

Maelezo ya uwasilishaji wa slaidi za kibinafsi:

1 slaidi

Maelezo ya slaidi:

Mada ya somo: "Algorithms ya muundo wa mzunguko. Vitanzi vya kupanga katika Pascal" Nidhamu "Informatics"

2 slaidi

Maelezo ya slaidi:

Dhana za kimsingi za mada Katika somo hili dhana zifuatazo zinasomwa: dhana ya mzunguko; aina ya algorithms ya mzunguko (kitanzi na masharti, kitanzi na hali ya posta, kitanzi na parameter); kuzuia michoro ya algorithms ya mzunguko; uwakilishi wa waendeshaji wa kitanzi katika lugha ya programu ya Pascal; matumizi ya vitanzi katika kutatua matatizo.

3 slaidi

Maelezo ya slaidi:

Dhana ya mzunguko Wakati wa kutatua matatizo mengi, mlolongo huo wa vitendo unafanywa mara kadhaa. Kwa mfano, baada ya kuingia katika taasisi ya elimu, mwanafunzi hufanya mitihani, na pointi anazopata huhesabiwa (kigeu S; thamani yake ya awali ni S:=0;). Kwa kila mtihani uliopitishwa, anapokea daraja N. Ikiwa daraja ni kubwa kuliko "2", basi S:= S + N; vinginevyo, kuacha mahesabu (toka kitanzi).

4 slaidi

Maelezo ya slaidi:

Dhana ya Kitanzi Kitanzi ni mlolongo wa taarifa ambazo zinaweza kutekelezwa zaidi ya mara moja. Algorithm ya mzunguko ni algoriti inayojumuisha kurudiarudia kwa kitendo sawa kwenye data mpya. Kuna aina tatu za waendeshaji kitanzi: vitanzi vilivyo na sharti la awali; loops na postcondition; mizunguko na kaunta.

5 slaidi

Maelezo ya slaidi:

Kitanzi kilicho na masharti. Aina ya kitanzi WAKATI Huagiza kutekeleza mwili wa kitanzi hadi hali iliyoandikwa baada ya neno wakati itimie.Chati mtiririko wa kitanzi chenye sharti la awali.

6 slaidi

Maelezo ya slaidi:

Kitanzi kilicho na masharti. Aina ya kitanzi WAKATI Kitanzi kilicho na sharti hutumiwa wakati idadi ya marudio ya mwili wa kitanzi haijulikani mapema, lakini inategemea utimilifu wa hali hiyo. Ikiwa hali hiyo ni kweli, basi mwili wa kitanzi unatekelezwa, basi hali hiyo inachunguzwa tena, na hivyo mpaka hali inakuwa ya uongo.

7 slaidi

Maelezo ya slaidi:

Opereta kitanzi chenye masharti ya awali (WHILE aina ya kitanzi) Opereta hii ya kitanzi inayotumiwa sana ina fomu ya jumla katika Pascal (muundo): WHILE<условие>FANYA<оператор>; hapa WAKATI, FANYA - maneno yaliyohifadhiwa (kutoka kwa Kiingereza: wakati - wakati, fanya - fanya);<условие>- usemi wa aina ya mantiki;<оператор>- mwendeshaji wa kiholela (labda kiwanja).

8 slaidi

Maelezo ya slaidi:

Kitanzi kilicho na hali ya posta. Aina ya kitanzi DO Amri ya utekelezaji wa operator wa kitanzi na hali ya posta Utekelezaji wa waendeshaji 1-N unarudiwa hadi hali inakuwa kweli. Katika kitanzi hiki, hali hiyo inachunguzwa tu baada ya mwili wa kitanzi kutekelezwa. Inafuata kwamba mwili hutekelezwa kila wakati angalau mara moja. Mchoro wa mtiririko wa kitanzi na hali ya posta.

Slaidi 9

Maelezo ya slaidi:

Kitanzi kilicho na hali ya posta. Aina ya mzunguko FANYA MUHIMU! Kitanzi kilicho na hali ya posta kinatekelezwa angalau mara moja, bila kujali ikiwa hali imeridhika. Urahisi usio na shaka wa kitanzi kilicho na hali ya posta ni kwamba taarifa kadhaa zinaweza kuandikwa ndani yake bila kutumia opereta kiwanja. Uchunguzi wa hali iko baada ya mwili wa kitanzi. Neno la huduma MPAKA

10 slaidi

Maelezo ya slaidi:

Opereta kitanzi kilicho na hali ya posta (LOC aina DO - UNTIL) Fomu ya jumla (muundo) ya opereta kitanzi yenye hali ya posta katika Pascal ni kama ifuatavyo: Rudia.<Оператор 1>; <Оператор 2>; … <Оператор N>; Mpaka<условие>;

11 slaidi

Maelezo ya slaidi:

Mfano wa kutumia opereta wa kitanzi na hali ya posta Kuonyesha katika jozi maadili ya kutofautisha n=1, 2, 3, 4, 5,6, 7, 8, 9 na kutofautisha a=10, 20, 30 , 40, 50, 60, 70, 80, 90 operator huyu ataonekana kama: n:= 0; kurudia n:=n+1; a:=10*n; writeln(n:2,’ ‘,a:3); hadi n>=9;

12 slaidi

Maelezo ya slaidi:

Kitanzi na parameter. Kitanzi cha aina KWA kitanzi na parameter hutumiwa wakati ni muhimu kufanya idadi maalum ya hatua katika kitanzi. Ikumbukwe kwamba kitanzi cha FOR katika Pascal sio rahisi sana (tofauti, kwa mfano, aina hii ya kitanzi katika C). Kwa sababu, katika Pascal, parameter ya kitanzi (au counter) inabadilishwa kwa kiasi sawa na moja. Kwa hivyo, unapohitaji kufanya hatua ya sehemu, lazima utumie kitanzi cha WHILE. Kuna aina mbili za kitanzi cha FOR: kuongeza na kupunguza viwango vya kaunta (au parameta). Zuia mchoro wa kitanzi na kigezo (KWA kitanzi)

Slaidi ya 13

Maelezo ya slaidi:

Slaidi ya 14

Maelezo ya slaidi:

Opereta ya kitanzi na parameta. KWA kitanzi Mtazamo wa jumla (umbizo) wa opereta kitanzi na parameta<счетчик> := <начальное значение>kwa<конечное значение>kuanza<Операторы>mwisho; kwa<счетчик> := <начальное значение>chini<начальное значение>kuanza<Операторы>mwisho; na kuongezeka kwa viwango vya kihesabu (parameta) na viwango vya kupungua vya kihesabu (parameta).

15 slaidi

Maelezo ya slaidi:

Opereta ya kitanzi na parameta. KWA kitanzi Opereta anayetekeleza kitanzi cha FOR - FOR hutumika ikiwa ni muhimu kwa kipande cha programu kurudiwa mara kadhaa kwa FOR.<переменная цикла>: = <начальное значение>KWAMBA<конечное значение>FANYA<оператор>; Hapa: FOR, TO, DO - maneno yaliyohifadhiwa (Kiingereza: kwa, kwa, kutekeleza);<счетчик (параметр) цикла>- kutofautiana kwa aina INTEGER, ambayo hubadilika kwa muda kutoka<начального значения>, kuongezeka kwa moja mwishoni mwa kila hatua ya mzunguko;<оператор>- yoyote (kawaida kiwanja) operator.

16 slaidi

Maelezo ya slaidi:

Opereta ya kitanzi na parameta. KWA Kitanzi Taarifa ya FOR inajumuisha kichwa na mwili wa kitanzi. Taarifa ya mchanganyiko ndani ya mwili wa kitanzi lazima iwekwe kwenye mabano ya kuanzia na ya mwisho. ·Kwa kawaida "i" hutumika kama kitambulisho cha kaunta. · Tofauti ya kaunta lazima iwe ya aina ya kawaida. Kwa mfano, aina kamili: byte, integer. · Thamani za mwanzo na mwisho za kigezo cha kitanzi haziwezi kubadilishwa wakati kitanzi kinaendelea. · Opereta FOR hutumiwa kupanga vitanzi na idadi isiyobadilika ya marudio, inayojulikana mapema au kuamuliwa wakati wa utekelezaji wa programu.

Slaidi ya 17

Maelezo ya slaidi:

Kutumia vitanzi katika kutatua matatizo Kila moja ya vitanzi ilivyoelezwa hapo juu inaweza kutumika kupanga matatizo sawa na algorithm ya mzunguko katika Pascal.

18 slaidi

Maelezo ya slaidi:

Kazi Nambari 1 Fungua programu ya PascalABC.NET (mazingira jumuishi ya ukuzaji kwa programu katika lugha ya programu ya Pascal) Hifadhi programu kwenye folda yenye jina lako kwenye folda inayofanya kazi ya mfumo PABCWork.NET\Your_name\Cikl_1.pas Hifadhi kama...

Slaidi ya 19

Maelezo ya slaidi:

Kazi Nambari 1 Kwa kutumia kitanzi cha WHILE (pamoja na sharti), tengeneza na utatue programu inayokokotoa jumla ya miraba ya nambari zote asilia kutoka 1 hadi 100. DATA YA AWALI: A: nambari kamili; RESULT - jumla: S: Longint; Programu ya Ex1; Var A: Nambari kamili; S: Longint; ( Nambari ndefu) Anza A:=1; S:=0; (kigeu S cha kulimbikiza jumla) Wakati A<=100 Do { Начало цикла – проверка условия } Begin S:=S+A*A; A:=A+1 End; Writeln(‘Вывод результата S= ’ ,S) End. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_1.pas

20 slaidi

Maelezo ya slaidi:

KAZI YA 2. Tatua mpango wa muundo wa mzunguko katika Pascal katika Mpango wa mazingira wa PascalABC.NET abc; var x, y: nambari kamili; anza x:=2; wakati 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

Algorithms ya baiskeli04/06/2017
Algorithms ya baiskeli
Aina za mizunguko na mzunguko
Amri za Pascal

Mzunguko ni nyingi
marudio ya mlolongo
Vitendo
Sehemu inayojirudia ya algorithm
inayoitwa MWILI WA KITANZI
Aina za mizunguko
Na nambari fulani
marudio
Hali ya utimilifu
mzunguko
Pamoja na hali
Hali ya kutoka
mzunguko

Aina za mizunguko (yaliyomo)
Kitanzi kilicho na masharti
Fanya mazoezi
Kitanzi kilicho na hali ya posta
Fanya mazoezi
Kitanzi na vigezo
Fanya mazoezi
Kutatua matatizo magumu

Kitanzi kilicho na masharti

Fanya mazoezi

hali, na hatua ambayo lazima ifanywe tu
Baada ya kuangalia hali, tumia kitanzi katika sharti.


Kabla ya kila utekelezaji wa mwili wa kitanzi, hundi hutokea
hali, ikiwa matokeo ni "kweli", basi mwili wa kitanzi unatekelezwa
Mara nyingine tena, ikiwa "uongo", basi kitanzi kinatoka.
Kwenye mchoro wa block
Mwanzo wa mzunguko
Hapana
Hali
NDIYO
Mwili wa kitanzi
Mwisho wa mzunguko
Katika Pascal
Wakati<условие>fanya
kuanza
<тело цикла>
mwisho;

Kitanzi kilicho na hali ya posta

Fanya mazoezi
Ikiwa idadi ya marudio haijulikani mapema, lakini imetolewa tu
hali, na hatua ambayo lazima ifanyike kabla
Vipimo vya hali hutumia kitanzi kilicho na hali ya posta.
Usemi wa kimantiki hutumiwa kama hali, mwili
kitanzi - mwendeshaji rahisi au kiwanja.
Baada ya kila utekelezaji wa mwili wa kitanzi, hundi hutokea
hali, ikiwa matokeo ni ya uwongo, basi mwili wa kitanzi unatekelezwa
Mara nyingine tena, ikiwa "kweli", basi kitanzi kinatoka.
Kwenye mchoro wa block
Katika Pascal
Rudia
Mwili wa kitanzi
<тело цикла>
Ndiyo
Hapana
Hali
Mpaka<условие>;

Kitanzi na parameter

Fanya mazoezi
Kitanzi na parameter
Katika hali ambapo idadi ya marudio inajulikana mapema
kitanzi kinatumika katika parameter.
Tofauti inayobainisha idadi ya marudio inaitwa
kitanzi parameta au variable kudhibiti.
Baada ya kila utekelezaji wa mwili wa kitanzi, udhibiti
kutofautiana huongezeka au hupungua, kitanzi
inatekelezwa hadi inazidi ama
kutakuwa na kizuizi kidogo.
Kwenye mchoro wa block
Katika Pascal
Kwa X:=A hadi B fanya
X:=A,B,C
Mwili wa kitanzi
X - kigezo cha kudhibiti (kigezo cha mzunguko)
A - thamani ya awali ya X, B - thamani ya mwisho ya X
C - badilisha hatua X
Anza
<тело цикла>
Mwisho;
Kama hatua unaweza kutumia
pekee:
"kwa" = 1;
"downto" = -1

Mfano wa kazi kwa kutumia kitanzi kilicho na sharti la awali
Nadharia

Algorithm ya maneno:
Zidisha nambari X mwanzoni sawa na 1
idadi fulani ya nyakati (N) na 3.
Anza
ProgrammHatua;
Var
H,B,X:idadi kamili;
Anza
Writeln('Shahada?');
Readln(H);
X:=1;
B:=1;
Wakati B<=H do
Anza
X:=X*3;
B:=B+1;
Mwisho;
Writeln('Matokeo',X);
Mwisho.
Pascal
N
Kuingia kwa digrii inayotaka
X:=1
Maadili ya awali
B:=1
Hapana
"B" kukabiliana na shahada
B≤H
Ndiyo
X:=X*3
Zidisha kwa 3
B=B+1
Kuongezeka kwa counter
X
Pato la matokeo
maadili
mwisho
Mchoro wa kuzuia
Maelezo

Mfano wa kazi kwa kutumia kitanzi na postcondition
Nadharia
KAZI: Inua nambari 3 kwa nguvu uliyopewa
Algorithm ya maneno:

ProgrammHatua;
Var
H,B,X:idadi kamili;
Anza
Writeln('Shahada?');
Readln(H);
X:=1;
B:=0;
Rudia
X:=X*3;
B:=B+1;
Hapana
Mpaka B>=H;
Writeln('Matokeo',X);
Mwisho.
Anza
N
Kuingia kwa digrii inayotaka
X:=1
Maadili ya awali
B:=0
Zidisha kwa 3
X:=X*3
Kuongezeka kwa counter
B=B+1
Ndiyo
B>=H
"B" kukabiliana na shahada
X
Pato la matokeo
maadili
mwisho
Pascal
Mchoro wa kuzuia
Maelezo

Mfano wa kazi kwa kutumia kitanzi kilicho na kigezo
Nadharia
KAZI: Inua nambari 3 kwa nguvu uliyopewa
Algorithm ya maneno:
Zidisha nambari X, mwanzoni sawa na 1, nambari maalum ya nyakati (H) na 3.
ProgrammHatua;
Var
H,B,X:idadi kamili;
Anza
Writeln('Shahada?');
Readln(H);
X:=1;
Kwa B:=1 hadi H fanya
Anza
X:=X*3;
Mwisho;
Writeln('Matokeo',X);
Mwisho.
Pascal
Anza
N
X:=1
B:=1,H,1
X:=X*3
X
mwisho
Mchoro wa kuzuia
Kuingia kwa digrii inayotaka
Thamani ya awali X=1
Vigezo kutoka 1 hadi H
Zidisha kwa 3
Pato la matokeo
maadili
Maelezo

Uchaguzi wa mzunguko unategemea sifa za hali ya shida. Mazoezi tu ndio yatakuambia suluhisho bora.

Kazi: Baada ya kuanza mazoezi, mwanariadha siku ya kwanza
ilikimbia kilomita 10. Kila siku alizidisha kila siku
kawaida ni 10% ya kawaida ya siku iliyopita.
Ni umbali gani wa jumla ambao mwanariadha atafikia katika siku 7?
Vigezo vya pembejeo:
d - idadi ya siku
Sd - umbali kwa siku ya sasa
Vigeu vya pato:
S - njia ya kawaida

Mchoro wa kuzuia kwa suluhisho

Anza
S:=10
Sd:=10
d:=1
d:=d+1
Sd:=Sd*1.1
S:=S+Sd
Hapana
D=7
Ndiyo
s
mwisho

Programu katika Pascal

Mzunguko "Kwa"
Mzunguko "Kwaheri"
Mzunguko "Kabla"
Programu omba;
Programu omba;
Programu omba;
Var
Var
Var
S,Sd: halisi;
S,Sd: halisi;
S,Sd: halisi;
d:baiti;
d:baiti;
d:baiti;
Anza
Anza
Anza
S:=10;
S:=10;
S:=10;
Sd:=10;
Sd:=10;
Sd:=10;
Kwa d:=2 hadi 7 fanya
kuanza
Wakati d<7 do
kuanza
Rudia
d:=d+1;
Sd:=1.1*Sd;
d:=d+1;
Sd:=1.1*Sd;
S:=S+Sd;
Sd:=1.1*Sd;
S:=S+Sd;
mwisho;
S:=S+Sd;
hadi (d=7);
Writeln('S=',S);
mwisho;
Writeln('S=',S);
Mwisho.
Writeln('S=',S);
Mwisho.
Mwisho.

Maswali ya kudhibiti:
1. Ni operator gani katika Pascal anafafanua kitanzi na
sharti
2. Jinsi ya kutaja hatua "1" na "-1" kama vigezo katika kitanzi
3. Kitanzi kinatoka katika tawi gani?
hali ya baada
4. Je, kuna masharti katika kitanzi na parameter?
5. Nini inaweza kuwa mwili wa kitanzi
6. Wakati wa kutumia kitanzi na vigezo
Mwisho























Rudi mbele

Makini! Onyesho la kuchungulia la slaidi ni kwa madhumuni ya habari pekee na huenda lisiwakilishe vipengele vyote vya wasilisho. Ikiwa una nia ya kazi hii, tafadhali pakua toleo kamili.

Lengo: kusoma muundo wa algorithmic wa mizunguko, kuunda mifano na algorithms ya kutatua shida za vitendo.

Wakati wa madarasa

I. Kusasisha maarifa

  • Kagua dhana ya algoriti na miundo msingi ya lugha ya algoriti.
  • Kuwa na uwezo wa kuendeleza mfano wa hisabati, algorithm na mchoro wa kuzuia kwa kutatua tatizo.
  • Kuwa na ufahamu wa lugha za programu na madhumuni yao.
  • Kuwa na uwezo wa kufanya kazi katika mazingira ya programu.
  • Jua miundo ya programu.
  • Awe na uwezo wa kuandika misemo iliyo na idadi ya nambari na ishara.
  • Jua miundo ya waendeshaji na sifa za kazi zao.
  • Kuwa na uwezo wa kutumia waendeshaji wakati wa kuandika programu na miundo ya mstari na matawi.
  • Kuwa na uwezo wa kuunda na kuendesha programu kwenye kompyuta kwa utatuzi.

II. Nyenzo za kinadharia za somo

Matatizo mengi ya vitendo yanahitaji kurudia mara kwa mara ya vitendo sawa, yaani, kutumia tena waendeshaji moja au zaidi. (Wasilisho)

Tuseme unahitaji kuingiza na kuchakata mlolongo wa nambari. Ikiwa kuna nambari tano tu, unaweza kuunda algorithm ya mstari. Ikiwa kuna elfu yao, inawezekana kuandika algorithm ya mstari, lakini ni ya kuchosha sana na isiyo na maana. Ikiwa idadi ya nambari haijulikani wakati algorithm inatengenezwa, basi algorithm ya mstari kimsingi haiwezekani.

Mfano mwingine. Ili kupata jina la mwisho la mtu kwenye orodha, unahitaji kuangalia jina la mwisho kwenye orodha, kisha la pili, la tatu, nk. mpaka ile inayotakiwa ipatikane au mwisho wa orodha ufikiwe. Unaweza kuondokana na matatizo hayo kwa msaada wa mizunguko.

Mzunguko ni sehemu ya algorithm (mpango) ambayo inatekelezwa mara kwa mara. Ipasavyo, algorithm ya mzunguko ni algorithm iliyo na mizunguko.

Kuna aina mbili za mizunguko: na idadi inayojulikana ya marudio na idadi isiyojulikana ya marudio. Katika visa vyote viwili, hii inarejelea idadi ya marudio katika hatua ya ukuzaji wa algorithm.

Kuna aina 3 za miundo ya mzunguko:

  • Kitanzi na sharti;
  • Kitanzi na postcondition;
  • Kitanzi na parameter;

Vinginevyo, miundo hii inaitwa mizunguko kama "Wakati", "Kabla", "Kwa".

Fomu ya mchoro ya data ya kurekodi ya miundo ya algorithmic:

Kitanzi chenye masharti ya awali (aka kitanzi Kwaheri) ina fomu:

hali - usemi wa aina ya kimantiki.

Kitanzi kinaweza kisitekelezwe hata mara moja ikiwa thamani ya usemi wa kimantiki itabadilika mara moja kuwa ya uwongo.

Msururu wa amri kati ya kuanza na mwisho hutekelezwa hadi huku hali ni kweli .

Kwa hilo ili mzunguko umalizike, ni muhimu kwamba mlolongo wa maagizo kati ya BEGIN na END ubadilishe thamani ya vigeu vilivyojumuishwa hali.

Kitanzi kilicho na hali ya posta (aka kitanzi kabla) ina fomu:

hali - usemi wa aina ya kimantiki.

Kumbuka:

Mlolongo wa maagizo kati yakurudia Nampaka itatimizwa daima angalau mara moja;

Ili kitanzi kukamilisha, ni muhimu kwamba mlolongo wa taarifa kati yakurudia Nampaka ilibadilisha maadili ya vijiti vilivyojumuishwa katika usemi wa hali.

Maagizo ya kurudia, kama maagizo ya wakati, hutumiwa katika programu ikiwa ni lazima kufanya mahesabu ya kurudiwa (kitanzi), lakini idadi ya marudio haijulikani mapema na imedhamiriwa na maendeleo ya hesabu yenyewe.

Kitanzi na parameta (aka kitanzi Kwa) ina fomu:

i - parameter ya mzunguko;
a - thamani ya awali ya mzunguko;
b - thamani ya mwisho ya mzunguko;
h - hatua ya mabadiliko ya parameta.

Muundo wa mzunguko huu unaitwa vinginevyo mzunguko i mara.

Amri hii inatekelezwa kwa njia hii: parameter i imewekwa kwa thamani ya awali a, ikilinganishwa na thamani ya mwisho b, na ikiwa ni chini ya au sawa na thamani ya mwisho b, mfululizo wa amri unafanywa. Parameta imepewa thamani ya uliopita, imeongezeka kwa h- hatua ya mabadiliko ya parameta na inalinganishwa tena na thamani ya mwisho b.

Katika lugha ya programu ya Pascal, hatua ya mabadiliko ya parameter inaweza kuwa sawa na moja au minus moja.

Ikiwa kuna taarifa moja tu kati ya kuanza na mwisho, basi mabano ya waendeshaji hayahitaji kuandikwa. Sheria hii inafanya kazi kwa vitanzi kama vile "Wakati" na "Kwa".

Hebu tuangalie mfano wa kutatua matatizo kwa kutumia miundo hii

Mfano.

Kuhesabu bidhaa ya nambari kutoka 1 hadi 5 kwa kutumia chaguo mbalimbali za kitanzi

Muundo wa hisabati:

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

Hebu tutengeneze algorithm kwa namna ya mchoro wa kuzuia.

Kuangalia usahihi wa algorithm, hebu tujaze meza ya kufuatilia.

Hatua Operesheni R i Ukaguzi wa hali
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, нет (ложь)

Kuangalia hali hutokea kwa hatua kadhaa: kuangalia hali na kutekeleza amri kwenye moja ya matawi. Kwa hiyo, meza ya kufuatilia hairekodi amri za algorithm, lakini shughuli za mtu binafsi zinazofanywa na kompyuta kwa kila hatua.

Hatua ya kwanza: P imepewa thamani ya moja.

Hatua ya pili: nimepewa thamani moja.

Hatua ya tatu: wakati mimi ni sawa na moja, tunaangalia hali moja ni chini ya au sawa na tano, ndiyo, hali ni kweli, ambayo ina maana P imepewa thamani moja ikizidishwa na moja, kutakuwa na mbili. Kwa i: moja jumlisha moja ni sawa na mbili.

Hatua ya nne: wakati mimi ni sawa na mbili, tunaangalia hali ya pili ni chini ya au sawa na tano, ndiyo, hali ni kweli, ambayo ina maana P imepewa thamani mara 2 moja, itakuwa 2. Kwa i: mbili pamoja na moja, itakuwa tatu.

Hatua ya tano: na i sawa na tatu, tunaangalia hali ya tatu ni chini ya au sawa na tano, ndiyo, hali ni kweli, ambayo ina maana P imepewa thamani ya mbili ikizidishwa na tatu, itakuwa sita. Kwa i: tatu jumlisha moja ni nne.

Hatua ya sita: na i sawa na nne, tunaangalia hali ya nne ni chini ya au sawa na tano, ndiyo, hali ni kweli, ambayo ina maana P imepewa thamani ya sita mara nne, itakuwa ishirini na nne. Kwa i: nne ongeza moja ni tano.

Hatua ya saba: na i sawa na tano, tunaangalia hali ya tano ni chini ya au sawa na tano, ndiyo, hali ni kweli, ambayo ina maana P imepewa thamani ya ishirini na nne ikizidishwa na tano, itakuwa mia moja na ishirini. Kwa i: tano ongeza moja ni sita.

Hatua ya nane: wakati mimi ni sawa na sita, tunaangalia hali ya sita ni chini ya au sawa na tano, hapana, hali hiyo ni ya uwongo, basi tunatoka kitanzi, na matokeo yake tunapata thamani ya mwisho sawa na mia moja na ishirini. .

Mpango Pr1;
Var i: nambari kamili;
Anza
P:=1;
i:=1;
Wakati i<=5 do
kuanza
P:=P*i;
i:=i+1;
mwisho;
Andika('P=', P);
mwisho.

Kwa kitanzi kilicho na hali ya posta, tutajenga mchoro wa kuzuia na meza ya kufuatilia. (slaidi ya 16)

Matokeo yake, tunapata thamani ya mwisho sawa na mia moja na ishirini kwenye hatua ya saba

Na kwa Mzunguko na parameter tutajenga mchoro wa kuzuia na meza ya kufuatilia. (slaidi ya 17)

Matokeo yake, tunapata thamani ya mwisho sawa na mia moja ishirini kwenye hatua ya sita

Kazi:

Onyesha nambari kutoka 1 hadi 5 katika:

  1. utaratibu wa moja kwa moja;
  2. kwa mpangilio wa nyuma.

Muundo wa hisabati:

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

Mchoro wa kuzuia na mpango wa kutatua shida huwasilishwa kwa nambari kwa mpangilio wa mbele na wa nyuma.

(slaidi ya 21)

Wacha tuandike algorithms inayozingatiwa katika lugha ya programu ya Pascal.

(slaidi ya 22)

III. Kwa muhtasari wa somo

Na kwa hivyo tulizingatia maswali yafuatayo:

  1. Mzunguko wa muundo wa algorithmic;
  2. Aina za miundo ya algorithmic:
    1. Kitanzi na sharti;
    2. Kitanzi na postcondition;
    3. Kitanzi na parameter;
  3. Tuliangalia njia za kurekodi miundo hii;
  4. Tuliangalia mifano ya kutatua matatizo kwa kutumia miundo hii.





Kitanzi na sharti Ikiwa idadi ya marudio haijulikani mapema, lakini imeelezwa tu na hali, na hatua ambayo lazima ifanyike tu baada ya kuangalia hali, tumia kitanzi na sharti. Usemi wa kimantiki hutumika kama hali, mwili wa kitanzi ni mwendeshaji rahisi au kiwanja. Kabla ya kila utekelezaji wa mwili wa kitanzi, hali hiyo inachunguzwa, ikiwa matokeo ni "kweli", basi mwili wa kitanzi unatekelezwa tena, ikiwa "uongo", basi kitanzi kinatoka. Kwenye mchoro wa kuzuia Katika Pascal kuanza mwisho; Hali Mwili wa kitanzi Hakuna Mazoezi Kuanza kwa kitanzi Mwisho wa kitanzi NDIYO Wakati fanya


Kitanzi na hali ya posta Ikiwa idadi ya marudio haijulikani mapema, lakini imeelezwa tu na hali, na hatua ambayo lazima ifanyike kabla ya kuangalia hali hiyo, tumia kitanzi na postcondition. Usemi wa kimantiki hutumika kama hali, mwili wa kitanzi ni mwendeshaji rahisi au kiwanja. Baada ya kila utekelezaji wa mwili wa kitanzi, hali hiyo inachunguzwa, ikiwa matokeo ni "uongo", basi mwili wa kitanzi unatekelezwa tena, ikiwa ni "kweli", basi kitanzi kinatoka. Kwenye mchoro wa kuzuia Katika Pascal Repeat Condition Loop Body Ndiyo Hapana Fanya Mazoezi Mpaka ;


Kitanzi na parameter Katika hali ambapo idadi ya marudio inajulikana mapema, kitanzi na parameter hutumiwa. Tofauti inayobainisha idadi ya marudio inaitwa parameta ya kitanzi au kigezo cha kudhibiti. Baada ya kila utekelezaji wa mwili wa kitanzi, kutofautiana kwa udhibiti kunaongezeka au kupungua, kitanzi kinatekelezwa mpaka kinazidi au kinakuwa chini ya kikomo. Katika mchoro wa kuzuia katika Pascal, X ni kutofautiana kwa udhibiti (parameter ya mzunguko) A ni thamani ya awali ya X, B ni thamani ya mwisho ya X C ni hatua ya kubadilisha X. Kama hatua unaweza kutumia tu: "kwa" = 1; “downto” = -1 X:=A,B,C Mazoezi ya Mwili ya Kitanzi Kwa X:=A hadi B fanya Anza Mwisho;


Mfano wa tatizo la kutumia kitanzi chenye sharti la awali Inua nambari 3 kwa nguvu uliyopewa KAZI: Algorithm ya maneno: Zidisha nambari X, mwanzoni sawa na 1, idadi fulani ya nyakati (H) kwa 3. anza H BHBH X: =1 X:=X*3 mwisho X Weka digrii ulizopewa Thamani za awali "B" kihesabu cha digrii B=B+1 Kuzidisha kwa 3 Kuongeza kihesabu Kutoa thamani inayotokana Programm Stepen; Var H,B,X:integer; Anza Kuandika (Shahada?); Readln(H); X:=1; B:=1; Wakati B


H X:=1 X:=X*3 mwisho X Weka nguvu uliyopewa Thamani za awali" title="Mfano wa kazi kwa kutumia kitanzi chenye hali ya posta Ongeza nambari 3 kwa nguvu uliyopewa KAZI: Kanuni ya maneno: Zidisha nambari X mwanzoni ni sawa na nambari 1 iliyotolewa ya nyakati (H) kwa 3. anza N B>=H X:=1 X:=X*3 mwisho X Weka kiwango fulani Thamani za awali" class="link_thumb"> 8 !} Mfano wa tatizo la kutumia kitanzi chenye hali ya posta Ongeza nambari 3 kwa nguvu uliyopewa KAZI: Algorithm ya maneno: Zidisha nambari X, mwanzoni sawa na 1, idadi maalum ya nyakati (H) kwa 3. anza H B>=H X. :=1 X:=X*3 mwisho X Kuingiza digrii fulani Thamani za awali za kihesabu cha digrii “B” B=B+1 Kuzidisha kwa 3 Kuongeza kihesabu Kutoa thamani inayotokana Programm Stepen; Var H,B,X:integer; Anza Kuandika (Shahada?); Readln(H); X:=1; B:=0; Rudia X:=X*3; B:=B+1; Mpaka B>=H; Writeln(Matokeo,X); Mwisho. Hapana Ndiyo Nadharia ya Pascal Maelezo ya Kizuizi cha Mchoro B:=0 =H X:=1 X:=X*3 mwisho X Kuingiza viwango fulani vya thamani za awali"> =H X:=1 X:=X*3 mwisho X Kuingiza digrii fulani Thamani za awali "B" kihesabu cha shahada B=B +1 Kuzidisha kwa 3 Ongeza kihesabu Pato thamani inayotokana Programm Stepen; Var H,B,X:integer; Anza Kuandika(Shahada?); Readln(H); X:=1; B:=0; Rudia X:= X*3; B: =B+1; Mpaka B>=H; Writeln (Matokeo,X); Mwisho. Hapana Ndiyo Nadharia Maelezo ya Pascal Block Diagram B:=0"> =H X:=1 X:=X*3 mwisho X Weka kiwango fulani Thamani za awali" title=" Mfano wa tatizo kwa kutumia kitanzi chenye hali ya posta Ongeza nambari 3 kwa nguvu uliyopewa KAZI: Kanuni ya maneno: Zidisha nambari X mwanzoni sawa na 1 nambari fulani. za nyakati (H) kwa 3. mwanzo N B>=H X: =1 X:=X*3 mwisho X Kuingiza digrii maalum Thamani za awali"> title="Mfano wa tatizo la kutumia kitanzi chenye hali ya posta Ongeza nambari 3 kwa nguvu uliyopewa KAZI: Algorithm ya maneno: Zidisha nambari X, mwanzoni sawa na 1, idadi maalum ya nyakati (H) kwa 3. anza H B>=H X. :=1 X:=X*3 mwisho X Inaingiza kiwango fulani Thamani za awali"> !}


Mfano wa kazi kwa kutumia kitanzi chenye kigezo Ongeza nambari 3 kwa nguvu uliyopewa KAZI: Algorithm ya maneno: Zidisha nambari X, mwanzoni ni sawa na 1, idadi maalum ya nyakati (H) kwa 3. anza H X:=1 X:=X*3 mwisho X Weka nguvu uliyopewa Thamani ya awali X=1 Vigezo kutoka 1 hadi N Kuzidisha kwa 3 Pato la thamani inayotokana Programm Stepen; Var H,B,X:integer; Anza Kuandika (Shahada?); Readln(H); X:=1; Kwa B:=1 hadi H fanya Anza X:=X*3; Mwisho; Writeln(Matokeo,X); Mwisho. B:=1,H,1 Maelezo ya Kizuizi cha Nadharia ya Pascal




Kazi: Baada ya kuanza mazoezi, mwanariadha alikimbia kilomita 10 siku ya kwanza. Kila siku aliongeza kawaida ya kila siku kwa 10% ya kawaida ya siku iliyopita. Ni umbali gani wa jumla ambao mwanariadha atafikia katika siku 7? Vigezo vya pembejeo: Vigezo vya pato: S - jumla ya njia d - idadi ya siku Sd - umbali kwa siku ya sasa


Maliza Maswali ya Udhibiti: 1. Ni opereta gani katika Pascal anafafanua kitanzi na sharti la 2. Jinsi ya kutaja hatua "1" na "-1" katika kigezo katika kitanzi 3. Je, kitanzi kilicho na hali ya posta kinafuata tawi gani? 4. Je, kuna kigezo cha hali 5. Ni nini kinachoweza kuwa mwili wa kitanzi 6. Kitanzi chenye vigezo kinatumika lini


Aina za mizunguko

loops na parameter kwa

loops na masharti

mzunguko wakati kwa sharti

mzunguko kurudia - mpaka na hali ya posta


Kitanzi chenye masharti ya awali katika Pascal - WAKATI

Opereta wa kitanzi aliye na sharti la awali hufanya vitendo mara kadhaa isiyojulikana. Kitanzi hutoka ikiwa usemi fulani wa kimantiki au matokeo yake yanageuka kuwa ya uwongo.

Kwa kuwa uhalali wa usemi wa kimantiki umeangaliwa mwanzoni, mwili wa kitanzi hauwezi kutekelezwa hata mara moja.


Muundo wa kitanzi WAKATI


Kuzuia - mchoro wa mzunguko WAKATI

mwendeshaji

hali


Mfano

Kazi: Andika programu inayohesabu jumla ya nambari zote hadi 50.

writeln("Jumla ni: ",jumla);


Kazi

Andika programu inayotafuta n!.


Kitanzi kilicho na hali ya posta katika Pascal - REPEAT-MPAKA

Opereta hii ni sawa na operator wa kitanzi na hali ya awali, lakini inatofautiana nayo kwa kuwa hali hiyo inachunguzwa baada ya mwili (vitendo) vya kitanzi kutekelezwa. Hii inahakikisha kuwa inatekelezwa angalau mara moja, tofauti na vitanzi vilivyochanganuliwa hapo awali.

Tafadhali kumbuka kuwa mendeshaji huyu wa kitanzi anachukua uwepo wa waendeshaji kadhaa kwenye mwili wa kitanzi, ambayo ni, vitendo kadhaa vinaweza kufanywa, kwa hivyo maneno ya huduma. Anza Na Mwisho Haihitajiki.


Muundo wa kitanzi

RUDIA-MPAKA


Kuzuia - mchoro wa mzunguko RUDIA-MPAKA

mwendeshaji

hali


Mfano

Kazi: Andika programu ambayo huamua jumla ya tarakimu za kwanza na za mwisho katika nambari.

a,b,c,d:jumla;

writeln("ingiza nambari");

writeln(‘Jumla ya tarakimu ya kwanza na ya mwisho ni:’c);


Kazi

Andika programu ambayo huamua ikiwa nambari ni kuu.


Kitanzi na parameter katika Pascal - FOR

Mzunguko KWA huweka hali ambayo programu itafanya kazi kabla ya kutekelezwa, hebu sema unahitaji kupiga programu mara n, basi hii inaweza kufanywa kwa urahisi kwa kutumia kitanzi hiki.

Mzunguko wa U KWA Kuna kipengele cha tabia - counter, ambayo kwa kawaida huteuliwa na barua i au j.

Katika kitanzi, kihesabu kinaweza kutajwa moja kwa moja (neno la huduma kwa ), na kwa mpangilio wa nyuma (neno la kiutendaji chini ).


Muundo wa kitanzi KWA

KWA i:= n1 HADI n2 FANYA

Fomu ya 1 ya kurekodi

KWA i:= n2 DOWNTO n1 FANYA

Fomu ya 2 ya kurekodi


Kuzuia - mchoro wa mzunguko KWA

i:= n1 … n2

Mwili wa kitanzi


Mfano

Kazi: Andika programu inayohesabu nguvu ya nth ya nambari fulani.

a, n, i, pr: nambari kamili;

writeln('Ingiza nambari');

writeln('Ingiza nguvu ya nambari');

kwa i:= 1 hadi n kufanya

writeln('Nguvu ya nambari ni', pr);


Kazi

Andika programu inayopata nambari P = (1-1/2)(1-1/3)*…*(1-1/n).

N imeingizwa kutoka kwa kibodi.