Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Procedury i funkcje.

Podobne prezentacje


Prezentacja na temat: "Procedury i funkcje."— Zapis prezentacji:

1 Procedury i funkcje

2 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ść.

3 Procedury i funkcje w języku Pascal:
procedure nazwa_procedure (argumenty); begin instrukcje; end; function nazwa_funkcji (argumenty) : zwracany_typ; nazwa_funkcji := zwracana_wartosc;

4 Przykład: program p1; begin {zmienne globalne} n:=2; 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); 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.

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

6 Przykład: program procedura_zamiana; {zmienne globalne} var a,b:real;
procedure zamiana(var a,b:real); var pom:real; begin pom:=a; a:=b; b:=pom; end; {program gˆłówny} 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.

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

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

9 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); system("PAUSE"); return 0;

10 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; }

11 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; }

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

13 Koniec


Pobierz ppt "Procedury i funkcje."

Podobne prezentacje


Reklamy Google