În practică, soluția majorității problemelor nu poate fi descrisă utilizând programe de structură liniară. În acest caz, după verificarea unei anumite condiții, se execută una sau o altă secvență de operatori, dar există o încălcare a ordinii naturale de execuție a operatorilor. În aceste scopuri, operatorii de control sunt utilizați. Un operator condiționat este utilizat pentru a implementa ramificațiile într-un program care are loc atunci când o anumită condiție este îndeplinită și are următoarea structură
Dacă expresia booleană care servește ca o condiție este evaluată la False, atunci afirmațiile sunt plasate după altceva (seriile2), dacă este adevărat, # 151; operatorii care urmează după. Atunci când se scrie o expresie logică, semnul = (egal) pentru variabilele reale ar trebui evitat, deoarece ele nu sunt reprezentate cu precizie și, prin urmare, valorile expresiilor care stau la stânga și la dreapta semnului egal nu pot să apară. Pentru a elimina acest dezavantaj, este necesar să se satisfacă condiția cu o precizie specificată, adică În locul relației X = Y, se recomandă, de exemplu,
Deoarece furculița poate fi incompletă, este posibilă o formă incompletă de înregistrare a unui operator condiționat:
Operatorul condițional realizează ramificația procesului de calcul în două direcții, dintre care una se realizează atunci când condiția este îndeplinită, cealaltă # 151; în caz contrar. Pentru a implementa ramificațiile în mai mult de două moduri, este necesar să folosiți câteva afirmații condiționale. Să luăm în considerare exemple.
Problema 1. Sunt date numere reale x. y. Dacă x și y sunt negative, atunci fiecare valoare este înlocuită de un modul; dacă numai unul dintre ele este negativ, atunci creșteți ambele valori cu 0,5; dacă ambele valori sunt nonnegative și nici una dintre ele nu aparține intervalului [0,5; 2.0], atunci ambele valori sunt reduse cu un factor de 10; în restul cazurilor, x și y rămân neschimbate.
Vom dezvolta un algoritm pentru rezolvarea problemei, după care vom scrie programul.
Algoritmul este scris verbal:
Problema 2. Dat fiind un număr real a. Calculați f (a). dacă
În plus față de un operator condițional, operatorul de selecție CASE este adesea folosit ca o structură de control. Această structură vă permite să mergeți la una dintre ramuri, în funcție de valoarea expresiei (selector) specificate. Caracteristica sa este că alegerea soluției de aici nu depinde de adevăr sau de falsitatea stării, ci este calculată. Operatorul selector vă permite să înlocuiți mai mulți operatori de bifurcare (de aici se numește și operatorul de ramificație multiple).
Expresia K proiectare CASE este calculată și selectat valoarea etichetei ramură care coincide cu valoarea K. După ce ramura selectată iese structura CASE. Dacă secvența nu este marca cu o valoare de K. este controlată de către operator extern, ca urmare proiectarea CASE (în absența unor alternative ALTFEL, în cazul în care este, atunci următoarea declarație după ea, și numai apoi se trece la un operator extern).
Selectați înregistrarea instrucțiunilor
Oricare din seria de operatori specificată poate fi alcătuit fie dintr-un singur operator, fie din mai mulți (în acest caz, ca de obicei, operatorii aparținând aceleiași etichete trebuie să fie închise în paranteze de la începutul ... sfârșitului).
Expresia K poate fi aici de orice tip secvență (reamintească faptul că astfel de tipuri include toate tipurile întregi, Boolean, Char, un tip enumerat, un tip de interval, bazate pe oricare dintre tipurile enumerate mai sus).
Din moment ce ciclul este de douăsprezece ani, vom pune numele anului, în corespondență cu restul, de la împărțirea numărului din acest an cu 12.
Problema 2. Găsiți cea mai mare dintre cele două numere reale folosind operatorul de selecție.
Sarcina 3. Convertiți un caracter, dacă este o scrisoare rusă în litere mici, într-o scrisoare de capital.
Deoarece sistemul alternativ de codificare ASCII litere rusești mici nu sunt drepte, dar cu un anumit decalaj, în acest caz, în funcție de ce parte a tabelului devine literele introduse, utilizați una sau alta formula. Dacă caracterele introduse nu sunt litere rusești mici, acestea sunt afișate neschimbate.
După cum puteți vedea din exemplu, nu numai o singură valoare, dar un interval de valori poate acționa ca o etichetă. În plus, ca o etichetă, poate apărea o listă de valori ale unei expresii (valorile sunt enumerate prin virgulă).
Testați întrebările și sarcinile
- Când devine necesar să se organizeze o furculiță?
- Care furcă este numită plină? incompletă?
- Ce fel de expresie poate acționa ca o condiție pentru organizarea unei furci? Ce valori au aceste expresii?
- Operatorii din orice furcă completă nu pot executa declarațiile pe oricare dintre ramuri? rulați pe ambele ramuri?
- Scrieți exemplele 1-3 pe tema "Selector Operator" folosind o declarație condiționată. Câte furci au făcut în fiecare caz?
- În ce caz este oportun să se utilizeze operatorul de selecție?
- Ce fel de expresie poate fi un selector? Dați exemple.
- Utilizarea operatorului de selecție pentru a rezolva problema: "Determinați semnul întregului dat".
- Dați un exemplu de operator de selecție, unde selectorul selector are un tip enumerat.
Acest site a fost creat cu uCoz