Procedury i funkcje
Download
1 / 13

Procedury i funkcje - PowerPoint PPT Presentation


  • 121 Views
  • Uploaded on

Procedury i funkcje. Podprogram Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Procedury i funkcje' - ferrol


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

Procedury i funkcje

Podprogram

Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.

Funkcja w odróżnieniu od procedury zwraca wartość.


Procedury i funkcje

Procedury i funkcje w języku Pascal:

procedure nazwa_procedure (argumenty);

begin

instrukcje;

end;

function nazwa_funkcji (argumenty) : zwracany_typ;

begin

instrukcje;

nazwa_funkcji := zwracana_wartosc;

end;


Procedury i funkcje

Przykład:

program p1;

{zmienne globalne}

var n,m:integer;

c:char;

s:string;

{procedury}

procedure wyswietl(n:integer;z:char);

var j:integer; {zmienne lokalne}

begin

for j:=1 to n do

write(z);

writeln;

end;

procedure wyswietl(n:integer;z:string);

var j:integer; {zmienne lokalne}

begin

for j:=1 to n do

write(z);

end;

begin

n:=2;

writeln('Podaj znak');

readln(c);

writeln('Podaj ilo˜ść');

readln(m);

writeln('Podaj ciąg');

readln(s);

wyswietl(m,c);

wyswietl(m,s);

readln;

end.


Procedury i funkcje


Procedury i funkcje

Przykład:

program procedura_zamiana;

{zmienne globalne}

var a,b:real;

{procedura}

procedure zamiana(var a,b:real);

var pom:real;

begin

pom:=a;

a:=b;

b:=pom;

end;

{program gˆłówny}

begin

writeln('Podaj a');

readln(a);

writeln('Podaj b');

readln(b);

zamiana(a,b);

writeln('a: ', a:4:2);

writeln('b: ', b:4:2);

readln;

end.


Procedury i funkcje

Funkcje w języku C++:

Typ_zwracany nazwa_funkcji (argumenty) //nagłówek funkcji

{

instrukcje; //ciało funkcji

}

Przykład:

void wypisz(int i, char c)

{

cout<<i<< ” ”<<c<<endl;

}

int max (int a, int b)

{

if (a>b) return a;

else return b;

}


Procedury i funkcje


Procedury i funkcje

Przykłady:

#include <iostream>

using namespace std;

void zamiana (int &a, int &b)

{

int pom = a;

a = b;

b = pom;

}

int main()

{

int a = 5;

int b = 3;

cout<<"a = "<<a<<endl;

cout<<"b = "<<b<<endl;

cout<<"Po zamianie mamy \n";

zamiana(a,b);

cout<<"a = "<<a<<endl;

cout<<"b = "<<b<<endl;

system("PAUSE");

return 0;

}


Procedury i funkcje

Argumenty domniemane:

#include <iostream>

using namespace std;

double potega (double , int = 2);

int main()

{

double x;

int n;

cout<<"Program liczący wartość x do potęgi n"<<endl<<endl;

cout<<"Podaj x: (liczba rzeczywista)"<<endl;

cin>>x;

cout<<"Podaj n: (liczba całkowita)"<<endl;

cin>>n;

cout<<"x do potęgi 2 wynosi: "<<potega(x)<<endl;

cout<<"x do potęgi n wynosi: "<<potega(x,n)<<endl;

system("PAUSE");

return 0;

}


Procedury i funkcje

double potega (double x, int n)

{

double w = 1;//wynik

int k;

k = (n<0)?-n:n;

for(int i = 0; i<k ; ++i) w*=x;

if(n>=0) return w;

else return 1/w;

}


Procedury i funkcje

Funkcja rekurencyjna (rekursja):

Funkcję rekurencyjną nazywamy taką funkcję która wywołuje samą siebie. Funkcja taka musi posiadać warunek zakończenia rekurencji. Jeżeli takiego warunku by nie posiadała funkcja wywoływała by siebie bez końca. Funkcja taka jest wykonywana trochę wolniej niż funkcja nierekurencyjna, ale kod jest zdecydowanie krótszy i prostszy w niektórych wypadkach. Najlepszym przykładem na funkcję rekurencyjną jest silnia.

unsigned long silnia(unsigned int n)

{

if(n<=1)

return 1;

else

return n*silnia(n-1);

}