Procedury i funkcje
This presentation is the property of its rightful owner.
Sponsored Links
1 / 13

Procedury i funkcje PowerPoint PPT Presentation


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

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.

Download Presentation

Procedury i funkcje

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

Procedury i funkcje


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

  • Przekazywanie argumentów do podprogramów w języku Pascal:

  • przez nazwę

  • function max (a,b:integer):integer;

  • przez zmienną

  • function max (var a,b:integer):integer;

  • przez wskaźniki

  • type: wsk:^integer;

  • function max(a,b:wsk):integer;


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

  • Przekazywanie argumentów do podprogramów w języku C++:

  • przez wartość

  • int max(int a, int b);

  • przez referencje

  • int max (int &a, int &b);

  • przez wskaźniki

  • int max (int *a, int *b);


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

}


Koniec

Koniec


  • Login