Funkcijos ir proced ros
This presentation is the property of its rightful owner.
Sponsored Links
1 / 11

Funkcijos ir procedūros PowerPoint PPT Presentation


  • 125 Views
  • Uploaded on
  • Presentation posted in: General

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)

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Funkcijos ir proced ros

Funkcijos ir procedūros

Liutauras Ričkus

5 paskaita


Paprogram s

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.)


Standartin s matematin s funkcijos pascal

Standartinės matematinės funkcijos Pascal


Standartin s matematin s funkcijos c

Standartinės matematinės funkcijos C

Reikianaudoti #include <math.h>


Proced ros apra ymas pascal

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);


Proced r parametr tipai

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);


Kreipinys proced r

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.


Funkcijos paskalyje

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)


Funkcijos c kalboje

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;

    }


  • Galiojimo sritys pascal

    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


    Vietiniai ir i oriniai kintamieji statiniai kintamieji

    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


  • Login