Bemutatás az 1. alprogramban
Előadás témája: „1 PROGRAM tömb, mint egy formális paraméter az alprogram 3 előadás terv 1.Protsedury és funkciókat tömböket a fejlécben 2.Description rutinok ..” - Átirat:
1 1 ALPROGRAMMEREK. Array mint formális paraméter az alprogram 3 Lecture terv 1. Az eljárások és függvények segítségével tömbök a fejlécben 2. Leírás szubrutinok tömbökkel 3. paraméterek alprogramok tömbökkel Előadó: Prof. Dr. Ivanchina Emilia Dmitrievna
2 2 1. Eljárások és funkciók a fejlécekben lévő tömbök használatával A szubrutinok paraméterekként tartalmazhatnak tömböket. A globális paraméterek közösek az összes programegység számára. A helyi paraméterek csak ezen programegységen belül változnak. A VAR blokk paramétereinek leírása azt jelenti, hogy ez a paramétercsoport globális a bemeneti és kimeneti értékekhez. Ha nincs VAR szolgáltatásszava a fejlécben, akkor a paraméter értékek átkerülnek a belső eljárásba, de nem kerülnek át a főprogramba. Azokban az esetekben, amikor az eljárások és függvények paraméterei tömbök, a tömbök méretét és méretét a TYPE szolgáltatásszavakon keresztül kell megadni. TYPE a = egész szám [1..3,1..4]; a - tömb típusú azonosító A következő példákat írja le a fejlécben található tömböket használó eljárások és függvények létrehozására.
4 4 Az alprogram-fejléc így néz ki: FUNKCIÓ FUN (Y: a, var S: valós): valós; ELJÁRÁS proc (vd: b1; var md: d1); A globális paraméterek leírásához használja a var szót. A formális paraméterek listáját vesszővel ábrázolva sorrendben vesszük
5 5 3. Az alprogramok paraméterei tömbökkel. Az eljárásokat akkor használjuk, ha az alprogramnak több számítási eredménye van, vagy az eredmény többdimenziós érték (tömb). Az eljárás leírása: Eljárás (formális paraméterek); címkén; const; írja; var Begin End; Az eljárás a fő programban található a VAR leírási részben.
6 6 Olyan esetekben, amikor az eljárások és függvények paraméterei tömbök, meg kell adni a tömb méretét és méretét a TYPE szolgáltatásszavakon keresztül. Szabály. A formális paraméterek listáján szereplő bármely paraméter típusa lehet egy előzőleg deklarált típus. TÍPUS a = az [1..10] valós érték; S eljárás (b: a); F (c: a) függvény: valós;
7 7 Példa 1. Töltsd össze a Z (10) tömb kiszámításához szükséges programot. Számítsd ki az f (x) függvényt szubrutinfüggvényként. Az eljárás összegének kiszámítása - alprogram formájában -.
3 akkor f: = 1 / x mások f: = 1 + 2xsqr (x) vége; "title =" 8 Pro1 program; típus mas = array [1..10] valós; var x, Z: mas; c, q, S: valós; függvény F (x: real): valós; kezdődik, ha x> 3, akkor f: = 1 / x egyéb f: = 1 + 2xsqr (x) end; "class =" link_thumb "> 8 8 Program Pro1, írja be a mat = array [1..10] x, Z: m, c, q, S: valós, függvény F (x: valós): valós, ha x> 3 akkor f: = 1 / x más f: = 1 + 2xsqr (x) f: = 1 / x egyéb f: = 1 + 2xsqr (x) vég; "> 3 akkor f: = 1 / x más f: = 1 + 2xsqr (x) vég; mást f: = 1 + 2xsqr (x) vége; " cím = "8 Pro1 program, típus: mat = array [1..10] real, var x, Z: mas, c, q, S: valós, függvény F (x: valós): real, akkor f: = 1 / x mások f: = 1 + 2xsqr (x) vég; ">
3 akkor f: = 1 / x mások f: = 1 + 2xsqr (x) vége; "title =" 8 Pro1 program; típus mas = array [1..10] valós; var x, Z: mas; c, q, S: valós; függvény F (x: real): valós; akkor kezdődik, ha x> 3 majd f: = 1 / x más f: = 1 + 2xsqr (x) end; ">9 9 eljárás Összeg (x: mas; var S: valós); var i: egész szám; kezdődik S: = 0; i: = 1-től 10-ig S: = S + sqrt (x [i]) vég;
10 10 BEGIN readln (c, q); i: = 1-től 10-ig readln (x [i]) Összeg (x, S); i: = 1 és 10 között Z (i): = sqr (f (x [i])) / sin (c) + sqrt (x [i]) / (sqr (S) q); írja (Z [i]: 10) vége; END.
11 11. példa 2. Hozzon létre egy programot a kifejezés kiszámításához.
12 12 Program ppp; típus m = array [1..10] valós; var x, y: m; f: valós; i, k: egész szám; függvény Sum (a: m; n1, n2, p: egész): valós; var S: valós; i: egész szám; kezdődik S: = 0; i: = n1-n2-ig S: = S + exp (pln (a [i])); Összeg: = S vég;
13 13 BEGIN i: = 1 - 8 olvasni (x [i]);
14 14 a k: = 1-től 10-ig readln (y [k]); végén; F: = Összeg (x, 3.8.2) + Sum (y, 2.10.3); írja (F =, F: 10) END.
15 15 3. példa Készítsen egy szubrutint a max. és min. program elem maxmin; típus b1 = tömb [1..4,1..3] valós; var i, j. integer; ymax, ymin: valós; y: b1; r1, r2: szöveg;
= xmax, akkor xmax: = x [n, k] vége; end; "cím =" 16 eljárás mm (var x: B1; var xmax, xmin: valódi); var n, k: egész szám; kezdődik xmax: = x [1,1]; xmin: = x [1,1]; n: = 1-től 4 do K: = 1-től 3 do kezdeni, ha x [n, k] = xmax majd xmax: = x [n, k] végén; end; "osztály = 1,1]; n: = 1-től 4 do K: = 1-től 3 do kezdeni, ha x [n, k] = xmax majd xmax: = x [n, k] végén; end; = xmax majd xmax: = x [n, k] végén; end; „> = xmax majd xmax: = x [n, k] végén; end; "> = xmax majd xmax: = x [n, k] végén; end;" title = „16 eljárás mm (var x: B1; var xmax, xmin: valódi); var n, k: integer; kezdődik xmax: = x [1,1]; xmin: = x [1,1]; n : = 1-től 4 do K: = 1-től 3 do kezdeni, ha x [n, k] = xmax majd xmax: = x [n, k] végén; end; „>
= xmax, akkor xmax: = x [n, k] vége; end; "title =" 16 eljárás mm (var x: b1, var xmax, xmin: valós); var n, k: egész szám; kezd xmax: = x [1,1]; xmin: = x [1,1]; n: = 1-től 4-ig, ha k: = 1-től 3-ig kezdődik, ha x [n, k] = xmax, akkor xmax: = x [n, k] vég; end; ">17 17 hozzárendelni kezd (r1, 'a.dat'); reset (r1); i: = 1-től 4-ig j: = 1-től 3-ig olvasható (r1, y [i, j]); hozzárendelni (r2, 'b.res'); írja át (r2); mm (y, ymax, ymin); írj (r2, ymax, ymin); szoros (r2); végén.
18. példa 4. Hozzon létre egy alprogramot a függvény Lagrange-képlet szerinti kiszámításához
19 19 program lagr; TYPE a = ARRAY [1..4] OF valós; Var x, y: a; i: egész; x0: valós; Funkció-késleltetés (x, y: a, x0): valós; Var I, j: egész szám; s, p, x0: real); BEGIN S: = 0; FOR i: = 1-től 4-ig P: = 1; FOR j: = 1 - 4 HA IGEN, HA P: = P (x0-x [j]) / (x [i] -x [j]); S: = S + y [i] P; késés: = S; END; Kezdjük i: = 1 - 4 olvasni (x [i], y [i]); olvasható (x0); writeln (lag (x, y, x0): 5: 2); END.