Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Llojet e algoritmeve. Lloji linear i algoritmeve

Programimi është shkrimi i diçkaje duke përdorur gjuhën e panjohur të dikujt tjetër. Me zhvillimin e kësaj fushe njohurie, zhvilluesit shkuan edhe më tej dhe mësuan të shkruanin "diçka" pa e kuptuar as se si tingëllon në rusisht. Fillestarët mësojnë të shkruajnë kodin drejtpërdrejt në C ++ ose php, duke përdorur shumë biblioteka, dhe nuk e kuptojnë vërtet se si tingëllon ajo që ata krijojnë në gjuhën e tyre amtare. Algoritmizimi merret me sqarimin dhe sjelljen e kuptueshme të kësaj “diçkaje”.

Algoritmizim

Shumica e shembujve të algoritmeve në shkencat kompjuterike, madje edhe në universitete, studiohen në një nivel mesatar. Është praktikë e zakonshme të shkruhet pafundësisht kode gjithnjë e më komplekse. Përpjekjet e programuesve të papërvojë për të filluar të shkruajnë programe menjëherë në një gjuhë programimi mund të krahasohen me punën e një gazetari, i cili mezi i ka zotëruar bazat e një gjuhe të huaj, shkruan një artikull për një revistë. Ju mund ta shmangni një problem të tillë nëse filloni të regjistroni punën tuaj fillimisht në gjuhën tuaj amtare, ta modifikoni atë, të kontrolloni për gabime dhe në fund ta përktheni në gjuhën e kërkuar.

Avantazhi i kësaj qasjeje qëndron kryesisht në faktin se zhvilluesi do të angazhohet në përkthim vetëm 25% të kohës, ndërsa kur shkruan një program në një gjuhë të re, ai do të shpenzojë 100% duke punuar me një gjuhë të panjohur. Në të njëjtën kohë, ai do ta gjejë veten në kushte të ngushta dhe nuk do të jetë në gjendje të bëjë një kontroll të mirë për gabime dhe të rishikojë projektin.

Algoritmizimi ndihmon, gjatë zbatimit të një projekti në kompjuter, për të përshkruar procesin e zgjidhjes në një gjuhë amtare dhe të kuptueshme në formën e një diagrami të algoritmeve të ndërlidhura, për të analizuar idetë dhe për të marrë kodin më cilësor dhe të mirëmenduar. do të jetë më rezistent ndaj gabimeve dhe do të funksionojë në mënyrë më efikase.

Koncepti i algoritmit

Një kompjuter nuk mund të zgjidhë problemet, ai mund të kryejë vetëm veprime të thjeshta në rendin e specifikuar. "Po në lidhje me kalkulatorin?" - ju pyesni. Ai gjithashtu është fryt i punës së programuesve që kanë krijuar një program që përdor algoritme të caktuara për të marrë rezultatet e dëshiruara. Le të shqyrtojmë një situatë abstrakte. Çfarë duhet të bëni nëse ju kërkohet të gjeni rrënjët e trinomit kuadratik të një personi që nuk është i njohur me metodat e zgjidhjes së ekuacioneve?

Natyrisht, ai duhet të trajnohet për të zgjidhur ekuacionet kuadratike. Kjo ndodh sipas skemës së mëposhtme:

  1. Zgjidhni një zgjidhje.
  2. Studioni të gjitha detajet e metodës së zgjedhur.
  3. Shpjegojini dy pikat e para interpretuesit të ardhshëm në një gjuhë që ai e kupton.

Atëherë do të jetë e mundur që interpretuesit t'i jepen detyra për të zgjidhur ekuacionin kuadratik. Dhe nëse dy hapat e parë janë të thjeshtë dhe të drejtpërdrejtë - të gjitha zgjidhjet përshkruhen në literaturën përkatëse, atëherë hapi i tretë është i vështirë.

Si mund të siguroheni që idetë e përdorura në zgjidhjen e problemit do të perceptohen nga interpretuesi në të njëjtën mënyrë siç e kuptoni ju? Këtu i afrohemi konceptit të një algoritmi. Praktika tregon se për t'i shpjeguar saktë diçka dikujt, duhet të ndiqen hapat e mëposhtëm:

  • të përcaktojë të dhënat fillestare (ndryshoren dhe koeficientët e ekuacionit kuadratik);
  • ndani procesin e zgjidhjes në komponentë të njohur në mënyrë unike për interpretuesin (formula diskriminuese dhe gjetja e rrënjëve);
  • tregoni rendin e hapave (së pari llogaritni diskriminuesin, pastaj rrënjët);
  • përcaktoni gjendjen në të cilën zgjidhja konsiderohet e plotë (kontrolloni rrënjët e gjetura duke i zëvendësuar ato në ekuacion në vend të variablave);
  • tregoni saktësisht se cili duhet të jetë rezultati i zgjidhjes (rrënjët i përkasin grupit të numrave realë).

Grupi i përshkruar i hapave në një kuptim të përgjithshëm është një algoritëm. Kështu, një algoritëm mund të kuptohet si një metodë për zgjidhjen e një detyre, e shkruar duke përdorur rregulla të caktuara që lejojnë një kuptim të qartë të veprimeve të kryera dhe renditjes së tyre. Algoritmet dhe shembujt e detyrave do të diskutohen më në detaje më poshtë.

Vetitë themelore të algoritmit

Diskretiteti. Procesi i zgjidhjes së një problemi përbëhet gjithmonë nga veprime të ndara rreptësisht nga njëra-tjetra, të quajtura hapa, të cilët kanë një rend të caktuar ekzekutimi.

Siguria. Çdo hap duhet të jetë i qartë dhe i paqartë si në kuptim ashtu edhe në çelësin e veprimit që do të kryhet.

Efektiviteti. Algoritmi duhet të japë një rezultat. Në këtë rast, numri i hapave mund të jetë në mijëra ose miliona, por ato gjithmonë duhet të çojnë në një rezultat.

Karakteri masiv. Çdo algoritëm i zhvilluar për të zgjidhur një problem duhet të jetë i zbatueshëm për të gjitha problemet e këtij lloji për të gjitha të dhënat hyrëse të vlefshme.

Aftësitë kompjuterike

Për krijimin e saktë të algoritmeve për kompjuterë, është e rëndësishme të kuptohen aftësitë e tyre. Le të shqyrtojmë së pari sasitë me të cilat funksionon kompjuteri. Në përgjithësi, ato mund të ndahen në numerikë dhe tekst, konstante dhe variabla.

Numrat konstant nënkuptojnë të gjithë numrat: 3,15, 100, 10 5, tipari i tyre është pandryshueshmëria gjatë gjithë funksionimit të programit. Variablat ndryshojnë vlerën e tyre gjatë ekzekutimit të kodit dhe zakonisht shënohen me shkronja: x, y, max, min, etj.

Variablat e tekstit, si ato numerike, mund të jenë konstante ose të ndryshueshme. Në rastin e parë, është vetëm teksti: "mirë", "a dhe b", etj. Në të dytin, është i njëjti emërtim simbolik si për ndryshoret numerike: emri, qyteti etj. Dallimi midis tyre është kryesisht në memoria e caktuar e kompjuterit për ruajtjen e një ndryshoreje të tillë.

Operacionet që kompjuteri është në gjendje të kryejë:

  1. Lexoni të dhënat nga pajisjet hyrëse (tastiera, miu, skedarët).
  2. Llogaritja e vlerave duke përdorur funksionet matematikore: mbledhje, zbritje, sin, cos, ln, etj. - çdo gjuhë programimi ka grupin e vet të funksioneve të integruara.
  3. Dalja e të dhënave (në ekran, në letër, në ndërfaqen e rrjetit).
  4. Kalimi ndërmjet fazave të programit.
  5. Krahasimi i dy vlerave (më e madhe, më e vogël, e barabartë).

Këto janë operacionet bazë që shumica e gjuhëve të programimit mund të kryejnë.

Metodat për përshkrimin e algoritmeve

Verbale. Kjo është mënyra më e lehtë. Një recetë e kuzhinës është një shembull i kësaj. Lejohet përdorimi i formulave të thjeshta matematikore.

Grafike. Përshkrimi duke përdorur diagrame. Kjo është një mënyrë e veçantë e shkrimit të algoritmeve duke përdorur një lloj gjuhe algoritmike të pranuar përgjithësisht - forma dhe blloqe që kanë një kuptim specifik: një drejtkëndësh është një veprim i thjeshtë, një paralelogram i zhdrejtë është një hyrje / dalje, një romb është një kusht, etj.

Përdorimi i një gjuhe algoritmike. Ngjashëm me atë grafik, është gjithashtu një mënyrë e veçantë e shkrimit të algoritmit. Ka shumë gjuhë algoritmike të disponueshme. Rregullat e tyre nuk janë strikte, përndryshe do të ishte një gjuhë programimi. Konsideroni një shembull të një algoritmi për llogaritjen e pagave në varësi të kohëzgjatjes së shërbimit, të shkruar duke përdorur një gjuhë algoritmike.

pagat alg (int ST, ZP real) arg ST res ZP fillojnë nëse ST< 5 то zp = 150 иначе если ST <= 15 то ZP = 180 иначе ZP = 180 + (ST - 15)*10 конец

Gjuha algoritmike mund të quhet një formë më strikte e shënimit në krahasim me atë verbale. Përdoret një grup i kufizuar fjalësh dhe ndërtimi i tyre, si dhe formatimi me dhëmbëza. Disavantazhi i formës verbale dhe gjuhës algoritmike është qartësia e përkeqësuar e algoritmit me një rritje në madhësinë e tij. Prandaj, këto metoda mund të përdoren vetëm për të përcjellë kuptimin e algoritmeve të vogla.

Llojet e algoritmeve

Ka një larmi të madhe algoritmesh të dizajnuara për të zgjidhur një shumëllojshmëri të gjerë problemesh. Për shembull, çdo tekst shkollor i matematikës së lartë përmban qindra algoritme: zgjidhja e një sistemi ekuacionesh lineare, gjetja e ekstremeve të një funksioni, llogaritja e integralit, etj. Megjithatë, pas një shqyrtimi të hollësishëm të strukturës së tyre, rezulton se të gjithë algoritmet mund të të ndahen në disa lloje. Le t'i shqyrtojmë këto lloje algoritmesh me shembuj.

  • lineare (llogaritja e rezultatit të mbledhjes ose shumëzimit, shkëmbimi i vlerave të disa ndryshoreve);
  • degëzimi (përcaktimi i numrit më të madh të disa numrave);
  • ciklike (radhitja e një vargu, llogaritja e një faktoriali).

Këto janë lloje themelore. Vlen gjithashtu të theksohet se në një sërë letërsie ekziston edhe një lloj i katërt - rekurziv. Por ai nuk ka një përcaktim të veçantë në shënimin skematik dhe zbatohet përmes atyre bazë.

Më shumë detaje rreth secilit algoritëm llogaritjeje me shembuj do të përshkruhen më poshtë.

Parimet e algoritmit

  1. Përcaktoni të dhënat burimore.
  2. Zgjidhni një zgjidhje.
  3. Ndani metodën e zgjedhur në hapa bazuar në aftësitë e kompjuterit (gjuhë programimi).
  4. Ekzekutoni algoritmin në formën e një diagrami, duke përcaktuar një renditje të qartë hapash.
  5. Prodhimi i rezultateve të llogaritjes.
  6. Tregoni kalimin në daljen e qarkut.

Korrigjimi i algoritmit

Njeriu bën gabime dhe ky është një fakt. Parametri kryesor i çdo algoritmi duhet të jetë korrektësia e punës së tij. Korrigjimi është procesi i identifikimit dhe korrigjimit të gabimeve në një algoritëm. Për këtë merret një grup i caktuar të dhënash fillestare, të quajtura të dhëna testimi. Ato janë, si rregull, të gjitha llojet e llojeve të të dhënave burimore. Për shembull, nëse një numër i jepet hyrjes, atëherë algoritmi duhet të kontrollohet për funksionimin e saktë, duke marrë parasysh: numrat pozitiv, negativ, të plotë dhe real, vlerat zero, etj.

Truri i njeriut mbetet mjeti kryesor për verifikimin e saktësisë së një algoritmi. Natyrisht, lejohet përdorimi i mjeteve të tjera kompjuterike për të automatizuar kontrollin, por në një mënyrë apo tjetër, është një person që përgatit teste dhe analizon rezultatet. Në këtë rast, lind pyetja, pse na duhet një algoritëm nëse një person bën gjithçka vetë? Pastaj, detyra kryesore e algoritmit është zgjidhja e përsëritur e një lloji të caktuar problemi.

Algoritme lineare

Linear është një algoritëm në të cilin hapat janë të njëpasnjëshëm njëri pas tjetrit. Çdo algoritëm që nuk përmban degë dhe sythe është linear. Konsideroni një shembull të një algoritmi që zgjidh problemin e mëposhtëm: një ujk dhe një lepur janë ulur në dy qeliza, ju duhet t'i ndërroni ato.

Çelësi për zgjidhjen e këtij problemi është një kafaz shtesë i temperaturës që duhet të përdoret për të shkëmbyer kafshët.

Algoritmet e forkimit

Siç sugjeron emri, algoritmi ka disa degë. Thelbi i punës është të zgjidhni një nga opsionet e mundshme për procesin llogaritës, në varësi të çdo kushti. Degëzimi skematik përfaqësohet nga një kuti në formë diamanti, brenda së cilës tregohet kushti, dhe në anët e saj ka degë përzgjedhjeje në varësi të faktit nëse kushti është i vërtetë ose i rremë. Algoritmi i degëzimit dhe shembujt e zbatimit të tij mund të gjenden kudo. Në programim, ky është një konstrukt tipik if-else që gjendet pothuajse në çdo gjuhë.

Le të japim një shembull të një algoritmi për zgjidhjen e problemit të gjetjes së më të madhit midis tre numrave.

Algoritmi ciklik

Një algoritëm ciklik është një algoritëm në të cilin të njëjtat hapa përsëriten shumë herë, në të cilin vetëm vlera e një ndryshoreje të caktuar, mbi të cilën bëhen llogaritjet, mund të ndryshojë. Llojet e algoritmit looping dhe një shembull do të diskutohen më poshtë, por tani për tani do të rendisim hapat kryesorë për ndërtimin e një cikli.

  1. Caktimi i një vlere fillestare për variablat. Pa këtë kusht, laku ka shumë të ngjarë të dështojë ose të bëjë gabime.
  2. Blloku për llogaritjen e rezultateve. Ky është trupi kryesor i lakut.
  3. Kontrollimi i gjendjes për përfundimin e procesit ciklik. Nëse harroni të specifikoni kushtin në të cilin duhet të përfundojë laku, algoritmi do të funksionojë pafundësisht.
  4. Ndryshimi i variablave. Ky bllok hyn në fuqi pasi të kontrollojë kushtin e përfundimit nëse ishte i rremë. Nëse harroni këtë bllok, atëherë cikli do të kryejë një veprim përgjithmonë dhe kurrë nuk do të përfundojë. Prandaj, është e rëndësishme që variablat të pësojnë disa ndryshime në çdo përsëritje të ciklit.

Ekzistojnë disa lloje të algoritmeve looping: me kusht, parakusht dhe parametër.

Le të ndërtojmë një algoritëm ciklik duke përdorur shembullin e gjetjes së faktorialit të numrit N.

Lloje të tjera algoritmesh

Ka një sërë algoritmesh të tjera që ndryshojnë në klasifikim ose origjinë.

  • Algoritmet mekanike. Për shembull, funksionimi i një motori me djegie të brendshme ose i një linje montimi.
  • Algoritme probabiliste. Puna e tyre bazohet në teorinë e probabilitetit dhe statistikat matematikore.
  • Algoritmet heuristike. Përdorni konsiderata praktike në punën e tyre, pa arsyetime rigoroze matematikore.
  • Algoritmet gjenetike. Zbatojnë idetë biologjike në punën e tyre.

Algoritmet mund të jenë të thjeshta, komplekse, por të gjithë kanë veçori të përbashkëta. Është me këto veçori që është zakon të dallojmë tre lloje algoritmesh, me të cilat do të njihemi.

Në algoritme, komandat shkruhen njëra pas tjetrës në një rend të caktuar. Ato nuk kryhen domosdoshmërisht në sekuencën e regjistruar. Mund të ekzistojnë referenca të brendshme për ekipe të ndryshme.

Në përgjithësi, ekzekutimi i komandave sipas algoritmit të kujton disi lojërat e tavolinës në të cilat pjesëmarrësit hedhin me radhë zare dhe ecin nëpër fusha. Për më tepër, në margjina mund të ketë komente në stilin: "Kthehu 2 qeliza" ose "Ec 5 qeliza përpara" (Fig. 1).

Oriz. 1. Lojë tavoline ()

Loja e njohur "Monopoly" ose "Menaxheri" është një model më kompleks i ekzekutimit të algoritmit (Fig. 2).

Oriz. 2. Loja "Monopoly" ()

Dallimi thelbësor i kësaj loje nga ekzekutimi i thjeshtë i algoritmit është se qëllimi përfundimtar i pjesëmarrësve nuk është kalimi i rrugës, por grumbullimi i parave me anë të veprimeve të caktuara.

Në varësi të rendit të ekzekutimit të komandës, mund të dallohen tre lloje algoritmesh:

Algoritme lineare;

Algoritmet e degëzimit;

Algoritmet e përsëritjes.

"Monopol"

Monopoly është një nga lojërat më të njohura të tavolinës. Rregullat e tij janë mjaft të thjeshta dhe të kuptueshme për të gjithë ata që e kanë luajtur të paktën një herë (Fig. 4).

Oriz. 4. Lojë "Monopoly" ()

Në momentin e fillimit, lojtarët kanë një sasi të barabartë parash. Duke hedhur zare dhe duke lëvizur çipat e tyre nëpër fushën e lojës, ata fitojnë pasuri të paluajtshme me ngjyra të ndryshme. Pasi në sitin e fituar nga armiku, lojtari është i detyruar të paguajë qiranë e vendosur. Duke blerë të gjitha parcelat me të njëjtin grup ngjyrash, pjesëmarrësi mund të ndërtojë shtëpi dhe hotele mbi to, të cilat rrisin madhësinë e qirasë. Qëllimi i gjithçkaje që ndodh është banal - të shkatërrojë të gjithë rivalët.

Sipas burimeve zyrtare - Parker Brothers, e cila ka prodhuar Monopoly që nga viti 1935 e deri më sot - loja legjendare e bordit lindi në këtë mënyrë. Në vitin 1934, një inxhinier i papunë Charles Darrow (Fig. 5) ftoi zyrën e mësipërme të lëshonte një lojë që ai kishte shpikur për tregtimin e pasurive të paluajtshme.

Oriz. 5. Charles Darrow ()

Pasi zbuluan 52 gabime të projektimit në lojën e bordit, vëllezërit Parker e refuzuan shpikësin. Ai, me një frymë thjesht sipërmarrëse amerikane, shkoi në shtypshkronjë, porositi 5 mijë kopje të lojës dhe i shiti shumë shpejt. Duke kuptuar që fitimet po i rrëshqisnin menjëherë nga hunda, Parker Brothers fitoi me nxitim të drejtat e Monopoly dhe vitin e ardhshëm u bë loja më e shitur e tavolinës në Shtetet e Bashkuara, dhe Darrow - mishërimi i gjallë i ëndrrës amerikane.

Megjithatë, në të njëjtën kohë, ka edhe lojëra të mëparshme të njohura që të kujtojnë në mënyrë të habitshme "Monopoly". Rezulton se Darrow ishte vetëm i pari që nxitoi dhe mori një patentë për argëtim "popullor"? Po dhe jo. Hetimet e viteve të fundit kanë hedhur dritë mbi misterin që qëndron pas origjinës së Monopoly.

Në gjysmën e dytë të shekullit të nëntëmbëdhjetë, ekonomisti politik Henri Xhorxh jetoi dhe punoi në Shtetet e Bashkuara. Ai propozoi zëvendësimin e të gjitha taksave me një taksë të vetme - mbi tokën. I mbushur me idetë e tij, në janar 1904 Maggie mori një patentë për lojën e tavolinës The Landlord's Game, e cila, si për nga rregullat, ashtu edhe për pamjen, i ngjan "Monopolit" aktual. Besohet se "Loja e pronarit të tokës" kishte dy variante rregullash: pasi kishin luajtur një lojë sipas ligjeve aktuale tatimore, lojtarët kaluan në modelin e propozuar nga George - dhe gjoja u bindën për avantazhet e tij të nevojshme. . Kështu, loja nuk ishte argëtim, por një instrument i luftës ideologjike.

Nuk erdhi në prodhim masiv, por The Landlord's Game u përhap gradualisht në të gjithë Amerikën e Veriut në kopje artizanale. Rritja e interesit për lojën e tavolinës ra në vitet e Depresionit të Madh: mijëra njerëz të papunë ishin të lumtur ta imagjinonin veten si thasë me para, të paktën në tryezën e lojërave të fatit. Ardhja e një njeriu sipërmarrës si Charles Darrow zgjati disa muaj - dhe ai u shfaq, duke marrë përsipër famën e shpikësit të vetëm të Monopoly për shumë dekada.

Pati, natyrisht, nga ata që e konsideruan të nevojshme t'u rrëmbenin një copë mbajtësve të të drejtave të autorit. Monopolet e palicencuara përmbytën Kinën. Dhe në vendin tonë u prodhuan dhe po prodhohen rreshta të hollë klonesh - "Broker", "Kooperativë", "Menaxheri" (Fig. 6) ...

Oriz. 6. Lojë "Menaxheri" ()

Në dritën e rimendimit të fundit të rolit të Darrow në krijimin e Monopoly dhe skadimit të të drejtave të autorit, kompani të tilla nuk do të paditet. Edhe nëse supozojmë se nuk kishte Elizabeth Maggie në botë, rregullat e "Monopoly" shumë kohë më parë kaluan në domenin publik. Megjithatë, Hasbro ende mban një pjesë të patentës me vete: dizajnin e çipave, dizajnin grafik, sekuencën e qelizave në fushën e lojës.

Një algoritëm në të cilin komandat ekzekutohen në rendin në të cilin janë shkruar, domethënë, në mënyrë sekuenciale njëra pas tjetrës, quhet lineare.

Oriz. 3. Llamba ()

Për shembull, algoritmi i mëposhtëm për zëvendësimin e një llambë të djegur është linear (Fig. 3):

1. fik çelësin e dritës;

2. Zhvidhosni llambën e djegur;

3. vidhosni një llambë të re;

4. Ndizni çelësin për të kontrolluar nëse drita është ndezur.

Duke përdorur një diagram bllok, ky algoritëm mund të përshkruhet si më poshtë:

(blloku i diagramit (Fig. 7.) shih në fund të përmbledhjes)

Situatat ku sekuenca e veprimeve të kërkuara dihet paraprakisht janë jashtëzakonisht të rralla. Në jetë, shpesh ju duhet të merrni një vendim në varësi të situatës aktuale. Nëse bie shi, marrim një ombrellë dhe veshim një mushama; nëse është vapë, vishni rroba të lehta. Ekzistojnë gjithashtu kushte më komplekse përzgjedhjeje. Në disa raste, fati i një personi varet nga vendimi i zgjedhur.

Logjika e vendimmarrjes mund të përshkruhet si më poshtë:

NËSE<условие>, PASTAJ<действия 1>,

PER Ndryshe<действия 2>

NESE ke para, atehere blej buke, MOS BLE TJETER.

NËSE do të jeni sot në qendër, atëherë më telefononi, TJETËR jo.

NËSE mësimet mësohen, ATHESH shko në shëtitje, TJETËR mëso mësimet.

Në disa raste<действия 2>mund të mungojë. Kjo mund të jetë për shkak të qartësisë së saj (si, për shembull, në shembullin e parë - është e qartë se nëse nuk keni para, atëherë thjesht nuk mund të blini bukë), dhe mungesës së nevojës për të.

NËSE<условие>, PASTAJ<действия 1>

Nëse ai e quajti veten një ngarkesë, atëherë ngjituni në shpinë.

Nëse doni të jeni të shëndetshëm, atëherë duroni.

Forma e organizimit të veprimeve në të cilën, në varësi të përmbushjes ose mospërmbushjes së një kushti të caktuar, kryhet një ose një sekuencë tjetër veprimesh, quhet degëzimi.

Le të përshkruajmë në formën e një diagrami sekuencën e veprimeve të një nxënësi të klasës së 6-të, i cili ka harruar çelësat e banesës, të cilin ai e imagjinon kështu: "Nëse nëna ime është në shtëpi, atëherë do të vij dhe do të ulem të bëj. detyrat e mia të shtëpisë. Nëse mami nuk është në shtëpi, atëherë unë do të shkoj të luaj futboll me miqtë e mi derisa të vijë mami. Nëse nuk ka miq në rrugë, do të ngas lëkundjen derisa të vijë nëna ime."

(blloku i diagramit (Fig. 8.) shih fundin e përmbledhjes)

Kushtet e nevojshme dhe të mjaftueshme

Ne kemi diskutuar tashmë me ju se ka kushte të nevojshme dhe të mjaftueshme.

Një shembull i një parakushti do të ishte:

Për t'u bërë mjek, duhet të përfundoni një diplomë mjekësore.

Kushti i arsimimit mjekësor është i domosdoshëm për të punuar si mjek, por nuk është i mjaftueshëm. Në të vërtetë, jo të gjithë të diplomuarit në mjekësi bëhen mjekë.

Një shembull i një kushti të mjaftueshëm do të ishte:

Për t'u bërë më i freskët, thjesht ndizni kondicionerin.

Ky kusht është i mjaftueshëm: nëse ndizni kondicionerin, ai me të vërtetë bëhet më i freskët. Megjithatë, kjo gjendje nuk është e nevojshme, sepse për të arritur këtë qëllim, mund të ndizni ventilatorin, të hapni një dritare etj.

Natyrisht, ekzistojnë kushte të nevojshme dhe të mjaftueshme në të njëjtën kohë (kushte të tilla quhen baraz me). Për shembull:

Që vera të vijë, është e nevojshme dhe e mjaftueshme që pranvera të përfundojë.

Në të vërtetë, nëse pranvera ka mbaruar, atëherë vjen vera, dhe nëse pranvera nuk ka mbaruar, atëherë vera nuk mund të vijë. Domethënë, kushtet për fundin e pranverës dhe fillimin e verës janë ekuivalente.

Konceptet e kushteve të nevojshme, të mjaftueshme dhe ekuivalente janë shumë të rëndësishme në një degë të tillë të matematikës si logjika matematikore. Përveç kësaj, ato janë shumë të zakonshme në vërtetimin e teoremave të ndryshme.

Në praktikë, shpesh ka detyra në të cilat një ose disa veprime duhet të përsëriten disa herë, ndërkohë që plotësohen disa kushte të përcaktuara më parë.

Për shembull, nëse duhet të renditni nëpër një kuti me mollë për të ndarë ato të kalbura nga ato të pjekura, atëherë duhet të përsërisim hapat e mëposhtëm:

1. Merrni një mollë.

2. Shihni nëse është i kalbur.

3. Nëse është e kalbur - hidheni, nëse jo - transferojeni në një kuti tjetër.

Është e nevojshme të kryeni këtë grup veprimesh derisa mollët në kuti të mbarojnë.

Forma e organizimit të veprimeve, në të cilën ekzekutimi i së njëjtës sekuencë veprimesh përsëritet derisa të plotësohet një kusht i caktuar paraprakisht, quhet. cikël (përsëritje).

Quhet situata në të cilën ekzekutimi i lakut nuk përfundon kurrë looping.

Duhet të zhvillohen algoritme për të shmangur situata të tilla.

Le të shqyrtojmë algoritmin e orës me zile në telefon, e cila duhet të bjerë në orën 8:00 të mëngjesit dhe më pas të bjerë çdo 10 minuta derisa të fiket.

Në këtë rast, bllok diagrami i tij duket kështu: (blloku i diagramit (Fig. 9.) shih në fund të përmbledhjes)

Në këtë mësim, ne diskutuam tre lloje algoritmesh - algoritme lineare, algoritme të degëzimit dhe algoritme të përsëritura.

Në mësimin tjetër, ne do të diskutojmë se si të shkruajmë algoritme në praktikë.

Sita e Eratosthenes

Le të kujtojmë përkufizimin e një numri natyror të thjeshtë.

Një numër natyror quhet i thjeshtë nëse është ka vetëm dy pjesëtues: një dhe vetë numrin. Pjesa tjetër e numrave thirren përbërëse... Për më tepër, numri 1 nuk është as i thjeshtë dhe as i përbërë.

Shembuj të numrave të thjeshtë: 2, 3, 5, 7.

Shembuj të numrave të përbërë: 4, 6, 8.

Në shekullin III para Krishtit, matematikani grek Eratos-phene propozoi algoritmin e mëposhtëm për gjetjen e të gjithë numrave të thjeshtë më pak se një numër i caktuar. NS:

1.shkruani të gjithë numrat natyrorë nga 1 deri në n;

2. fshi 1;

3. nënvizo numrin më të vogël të pashënuar;

4. Kryqëzoni të gjithë numrat që janë shumëfish të numrit të nënvizuar në hapin e mëparshëm;

5. nëse lista përmban numra të pashënuar, atëherë shkoni në hapin 3, përndryshe të gjithë numrat e nënvizuar janë të thjeshtë.

Ky është një algoritëm ciklik. Kur ekzekutohet, hapat 3-5 përsëriten derisa të ketë numra të pashënuar në listën origjinale.

Le të shqyrtojmë rezultatin e këtij algoritmi. Le të shkruajmë të gjithë numrat e thjeshtë nga 1 në 25.

Le të shkruajmë numrat nga 1 në 25.

Le të fshijmë 1. Tani do të theksojmë të dyja. Kryqëzoni të gjithë numrat çift.

Meqenëse jo të gjithë numrat janë të shënuar, nënvizoni 3. Tani kaloni të gjithë numrat që pjesëtohen me 3.

Meqenëse jo të gjithë numrat janë të shënuar, nënvizoni 5. Tani kaloni numrin 25.

Meqenëse jo të gjithë numrat janë shënuar, theksojmë 7.

Ju nuk mund të kaloni asgjë, por jo të gjithë numrat janë të shënuar, kështu që theksojmë 11.

Ju nuk mund të shënoni asgjë, por jo të gjithë numrat janë të shënuar, kështu që theksojmë 13. Përsëri, nuk mund të kalojmë asgjë - nënvizojmë 17, pastaj 19 dhe 23.

Të gjithë numrat janë shënuar tani.

Marrim numrat e parë: 2, 3, 5, 7, 11, 13, 17, 19, 23.

Oriz. 7.Bllok diagrami për ndryshimin e një llambë

Oriz. 8. Skema e veprimeve të klasës së gjashtë


Oriz. 9. Bllok diagrami i orës me zile


Bibliografi

1. Bossova L.L. Informatika dhe TIK: Libër mësuesi për klasën e 6-të. - M .: BINOM. Laboratori i Dijes, 2012.

2. Bosova L.L. Informatikë: Fletore pune për klasën e 6-të. - M .: BINOM. Laboratori i njohurive, 2010.

3. Bosova L.L., Bosova A.Yu. Mësimet e informatikës në klasat 5-6: Udhëzues metodologjik. - M .: BINOM. Laboratori i njohurive, 2010.

1. Portali në internet "Rrjeti ynë" ()

2. Portali në internet "Hipermarketi i njohurive" ()

3. Portali në internet "kaz.docdat.com" ()

Detyre shtepie

1. §3.4 (Bosova L.L. Informatikë dhe TIK: Libër mësuesi për klasën e 6-të).

2. Faqe 81 detyra 2, 6 (Bosova L.L. Informatikë dhe TIK: Teksti mësimor për klasën 6).

3. Faqe 82 detyra 9, 11, 13, 14 (Bosova L.L. Informatikë dhe TIK: Libër mësuesi për klasën 6).

4. * Faqe 83 detyra 15 (Bosova L.L. Informatikë dhe TIK: Libër mësuesi për klasën 6).

Kryesor Vetitë algoritmi janë:

1.

2.

3.

4.

·lineare;

· Degëzim;

· ciklike.

Linear

Degëzimi

ciklike

Struktura e programit në Pascal.

PaskalinËshtë një gjuhë që mëson saktësinë dhe qartësinë (seksionet e programit nuk mund të ndërrohen, është e nevojshme të përfaqësohet qartë puna e programit, etj.). Kjo është arsyeja pse është e nevojshme të njihet dhe të kuptohet qartë struktura e një programi Pascal.

PROGRAM emri i programit;
(me shkronja angleze, një fjalë. Dëshironi më thellë? Atëherë duhet të përdorni rregullat për shkrimin e identifikuesve)

PËRDORIMI biblioteka plug-in (module);
(veçori shtesë, ato mund të lidhen me programin në këtë linjë)

EMTETI lista e etiketave;
(nga një vend i programit "kërce" në tjetrin)



KONST seksioni që përshkruan konstantet;
(vlera konstante, ato nuk mund të ndryshohen)

LLOJI përshkrimi i llojeve të variablave; (lloji)

VAR përcaktimi i variablave globale;
(përshkrimi i të gjitha variablave që mund të ndryshohen në program)

PËRKUFIZIMI I PROCEDURAVE;

PËRKUFIZIMI I FUNKSIONIVE;

blloku kryesor i programit

Pothuajse çdo rresht ndiqet nga një " ; ". Kjo shenjë tregon se linja ka mbaruar. Shenja" ; “nuk vendoset pas fjalës së shërbimit FILLOJ dhe e fundit FUND.(që do të thotë fundi i programit) i ndjekur nga një pikë.

3.Operator me kusht, operator i zgjedhur. Veprimet logjike në Pascal, tabelat e së vërtetës, ligjet bazë të algjebrës logjike.
Operatorët e kushtëzuar

IF [shprehje boolean] Pastaj [deklarata 1]; Tjetër [operatori 2];

Deklarata IF funksionon si më poshtë: së pari, kontrollohet rezultati i një shprehjeje Boolean. Nëse rezultati është i VËRTETË, atëherë ekzekutohet [statement_1] pas fjalës kyçe Pastaj dhe [statement_2] anashkalohet. Nëse rezultati është FALSE, atëherë [statement_1] anashkalohet dhe [statement_2] ekzekutohet.

PËR [parametri_ciklit]: = [n_z_p_ts] Për të bërë [k_z_p_ts] [operator];

PËR, Për, Bëj - fjalë shërbyese. [cycle_parameter] është një parametër cikli. [n_z_p_ts] - vlera fillestare e parametrit të ciklit. [k_z_p_ts] - vlera përfundimtare e parametrit të ciklit. [operatori] është një operator arbitrar.

Parametri i lakut duhet të jetë një variabël i tipit rendor. Vlerat e fillimit dhe të fundit të parametrit të lakut duhet të jenë të të njëjtit lloj si parametri i lakut.

NDERSA [kusht] Do [operator];

NDERSA, Bëj - fjalë shërbyese. [kusht] është një shprehje e një lloji boolean. [operatori] është një operator i zakonshëm.

Deklarata while funksionon si më poshtë: së pari, kontrollohet rezultati i kushtit Boolean. Nëse rezultati është i vërtetë, atëherë deklarata ekzekutohet, pas së cilës kushti kthehet në test me vlerën e re të parametrave në shprehjen logjike të kushtit. Nëse rezultati është i rremë, atëherë cikli përfundon.



PËRSËRITJE [loop-body]; DERI [kusht];

Deklarata REPEAT funksionon si më poshtë: së pari, ekzekutohen deklaratat e trupit të ciklit, pas së cilës rezultati kontrollohet për gjendjen logjike. Nëse rezultati është i rremë, atëherë kryhet një kthim në ekzekutimin e operatorëve të trupit tjetër të lakut. Nëse rezultati është i vërtetë, atëherë deklarata del.

Logjike DHE operacion

Veprimi logjik DHE kryhet me dy bit, le t'i quajmë a dhe b. Rezultati i ekzekutimit të operacionit logjik DHE do të jetë i barabartë me 1 nëse a dhe b janë të barabartë me 1, dhe në të gjitha rastet e tjera (të tjera), rezultati do të jetë i barabartë me 0. Le të shohim tabelën e së vërtetës së veprimit logjik dhe .

a b a & b

Llojet e të dhënave.

Ordinale:

Tërësitë; Ngacmues truri; simbolike; Të numërueshme; Intervali;

Real:

Strukturuar:

Vargjeve; Vargjet; Komplete; Regjistrimet; Skedarët;

Treguesit

6. Vargje. Përkufizimi, përshkrimi, shpërndarja dhe përdorimi i memories.
Një grup është një lloj i strukturuar i të dhënave me numra fiks elementësh dhe ka të njëjtin lloj.

Prona:

të gjithë elementët e grupit janë të të njëjtit lloj;

grupi ka një emër për të gjithë elementët;

qasja në një element specifik të grupit kryhet nga indeksi (të).

7. Procedurat dhe funksionet. Kreu dhe trupi i procedurave dhe funksioneve, klasifikimi i parametrave. Procedurat dhe funksionet e thirrjes, veçoritë e përdorimit të tyre.

Nënprogrami është një pjesë e programit, e krijuar si një strukturë sintaksore më vete dhe e pajisur me një emër. "Thirrja" e një nënprogrami, d.m.th. ekzekutimi i veprimeve të specifikuara në një nënprogram në formën e deklaratave mund të kryhet në një moment të programit duke specifikuar emrin e kësaj nënprograme. Përveç specifikimit të një sekuence veprimesh, çdo nënprogram mund të përmbajë një përshkrim të një grupi të caktuar lokal objektet - konstantet, llojet, variablat etj. Këto objekte janë për organizimin e veprimeve brenda një nënprogrami dhe kanë kuptim (d.m.th. të disponueshëm ose të dukshëm) vetëm brenda këtë nënprogram

Mekanizmi i nënprogrameve në gjuhën Turbo Pascal zbatohet në formën e procedurave dhe funksioneve. Ata kanë pothuajse të njëjtën strukturë, të njëjtin kuptim, por ndryshojnë në qëllimin dhe metodën e thirrjes.

Procedurat shërbejnë për të vendosur një sekuencë veprimesh që synojnë ndryshimin e së jashtmes në raport me mjedisin e programit. Procedura thirret duke specifikuar emrin e saj në vendin e programit ku pritet ekzekutimi i operatorëve të specifikuar në procedurë.

Funksione shërbejnë, para së gjithash, për të përcaktuar algoritmin për llogaritjen e një vlere të caktuar (lloji i thjeshtë). Prandaj, një thirrje funksioni është një nga operandët e vlefshëm të një shprehjeje, duke treguar në të vlerën që llogarit funksioni ("kthehet").

PROCEDURA ProcedureName (FormalParametersList);
EMTETI
Numërimi i etiketave brenda trupit të procedurës
KONST
Përshkrimi i konstantave lokale
LLOJI
Përshkrimi i llojeve lokale
VAR
Përshkrimi i variablave lokale
FILLOJ
Procedura e trupit
FUND.

Koncepti i një algoritmi. Vetitë, metodat e përshkrimit. Llojet e algoritmeve.

Një algoritëm është një udhëzim i saktë dhe i kuptueshëm për interpretuesin për të kryer një sekuencë veprimesh që synojnë zgjidhjen e problemit.

Kryesor Vetitë algoritmi janë:

1. determinizëm (siguri). Supozon marrjen e një rezultati të paqartë të procesit llogaritës me të dhënat fillestare të dhëna. Për shkak të kësaj vetie, procesi i ekzekutimit të algoritmit është i natyrës mekanike;

2. efektiviteti. Tregon praninë e të dhënave të tilla fillestare për të cilat procesi llogaritës i zbatuar sipas një algoritmi të caktuar duhet të ndalet pas një numri të kufizuar hapash dhe të japë rezultatin e dëshiruar;

3. karakter masiv. Kjo veti supozon se algoritmi duhet të jetë i përshtatshëm për zgjidhjen e të gjitha problemeve të këtij lloji;

4. diskrete. Do të thotë ndarja e procesit llogaritës të përcaktuar nga algoritmi në faza të veçanta, mundësia e të cilave ekzekutuesi (kompjuteri) mund të kryejë është pa dyshim.

Me gjithë larminë e algoritmeve për zgjidhjen e problemeve, në to mund të dallohen tre lloje kryesore të proceseve llogaritëse:

·lineare;

· Degëzim;

· ciklike.

Linear quhet një proces llogaritës në të cilin të gjitha fazat e zgjidhjes së një problemi kryhen sipas rendit natyror të regjistrimit të këtyre fazave.

Degëzimi quhet një proces i tillë llogaritës në të cilin zgjedhja e drejtimit të përpunimit të informacionit varet nga të dhënat fillestare ose të ndërmjetme (nga rezultatet e kontrollit të përmbushjes së ndonjë kushti logjik).

Një cikël është një seksion i përsëritur në mënyrë të përsëritur i llogaritjeve. Një proces llogaritës që përmban një ose më shumë cikle quhet ciklike... Sipas numrit të ekzekutimeve, ciklet ndahen në cikle me numër të caktuar (të paracaktuar) përsëritjesh dhe cikle me numër të pacaktuar përsëritjesh.

Synimi : Të njohë nxënësit me bazat e algoritmit.

Pyetjet e studimit:

1. Algoritmi dhe vetitë e tij. Metodat e shkrimit të algoritmeve.

2. Llojet kryesore të algoritmeve. Bllok diagramet e algoritmeve tipike.

Duke studiuar këtë temë, studenti duhet:

Dije:

· Vetitë e algoritmit;

· Blloqe për ndërtimin e qarqeve;

· Llojet bazë të algoritmeve;

Te jesh i afte te :

· Të ndërtojë algoritme sipas kushtit të problemit;

Koncepti i algoritmit

Koncepti i një algoritmi është një nga konceptet themelore të shkencës kompjuterike, i cili historikisht mori formë në një disiplinë të pavarur "teoria e algoritmeve", afër një disipline tjetër "logjika matematikore". Nga ana tjetër, disiplina "teoria e algoritmeve" mund të konsiderohet e ndërmjetme midis dy disiplinave: matematikës dhe shkencave kompjuterike, lidhur me seksionin e programimit.

Algoritmizimi i referohet metodave të përgjithshme të informatikës, ka një rëndësi të madhe në zgjidhjen e problemeve komplekse. Para se të shkruani një program për zgjidhjen e një problemi në një kompjuter, është e nevojshme të rishikoni sekuencën e veprimeve që duhet të kryhen për të zgjidhur saktë problemin në shqyrtim.

Një algoritëm është një sekuencë e veprimeve aritmetike, logjike dhe të tjera që kërkohen të kryhen në një kompjuter.

Për të marrë rezultatin e saktë, algoritmi duhet të projektohet në mënyrë që kur të ekzekutohet, të gjitha komandat të interpretohen në mënyrë të paqartë. Prandaj, ekzistojnë kërkesa të detyrueshme që duhet të merren parasysh gjatë përpilimit të algoritmeve. Kërkesat janë formuluar si veti.

Algoritmi duhet të jetë gjithmonë efektiv, të ketë vetinë e përsëritshmërisë dhe duhet të jetë i dizajnuar për një interpretues specifik. Në teknologji, një interpretues i tillë është një kompjuter. Për të siguruar mundësinë e zbatimit në një kompjuter, algoritmi duhet të përshkruhet në gjuhën e një kompjuteri që është e kuptueshme, domethënë në një gjuhë makine. Sidoqoftë, përpara se të paraqisni një algoritëm në një gjuhë të kuptueshme nga kompjuteri (gjuhë makine), është e nevojshme të shkruani një program duke përdorur një gjuhë programimi algoritmik.

Algoritmi mund të përfaqësohet në mënyra të ndryshme, në veçanti:

1) me gojë (përshkrim verbal);

2) në mënyrë tabelare;

3) në formën e një bllok diagrami;

4) në gjuhën algoritmike.

Një mënyrë mjaft e zakonshme për të paraqitur një algoritëm është shkrimi i tij në një gjuhë algoritmike, e cila, në rastin e përgjithshëm, është një sistem shënimesh dhe rregullash për një shkrim uniform dhe të saktë të algoritmeve dhe ekzekutimin e tyre. Kjo mënyrë e paraqitjes së algoritmit përfshin shkrimin e tij në formën e një programi.

ProgramiËshtë një rekord i një algoritmi në një gjuhë programimi që çon në rezultatin përfundimtar në një numër të kufizuar hapash.

Preferohet që algoritmi të paraqitet në formën e një bllok diagrami përpara se të shkruhet në një gjuhë algoritmike. Për të ndërtuar një algoritëm në formën e një diagrami bllok, duhet të dini qëllimin e secilit prej blloqeve. Tabela 13. liston llojet e blloqeve dhe qëllimin e tyre.

Tabela 13

Qëllimi i bllokimit

Një koment

(blloku korrespondon me operatorin)

Fillimi ose fundi

bllok diagramet

Hyrja ose dalja e të dhënave

hyrje dalje

Procesi (në veçanti kompjuteri)

detyrat

Modifikues i ciklit

5.2. Llojet bazë të algoritmeve

Algoritmizimi vepron si një grup teknikash të caktuara praktike, aftësi të veçanta specifike të të menduarit racional brenda kornizës së mjeteve të dhëna gjuhësore. Algorithmizimi i llogaritjeve përfshin zgjidhjen e një problemi në formën e një sekuence veprimesh, domethënë një zgjidhje të paraqitur në formën e një grafiku rrjedhash. Mund të dallohen algoritmet tipike. Këtu përfshihen: algoritmet lineare, algoritmet e degëzimit, algoritmet ciklike.

Algoritme lineare

Algoritmi linear është më i thjeshtë. Ai supozon ekzekutimin e njëpasnjëshëm të operacioneve. Nuk ka kontrolle të kushtëzuara ose të përsëritura në këtë algoritëm.

Shembull : Llogaritni funksionin z = (x-y) / x + y2.

Hartoni një diagram rrjedhash për llogaritjen e një funksioni duke përdorur një algoritëm linear. Vlerat e ndryshueshme NS, mund të ketë ndonjë, përveç zeros, për t'i futur ato nga tastiera.

Zgjidhje: Algoritmi linear për llogaritjen e funksionit është dhënë në formën e një bllok diagrami në figurën 8. Gjatë ekzekutimit të një algoritmi linear, vlerat e variablave futen nga tastiera, zëvendësohen në një funksion të caktuar, rezultati llogaritet dhe më pas shfaqet rezultati.

Fig. 8. Algoritmi Linear

Qëllimi i blloqeve në diagramin në Fig. 8:

· Blloku 1 në diagram shërben si fillim logjik.

· Blloku 3 paraqet veprimin aritmetik.

· Blloku 4 nxjerr rezultatin.

· Blloku 5 në qark shërben si përfundim logjik i qarkut.

Algoritmet e degëzimit

Algoritmi i degëzimit përfshin kontrollimin e kushteve për zgjedhjen e një zgjidhjeje. Prandaj, algoritmi do të ketë dy degë për çdo kusht.

Në shembull merret parasysh një algoritëm degëzimi, ku në varësi të gjendjes zgjidhet një nga zgjidhjet e mundshme. Algoritmi paraqitet në formën e një bllok diagrami.

Shembull : Kur plotësohet kushti x>0 funksioni llogaritet: z= ln x+ y, përndryshe, domethënë, kur x = 0 ose x<0 , funksioni llogaritet: z= x+ y2 .

Hartoni një diagram rrjedhash për llogaritjen e një funksioni duke përdorur algoritmin e degëzimit. Vlerat e ndryshueshme NS, mund të jetë çdo, futini ato nga tastiera.

Zgjidhje : Figura 9 tregon një algoritëm degëzimi, ku, në varësi të gjendjes, ekzekutohet një nga degët. Një bllok i ri 3 është shfaqur në grafikun e rrjedhës, i cili kontrollon gjendjen e problemit. Pjesa tjetër e blloqeve janë të njohura nga algoritmi linear.

https://pandia.ru/text/78/136/images/image008_57.gif "width =" 300 "height =" 360 src = ">

Fig. 9. Algoritmi i degëzimit

Shembull : Gjeni vlerën maksimale të tre numrave të plotë të ndryshëm të futur nga tastiera. Hartoni një diagram rrjedhash për zgjidhjen e problemit.

Zgjidhje : Ky algoritëm supozon kontrollimin e gjendjes. Për këtë, zgjidhet ndonjë nga tre variablat dhe krahasohet me dy të tjerët. Nëse është më i madh, atëherë kërkimi për numrin maksimal ka përfunduar. Nëse kushti nuk plotësohet, atëherë krahasohen dy variablat e mbetur. Njëri prej tyre do të jetë maksimal. Diagrami bllok për këtë detyrë është paraqitur në Fig. 10.

https://pandia.ru/text/78/136/images/image010_48.gif "width =" 492 "height =" 456 src = ">

Oriz. 10. Blloku i kërkimit për maksimumin

Algoritmet ciklike

Algoritmi ciklik parashikon përsëritjen e një operacioni ose disa operacioneve, në varësi të gjendjes së problemit.

Algoritmet ciklike janë dy llojesh:

1) me një numër të caktuar ciklesh ose me një numërues cikli;

2) numri i cikleve është i panjohur.

Shembull : Në një lak, llogaritni vlerën e funksionit z = x * y me kusht që një nga variablat x ndryshon në secilin cikël nga njëra, dhe tjetra ndryshore nuk ndryshon dhe mund të jetë çdo numër i plotë. Si rezultat i ekzekutimit të ciklit në vlerën fillestare të ndryshores x = 1 ju mund të merrni tabelën e shumëzimit. Numri i cikleve mund të jetë çdo. Hartoni një diagram rrjedhash për zgjidhjen e problemit.

Zgjidhje : Në shembull, numri i cikleve është vendosur. Prandaj, zgjidhet lloji i parë i algoritmit të lakut. Algoritmi për këtë problem është paraqitur në Fig. njëmbëdhjetë.

Në bllokun e dytë, futet numri i cikleve n dhe çdo numër të plotë NS, y .

Një bllok i ri 3 është shfaqur në bllok diagramin, në të cilin ndryshorja i numëron numrin e cikleve, duke u rritur me një pas çdo cikli derisa numëruesi të jetë i barabartë me i = n ... Në i = n do të ekzekutohet cikli i fundit.

Blloku i tretë tregon gamën e ndryshimit të numëruesit të ciklit (nga i = 1 përpara i = n).

Në bllokun e katërt, vlerat e variablave ndryshohen: z, x.

Blloku i pestë tregon rezultatin. Blloqet e katërt dhe të pestë përsëriten në çdo cikël.

Fig. 11. Algoritmi ciklik me numërues cikli

Ky lloj i algoritmeve looping preferohet kur jepet nga numri i sytheve.

Nëse numri i cikleve është i panjohur, atëherë bllok diagramet e algoritmeve ciklike mund të paraqiten në formën e figurave 12, 13.

Shembull : Llogaritni y = y-x derisa y> x, nëse y=30 , x=4. Numëroni numrin e cikleve të ekzekutuara, vlerën përfundimtare të një ndryshoreje ... Në një lak, nxirrni vlerën e një ndryshoreje , numri i cikleve të kryera. Hartoni një diagram rrjedhash për zgjidhjen e problemit.

Zgjidhje : Në shembull, numri i cikleve është i panjohur. Prandaj, zgjidhet lloji i dytë i algoritmit të lakut. Algoritmi për këtë problem është paraqitur në Fig. 12.

Gjendja kontrollohet në hyrje të lakut. Dy blloqe ekzekutohen në trupin e lakut:

1) y = y-x;i= i+1 ;

2) prodhimi i vlerave të variablave i, y.

Cikli ekzekutohet për sa kohë që plotësohet kushti y> x... Me kusht që këto variabla të jenë të barabarta y = x ose y përfundon cikli.

Algoritmi i paraqitur në figurën 12 quhet algoritmi parakusht ciklik, meqenëse gjendja kontrollohet në fillim të lakut ose në hyrje të lakut. > x në hyrje të lakut. Nëse plotësohet kushti, atëherë shkoni në bllokun 4, përndryshe në bllokun 6.

Blloku i katërt llogarit vlerën e ndryshores i= i+1 .

Blloku i pestë tregon rezultatin:

Vlera e ndryshueshme ,

i.

Shembull : Hartoni një shembull të grafikut të rrjedhës (Figura 12), duke kontrolluar gjendjen e daljes së ciklit. Në këtë shembull, gjendja e detyrës nuk ndryshon, dhe dalja është e njëjtë, por grafiku i rrjedhës do të jetë i ndryshëm.

Zgjidhje : Në këtë rast, kontrollohet kushti për daljen nga laku: y<=x ... Në këtë kusht, cikli nuk ekzekutohet. Gjendja në bllok diagramin duhet të transferohet në fund të ciklit, pasi të jetë printuar. Cikli ekzekutohet për sa kohë që plotësohet kushti y> x.

Algoritmi, nëse kushti bartet në fund të ciklit, quhet algoritmi i ciklit me paskusht... Algoritmi për këtë problem është paraqitur në Fig. 13.

Blloku i dytë prezanton y=30 , x=4 .

Blloku i tretë llogarit vlerën e ndryshores , numërohet numri i cikleve të përfunduara i= i+1 .

Blloku i katërt tregon rezultatin:

Vlera e ndryshueshme ,

Numri i cikleve të përfunduara i.

Blloku i pestë kontrollon gjendjen y <= x për të dalë nga laku. Nëse kushti plotësohet, atëherë shkoni në bllokun 6, përndryshe, në bllokun 3 dhe cikli përsëritet.

Fig. 13. Algoritmi i ciklit me paskusht

Pyetje kontrolli

1. Koncepti i një algoritmi.

2. Llojet e algoritmeve.

3. Strukturat algoritmike bazë.

4. Blloqet kryesore të algoritmit grafik.

5. Struktura algoritmike lineare. Shembull.

6. Degëzimi. Shembull.

7. Strukturat algoritmike ciklike. Shembull.

Artikujt kryesorë të lidhur