DatamaskinerProgramvare

Turbo Pascal. Mens ... do - sløyfe med en forutsetning

Turbo Pascal, men er ikke verdens favorittprogram for programmering, men skaperne, noe som gjør sine første skritt i skriving av programvaren, starter sitt bekjentskap med dette mediet. Det gir et inntrykk av forgreninger, operatorer, funksjoner og prosedyrer, samt mange andre ting. For eksempel i studien programmerer ansikt sykluser i Turbo Pascal: Mens, for og gjenta.

Konseptet av syklusen og dens varianter

En syklus er en repeterende virkning. I dette miljøet, kan du bruke:

  • med parameter (For ... til ... do);
  • med forutsetning (Mens ... Do);
  • en postcondition (Gjenta ... før).

Den første typen er brukt når det er kjent hvor mange skritt i å løse problemet. Det finnes imidlertid en rekke oppgaver, der det er ingen informasjon om hvor mange ganger vil bli gjentatt eller handlingen. I dette tilfellet, Pascal Mens syklus blir uunnværlig, for eksempel, i prinsippet, og gjenta.

Strukturen av syklusen

Hva er essensen av arbeidet i Pascal Mens, For og gjenta sykluser? I slike konstruksjoner allokere et hode og et legeme. Den første komponenten i de angitte variabler som vil "arbeid" er angitt ved forholdene på gyldighetsperioden til hvilken legemet skal kunne utføres. I den andre delen av foreskrevet uttrykk som skal brukes i tilfelle av tilstanden, altså. E. True, i stedet for False.

Når iterasjon er utført på den siste linje av koden, og deretter går den tilbake til den øverste del, hvor tilstanden er testet. Hvis sannheten operasjoner gjentas, og i tilfelle av brudd på programmet "Exit" fra syklusen og utfører videre drift.

Følger utseende mens loop. Pascal ABC og slike programmer krever å skrive slik kode:

  • Mens tilstand gjør;
  • Begynn;
  • Sløyfen legeme;
  • End.

I det tilfelle at sløyfen blir utført en operatør (1-virkning), så blir "parentes» begynne ... enden kan utelates.

Flytskjema syklus

Turbo Pascal Mens følgende funksjoner:

  • inne i strukturen kan være vanskelig å bruke betingelser;
  • etter ordet gjør bør ikke være et komma (det er ansett som en feil i Turbo Pascal og Pascal ABC);
  • variabel, konstant eller uttrykk som fungerer når et svar Falske utgangs dem subrutiner må nødvendigvis være logisk type, dvs.. e. boolske.

Det er som følger blokkdiagram av sorten syklusen. Det viser sekvensen til etablering av tiltak.

Algoritmen av syklusen

.. I den enkleste programmeringsmiljøer, m og h i Pascal ABC, mens sløyfen virker på følgende prinsipp:

  • .. Gitt iterasjon, det vil si, repetisjon, vil finne sted så mange ganger så lenge betingelsen er sann (true);
  • så snart tilstanden er ikke fornøyd og gir False svar (eller annet "False"), operatøren ut av loopen;
  • så snart det skjedde, programmet "gikk" i utformingen vises etter syklus.

Dette er en vesentlig forskjell fra Mens Repeat, t. E. En pre-syklus fra postconditions.

Det er viktig å ta med i sløyfen endelige endring i en gitt variabel header Mens. I alle fall bør noensinne kommer en situasjon som gir til False. Ellers vil det være en loop, og deretter må ta ytterligere tiltak for å gå ut av kompilatoren. Slike feil anses uhøflig og utilgivelig.

Hvordan avslutte programmet når jeg sykler?

Ofte situasjonen oppstår når føreren gir Mens Pascal løkke i den skriftlige programkode. Hva betyr dette? Iterasjon gjentas et uendelig antall ganger, fordi tilstanden er alltid sant. For eksempel denne koden fragment:

  • Mens to> 1 do;
  • Write (1).

I dette tilfellet, å avbryte gjennomføringen av oppgaven, bare trykk CTRL + F2.

Det er 2 måter å kontrollere oppførselen til et slikt program. For eksempel, hvis en skrive Fortsett kode som overlater kontrollen til begynnelsen av den sykliske struktur (heri sløyfen utgang tilstand overvåkes, dvs. E utførelsen av den eksisterende iterasjon er brutt). Da styringen overføres i en sløyfe mens i den foregående test.

Break operatøren kan avbryte utførelsen av hele syklusen og overføre kontrollen til den neste iterasjon. Her vil produksjonen av konstruksjonen ikke kontrolleres. Bildet viser eksempler på bruk av disse aktørene.

Møte utfordringene

Tenk Selv i drift syklus. Pascal foreslår å løse problemet variert. La oss vurdere en enkel å forstå operasjonen. Løses oppgaver i Pascal ABC-programmet. Men vil bli presentert og bildet av klassisk Turbo Pascal miljø for sammenligning.

Oppgave 1: gitt funksjonen Y = 5-X ^ 2/2. Opprette en tabell over verdier i trinn sh = 0,5 over intervallet [-5, 5].

Algoritmen er:

  • sette en variabel X til en første verdi som svarer til 5 (det vil si i begynnelsen av spalten ..);
  • beregne en Y-verdi, mens den variable x ikke kommer frem til enden av nevnte intervall;
  • vise verdiene av funksjonen og abscissen (X);
  • X øker med en forutbestemt trinn.

Her er koden i Pascal ABC-programmet.

Hvordan koden i Turbo Pascal program. Bildet nedenfor illustrerer dette.

Oppgave 2: gitt en matrise A som består av hele positive og negative tall. Den inneholder 10 artikler. Behovet for å danne en matriks i hvilken de positive elementer i matrisen A er vist å ha en enda indeks. Vise summen av kvadratene i antall ny matrise.

Algoritmen er:

  • Du må skrive en rutine som vil "jobbe" bare med elementer av matrisen A som har en enda indeks. I den sløyfevariable verdi som svarer til paritets på indeksen vil bli inkrementert med to.
  • Hvis tallet er en enda indeks fra matrisen A svarer til betingelsen x> 0, telleren matrisen inkrementert med 1. Den aktuelle verdi av telleren variable vil være indeksen for kopiantall i gruppen B.
  • I utgangspunktet variabelen summa, er ansvarlig for å finne summen av kvadratene av positive heltall, er satt til 0. Da vil operasjonen utføres: til forrige sum legges den nye verdien av et kvadrat.
  • Ikke vær redd, om ikke alle positive tall flyttet fra en rekke til en annen. Du må være forsiktig. Mange uerfarne programmerere å skrive koden i panikk. Det er nødvendig å nøye undersøke tilstanden: positive tall som er på selv "lokale", dvs. med indekser som er multipler av 2 ...

Manuell sporing er nødvendig for å sikre at beregningen av lojalitets. Noen ganger, ved hjelp av denne metoden kan identifisere feil som ikke fanger øyet ved normal inspeksjon av den skriftkoden.

Hvis vi utfører manuelle beregninger, er det mulig å sikre at programmet fungerer. Dette, i sin tur, sa at kodegenereringsalgoritmen er korrekt, vil sekvensen av handlinger fører til en logisk ende.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 no.delachieve.com. Theme powered by WordPress.