Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 7, XP
  • način montaže. Grananje i sekvencijalno usavršavanje algoritma - Hipermarket znanja

način montaže. Grananje i sekvencijalno usavršavanje algoritma - Hipermarket znanja

Suština metode je gore opisana. Prvo se analizira izvorni problem. Ima podzadatke. Izgrađena je hijerarhija takvih podzadataka (slika 48).

Zatim se kompajliraju algoritmi (ili programi), počevši od glavnog algoritma (glavnog programa), zatim - pomoćni algoritmi (potprogrami) sa uzastopnim produbljivanjem nivoa, dok ne dobijemo algoritme koji se sastoje od jednostavnih naredbi.

Vratimo se na problem "tumača", koji je razmatran u poglav. 3.16. Prisjetite se uvjeta: s obzirom na originalni niz znakova, koji ima sljedeći oblik:

Umjesto a i b su decimalne cifre; značka

jedan od znakova operacija je naznačen: +, -, *. Potrebna nam je mašina da procijeni ovaj izraz i, nakon znaka =, ispiše rezultat. Ne smatra se da se operacija dijeljenja bavi samo cijelim brojevima.

Hajde da formulišemo zahteve za program Interpretator, koji će ga učiniti univerzalnijim od verzije koja se razmatra u sek. 3.16:

1. Operandi a i b mogu biti viševrijedni pozitivni cijeli brojevi unutar MaxInt.

2. Mogu postojati razmaci između elemenata linije, kao i na početku i na kraju.

3. Program vrši sintaksičku kontrolu teksta. Ograničimo se na najjednostavniju verziju kontrole: niz treba da se sastoji samo od brojeva, znakova operacije, znaka = i razmaka.

4. Izvodi se semantička kontrola: niz mora biti izgrađen prema šemi a

b=. Greška ako neki element nedostaje ili nije u redu.

5. Opseg vrijednosti operanada i rezultat je kontroliran (ne smije prelaziti MaxInt).

Već iz liste zahtjeva postaje jasno da program neće biti lak. Sastavit ćemo ga metodom sekvencijalnog detaljiranja. Počnimo sa predstavljanjem algoritma u njegovom najopćenitijem obliku kao linearnog niza koraka za rješavanje problema:

1. Unesite string.

2. Sintaktička kontrola (ima li nevažećih znakova?).

3. Semantička kontrola (da li je izraz tačan?).

4. Izbor operanda. Provjera operanada za važeći raspon vrijednosti. Pretvori u cijele brojeve.

5. Izvođenje operacije. Provjera rezultata za ispravan raspon.

6. Izlaz rezultata.

Faze 2, 3, 4, 5 će se smatrati podzadacima prvog nivoa, dajući im imena (i buduće potprograme), odnosno Sintax, Semantika, Operand, Calc

Zauzvrat, njihova implementacija će zahtijevati rješavanje sljedećih podzadataka: preskakanje dodatnih razmaka (Propusk), pretvaranje cifre znaka u cijeli broj (Cifra). Osim toga, kada dodjeljujete operande, morat ćete prepoznati operand koji premašuje maksimalnu dozvoljenu vrijednost (Greška). Sumirajući sve rečeno u šematski oblik, dobijamo određenu strukturu podzadataka. Ova struktura će odgovarati sličnoj strukturi programskih modula (slika 49).

Prvi korak detaljiranja. Prvo, skiciramo sve potrebne potprograme, ukazujući samo na njihova zaglavlja (specifikacije). Umjesto tijela potprograma pišemo komentare s objašnjenjima (ovaj tip potprograma se zove "stub"). Napišimo glavni dio programa. A onda ćemo se vratiti na detaljno programiranje procedura i funkcija. U prvoj fazi programiranja, umjesto tijela potprograma, opisujemo njegovu svrhu u obliku komentara. Nakon što smo konačno spojili tekstove potprograma sa glavnim programom, dobijamo radnu verziju programa Interpretator. Sada se može uneti u računar.

Otklanjanje grešaka i testiranje programa. Nikada ne možete biti sigurni da će napisani program biti ispravan u jednom naletu (iako je to moguće, to postaje sve manje vjerovatno kako program postaje složeniji). Program se u procesu otklanjanja grešaka dovodi do konačnog radnog stanja.

Greške mogu biti „jezičke“, mogu biti algoritamske. Prva vrsta grešaka, po pravilu, pomaže u otkrivanju Pascal kompajlera. To su greške vezane za kršenje pravila programskog jezika. Nazivaju se i greškama u vremenu prevođenja jer se otkrivaju u vrijeme kompajliranja. Algoritamske greške dovode do raznih posljedica. Prvo, mogu postojati neizvodljive radnje. Na primjer, dijeljenje nulom, kvadratni korijen negativnog broja, indeks izvan reda, itd. Ovo su greške izvođenja. One dovode do prekida izvršavanja programa. U pravilu postoje sistemski softverski alati koji pomažu u pronalaženju takvih grešaka.

Druga situacija je kada algoritamske greške ne dovode do prekida izvršavanja programa. Program se izvršava do kraja, dobijaju se neki rezultati, ali nisu tačni. Za konačno otklanjanje grešaka u algoritmu i analizu njegove ispravnosti, vrši se testiranje. Test je varijanta rješavanja problema za koji su rezultati unaprijed poznati. Po pravilu, jedna varijanta testa ne dokazuje ispravnost programa. Programer mora osmisliti testni sistem, izgraditi plan testiranja za iscrpno testiranje cijelog programa.

To smo već rekli Kvalitetan program nikada ne bi trebao pasti.

Uspješno polaganje svih testova je neophodan uslov za ispravnost programa. Imajte na umu da u ovom slučaju to nije nužno dovoljno. Što je program složeniji, to je teže napraviti sveobuhvatan plan testiranja. Iskustvo pokazuje da se čak iu "vlasničkim" programima greške pronalaze tokom rada. Stoga je problem testiranja programa veoma važan i istovremeno veoma složen problem.

Kraj

Svaki blok može sadržavati i jednostavnu naredbu i složenu strukturu, ali mora imati jedan ulaz i jedan izlaz.

grananje - algoritamska alternativa. Sa ovom komandom, koja se također zove viljuška, bira se jedna od dvije moguće radnje ovisno o stanju. Nakon što je komanda završena, izađite na general nastavak:

U pseudokodu se ova naredba općenito piše na sljedeći način:

ako<условие>

onda<действие 1>

inače<действие 2>

Radnje označene nakon službenih riječi onda I inače, mogu biti jednostavne ili složene naredbe. Kada se izvrši instrukcija grananja, izvršava se samo jedna od akcija: ako je uslov ispunjen, tada se izvodi akcija 1, u suprotnom akcija 2.

Komanda grananja se može koristiti u skraćeni oblik (ispravka) kada se ništa ne poduzima ako uvjet nije ispunjen. U pseudokodu se ispravka piše ovako:

ako<условие>

onda<действие >

Ponovite naredbu (petlja). Većina algoritama sadrži niz naredbi koje se ponavljaju. Ako su takve naredbe napisane kao složena naredba praćenja, onda bi svaka ponovljena naredba morala biti napisana tačno onoliko puta koliko se ponavlja. Ali ovo je vrlo neekonomičan način snimanja. Stoga se za označavanje radnji koje se ponavljaju koristi posebna konstrukcija tzv ciklus.

Složena instrukcija petlje, koja se naziva i instrukcija ponavljanja, sadrži uslov koji se koristi za određivanje broja ponavljanja. Razmotrite tri tipa naredbe za ponavljanje.

Ponovite naredbu s preduvjetom napisano u pseudokodu kako slijedi:

do<условие >

ponovi<действие>

Pod radnjom, kao i prije, podrazumijevamo jednostavnu ili složenu naredbu. Izvršenje takve naredbe ponavljanja se sastoji u tome da se prvo provjeri uvjet (otuda i naziv - ciklus sa preduvjetom), a ako je ispunjen, onda se izvršava naredba koja je napisana nakon servisne riječi. ponovi. Nakon toga, stanje se ponovo provjerava. Petlja se završava kada uvjet više nije ispunjen. Ovo zahtijeva da instrukcija koja se izvršava u petlji utječe na stanje.

Instrukcija ponavljanja sa preduslovom u jeziku dijagrama toka izgleda ovako:



Ponovite naredbu s postuvjetom se izvodi slično, samo se provjerava uvjet nakon izvršenja naredbe, a izvršenje naredbe se ponavlja kada uvjet nije ispunjen, tj. vrši se ponavljanje prije uslov (zbog čega se ova vrsta petlje naziva i petlja „pre“). U jeziku pseudokoda i dijagrama toka, petlja sa postuslovom se piše na sledeći način:



ponovi

akcija

prije stanje

Pod radnjom, kao i prije, podrazumijevamo jednostavnu ili složenu naredbu.

Petlja s parametrom (poznatim brojem ponavljanja)

Za parametar:=N1 prije N2 uradi

akcija

N1, N2 su izrazi koji definiraju početnu i konačnu vrijednost parametra ciklusa, respektivno, N3 je korak promjene parametra ciklusa.

Ako je N1< N2, то N3 >0.

Ako je N1 > N2, onda je N3<0.

U teoriji neophodan i dovoljan je samo prvi tip ciklusa - ciklus sa preduslov. Bilo koji ciklički algoritam se može izgraditi pomoću njega. Ovo je općenitija verzija petlje od petlje do i petlje s parametrom. Ali, u nekim slučajevima, upotreba petlje do i petlje s parametrom se ispostavi da je prikladnija.

Strukturni pristup zahtijeva usklađenost sa standardom u slici dijagrama toka algoritama. Morate ih nacrtati kao što je to urađeno u svim navedenim primjerima. Svaka osnovna struktura mora imati jedan unos I jedan izlaz. Nestandardni blok dijagram je loše čitljiv, gube se vidljivost i semantika algoritma.

Algoritam najčešće sadrži kombinacije osnovnih komandi koje su međusobno povezane. Ove strukture se mogu povezati na dva načina: dosljedan I ugniježđen . Ova situacija je slična onoj uočenoj u elektrotehnici, gdje se svako proizvoljno složeno električno kolo može razložiti na serijski i paralelno povezane dijelove.

Ako je blok koji čini tijelo ciklusa sam po sebi ciklička struktura, onda to znači da ugniježđen ciklusa. Zauzvrat, unutrašnja petlja može imati još jednu petlju unutar sebe, i tako dalje. U tom smislu, koncept dubina gnežđenja ciklusa. Slično, grane mogu biti ugniježđene jedna u drugu.

Strukturirano programiranje se ponekad u literaturi naziva programiranjem bez goto-a. Zaista, s ovim pristupom nema mjesta za bezuslovnu tranziciju.

Neopravdana upotreba bezuslovnog jump operatora goto u programima ga lišava strukture, a time i svih pozitivnih svojstava povezanih s njim: transparentnost i pouzdanost algoritma. Iako je ovaj operator prisutan u svim proceduralnim programskim jezicima, međutim, slijedeći strukturni pristup, njegovu upotrebu treba izbjegavati.

Programski jezici Pascal i C nazivaju se strukturiranim programskim jezicima. Imaju sve potrebne kontrolne strukture za strukturnu konstrukciju programa. Strukturiranje izgleda programskog teksta daje jasnoću ovoj konstrukciji. Glavna tehnika koja se koristi za ovo je pomicanje linija, koje se mora pridržavati sljedećih pravila:

Konstrukcije istog nivoa gniježđenja se pišu na istom vertikalnom nivou (počinju sa iste pozicije u liniji);

Ugniježđena konstrukcija je ispisana pomaknuta duž linije za nekoliko pozicija udesno u odnosu na njenu vanjsku konstrukciju.

Strukturna tehnika algoritmizacije nije samo oblik opisivanja algoritma, već je i programerski način razmišljanja. Prilikom kreiranja algoritma treba težiti da se on sastavi od standardnih struktura.

Još jedna važna tehnološka tehnika strukturiranog programiranja je dekompoziciju problema koji treba riješiti na podzadatke- dijeljenje zadatka na jednostavnije dijelove originalnog zadatka sa stanovišta programiranja.

Algoritmi za rješavanje takvih podproblema se nazivaju pomoćni algoritmi. U tom smislu, postoje dva moguća načina u konstrukciji algoritma:

"top down" - prvo se gradi glavni algoritam, zatim pomoćni algoritmi;

"odozdo prema gore" - prvo se kompajliraju pomoćni algoritmi, a zatim glavni.

Prvi pristup se također naziva metodom dosljedan detalj , sekunda - montaža metoda.

Skupština metoda uključuje akumulaciju i korištenje biblioteka pomoćnih algoritama implementiranih u programskim jezicima u obliku potprograma, procedura, funkcija.

At dosljedan detaljnije, prvo se gradi glavni algoritam, a zatim se u njega uvode pozivi pomoćnim algoritmima prvog nivoa. Nakon toga se kompajliraju pomoćni algoritmi prvog nivoa, u kojima može biti poziva na pomoćne algoritme drugog nivoa, itd. Pomoćni algoritmi najnižeg nivoa sastoje se samo od jednostavnih naredbi.

Metoda dosljedan detalj koristi se u bilo kojoj izgradnji složenih objekata. Ovo je prirodni logički slijed dizajnerovog razmišljanja: postepeno produbljivanje u detalje. Praktično je nemoguće konstruisati prilično komplikovan algoritam na drugi način.

Dakle, tehnika detaljnog detaljiranja korak po korak može se predstaviti kao dijagram:

Prvo se analizira izvorni problem. Ima podzadatke. Izgrađena je hijerarhija takvih podzadataka.

Zatim se kompajliraju algoritmi (ili programi), počevši od glavnog algoritma (glavnog programa), zatim - pomoćni algoritmi (potprogrami) sa uzastopnim produbljivanjem nivoa, dok ne dobijemo algoritme koji se sastoje od jednostavnih naredbi.

Tehnika sekvencijalnog detaljiranja omogućava vam da organizirate rad tima programera na složenom projektu. Na primjer, šef grupe gradi glavni algoritam i daje upute svojim zaposlenima da razviju pomoćne algoritme i napišu odgovarajuće potprograme. Članovi grupe moraju samo da se dogovore oko interfejsa (tj. odnosa) između razvijenih softverskih modula, a unutrašnja organizacija programa je stvar programera.

Otklanjanje grešaka i testiranje programa. Nikada se ne može biti siguran da će program napisan biti ispravan (iako je to moguće, ali sa složenošću programa to postaje sve manje vjerovatno). Program se u procesu dovodi do konačnog radnog stanja otklanjanje grešaka.

Greške mogu biti "jezičke" - sintaktičke i algoritamske (logičke). Prvu vrstu greške obično detektuje kompajler programskog jezika. To su greške vezane za kršenje pravila programskog jezika. Nazivaju se i greškama. vrijeme kompilacije, jer se saznaju tokom kompilacije. Sam prevodilac u ovom ili onom obliku obaveštava korisnika o prirodi greške i njenom mestu u tekstu programa. Nakon što je ispravio još jednu grešku, korisnik ponavlja kompilaciju. Ovo se nastavlja sve dok se sve greške ovog nivoa ne eliminišu.

Algoritamske greške dovode do raznih posljedica. Prvo, mogu postojati neizvodljive radnje. Na primjer, dijeljenje nulom, kvadratni korijen negativnog broja, indeks izvan granica niza, itd. Ovo su greške vrijeme izvršenja. One dovode do prekida izvršavanja programa. U pravilu postoje sistemski softverski alati koji pomažu u pronalaženju takvih grešaka.

Druga situacija je kada algoritamske greške ne dovode do prekida izvršavanja programa. Program se izvršava do kraja, dobijaju se neki rezultati, ali nisu tačni. Za konačno otklanjanje grešaka u algoritmu i analizu njegove ispravnosti, vrši se testiranje.

Test je varijanta rješavanja problema za koji su rezultati unaprijed poznati. Po pravilu, jedna varijanta testa ne dokazuje ispravnost programa. Programer mora osmisliti testni sistem, izgraditi plan testiranja za iscrpno testiranje cijelog programa.

Kvalitetan program ni na koji način ne bi trebalo završiti hitan slučaj.

Testovi programa treba da pokažu da će se ispravnim unosom početnih podataka uvijek dobiti tačni rezultati, a ako postoje greške (sintaktičke, semantičke, van opsega), biće primljene odgovarajuće poruke.

Uspješno polaganje svih testova je neophodan uslov za ispravnost programa. Imajte na umu da u ovom slučaju to nije nužno dovoljno. Što je program složeniji, to je teže napraviti sveobuhvatan plan testiranja. Iskustvo pokazuje da se čak iu "vlasničkim" programima greške pronalaze tokom rada. Stoga je problem testiranja programa veoma važan i istovremeno veoma složen problem.

Suština metode je gore opisana. Prvo se analizira izvorni problem. Ima podzadatke. Izgrađena je hijerarhija takvih podzadataka (slika 48).

Zatim se kompajliraju algoritmi (ili programi), počevši od glavnog algoritma (glavnog programa), zatim - pomoćni algoritmi (potprogrami) sa uzastopnim produbljivanjem nivoa, dok ne dobijemo algoritme koji se sastoje od jednostavnih naredbi.

Vratimo se na problem "tumača", koji je razmatran u poglav. 3.16. Prisjetite se uvjeta: s obzirom na originalni niz znakova, koji ima sljedeći oblik:

Umjesto a i b su decimalne cifre; značka

jedan od znakova operacija je naznačen: +, -, *. Potrebna nam je mašina da procijeni ovaj izraz i, nakon znaka =, ispiše rezultat. Ne smatra se da se operacija dijeljenja bavi samo cijelim brojevima.

Hajde da formulišemo zahteve za program Interpretator, koji će ga učiniti univerzalnijim od verzije koja se razmatra u sek. 3.16:

1. Operandi a i b mogu biti viševrijedni pozitivni cijeli brojevi unutar MaxInt.

2. Mogu postojati razmaci između elemenata linije, kao i na početku i na kraju.

3. Program vrši sintaksičku kontrolu teksta. Ograničimo se na najjednostavniju verziju kontrole: niz treba da se sastoji samo od brojeva, znakova operacije, znaka = i razmaka.

4. Izvodi se semantička kontrola: niz mora biti izgrađen prema šemi a

b=. Greška ako neki element nedostaje ili nije u redu.

5. Opseg vrijednosti operanada i rezultat je kontroliran (ne smije prelaziti MaxInt).

Već iz liste zahtjeva postaje jasno da program neće biti lak. Sastavit ćemo ga metodom sekvencijalnog detaljiranja. Počnimo sa predstavljanjem algoritma u njegovom najopćenitijem obliku kao linearnog niza koraka za rješavanje problema:

1. Unesite string.

2. Sintaktička kontrola (ima li nevažećih znakova?).

3. Semantička kontrola (da li je izraz tačan?).

4. Izbor operanda. Provjera operanada za važeći raspon vrijednosti. Pretvori u cijele brojeve.

5. Izvođenje operacije. Provjera rezultata za ispravan raspon.

6. Izlaz rezultata.

Faze 2, 3, 4, 5 će se smatrati podzadacima prvog nivoa, dajući im imena (i buduće potprograme), odnosno Sintax, Semantika, Operand, Calc

Zauzvrat, njihova implementacija će zahtijevati rješavanje sljedećih podzadataka: preskakanje dodatnih razmaka (Propusk), pretvaranje cifre znaka u cijeli broj (Cifra). Osim toga, kada dodjeljujete operande, morat ćete prepoznati operand koji premašuje maksimalnu dozvoljenu vrijednost (Greška). Sumirajući sve rečeno u šematski oblik, dobijamo određenu strukturu podzadataka. Ova struktura će odgovarati sličnoj strukturi programskih modula (slika 49).

Prvi korak detaljiranja. Prvo, skiciramo sve potrebne potprograme, ukazujući samo na njihova zaglavlja (specifikacije). Umjesto tijela potprograma pišemo komentare s objašnjenjima (ovaj tip potprograma se zove "stub"). Napišimo glavni dio programa. A onda ćemo se vratiti na detaljno programiranje procedura i funkcija. U prvoj fazi programiranja, umjesto tijela potprograma, opisujemo njegovu svrhu u obliku komentara. Nakon što smo konačno spojili tekstove potprograma sa glavnim programom, dobijamo radnu verziju programa Interpretator. Sada se može uneti u računar.

Otklanjanje grešaka i testiranje programa. Nikada ne možete biti sigurni da će napisani program biti ispravan u jednom naletu (iako je to moguće, to postaje sve manje vjerovatno kako program postaje složeniji). Program se u procesu otklanjanja grešaka dovodi do konačnog radnog stanja.

Greške mogu biti „jezičke“, mogu biti algoritamske. Prva vrsta grešaka, po pravilu, pomaže u otkrivanju Pascal kompajlera. To su greške vezane za kršenje pravila programskog jezika. Nazivaju se i greškama u vremenu prevođenja jer se otkrivaju u vrijeme kompajliranja. Algoritamske greške dovode do raznih posljedica. Prvo, mogu postojati neizvodljive radnje. Na primjer, dijeljenje nulom, kvadratni korijen negativnog broja, indeks izvan reda, itd. Ovo su greške izvođenja. One dovode do prekida izvršavanja programa. U pravilu postoje sistemski softverski alati koji pomažu u pronalaženju takvih grešaka.

Druga situacija je kada algoritamske greške ne dovode do prekida izvršavanja programa. Program se izvršava do kraja, dobijaju se neki rezultati, ali nisu tačni. Za konačno otklanjanje grešaka u algoritmu i analizu njegove ispravnosti, vrši se testiranje. Test je varijanta rješavanja problema za koji su rezultati unaprijed poznati. Po pravilu, jedna varijanta testa ne dokazuje ispravnost programa. Programer mora osmisliti testni sistem, izgraditi plan testiranja za iscrpno testiranje cijelog programa.

To smo već rekli Kvalitetan program nikada ne bi trebao pasti.

Uspješno polaganje svih testova je neophodan uslov za ispravnost programa. Imajte na umu da u ovom slučaju to nije nužno dovoljno. Što je program složeniji, to je teže napraviti sveobuhvatan plan testiranja. Iskustvo pokazuje da se čak iu "vlasničkim" programima greške pronalaze tokom rada. Stoga je problem testiranja programa veoma važan i istovremeno veoma složen problem.

Vrsta lekcije: lekcija učvršćivanja znanja i učenja novog gradiva.

Vrsta lekcije: kombinovana nastava (predavanje i vježba).Ciljevi lekcije: Opće obrazovanje:

formirati predstavu kod učenika o osnovnim pojmovima teme: komanda grananja, nepotpuni oblik komande grananja;

formirati vještine razvoja algoritama sa grananjem u GRIS-u "Strelochka";

u razvoju:

razvoj informatičke vizije pojava i procesa okolnog svijeta;

edukativni:

vaspitanje informatičke kulture učenika, pažnje, tačnosti, discipline, istrajnosti;

vaspitanje kognitivnog interesovanja školaraca

Struktura lekcije:

I .Organizacioni trenutak (2 min.)

Pozdrav. Provjeravamo prisutne. Tema lekcije.

II

Pismena anketa 2 opcije rada

III

Objašnjavanje uz prezentaciju

Primjer problema s detaljima u dva koraka

Objašnjenje uz pomoć prezentacije „Demonstracija algoritma sa grananjem „Ornament“ u okruženju izvođača Strelochka“.

IV

V . Sažetak lekcije (2 min.)

VI . Domaći (1 min.)

Tokom nastave:

I .Organiziranje vremena

Tema lekcije: “ Grananje i progresivna drill down

Glavne teme pasusa:

komanda grane;
♦ nepotpun oblik grananja;
♦ primjer problema sa detaljima u dva koraka.
(slajd 2)

II . Ažuriranje znanja (5 min.)

Test predmeta:Ciklični algoritmi

Opcija 1

1. Na kojoj od slika je provjereno stanje:

2. Ciklični algoritam je:


    nc
    korak
    kts

    dok ne dođe kraj, ponavljajte
    nc
    korak
    okreni se
    kts

    rano
    korak
    kon

    nc
    korak
    kts

4. Telo ciklusa je:

    grafički način opisivanja algoritma

    ovo je skup instrukcija koje opisuju proceduru kojom izvođač može postići rezultat rješavanja problema u konačnom broju akcija.

    algoritam u kojem se neki niz naredbi mora izvršiti nekoliko puta.

5. Nacrtajte strukturu ciklusa (dijagram toka)

Test predmeta:Ciklični algoritmi

Opcija 2

1. Na kojoj od slika se postupak izvodi:

2. Ciklus je:

  1. algoritam u kojem se neki niz naredbi mora izvršiti nekoliko puta.

    grafički način opisivanja algoritma

    ovo je takva algoritamska struktura u kojoj se vrši ponovljeno ponavljanje jedne (ili više) naredbi.

    ovo je skup instrukcija koje opisuju proceduru kojom izvođač može postići rezultat rješavanja problema u konačnom broju akcija.

3. Potrebno je nacrtati horizontalnu liniju preko cijelog ekrana. Odaberite pravi program:

    rano
    korak
    kon

    nc
    korak
    kts

nc

korak

okreni se

kts

    dok ne dođe kraj, ponavljajte

nc

korak

kts

4. Blok dijagram je:

    niz naredbi uključenih u algoritamsku strukturu "ciklus".

    grafički način opisivanja algoritma

    ovo je skup instrukcija koje opisuju proceduru kojom izvođač može postići rezultat rješavanja problema u konačnom broju akcija.

    algoritam u kojem se neki niz naredbi mora izvršiti nekoliko puta.

5. Napišite program koji ponavlja algoritam.

III . Teorijski dio (20 min.)

Komanda podružnice

Hajde da se upoznamo sa još jednim GRIS timom. Zove se komanda grananja. Format naredbe grananja je:

ako<условие>
onda<серия 1>
inače<серия 2>
sq.(slajd 3)

Servisna riječ kv označava kraj grane.

Kao i do sada, GRIS može provjeriti samo dva uvjeta: „da li postoji ivica naprijed?“ ili “nema kraja ispred nas?”.<Серия>je jedna ili više uzastopnih naredbi. Ako<условие>onda je istina<серия 1>, inače -<серия 2>. Primjer je prikazan na sl. 5.12.

(slajd 4)

Takvo grananje se naziva potpuno.

Nepotpuni oblik grananja

U nekim slučajevima se koristi nepotpuni oblik naredbe grananja (slika 5.13). Na primjer:

ako je ivica ispred
onda okrenite
sq.

(slajd 4)

Nepotpuna naredba grananja ima sljedeći format:

ako<условие>
onda<серия>
sq.

Evo<серия>se izvodi ako<условие>fer.slajd 5)

Hajde da sastavimo posljednji, relativno složen program za GRIS. U ovom primjeru ćete vidjeti da korištenje metode progresivnih detalja olakšava rješavanje nekih "zagonetki" problema.

Primjer problema s detaljima u dva koraka

Zadatak 6. Konstruirajte ornament koji se sastoji od kvadrata smještenih uz rub polja. Početna pozicija HRIS-a je u gornjem lijevom uglu, smjer prema jugu (slika 5.14).

(slajd 6)

Nazovimo proceduru koja crta lanac kvadrata od ruba do ruba polja ROW. Procedura kojom se crta jedan kvadrat naziva se KVADRAT. Hajde da prvo napišemo glavni program.

Ornament program
rano
napravite RED
okreni se
napravite RED
okreni se
napravite RED
okreni se
napravite RED
kon(slajd 7)

Sada napišimo procedure SERIES i KVADRAT:

(slajd 8)

U proceduri SERIES tijelo ciklusa sadrži nepotpunu granu. Struktura takvog algoritma može se nazvati na sljedeći način: petlja sa ugniježđenim grananjem.

Na sl. 5.15 prikazuje blok dijagram RAD procedure.

Kompajliranje ovog programa zahtijevalo je dva koraka za preciziranje algoritma, koji su izvedeni sljedećim redoslijedom:

Sada znate sve komande za kontrolu grafičkog izvršitelja. Mogu se podijeliti u tri grupe: jednostavne naredbe; naredba poziva procedure; strukturne komande. Treća grupa uključuje komande petlje i grananja.

(slajd 9)

IV . Učvršćivanje znanja (15 min.)

Razvoj algoritma "Ornament".

V . Sažetak lekcije (2 min.)

Evaluacija rada učenika na nastavi.

VI . Domaći (1 min.)

§31, pitanja. Spremam se za test(slajd 10)

Pitanja i zadaci

1. Šta je drill down?
2. Od kojih naredbi se mogu sastojati pomoćni algoritmi posljednjeg nivoa detalja?
3. Koji je format naredbe grananja? Koje radnje izvođača određuje?
4. Koja je razlika između potpunog i nepotpunog grananja?
5. Korak-po-korak detaljizirajući, sastavite programe kontrole grafičkih umjetnika kako biste riješili sljedeće zadatke:
nacrtajte cijelo polje vodoravnim isprekidanim linijama;
nacrtati kvadrate u sva četiri ugla polja;
nacrtajte cijelo polje u ćeliji sa stranom jednakom koraku.

>>Računarstvo: Grananje i sekvencijalno detaljiranje algoritma

§ 31. Grananje i uzastopno detaljisanjealgoritam

Glavne teme pasusa:

♦ komanda grane;
♦ nepotpun oblik grananja;
♦ primjer problema sa specifikacijom u dva koraka.

Komanda podružnice

Hajde da se upoznamo sa još jednim GRIS timom. Zove se komanda grananja. Format naredbe grananja je:

ako<условие>
onda<серия 1>
inače<серия 2>
sq.

Servisna riječ kv označava kraj grane.

Kao i do sada, GRIS može provjeriti samo dva uvjeta: „da li postoji ivica naprijed?“ ili “nema kraja ispred nas?”.<Серия>je jedna ili više uzastopnih naredbi. Ako<условие>onda je istina<серия 1>, inače -<серия 2>. Primjer je prikazan na sl. 5.12.

Takvo grananje se naziva potpuno.

Nepotpuni oblik grananja

ako je ivica ispred
onda okrenite
sq.


ako<условие>
onda<серия>
sq.

Evo<серия>se izvodi ako<условие>fer.

Hajde da sastavimo posljednju, relativno složenu program za GRIS. U ovom primjeru ćete vidjeti da korištenje metode progresivnih detalja olakšava rješavanje nekih "zagonetki" problema.

Primjer problema s detaljima u dva koraka

Zadatak 6. Konstruirajte ornament koji se sastoji od kvadrata smještenih uz rub polja. Početna pozicija HRIS-a je u gornjem lijevom uglu, smjer prema jugu (slika 5.14).

Nazovimo proceduru koja crta lanac kvadrata od ruba do ruba polja ROW. Procedura kojom se crta jedan kvadrat naziva se KVADRAT. Prvo napišite glavni program

Ornament program
rano
napravite RED
okreni se
napravite RED
okreni se
napravite RED
okreni se
napravite RED
kon

Sada napišimo procedure SERIES i KVADRAT:

U proceduri SERIES tijelo ciklusa sadrži nepotpunu granu. Struktura takvog algoritma može se nazvati na sljedeći način: petlja sa ugniježđenim grananjem.

Na sl. Dato je 5.15 blok dijagram RAD procedure.

Kompajliranje ovog programa zahtijevalo je dva koraka za preciziranje algoritma, koji su izvedeni sljedećim redoslijedom:

Sada znate sve komande za kontrolu grafičkog izvršitelja. Mogu se podijeliti u tri grupe: jednostavne naredbe; naredba poziva procedure; strukturne komande. Treća grupa uključuje komande petlje i grananja.

Ukratko o glavnom

Naredba grananja ima sljedeći format:

ako<условие>
onda<серия 1>
inače<серия 2>
sq.

Ako<условие>istina, zatim naredbe koje čine<серию 1>ako je lažno, onda -<серию 2>.

Nepotpuna naredba grananja ima sljedeći format:

ako<условие>
onda<серия>
sq.

Ako je uslov tačan, onda<серия>, ako je netačno, odmah prijeđite na sljedeću naredbu algoritma.

Složeni algoritmi se jednostavno grade detaljnim detaljnim detaljima korak po korak.

Pitanja i zadaci

1. Šta je drill down?
2. Od kojih naredbi se mogu sastojati pomoćni algoritmi posljednjeg nivoa detalja?
3. Koji je format naredbe grananja? Koje radnje izvođača određuje?
4. Koja je razlika između potpunog i nepotpunog grananja?
5. Korak-po-korak detaljizirajući, sastavite programe kontrole grafičkih umjetnika kako biste riješili sljedeće zadatke:
nacrtajte cijelo polje vodoravnim isprekidanim linijama;
nacrtati kvadrate u sva četiri ugla polja;
nacrtajte cijelo polje u ćeliji sa stranom jednakom koraku.

Šta biste trebali naučiti iz poglavlja 5

Ovladati programskom kontrolom jednog od obrazovnih grafičkih izvođača.
Pisati linearne programe.
Pišite ciklične programe.
Napišite programe koji sadrže grane.
Opišite i koristite pomoćne algoritme (potprograme).
Primijenite metodu sekvencijalnog detaljiranja.

I. Semakin, L. Zalogova, S. Rusakov, L. Shestakova, Informatika, 9. razred
Dostavili čitaoci sa internet stranica

Sva informatika online, lista tema po predmetima, zbirka sažetaka iz informatike, domaći zadaci, pitanja i odgovori, sažeci informatike 9. razred, planovi časova

Sadržaj lekcije sažetak lekcije podrška okvir prezentacije lekcije akcelerativne metode interaktivne tehnologije Vježbajte zadaci i vježbe samoispitivanje radionice, treninzi, slučajevi, potrage domaća zadaća diskusija pitanja retorička pitanja učenika Ilustracije audio, video i multimedija fotografije, slike grafike, tabele, šeme humor, anegdote, vicevi, strip parabole, izreke, ukrštene reči, citati Dodaci sažetakačlanci čipovi za radoznale cheat sheets udžbenici osnovni i dodatni glosar pojmova ostalo Poboljšanje udžbenika i lekcijaispravljanje grešaka u udžbeniku ažuriranje fragmenta u udžbeniku elementi inovacije u lekciji zamjena zastarjelih znanja novim Samo za nastavnike savršene lekcije kalendarski plan za godinu metodološke preporuke programa diskusije Integrisane lekcije

Ako imate ispravke ili prijedloge za ovu lekciju,

Top Related Articles