KompjûtersSoftware

Turbo Pascal. Wylst ... do - loop mei in betingst

Turbo Pascal, al is net de wrâld syn favorite applikaasje foar programmearjen, mar de makkers, wêrtroch harren earste stappen op it skriuwen fan 'e software, begjinne harren kennismaking mei dit medium. It jout in idee fan de fertakkingen, operators, funksjes, en prosedueres, en ek in soad oare saken. Bygelyks, yn 'e stúdzje programmeur antlit fytst yn Turbo Pascal: Wylst, foar en Repeat.

It konsept fan de syklus en syn farianten

In syklus is in werheljende aksje. Yn dizze omjouwing, brûk:

  • mei parameter (Foar ... to ... taak);
  • mei it betingst (Wylst ... do);
  • a postcondition (werhelje ... oant).

It earste type wurdt brûkt as it is bekend hoefolle stappen by it oplossen fan it probleem. Lykwols, der binne in oantal taken, dêr't der gjin ynformaasje oer hoefolle kearen werhelle wurde of dat aksje. Yn dit gefal, Pascal Wylst fytse wurdt ûnmisbere, lykas, yn prinsipe, en werhelje.

De opbou fan de syklus

Wat is de essinsje fan it wurk yn 'e Pascal Wylst, foar en Werhelje fytst? Yn sokke konstruksjes Reservear romte foar in kop en in lichem. It earste ûnderdiel fan de opjûne fariabelen dy't sil "wurk" binne oantsjutte troch de betingsten oan de jildichheid perioade dêr't it lichem sil útfierd wurde. Yn it twadde part fan foarskreaun ekspresjes te brûkt wurde yn it gefal fan 'e tastân, dat wol sizze. E. True De, ynstee fan falske The.

Wannear't mei werhellingen wurdt útfierd op 'e lêste rigel fan' e koade, dan jout oan 'e kop, dêr't de betingst wurdt hifke. As wierheid operaasjes wurde werhelle, en yn it gefal fan in ynbreuk op it programma "Utgong" út 'e syklus en docht fierder operaasjes.

Folget looks Wylst loop. Pascal ABC en sokke programma fereaskje skriuwen sokke koade:

  • Wylst condition do;
  • begjinne;
  • De loop body;
  • Ein.

Yn it gefal dat de loop wurdt útfierd 1 operator (1 aksje), dan de "heakjes» begjinne ... ein kin weilitten.

Flowchart cycle

De Turbo Pascal Wylst de neikommende funksjes:

  • binnen de struktuer kin wêze dreech te brûken betingsten;
  • neidat it wurd dwaan moat net wêze in komma (it wurdt beskôge as in brek yn Turbo Pascal en Pascal ABC);
  • fariabele, konstante of útdrukking dat tsjinnet as in antwurd falske output se Subroutines moatte needsaaklik wêze logyske type, dws. e. Boolean.

It is as folget blok diagram fan it ferskaat syklus. It toant de opienfolging fan útfiering aksjes.

De algoritme fan de syklus

.. Yn de simpelste programmearring omjouwings, m en h yn Pascal ABC, Wylst lus wurket op 'e neikommende prinsipe:

  • .. Given mei werhellingen, dat wol sizze, werhelling, sil plakfine safolle kear sa lang as de betingst is wier (True);
  • sa gau as it betingst is net tefreden en jout False antwurd (of oars "false"), de operator út 'e loop;
  • sa gau as it barde, it programma "gie" yn it ûntwerp ferskynt nei fytsen.

Dit is in wichtige ferskil út Wylst Repeat, t. E. In pre-syklus fan de postconditions.

It is wichtich om ek yn 'e luds finite feroaring yn in opjûne fariabele kop Wylst. Yn alle gefallen, moatte altyd komme der in situaasje dat jout oan False. Oars komt der in lus, en dan moatte nimme ekstra maatregels om útgong fan de gearstaller. Sokke flaters wurde beskôge rude en inexcusable.

Hoe om út de programma wylst fytse?

Faak wurdt de situaasje ûntstiet as de netbehearder jout Wylst Pascal lus yn de skriftlike programma koade. Wat betsjut dit? Mei werhellingen wurdt werhelle in ûneinige oantal kearen, omdat de betingst is altyd wier. Bygelyks, dizze koade fragmint:

  • Wylst 2> 1 dwaan;
  • Write (1).

Yn dit gefal, te ûnderbrekke de útfiering fan 'e taak, druk dan op Ctrl + F2.

Der binne 2 manieren te bestjoeren it gedrach fan sa'n programma. Bygelyks, as in skriuwe Trochgean koade dy't giet kontrôle nei it begjin fan 'e Cyclische struktuer (dêryn de loop útgong tastân wurdt kontrolearre, dws. E eksekúsje fan de hjoeddeiske mei werhellingen wurdt ûnderbrutsen). Dan kontrôle wurdt oerbrocht yn in Wylst lus yn de foarige test.

Break operator kin ûnderbrekke de útfiering fan de hiele syklus en oermeitsje kontrôle nei it folgjende mei werhellingen. Hjir, de útgong fan 'e konstruksje sil net regele. It byld lit sjen foarbylden fan it brûken fan dy eksploitanten.

Meeting de útdagings

Tink oan Wylst yn wurking syklus. Pascal stelt út te lossen it probleem fariearre. Lit ús beskôgje in ienfâldich te begripen de eksploitaasje. Oplost taken yn Pascal ABC programma. Mar wurdt presintearre en it byld fan de klassike Turbo Pascal omjouwing foar ferliking.

Taak 1: jûn de funksje Y = 5-X ^ 2/2. Meitsje in tafel fan wearden yn stappen sh = 0,5 oer de ynterfal [-5, 5].

De algoritme is:

  • set in fariabele X nei in initial wearde gelyk oan 5 (dws it begjin fan 'e gat ..);
  • berekkenjen a Y wearde, wylst de fariabele x net berikke 'e ein fan sein ynterfal;
  • de werjefte fan 'e wearden fan' e funksje en de abscissa (X);
  • X ferheging troch in foarbeskaaide stap.

Hjir is de koade yn Pascal ABC programma.

Hoe docht de koade yn Turbo Pascal programma. De ôfbylding hjirûnder yllustrearret dit.

Taak 2: jûn in rige In besteande út 'e hiele positive en negative getallen. It befettet 10 items. De needsaak om foarmje in matriks wêryn de positive eleminten fan slachoarder A wurde werjûn hawwende in noch yndeks. Toan de som fan de kwadraten yn it tal nije matriks.

De algoritme is:

  • Jo moatte skriuwe in rûtine dy't sil "wurk" allinne mei de eleminten fan de rige A hawwende in noch yndeks. Yn de loop fariabele wearde oerienkomt mei it parity fan de yndeks wurdt incremented troch twa.
  • As it oantal is in noch yndeks fan de matriks A komt oerien mei de betingst x> 0, de teller array wurdt incremented troch 1. De hjoeddeiske wearde fan 'e teller fariabele sil de yndeks fan de kopy nûmer yn it array B.
  • Yn it earstoan, de fariabele summa, is ferantwurdlik foar it finen fan de som fan de kwadraten fan positive integers, wurdt ynsteld op 0. Dan, de operaasje wurdt útfierd: oan 'e foarige bedrach wurdt tafoege de nije wearde fan in plein.
  • Wês net bang, as net alle positive nûmers ferhuze fan it iene array nei in oare. Jo moatte foarsichtich wêze. In protte begjinnende programmeurs te herschrijven de koade yn in panyk. It is nedich om foarsichtich ûndersykjen it betingst: positive nûmers dy't op sels "lokale", dat wol sizze, mei de Indices dy't multiples fan 2 ...

Hânlieding TRACING is nedich om te soargjen dat de berekkening fan loyaliteit. Soms, mei help fan dizze metoade kin identifisearjen flaters dy't net fange it each ûnder normale ynspeksje fan 'e skreaune koade.

As wy fiere hânmjittich berekkenings, is it mooglik om te soargjen dat it programma wurket goed. Dat, syn bar, sei dat de koade generaasje algoritme is korrekt, in rige aksjes liedt ta in logyske ein.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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