Programare. Cicluri cu parametru
Un loc special în Turbo Pascal este ocupat de cicluri. Ei încep să învețe imediat după formarea competențelor I / O pe ecran. La urma urmei, majoritatea sarcinilor sunt reduse la faptul că buclele cu un parametru și alte construcții ajută la facilitarea scriirii și funcționării unui anumit bloc al programului.
conținut
- Tipuri de cicluri
- Definiții de bază pe această temă
- Pentru hellip- la hellip-do: algoritm de operare, sintaxă
- Schema bloc a unui ciclu cu un parametru
- Cerințe de bază pentru un ciclu cu un parametru
- Turbo pascal: cum să ieșiți din bucla
- Exemple de sarcini cu o soluție
- Confruntarea a două limbi de programare: c și turbo pascal
Tipuri de cicluri
În total, există trei soiuri:
- cu parametru,
- cu o precondiție,
- cu o condiție ulterioară.
Cicluri cu un parametru, altfel sunt numite Pentru hellip- la hellip-do sau For hellip- downto hellip-. faceți, repetați în mod repetat o anumită secvență de acțiuni. În principiu, alte soiuri sunt utilizate în același scop, numai în ciclul de ciclu este numărul de etape cunoscute în avans.
În celelalte două constructe (În timp și repetat), numărul de iterații este inițial necunoscut. Prin urmare, atunci când studiem sarcina, este deja necesar să înțelegem ce ciclu va fi folosit.
Definiții de bază pe această temă
Ciclurile cu parametrii sunt iterate în mod repetat. Counter - principalul indicator prin care se realizează proiectul dat. Limitele intervalului arată măsura în care vor fi efectuate anumite iterații. Apropo, nu este necesar ca valoarea inițială să fie egală cu 1. Utilizatorul stabilește ambele limite ale decalajului în mod independent. Corpul bucla este un set de instrucțiuni pentru care numărul de repetări este deja definit.
Conceptul de "cicluri cu parametri" înseamnă că această condiție este verificată în această construcție, după care se efectuează un set de iterații. Contorul crește (sau scade) și totul se repetă. Corpul buclei va fi folosit până când condiția este adevărată.
pentru hellip- la hellip-do: algoritm de operare, sintaxă
După cum sa menționat deja, buclele cu un parametru sunt utilizate în sarcinile care indică "decalajul" în care doriți să lucrați. Deci, poate fi o serie de numere, zile ale săptămânii, linii de poezie etc.
Există două tipuri de construcție: pentru a mări și a reduce contorul. Prima construcție va fi scrisă după cum urmează:
pentru iskh.peremennaya : = limita 1 la limita 2 face
începe
corp al ciclului;
se încheie;
aici: ref. variabil este declarată de către utilizator la începutul programului sau bloc- limita 1 și limita 2 - valoarea inițială și finală a intervalului - în corpul ciclu o serie de acțiuni care trebuie efectuate de program sunt prescrise. Trebuie reținut faptul că, dacă corpul bucla conține doar o comandă, atunci parantezele beginhellip-end pot fi omise. În acest design, contorul, respectiv. va crește în pași de 1.
pentru iskh.peremennaya : = limita 1 downto limita 2 face
începe
corp al ciclului;
se încheie;
Aici este ref. variabila va scădea în pași de 1.
Schema ciclului cu parametrul Pentru hellip- la hellip-do va arata astfel:
- Valoarea limitei superioare a intervalului este setată, adică, limita 2.
- Variabila de referință se atribuie valoarea parametrului limita 1.
- O verificare a condiției are loc: iskh.peremennaya limita 2.
- Când rezultatul este primit adevărat (Adevărul) se execută corpul bucla.
- Contorul este incrementat cu un pas egal cu 1.
- Execuția punctelor 3-5 se produce exact până în momentul în care condiția este adevărată: ieșire> frontieră 2. De îndată ce se întâmplă acest lucru, ciclul se stinge și controlul este transferat comenzii urmând construcția dată.
În For hellip- downto algoritmul hellip-do funcționează similar cu cele de mai sus, cu excepția câtorva elemente:
- În al treilea paragraf, condiția este verificată: iskh.peremennaya frontieră geografică 2.
- În al cincilea rând al algoritmului, contorul este redus cu 1.
- În punctul 6 al comenzii 3-5 se va executa până când condiția este îndeplinită: iskh.peremennaya < limita 2.
Toate restul sunt similare în ambii algoritmi de lucru.
Schema bloc a unui ciclu cu un parametru
Ciclurile cu un parametru au următoarea formă de diagramă bloc (deși au fost deja prezentate mai sus). Aici prezentăm și o organizare simplificată a structurii.
Cerințe de bază pentru un ciclu cu un parametru
Ciclurile cu parametri necesită un anumit tip de condiții.
- Contorul și limitele decalajului (adică variabila sursă, limita 1 și limita 2) trebuie să aparțină aceluiași tip de date. Dacă există numai compatibilitate între valorile inițiale și cele finale ale segmentului și variabila sursă, programul se poate comporta incorect, deoarece granițele vor fi transformate în funcție de tipul de date al parametrului original.
- Tipul de date la care valorile parametrilor ar trebui să aparțină trebuie să fie un număr întreg. Este foarte recomandat să nu folosiți un tip real.
- Pentru a schimba valoarea variabilei parametru în corpul bucla este forțat nedorită. În caz contrar, utilizatorul nu va putea să urmărească eventualele erori care au apărut.
- Spre deosebire de alte tipuri de cicluri, în For hellip- la hellip-do sauFor hellip- downto Etapa hellip-do nu poate fi modificată de un alt parametru decât 1.
Turbo Pascal: Cum să ieșiți din bucla
Adesea, există probleme în care are loc ciclismul, adică, condiția de testare este întotdeauna adevărată. Procedura Break vă ajută să ieșiți din bucle cu o condiție preliminară, o condiție ulterioară, un parametru. Asta este, munca lor se termina prematur.
Cicluri cu un parametru în Pascal (programarea care presupune adevărul "etern" al condiției) poate fi oprită cu ajutorul funcției Continuare. Aici lucrarea este aranjată după cum urmează: actuala iterație finalizează execuția înainte de termen, controlul este transferat la următoarea comandă, dar fără a ieși din bucla.
Procedura de ieșire este necesară pentru finalizarea lucrării unui bloc din codul programului. Se numește în cadrul procedurilor (funcții) și, în același timp, executarea acestei "bucăți" încetează imediat. Dacă Exit se află în blocul principal al programului, acesta își încheie activitatea.
Procedura Halt reduce principiul funcționării la următoarele: activitatea programului este complet terminată.
Exemple de sarcini cu o soluție
Utilizatorul va fi util după studierea ciclurilor subiect“cu parametrul în exemplele lui Pascal să învețe mai întâi și apoi practica scris pe cont propriu codul. Sarcinile simple ajută viitorul programator să învețe teoria în practică și apoi să o aplice cu succes. Pe tema "Cicluri cu un parametru" exemple de sarcini cu o soluție pot fi găsite ușor și complex. Iată trei sarcini în care algoritmii de lucru sunt dezasamblați și sunt date explicații și comentarii pentru fiecare soluție.
Sarcina 1
Având în vedere o gamă bidimensională de numere naturale în intervalul [0..199], aleasă în mod aleatoriu. Găsiți numărul tuturor numerelor de două cifre a căror sumă de cifre este un multiplu de 2.
Algoritmul acțiunilor:
- Creați o matrice bidimensională.
- Verificați fiecare număr pentru respectarea condițiilor:
a) dacă 9 < X < 100, apoi împărțiți-l complet cu 10 prin intermediul div;
b) alocă a doua cifră a numărului împărțind-o prin mod;
c) adăugați cifrele evidențiate;
d) împărți mod cu o valoare dată cu 2;
e) dacă rezultatul este 0, atunci contorul este incrementat cu 1.
Sarcina 2
Se dă o matrice unidimensională de elemente întregi. Găsiți numărul de numere pozitive.
Algoritmul acțiunilor:
- Creați o serie de elemente întregi create de randomize.
- Într-un ciclu cu un parametru pentru a închide declarație condiționată IF, care va verifica elementul dat pentru a respecta condiția: X> 0.
- Dacă condiția este îndeplinită, contorul este incrementat cu 1.
- După ciclu, ar trebui să afișați valoarea rezultată a contorului.
Datele din paranteze {} sunt comentarii. În linia 11, puteți afișa un tablou pe ecran în două moduri: pentru a lăsa un spațiu între numere sau pentru a aloca pentru fiecare element un anumit număr de celule (în acest caz, există 5 dintre acestea).
În linia 12, variabila contra poate fi crescută și în două moduri: fie adăugați 1 la valoarea anterioară, fie utilizați funcția standard a Inc
Sarcina 3
Se dă o matrice pătrată. Găsiți numărul de elemente pozitive pe diagonala principală.
explicaţie:
În matricea numerelor, diagonala principală se extinde de la colțul din stânga sus la cel din dreapta jos. Particularitatea sa este faptul că indicii rândului și coloanei coincid. Prin urmare, este suficient să organizăm un ciclu pentru trecerea prin rânduri fără a enumera elementele rămase.
Algoritmul acțiunilor:
- Creați o matrice pătrată.
- Atribuiți valoarea "0" variabilei responsabile pentru numărarea elementelor pozitive.
- Creați o buclă pentru a crea o matrice pătrată.
- Organizați buclă verificând condiția: dacă numărul de pe diagonala principală este> 0, atunci numărul de contor este incrementat cu 1.
- După terminarea ciclului, afișați valoarea variabilei care stochează numărul de elemente pozitive.
Confruntarea a două limbi de programare: C și Turbo Pascal
De regulă, un programator cu respect de sine cunoaște mai multe limbi. De exemplu, ar putea fi C ++, Turbo Pascal, Delphi, Java etc. Confruntarea a două dintre ele a fost exprimată în mod clar în anii 80. (C și turbo pascal). La sfârșitul secolului al XX-lea, aceeași luptă a fost observată între C și Java.
În spațiul virtual al celor trei limbi duzină de programare, există trei perechi cele mai izbitoare, a cărui opoziție pentru a lovi cele mai mari minți ale spațiului virtual: Algol 60 și Fortran, Pascal, C, Java și C ++. Desigur, aceste sentimente sunt subiective, dar la un moment dat unul sau altul dintre perechi era lider. Acest lucru sa datorat cerințelor industriei și necesității unui anumit produs software. În anii `70. "Controlat lumea" Fortran, în anii 80 - Turbo Pascal, în anii `90 - C ++. Desigur, nici unul dintre ei "nu a murit". Mai degrabă, acestea s-au transformat în produse software îmbunătățite.
Când studiați limbile de programare, puteți vedea că în unele subiecte sintaxa este similară. Astfel, ciclurile cu un parametru în C sunt similare cu construcțiile similare din Pascal, cu excepția unor momente.
Interesant, dezvoltatorii de Turbo Pascal (Old World) au beneficiat de evoluția de americani Oamenii de știință, în timp ce în Lumea Nouă este utilizat în mod activ rezultatele eforturilor europene de cercetare. În Europa, dezvoltatorii au susținut un grad mai mare de puritate și compactitatea limbaje de programare, și mințile americane sunt înclinate mai mult spre utilizarea unor tendințe noi-fangled în scrierea de cod.
- Programare structurată
- Turbo Pascal. În timp ce ... buclă cu condiție prealabilă
- Fundamentele teoretice ale Ingineriei Electrice: Metoda Stresului Nodal
- Un ciclu este ... Ce este un ciclu? Care sunt ciclurile?
- Termenul de descărcare de gestiune în matematică. Suma termenilor de descărcare
- Tipuri de bază și exemple de algoritmi ciclici
- Diagrama bloc a algoritmului: programe, sarcini, elemente, construcții
- Matricea. Elementele matricei. Sumă elemente elemente matrice, număr
- Care este performanța excavatorului pe oră și pe schimb? Calcularea performanței excavatorului
- Voce pasivă. Când un actor nu acționează
- Un ciclu cu o condiție ulterioară și o buclă cu o condiție prealabilă
- Ce este o afirmație condiționată?
- Operatorii `Pascal`. Limba de programare Pascal
- Infinit pentru (Java) buclă
- Limba de programare Python: bucle
- Ciclul pentru: Pascal pentru începători
- Factorial în Pascal: cum se calculează. Probe de proba
- Operatorul de atribuire în "Pascal": ce se intenționează, ce acțiuni sunt efectuate
- Învățăm copilului contul. Probleme și exemple pentru prima clasă în matematică
- Permeabilitatea dielectrică
- Rezolvarea problemelor de programare. Algoritmul ciclic