unde p este o etichetă marcată de un alt operator din program (mijloace de parcurs). Concepută pentru a încălca ordinea naturală a operatorilor. De exemplu, Geto 11 va da controlul operatorului 11: writeln.
Ca etichete, este permisă utilizarea numerelor de la 1 la 9999.
Eticheta este declarată, de regulă, imediat înainte sau după descrierea variabilelor. De exemplu,
DEVELOP un program care utilizează un operator de salt, un operator condiționat și un generator de numere aleatorii pentru a ghici un număr aleator de la 0 la 5, cu o estimare bazată pe încercarea de ghicit.
Var a, b, c: întreg;
1: writeln ("Vredite chislo ot 0 to 5 ');
Dacă c<0 then goto 2
altfel dacă a<>b apoi a ajuns 1
altul scriteln ("Vasha ocenka za ugadivanie -", c);
Elaborați un program care utilizează un operator de tranziție și un operator condiționat pentru a calcula rădăcinile unei ecuații patrate a formularului cu definiția semnului discriminant.
a: = 1; repetați scrierea (a); a: = a * 3 până la> 300
În primul rând, este surprinzător faptul că condițiile pentru repetarea ciclului pentru cele două cazuri sunt opuse. Aceasta se datorează faptului că instrucțiunea WHILE execută o buclă până când condiția se evaluează la FALSE și în instrucțiunea REPEAT până când condiția este evaluată la TRUE
De asemenea, rețineți că nu este necesar ca corpul bucla REPEAT să fie inclus în parantezele instrucțiunii BEGIN. END. În cazul în care while după cuvântul cheie DO se efectuează numai operatorul (și, dacă doriți să efectuați în mod repetat, mai multe acțiuni, Com-ditsya mai mulți operatori de a combina într-o declarație compus), declarația REPEAT între cuvintele cheie REPETAȚI și până când vă puteți introduce orice număr de operatori, fără a fi nevoie de a încheia în brațele operatorului.
În cele din urmă, cititorul atent poate observa că nu există punct și virgulă în instrucțiunea REPEAT după ultima instrucțiune din corpul bucla. Aceasta este o altă caracteristică a instrucțiunii REPEAT - înainte de cuvântul cheie UNTIL, o punct și virgulă este opțională.
Exemplul # 3 Generați un număr aleatoriu a de la 0 la 10. Afișați valoarea a. Dacă a> 5, calculați valoarea lui X a folosind operatorul While ... do .... dacă a <5, то рассчитать значение Y a с использованием оператора Repeat … until … . Величины X и Y вводить с клавиатуры.
writeln ("Vvedite velichinu x");
writeln ("Vvedite velichinu y");
scriteln ('a ravno', a);
Un exemplu de buclă de repetare de tip. până la. Determinați numărul n pentru care suma pătratelor seriei de numere naturale de la 1 la n nu depășește valoarea K introdusă de la tastatură. Asta este,
program sum_sq; utilizează CRT; var k, s, n. întreg; începe clrscr; writeln ('Enter K'); readln (k); s: = 0; n: = 1; repetați s: = s + n * n; n: = n + 1; până când s> k; writeln ('N =', n. 3, 's =' s. 5); end.
Calculați primii 20 de membri ai șirului Fibonacci:
u1 = 1; u2 = 2; u (n) = u (n-1) + u (n-2), precum și valoarea secțiunii de aur V (n)
const nmax = 20; var i: întreg; u1, u2, u3: întreg; v: real; beginu1: = 1; u2: = 2; v: = u2 / u1; writeln ( 'u (1) =', u1); writeln ( 'u (2) =', u2, 'v (2) =' v: 2: 2); pentru i: = 3 până la nmax nu începe u2: = u2 + u1; u1: = u2-u1; v: = u2 / u1; writeln ( 'u (', i ') =', u2, 'v (', i ') =' v: 2: 2); final; readln; sfârșit. Exemplul nr. 5 const nmax = 20; (n = 2) apoi începe fib: = 2; ieșire; end; fib: = fib (n); -1) + fib (n-2); Funcția sech (n: integer): real; beginsech: = fib (n) / fib (n-1); var i: întreg; (i, i), i (i), v (i, i, i) ') =', sech (i): 2: 2);
Din tastatură se introduc numere pozitive întregi n, p și a. Creați un program pentru calcularea unui număr dat de membri ai secvențelor n, a, n. Afișați valorile primite.
Soluția. Vom folosi puterea variabilă pentru a calcula funcția de putere n; exponentul variabil (exponent) pentru calculul funcției exponențiale a și factorul variabil (multiplicatorul) pentru calculul factorului n !.
Programele constau în:
• Un bloc de descriere care enumeră modulele utilizate, variabilele utilizate și tipurile acestora;
• Corpul programului, inclusiv;
- curățarea ecranului;
- introducerea datelor din tastatură;
- calculul elementelor secvenței prin intermediul relațiilor de recurență, valorile inițiale ale variabilelor sunt după cum urmează:
putere = 1, exponent = 1, factor = 1,
formule pentru un membru general
poweri = poweri-11 • n,
exponenti = exponenti-11 • n,
factori = factori-11 • i;
- Rezultatul rezultatelor pe ecran.
Programele variabile n, p și - întreg tip întreg (pentru numere întregi nenegative variază de modificări de la 0 la 32 767); putere variabilă, exponent, factor - numere reale cu cel puțin 6-7 semne adevărate după punctul (pentru numere pozitive în intervalul admisibil pentru tipul respectiv, cum ar fi 1,4 • (10 -45) până la 3,4 • (10 38) ). Tipurile de date folosite au numele unice, reale, plutesc în limbile BASIC, Pascal, respectiv C. Dacă oricare dintre variabile este în afara domeniului de tip declarat, apare un mesaj de eroare de depășire.
Rezultatele de ieșire formatată a tuturor programelor pe aceeași limbă de programare ca un exemplu, în cazul în care n = 10, p = 3, a = 3. avem: n = = 1000 și LO = 3 * 10 = 59 049, n. == 10! = 3,628,800.
Exemplu # 7 Crearea unui program de calcul n !.
var n, i, p: întreg;
pentru i: = 1 la n face p: = p∋i;
Fără utilizarea funcțiilor standard (cu excepția absului), se calculează funcția y = f (x) cu o precizie de 0,0001. Pentru a considera că precizia necesară este atinsă, dacă următorul termen este modulo mai mic decât 0,0001, toți termenii ulteriori nu mai pot fi luați în considerare. De asemenea, dați valoarea funcției y găsită utilizând funcțiile standard.
var x, y, n, u: real;
până la abs (u) <0.0001;
scrie ('a obținut y =', y: 2 ,: 4, 'standard x =', cos (x))
var x, y, n, u: real;
în timp ce abs (u)> = 0,0001 face
scrie ('luat x =', x: 8: 4, 'standard x =', cos (x): 8:
Se dă o secvență neplătită de numere reale pozitive
care este urmat de un număr negativ. Compilați un program de calcul
media aritmetică a acestor numere.
var x, s: real; n: întreg;
scrie ('x', n + 1, '='); readln (x);
scrie ('cp arithm. =', s / n)
var x, s: real; n: întreg;
în timp ce x> = 0 face
scrie ('x', n + 1, '='); readln (x)
scrie ('cp arithm. =', s / n)
Având un număr întreg n> 0. Compuneți un program care imprimă toate numerele prime de la
var n, m, k, p: întreg;
pentru m: = 2 până la n
pentru k: = 2 pentru a trunchia (sqrt (m))
dacă m mod k = 0 atunci p: = 1;
dacă p = 0 scrieți apoi (m, '')
var n, m, k: întreg;
pentru m: = 2 până la n
pentru k: = 2 pentru a trunchia (sqrt (m))
dacă m mod k = 0 atunci ajunge la 1;
var n, m, k: întreg; t: boolean;
scrie ('n ='); readlln (n);
pentru m: = 2 până la n
până la t sau (k> = trunc (sqrt (m));
dacă nu, atunci scrie (m, '')
Este materialul util? Partajați acest lucru:
Nu ați găsit ce căutați? Google să vă ajute!
Pagina generată în 0.023 secunde.