Forgrenings- og sekvensiell algoritmedetaljering - Kunnskapshypermarked. Oppsummering av en leksjon i informatikk om emnet "Forgrening og sekvensiell detaljering av algoritmen" (grad 9)

Sekvensiell detaljeringsmetode.

Informatikk klasse 11

MOU "Lyceum School No. 1"

Alushta

Lærer: Litvinovich V.P.


Den sekvensielle foredlingsmetoden er en av hovedmetodene for strukturert programmering.

Essensen av denne metoden er å utvikle komplekse algoritmer ved å bygge et hierarki

deloppgaver.


Essensen av metoden:

  • Det opprinnelige problemet analyseres.
  • Underoppgaver er uthevet.
  • Et hierarki av deloppgaver bygges
  • En algoritme (program) for hovedoppgaven er utarbeidet
  • En hjelpealgoritme (subrutiner) kompileres med en sekvensiell utdyping av nivået.


Eksempel 1 Beregn arealet av den konvekse N-gon gitt av koordinatene til dens toppunkter.

Finn arealet av en konveks polygon:

Polygonområde

er definert som summen

firkanter N-2 trekanter.

S- en trekant er definert:

i henhold til Herons formel

S = √ (p (p-a) (p-b) (p-c)


Det første trinnet med detaljering Sidene i en trekant bestemmes av Pythagoras teorem: Innledende data, koordinatene til toppunktene til trekanten kan settes ved hjelp av en matrise:

Dataorganisasjon


Andre trinn med detaljering: La oss programmere prosedyren Treugolnik. I subrutinedelen av denne prosedyren skriver vi bare subrutinegrensesnittet Linje ved å lage en funksjon.


Det tredje trinnet med detaljering La oss programmere funksjonen Linje. Koordinatene til endene av segmentet er satt av parametrene: x en, Y en – Første punkt, x b, Ha b er den andre.

Vi samler alle trinnene som er tatt og lager et program:

………………………………………………………………………………………… ..



Bruk av den sekvensielle drill-down-metoden

  • Flere spesialister jobber med et stort programvareprosjekt.
  • Teamlederen designer flernivåstrukturen til algoritmen og komponerer hovedprogrammet, og tildeler skriving av subrutiner til andre programmerere.
  • Programmerere må bli enige om grensesnittet til subrutinene: navn, parametere.
  • Internt er subrutinen programmererens arbeid
  • Store prosjekter av subrutiner er kombinert til MODULER.

Hjemmelekser. § 2.2.11 juks. Huske


Praktisk arbeid nr. 6. Kontroller programmets funksjon N ugolnik

Sett N = 4

Beregn arealet av en firkant med sidelengder like 2 og koordinatene til toppunktene:

Få resultatet.

Lekse: Informatikk og IKT karakter 9

Lærer: Vafina Leysan Alexandrovna

Leksjonsemne: Hjelpealgoritmer. Sekvensiell detaljeringsmetode og monteringsmetode.

Mål:

    Bekjentskap med nye konsepter: hjelpealgoritme, metode for trinn-for-trinn detaljering av algoritmen, med pil;

    dannelse av ferdighetene til å jobbe med hjelpealgoritmer;

    konsolidering av ferdigheter i å tegne lineære algoritmer, algoritmer med grener og løkker, arbeid i en gruppe;

Oppgaver:

    pedagogisk - å studere konseptene: hjelpealgoritme, trinnvis detaljering av algoritmen, dannelse av ferdigheter i å utarbeide grunnleggende og hjelpealgoritmer, tillatte handlinger til Arrow-utøveren;

    utvikle seg - utvikling av algoritmisk tenkning, hukommelse, oppmerksomhet, logisk tenkning, kognitiv interesse, kommunikativ kultur, pedagogisk og kognitiv kompetanse;

    pedagogisk - utvikling av kognitiv interesse, for å fremme oppdragelse av barmhjertighet, ansvar, gjensidig forståelse, gjensidig respekt, gjensidig hjelp og støtte hos barn.

Hardware og software: PowerPoint-presentasjoner. ( )

Timeplan:

    Organisering av tid.

    Motivasjon, målsetting, problemstilling.

    Forklaring av det nye materialet.

    Forankring.

    Leksjonssammendrag.

I løpet av timene

I. Organisatorisk øyeblikk

Hilsener. Sjekker de tilstedeværende. Etablering av psykologisk og følelsesmessig kontakt med barn.

II. Motivasjon, målsetting, problemstilling

Mange av dere tilbrakte sommeren på ferie i naturen. La oss huske denne fantastiske tiden på året, prøv å forestille oss hvordan vi skal ta en tur til elven. Vi må krysse elven med båt. En algoritme for å krysse elven er nødvendig, gitt at kun to personer får plass i båten. La oss prøve å komponere den.

Som et resultat av dialogen vises en algoritme på tavlen :

Algoritme:

    Ta en båt til to turister

    Svømme over

    Slipp av én turist

    Svømme over

    Ta en båt til en turist

    Svømme over

    Slipp av én turist

    Svømme over

    Ta en båt til en turist

    Svømme over

    Gå i land for alle turister

Hvilken funksjon kan noteres i denne algoritmen?

(Merk repetisjon av kommandoer 2-9.)

Vi mistet mye tid på å registrere repeterende kommandoer. Hvordan kan du forkorte notasjonen til denne algoritmen? Vi vil kunne svare på dette spørsmålet etter å ha vurdert dagens tema for leksjonen: "Hjelpealgoritmer".

I dag vil vi bli kjent med konseptet "hjelpealgoritme", vurdere reglene for utforming av hjelpealgoritmer.

Leksjonsspørsmål:

    Hvilke algoritmer kalles hjelpemidler?

    Hvordan dannes slike algoritmiske strukturer?

III. Forklaring av det nye materialet.

La oss bringe de repeterende handlingene inn i en egen algoritme, som vi vil kalle - Ferry. Se hvordan algoritmen vår vil se ut:

Algoritme:

    Ta en båt til to turister

    Utfør Crossing-algoritmen

    Utfør Crossing-algoritmen

    Svømme over

    Gå i land for alle turister

Algoritmen vi mottok vil bli kalthoved , og Crossing-algoritmen vil værehjelpemiddel.

Svømme over

Slipp av én turist

Svømme over

Ta en båt til en turist

    Ta en båt til to turister

    Utfør Crossing-algoritmen

    Utfør Crossing-algoritmen

    Svømme over

    Gå i land for alle turister

Hjelpealgoritme - en algoritme med en header slik at den kan kalles fra andre algoritmer.

IV. Forankring

Utøveren Arrow har tillatt handlinger:

Tegn en linje 1 cm lang i pilens retning.

Flytt 1 cm i pilens retning uten å trekke en linje.

Snu 90º til venstre rundt begynnelsen av pilen.

    Steg.

    Sprette.

    Sving

Oppgave. Lag en algoritme for å konstruere et bilde med en pil:

Algoritme:
Steg
Sving

Sving

Sving
Steg

Sving
Steg
Sving

Sving

Sving
Steg

Sving
Steg
Sving

Sving

Sving
Steg

Sving
Steg

Sving

Sving

Sving
Steg

vil markere startposisjonen til pilen i figuren.

La oss bruke teorien om hjelpealgoritmer på denne algoritmen.

Identifiser et gjentakende element i algoritmen.

Lag "Trinn"-algoritmen

Hvordan vil hovedalgoritmen se ut?

Trinnalgoritme:
Steg
Sving

Sving

Sving
Steg
Sving
Steg
Sving

Sving

Sving
Steg
Grunnleggende algoritme:
Utfør trinnalgoritmen
Sving

Utfør trinnalgoritmen

Måten å bryte ned en kompleks oppgave i flere enkle oppgaver kallessekvensiell detaljering av algoritmen.

V. Leksjonssammendrag.

Hvilke spørsmål ble reist foran oss?

Har du fått svar på spørsmålene dine?

Analyse, kontroll, karaktersetting.

TEMA: "GRENINGS- OG SEKVENSIELLE DETALJER OM ALGORITIMEN"
Leksjonens mål:
Pedagogisk:
1. Introduser elevene til forgreningskommandoen.
2. vis et eksempel på et problem med to-trinns detaljering.
Pedagogisk:
utdanning av informasjonskultur, oppmerksomhet, nøyaktighet, utholdenhet.
Utvikler:
1. utvikling av selvkontroll;
2.utvikling av kognitive interesser
Leksjonstype: kombinert
Leksjonstype: leksjon i forklaring og primær konsolidering av materialet
Utstyr: brett, datamaskiner, projektor
Lærebok: Semakin "Informatikk og IKT" klasse 9
Timeplan:
Organisatorisk øyeblikk, sjekke lekser.
Forklaring av det nye materialet.
Den praktiske delen.
Oppsummering av leksjonen.
Hjemmelekser.
I løpet av timene
Læreraktiviteter Elevaktiviteter
1 Hei folkens! Sitt ned! I dag skal vi studere forgreningsalgoritmen.
Leksesjekk 2 Grenkommando
La oss bli kjent med enda et GRIS-team. Det kalles en forgreningskommando. Formatet til grenkommandoen er som følger:
hvis<условие>deretter<серия 1>ellers<серия 2>kv Ordet kv betegner slutten av en gren.
Som før kan GRIS kun sjekke to forhold: "er det en fordel fremover?" eller "ikke kanten foran?"<Серия>er en eller flere kommandoer som følger etter hverandre. Hvis<условие>er sant altså<серия 1>, ellers -<серия 2>.
La oss tegne et blokkdiagram.
Slik forgrening kalles fullstendig.
Ufullstendig forgreningsskjema
I noen tilfeller brukes en ufullstendig form av grenkommandoen
For eksempel:
hvis kanten er foran, snu blokkskjemaet:
En ufullstendig grenkommando har følgende format:
hvis<условие>deretter<серия>kvher<серия>utføres hvis<условие>rettferdig.
La oss komponere et relativt komplekst program for GRIS. I dette eksemplet vil du se at bruken av den sekvensielle drill-down-metoden gjør det lettere å løse noen av de "forvirrende" problemene.
Et eksempel på en oppgave med to-trinns drill-down
Oppgave 6. Konstruer en ornament bestående av firkanter plassert langs kanten av feltet. Startposisjonen til GRIS er i øvre venstre hjørne, retning sør.
Prosedyren som tegner en kjede av firkanter fra kant til kant av feltet kalles ROW. Fremgangsmåten som tegner én rute kalles FIRKANT. Skriv først hovedprogrammet Ornamentnach gjør RAD-svingen gjør RAD-svingen gjør RAD-svingen gjør RADDEN
La oss nå skrive ROW- og SQUARE-prosedyrene:

I en ROW-prosedyre inneholder løkkelegemet ufullstendig forgrening. Strukturen til en slik algoritme kan kalles slik: en løkke med nestet forgrening.
flytskjema over ROW-prosedyren.

Sammenstillingen av dette programmet krevde to trinn med detaljering av algoritmen, som ble utført i følgende sekvens:

Nå vet du alle kommandoene for å kontrollere den grafiske eksekveren. De kan deles inn i tre grupper: enkle kommandoer; prosedyre kall kommando; strukturelle team. Den tredje gruppen inkluderer looping og forgrening kommandoer.

Vedlegg 1.
3 La oss gå videre til den praktiske delen av leksjonen vår.
Last ned fil D_1 nivå
Utvikle en algoritme for å flytte fra punkt A til punkt B i en rett linje ved å tegne et spor. Avstanden fra A til B er ikke kjent på forhånd. Men det er sikkert kjent at bak punkt B, i en avstand på en celle fra det, er det en vegg. Bruk denne veggen for å fullføre bevegelsen nøyaktig ved punkt B: etter å ha hoppet fremover, sjekk om det er en vegg foran, og hvis det ikke er noen vegg, gå tilbake og legg igjen et spor.
Last inn fil D_2 nivå
Utvikle en algoritme for å flytte utøveren fra punkt A til punkt B med å overvinne tre par "hoppende" vegger som dukker opp på veien. Stien skal være synlig. Bruk prosedyren for å overvinne ett par vegger.
Last inn fil D_3 nivå Vedlegg 2
Vedlegg 3
Vedlegg 4
4 Oppsummering av leksjonen, markering. 5 Lekser s. 31,

Vedlegg 1.

Vedlegg 2

Vedlegg 3

Vedlegg 4


Vedlagte filer

Tilnærmingen vi har brukt gjør det lettere å programmere komplekse problemer. Oppgaven er brutt ned i enklere deloppgaver. Løsningen til hver enkelt er formalisert i form av en hjelpealgoritme, og hovedalgoritmen organiserer en kobling mellom dem.

En programmeringsmetode der hovedprogrammet først skrives, kaller til ennå ikke sammensatte subrutiner skrives i det, og deretter disse subrutinene beskrives, kalles ved metoden med sekvensiell (trinn-for-trinn) detaljering... Dessuten kan antallet detaljeringstrinn være mye større enn i vårt eksempel, siden subrutinene i seg selv kan inneholde anrop til andre subrutiner i seg selv.

Monteringsmetode

En annen tilnærming til konstruksjon av komplekse programmer er også mulig: til å begynne med kompileres et sett med subrutiner som kan være nødvendig for å løse problemet, og deretter skrives hovedprogrammet som inneholder anrop til dem. Subrutiner kan kombineres til bibliotek med rutiner og lagret i datamaskinens ikke-flyktige minne. Et slikt bibliotek kan gradvis suppleres med nye subrutiner.

For eksempel, hvis et bibliotek med prosedyrer for å tegne alle bokstaver og tall er opprettet for å kontrollere en grafiker, vil programmet for å hente tekst bestå av kommandoer for å ringe biblioteksprosedyrer.

Den beskrevne metoden kalles monteringsprogrammering... Denne terminologien brukes ofte i programmeringslitteraturen: metoden for sekvensiell detaljering kalles programmering ovenfra og ned og monteringsmetoden er programmering nedenfra og opp.

Kort om det viktigste

For å forenkle programmeringen av komplekse problemer, brukes hjelpealgoritmer.

En hjelpealgoritme er en algoritme for å løse et delproblem av det opprinnelige (hoved)problemet.

En hjelpealgoritme skrevet i et programmeringsspråk kalles en prosedyre.

En hjelpealgoritme bør beskrives. Etter det, i hovedalgoritmen, kan du bruke kommandoen til å referere til denne hjelpealgoritmen.

En programmeringsmetode der hovedalgoritmen først skrives ned og deretter hjelpealgoritmene som brukes i den beskrives, kalles sekvensiell detaljering, eller top-down programmering. Omvendt rekkefølge av programmering kalles programmering nedenfra og opp.

Spørsmål og oppgaver

1. Hva er hovedalgoritmen; hjelpealgoritme?



2. Hva er forskjellen mellom beskrivelsen av hjelpealgoritmen og appellen til hjelpealgoritmen?

3. Hva er reglene for å beskrive hjelpealgoritmer (prosedyrer) for GRIS-utøveren?

4. Hvordan er kommandoen om å referere til prosedyren skrevet på språket til GRIS-utøveren?

5. Hva er essensen av den sekvensielle detaljeringsmetoden?

6. Hva er nedenfra og opp programmering; ovenfra og ned?

7. Bruk hjelpealgoritmene til å programmere tegningen av følgende former.

EC CRC: del 2, kapittel 5, § 29. CRC nr. 6, 9-12, 14, 15.

Sykliske algoritmer

Hovedtemaene i avsnittet:

loop kommando;

løkke i prosedyren;

blokkskjemaer av algoritmer;

løkke med forutsetning.

Syklus kommando

La oss diskutere løsningen på neste problem.

Oppgave 3... Utgangsposisjon: GRIS - i venstre kant av feltet, retning - mot øst. Du vil tegne en horisontal linje over hele skjermen.

Problemet kan løses ved å skrive trinnkommandoen 15 ganger (hvis det er 15 trinn på tvers av figurens felt). Men det finnes også en kortere versjon av programmet. Her er det:

samtidig som ikke kanten foran å gjenta

Kommandoen som brukes her kalles en loop. Formatet til loop-kommandoen er som følger:

samtidig som< tilstand > gjenta

<тело цикла>

Tjenesteord nts betegner begynnelsen av en syklus, kts- slutten av syklusen. Dette er den første kommandoen fra SKI som implementerer tilbakemelding mellom grafikeren og datamaskinen som styrer ham. Den består i å sjekke om GRIS har nådd kanten av feltet, om den er truet med neste steg eller hopper i denne retningen med en ulykke. Betingelsene som skal kontrolleres er som følger: " er kanten foran?"eller" er ikke kanten foran?". som maskinen mottar svaret på fra eksekutøren " Ja"eller" Nei».

I det gitte eksemplet er betingelsen "er ikke kanten foran?" Hvis ja, tas et skritt (dvs.<тело цикла>). Så er det retur for å sjekke tilstanden, og alt gjentas. Hvis kontrollen av tilstanden gir et negativt resultat (det vil si at det er en kant foran), avsluttes utførelsen av syklusen og neste programkommando etter syklusen er utført.



Når du programmerer en loop, er det viktig å tenke på slutten av loopen. Syklusen registrert ovenfor er endelig. Ved å bevege seg i én retning vil utøveren definitivt nå kanten, og det er her syklusen slutter.

Situasjonen der utførelsen av løkken aldri slutter kalleslooping. La GRIS være midt i feltet. Utførelse av følgende syklus:

samtidig som ikke kanten foran å gjenta

Sving

vil aldri ende. GRIS vil uendelig tegne en firkant, siden du sjekker betingelsen "er det ingen kant foran?" vil alltid gi et positivt svar.

Løkke i prosedyre

Oppgave 4. La oss nå komponere et program i henhold til hvilket grafikeren vil tegne en rektangulær ramme langs kanten av feltet (fig. 1.6). Utgangsposisjon: GRIS er i øvre venstre hjørne, vendt mot sør.

Rammen er bygd opp av fire linjer, så det er lurt å bruke en kant-til-kant-prosedyre. Igjen vil vi handle etter metoden for sekvensiell detaljering. La oss skrive hovedprogrammet først.

Vi har allerede vurdert programmet for å trekke streken. Det gjenstår å ordne det i form av en prosedyre.

fremgangsmåte LINJE

samtidig som ikke kanten foran å gjenta

Ved kompilering av dette programmet ble ett-trinns detaljering brukt i følgende sekvens:

Algoritme flytskjemaer

Fra 50-tallet av forrige århundre, det vil si fra den første generasjons datamaskiner, begynte programmerere å bruke grafiske diagrammer som skildrer algoritmer, som ble kalt blokkdiagrammer.

Blokkdiagrammet består av figurer (blokker) som indikerer handlingene til utøveren, og piler som forbinder disse blokkene og indikerer rekkefølgen av deres utførelse. Innenfor hver blokk registreres den utførte handlingen. Formen på blokken antyder arten av handlingen den betegner. Alle grafiske elementer er standardisert for å gi klarhet og enhetlighet til algoritmene.

Se på fig. 1.7, som viser et blokkskjema over algoritmen for å tegne en ramme. Den består av to deler: et blokkskjema over hovedalgoritmen og et blokkskjema for en hjelpelinjealgoritme.

Fra disse diagrammene er formålet med blokker av ulike former tydelig (fig. 1.8).

Løkke med forutsetning

Sykluskommandoen er ikke avbildet som en egen blokk, men som en hel struktur, vist i fig. 1.8. Denne strukturen kalles forhåndsbetinget sløyfe(siden tilstanden går foran løkkens kropp). Det er en annen versjon av navnet: sykle farvel(mens betingelsen er sann, gjentas utførelsen av løkkelegemet).

Når vi skal løse neste problem, vil vi igjen bruke metoden

konsekvente detaljering.

Oppgave 5. Det er påkrevd å tegne feltet med horisontale linjer (fig. 1.9). Utøverens opprinnelige tilstand: øvre venstre hjørne, retning - sør.

Programmet bruker samme LINE-prosedyre for å løse dette problemet. En annen prosedyre - RETURN - returnerer GRIS til venstre kant av feltet for å tegne neste linje.



Blokkdiagrammer av hoved- og hjelpealgoritmene er vist i fig. 1.10.

Kort om det viktigste

For å programmere repeterende handlinger brukes en loop-kommando, som har følgende struktur:

samtidig som <условие> å gjenta

<тело цикла>

Sløyfekommandoen implementerer tilbakemelding mellom kontrollobjektet og kontrollsystemet. Kontroll av tilstanden gir informasjon til kontrollsystemet om tilstanden til kontrollobjektet.

I en sløyfe med en forutsetning, hvis den sjekkede betingelsen er oppfylt (true), blir kommandoene som utgjør hoveddelen av løkken utført. Hvis betingelsen er falsk, avsluttes løkken.

Når du programmerer en syklus, må du passe på å unngå looping.

Et blokkdiagram er en grafisk måte å beskrive en algoritme på. Blokkene indikerer handlingene til utøveren, og pilene som forbinder dem indikerer rekkefølgen av handlinger.

Spørsmål og oppgaver

1. Hva er en syklus? Hvordan skrives loop-kommandoen?

2. Hva er en loop-tilstand? Hva er en løkkekropp?

3. Når går algoritmen i loop?

4. Hva er et blokkskjema?

5. Hvilke blokker er flytskjemaene laget av (hvordan er de avbildet og hva betyr de)?

6. Hva betyr pilene i flytskjemaene?

7. Lag et program som overfører GRIS til hjørnet av feltet fra en hvilken som helst starttilstand.

8. Lag et program for å tegne en rektangulær ramme langs kanten av feltet ved enhver starttilstand for utøveren.

EC CRC: Del 2, kapittel 5, § 30. CRC nr. 5, 10-13, 16-18.

Leksjonstype: en leksjon i å konsolidere kunnskap og lære nytt materiale.

Leksjonstype: kombinert leksjon (forelesning og praksis).Leksjonens mål: Allmennutdanning:

å danne seg en idé blant elevene om de grunnleggende begrepene i emnet: forgreningskommandoen, en ufullstendig form av forgreningskommandoen;

å utvikle ferdigheter i utviklingen av algoritmer med forgrening i GRIS "Strelochka";

Utvikler:

utvikling av informasjonssyn om fenomenene og prosessene i omverdenen;

Pedagogisk:

utdanning av informasjonskultur av studenter, oppmerksomhet, nøyaktighet, disiplin, utholdenhet;

utdanning av kognitive interesser til skolebarn

Leksjonsstruktur:

Jeg .Organisasjonsøyeblikk (2 min.)

Hilsener. Sjekker de tilstedeværende. Leksjonsemnemelding.

II

Skriftlig undersøkelse 2 alternativer for arbeid

III

Forklarer med en presentasjon

Et eksempel på en oppgave med to-trinns detaljering

Forklaring ved hjelp av presentasjonen "Demonstrasjon av algoritmen med" Ornament "forgrening i miljøet til Arrow-kunstneren".

IV

V ... Leksjonssammendrag (2 min.)

VI ... Lekser (1 min.)

I løpet av timene:

Jeg .Organisering av tid

Leksjonens emne: " Forgrening og sekvensiell granularitet

Hovedtemaene i avsnittet:

gren kommando;
♦ ufullstendig forgreningsform;
♦ et eksempel på et problem med to-trinns detaljering.
(lysbilde 2)

II ... Kunnskapsoppdatering (5 min.)

Test om emnet:Sykliske algoritmer

valg 1

1.I hvilken av figurene er tilstanden kontrollert:

2. Den sykliske algoritmen er:


    nts
    steg
    kts

    til kanten er foran, gjenta
    nts
    steg
    sving
    kts

    tidlig
    steg
    lure

    nts
    steg
    kts

4. Syklusens kropp er:

    grafisk måte å beskrive algoritmen på

    det er et sett med instruksjoner som beskriver rekkefølgen av handlinger til eksekutøren for å oppnå resultatet av å løse problemet i et begrenset antall handlinger.

    en algoritme der en sekvens av kommandoer må utføres flere ganger.

5. Tegn strukturen til løkken (flytskjema)

Test om emnet:Sykliske algoritmer

Alternativ 2

1.I hvilken av figurene utføres prosedyren:

2. En løkke er:

  1. en algoritme der en sekvens av kommandoer må utføres flere ganger.

    grafisk måte å beskrive algoritmen på

    det er en slik algoritmisk struktur der flere repetisjoner av en (eller flere) kommandoer utføres.

    det er et sett med instruksjoner som beskriver rekkefølgen av handlinger til eksekutøren for å oppnå resultatet av å løse problemet i et begrenset antall handlinger.

3. Du vil tegne en horisontal linje over hele skjermen. Velg riktig program:

    tidlig
    steg
    lure

    nts
    steg
    kts

nts

steg

sving

kts

    til kanten er foran, gjenta

nts

steg

kts

4. Blokkskjemaet er:

    sekvens av kommandoer inkludert i den algoritmiske strukturen "løkke".

    grafisk måte å beskrive algoritmen på

    det er et sett med instruksjoner som beskriver rekkefølgen av handlinger til eksekutøren for å oppnå resultatet av å løse problemet i et begrenset antall handlinger.

    en algoritme der en sekvens av kommandoer må utføres flere ganger.

5. Skriv et program for looping av algoritmen.

III ... Teoretisk del (20 min.)

Grenkommando

La oss bli kjent med enda et GRIS-team. Det kalles en forgreningskommando. Formatet til grenkommandoen er som følger:

hvis<условие>
deretter<серия 1>
ellers<серия 2>
sq.(lysbilde 3)

Tjenesteordet kv betegner slutten på en gren.

Som før kan GRIS kun sjekke to forhold: "er det en fordel fremover?" eller "ikke kanten foran?"<Серия>er en eller flere kommandoer som følger etter hverandre. Hvis<условие>er sant altså<серия 1>, ellers -<серия 2>... Et eksempel er vist i fig. 5.12.

(lysbilde 4)

Slik forgrening kalles fullstendig.

Ufullstendig forgreningsskjema

I noen tilfeller brukes en ufullstendig form av grenkommandoen (Figur 5.13). For eksempel:

hvis kanten er foran
så snu
sq.

(lysbilde 4)

En ufullstendig grenkommando har følgende format:

hvis<условие>
deretter<серия>
sq.

Her<серия>utføres hvis<условие>rettferdig.lysbilde 5)

La oss komponere det siste, relativt komplekse programmet for GRIS. I dette eksemplet vil du se at bruken av den sekvensielle drill-down-metoden gjør det lettere å løse noen av de "forvirrende" problemene.

Et eksempel på en oppgave med to-trinns drill-down

Oppgave 6. Konstruer en ornament bestående av firkanter plassert langs kanten av feltet. Utgangsposisjonen til GRIS er i øvre venstre hjørne, retningen mot sør (fig. 5.14).

(lysbilde 6)

Prosedyren som tegner en kjede av firkanter fra kant til kant av feltet kalles ROW. Fremgangsmåten som tegner én rute kalles FIRKANT. La oss skrive hovedprogrammet først.

Utsmykningsprogram
tidlig
gjør en RAD
sving
gjør en RAD
sving
gjør en RAD
sving
gjør en RAD
lure(lysbilde 7)

La oss nå skrive ROW- og SQUARE-prosedyrene:

(lysbilde 8)

I en ROW-prosedyre inneholder løkkelegemet ufullstendig forgrening. Strukturen til en slik algoritme kan kalles som følger: en løkke med nestet forgrening.

I fig. 5.15 er et flytskjema over ROW-prosedyren.

Sammenstillingen av dette programmet krevde to trinn med detaljering av algoritmen, som ble utført i følgende sekvens:

Nå kjenner du alle kommandoene for å kontrollere den grafiske eksekveren. De kan deles inn i tre grupper: enkle kommandoer; prosedyre kall kommando; strukturelle team. Den tredje gruppen inkluderer looping og forgrening kommandoer.

(lysbilde 9)

IV ... Konsolidering av kunnskap (15 min.)

Utarbeidelse av "Ornament"-algoritmen

V ... Leksjonssammendrag (2 min.)

Vurdering av arbeidet til elevene i timen.

VI ... Lekser (1 min.)

§31, spørsmål. Forbereder til prøven(lysbilde 10)

Spørsmål og oppgaver

1. Hva er trinnvis detaljering?
2. Hvilke kommandoer kan hjelpealgoritmene til siste detaljnivå bestå av?
3. Hva er formatet til forgreningskommandoen? Hvilke handlinger til utøveren bestemmer?
4. Hva er forskjellen mellom full forgrening og ufullstendig forgrening?
5. Ved trinn-for-trinn-detaljering, komponer programmer for å kontrollere en grafisk eksekvering for å løse følgende oppgaver:
tegne hele feltet med horisontale stiplede linjer;
tegne firkanter i alle fire hjørner av feltet;
tegne hele feltet inn i et bur med en side lik trinnet.