1 / 11

Funkcijos ir procedūros

Funkcijos ir procedūros. Liutauras Ričkus 5 paskaita. Paprogramės. Programa suskaldyta dalimis Savarankiškos Įvedimo duomenys Rezultatai Funkcijos Procedūros Pakartotinis panaudojimas Informacijos keitimasis Parametrais (kintamųjų reikšmės ir vardai)

kris
Download Presentation

Funkcijos ir procedūros

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Funkcijos ir procedūros Liutauras Ričkus 5 paskaita

  2. Paprogramės • Programa suskaldyta dalimis • Savarankiškos • Įvedimo duomenys • Rezultatai • Funkcijos • Procedūros • Pakartotinis panaudojimas • Informacijos keitimasis • Parametrais (kintamųjų reikšmės ir vardai) • Funkcijų vardai (rezultatų reikšmė) • Globaliais vardais (konstantų, tipų, kintamųjų, funkcijų ir procedūrų vardai.)

  3. Standartinės matematinės funkcijos Pascal

  4. Standartinės matematinės funkcijos C Reikianaudoti #include <math.h>

  5. ProcedūrosaprašymasPascal • Aprašymas procedure <vardas> (<parametrų sąrašas>); label ...; const...; type...; var; procedure...; function; begin <sakiniai> end; • <vardas> - Keli_zodziai arba KeliZodziai • <parametrų sąrašas> procedure Skaito (x1, x2: real; k,l:integer; c1, c2: char);

  6. Procedūrų parametrų tipai • Parametrai-reikšmės • procedureRaso (x1, x2: real; k,l:integer; c1, c2: char); • Parametrai-kintamieji • procedureRaso (var x1, x2: real; k,l:integer) • Parametrai masyvai • Galima perduoti parametrai-reikšmė ar parametrai-kintamieji var <vardų sąrašas> : array [(rėžio vardas>..<rėžio vardas>:<diskrečiojo tipo vardas>] of <tipo vardas>; • Pvz: varrn: array [m..n:integer] of real; kn: array [ma..na : integer] of spalva; • Panaudojimas type masyvas = array [1..10 ] ofinteger; var mazas: masyvas; didelis : array [-100..100] ofinteger; procedure Tvarka (var m:array[x..y : integer] ofinteger); • Kvietimas Tvarka (mazas); Tvarka (didelis);

  7. Kreipinys į procedūrą • <vardas>(<argumentai>); • <argumentai> - faktiniai parametrai • Pvz: • Procedūros aprašymas procedureMax_min (a,b: real; {parametrai-reikšmės} varmax, min: real); {parametrai-kintamieji} begin ifa < b then begin max:= a; min := b; end else begin max:= b; min := a; end end; • Kreipinys į procedūrą vara,b,didz,maz: real; I,j,k,l: integer; begin a:=10; b:=20; i:=15; j:=25; Max_min(a,b, didz, maz); Max_min(i,j,k,l); {klaida!!!} End.

  8. Funkcijos paskalyje • Aprašymas function <vardas> (<parametrų sąrašas>):<grąžinamos reikšmės tipas> label...; Const...; type...; var; procedure...; function; begin <sakiniai>; <vardas>:=...; end; • Gražinama reikšmė priskiriama funkcijos vardui • Pvz.: • Funkcijos aprašymas functionSudeti(a,b:integer):integer; begin Sudeti:= a + b end; • Funkcijos kvietimas suma := Sudeti(5,10)+Sudeti(k,l)

  9. Funkcijos C kalboje • Funkcijos negali būti funkcijose • Pagrindinė funkcija yra main() • <grąžinamos reikšmės tipas> <funkcijos vardas> (<parametrų tipai>) { <sakiniai>}; • Jei nieko negražina void • Pvz: #include <stdio.h> intmain() { intx; for(x=1; x<=10; x++) { printf("%d ", square(x)); } printf("\n"); return0; } intsquare (int y) { returny*y; }

  10. Galiojimo sritys pascal • Kintamasis galioja bloke, kuriame apibrėžtas • Pascal • Procedūros funkcijos, kuriose yra kitos procedūros ar funkcijos • Pvz.: program vardai; vara,b,c,d: integer; procedurer(a: integer; var e:integer); varb: integer; begin b:=3; c:=4; writeln('Procedura. a=',a,' b=', b,' c=',c,' d=',d, ' e=', e); e:=6; end; begin a:=22; b:=33; c:=44; d:=55; writeln('Programapries proc. a=',a,' b=', b,' c=',c, ' d=',d ); r(b,d); writeln('Programa po proc. a=',a,' b=', b,' c=',c,' d=', d ); end. • Rezultatas Programa pries proc. a=22 b=33 c=44 d=55 Procedura. a=33 b=3 c=4 d=55 e=55 Programa po proc. a=22 b=33 c=4 d=6

  11. Vietiniai ir Išoriniai kintamieji. Statiniai kintamieji • Vietiniai(local) kintamieji galioja bloke • Išoriniai arba globalieji kintamieji aprašomi viršuje • Galioja visą programos veikimą • extern – galima naudoti globalų arba bibliotekos kintamajį • Statiniai kintamieji • Pvz.: #include<stdio.h> int a=5; intmain() { voidskaic(void); intkiekis; printf("main: a=%d\n", a); for(kiekis=1; kiekis<=3; kiekis++) { printf("Iteracija %d\n", kiekis); a--; skaic(); } printf("\n"); return0; } voidskaic (void) { intfa=1; staticint sta=1; printf("funkcija: fa=%d ir sta=%da=%d\n", fa++, sta++, a++); } • Rezultatas main: a=5 Iteracija 1 fa=1 ir sta=1 a=4 Iteracija 2 fa=1 ir sta=2 a=4 Iteracija 3 fa=1 ir sta=3 a=4

More Related