lab 04

background image

1

Informatyka 1

Informatyka 1

zaj

zaj

ę

ę

cia nr 4

cia nr 4

Elektrotechnika, semestr II

Elektrotechnika, semestr II

rok akademicki 2008/2009

rok akademicki 2008/2009

mgr in

mgr in

ż

ż

. Pawe

. Pawe

ł

ł

Myszkowski

Myszkowski

Plan dzisiejszych zaj

Plan dzisiejszych zaj

ęć

ęć

1.

1.

Idea funkcji u

Idea funkcji u

ż

ż

ytkownika

ytkownika

2.

2.

Konstrukcja funkcji w j

Konstrukcja funkcji w j

ę

ę

zyku C

zyku C

3.

3.

Przyk

Przyk

ł

ł

ady funkcji u

ady funkcji u

ż

ż

ytkownika

ytkownika

4.

4.

Gdzie umieszczamy deklaracj

Gdzie umieszczamy deklaracj

ę

ę

funkcji?

funkcji?

5.

5.

Zmienne globalne i lokalne

Zmienne globalne i lokalne

background image

2

Funkcja

Funkcja

wysoce niezale

wysoce niezale

ż

ż

ny blok definicji

ny blok definicji

i instrukcji programu.

i instrukcji programu.

U

U

ż

ż

ywa si

ywa si

ę

ę

tak

tak

ż

ż

e terminu

e terminu

podprogram

podprogram

lub

lub

procedura

procedura

, chocia

, chocia

ż

ż

w niekt

w niekt

ó

ó

rych j

rych j

ę

ę

zykach

zykach

programowania

programowania

procedura

procedura

i

i

funkcja

funkcja

to

to

dwie r

dwie r

ó

ó

ż

ż

ne rzeczy.

ne rzeczy.

1. Funkcje u

1. Funkcje u

ż

ż

ytkownika

ytkownika

-

-

idea

idea

1.

1.

Funkcje u

Funkcje u

ż

ż

ytkownika

ytkownika

-

-

idea

idea

System

operacyjny

Funkcja

main()

Funkcja

biblioteczna

lub

użytkownika

Uruchomienie

programu

Wywołanie

funkcji

Zwrócenie

wartości

Zwrócenie

wartości

background image

3

Schemat:

Schemat:

typ_zwracanego_wyniku

typ_zwracanego_wyniku

nazwa_funkcji

nazwa_funkcji

(

(

parametry_funkcji

parametry_funkcji

)

)

{

{

//cia

//cia

ł

ł

o funkcji, czyli deklaracje zmiennych, instrukcje

o funkcji, czyli deklaracje zmiennych, instrukcje

return

return

warto

warto

ść

ść

_zwracana_przez_funkcj

_zwracana_przez_funkcj

ę

ę

;

;

}

}

Lini

Lini

ę

ę

typ_zwracanego_wyniku

typ_zwracanego_wyniku

nazwa_funkcji

nazwa_funkcji

(

(

parametry_funkcji

parametry_funkcji

)

)

nazywamy nag

nazywamy nag

ł

ł

ó

ó

wkiem funkcji.

wkiem funkcji.

2. Konstrukcja funkcji w j

2. Konstrukcja funkcji w j

ę

ę

zyku C

zyku C

1) Funkcja, kt

1) Funkcja, kt

ó

ó

ra nie zwraca

ra nie zwraca

ż

ż

adnej warto

adnej warto

ś

ś

ci

ci

i nie ma parametr

i nie ma parametr

ó

ó

w

w

Definicja:

Definicja:

void

void

plansza(void

plansza(void

)

)

{

{

printf("Oto

printf("Oto

program

program

obliczaj

obliczaj

ą

ą

cy

cy

\

\

n

n

\

\

n

n

");

");

printf("Autor

printf("Autor

: imi

: imi

ę

ę

i

i

nazwisko

nazwisko

\

\

n

n

\

\

n

n

");

");

getch

getch

(); //dzia

(); //dzia

ł

ł

a podobnie jak

a podobnie jak

system("PAUSE

system("PAUSE

");

");

return;

return;

}

}

Wywo

Wywo

ł

ł

anie:

anie:

plansza(); //wywo

plansza(); //wywo

ł

ł

ujemy w funkcji

ujemy w funkcji

main

main

3. Przyk

3. Przyk

ł

ł

ady funkcji u

ady funkcji u

ż

ż

ytkownika

ytkownika

void ma tu dwojakie znaczenie:

1) typ pusty (brak zwracanej wartości)

2) brak parametrów funkcji

background image

4

2) Funkcja, kt

2) Funkcja, kt

ó

ó

ra nie zwraca

ra nie zwraca

ż

ż

adnej warto

adnej warto

ś

ś

ci

ci

ale ma parametry

ale ma parametry

Definicja:

Definicja:

void

void

wypisz_sume(int

wypisz_sume(int

a,

a,

int

int

b)

b)

{

{

int

int

c=a+b

c=a+b

;

;

printf("

printf("

\

\

nSuma

nSuma

%d oraz %d wynosi %

%d oraz %d wynosi %

d",a,b,c

d",a,b,c

);

);

} //funkcja nic nie zwraca, ale wypisuje wynik na ekranie

} //funkcja nic nie zwraca, ale wypisuje wynik na ekranie

Wywo

Wywo

ł

ł

anie:

anie:

int

int

x1, x2;

x1, x2;

printf("Podaj

printf("Podaj

dwie liczby ca

dwie liczby ca

ł

ł

kowite: ");

kowite: ");

scanf("%d%d",&x1,&x2);

scanf("%d%d",&x1,&x2);

wypisz_sume(x1,x2);

wypisz_sume(x1,x2);

3. Przyk

3. Przyk

ł

ł

ady funkcji u

ady funkcji u

ż

ż

ytkownika

ytkownika

3) Funkcja, kt

3) Funkcja, kt

ó

ó

ra zwraca warto

ra zwraca warto

ść

ść

i ma parametry

i ma parametry

Definicja:

Definicja:

int

int

sumuj(int

sumuj(int

a,

a,

int

int

b)

b)

lub pro

lub pro

ś

ś

ciej

ciej

int

int

sumuj(int

sumuj(int

a,

a,

int

int

b)

b)

{

{

{

{

int

int

c=a+b

c=a+b

;

;

return (

return (

a+b

a+b

);

);

return c;

return c;

}

}

}

}

Wywo

Wywo

ł

ł

anie:

anie:

int

int

x1, x2, wynik;

x1, x2, wynik;

printf("Podaj

printf("Podaj

dwie liczby ca

dwie liczby ca

ł

ł

kowite: ");

kowite: ");

scanf("%d%d",&x1,&x2);

scanf("%d%d",&x1,&x2);

wynik=sumuj(x1,x2);

wynik=sumuj(x1,x2);

//inne wywo

//inne wywo

ł

ł

anie by

anie by

ł

ł

oby b

oby b

łę

łę

dne!

dne!

3. Przyk

3. Przyk

ł

ł

ady funkcji u

ady funkcji u

ż

ż

ytkownika

ytkownika

background image

5

Deklaracj

Deklaracj

ę

ę

(cia

(cia

ł

ł

o funkcji) mo

o funkcji) mo

ż

ż

emy umie

emy umie

ś

ś

ci

ci

ć

ć

:

:

1)

1)

w tym samym pliku co funkcja

w tym samym pliku co funkcja

main

main

()

()

a) przed funkcj

a) przed funkcj

ą

ą

main

main

()

()

b) po funkcji

b) po funkcji

main

main

()

()

2)

2)

w osobnym pliku (biblioteka funkcji

w osobnym pliku (biblioteka funkcji

u

u

ż

ż

ytkownika .h)

ytkownika .h)

4. Gdzie umieszczamy deklaracj

4. Gdzie umieszczamy deklaracj

ę

ę

funkcji?

funkcji?

1a) przed funkcj

1a) przed funkcj

ą

ą

main

main

()

()

#

#

include

include

<

<

stdio.h

stdio.h

>

>

typ_zwracany

typ_zwracany

moja_funkcja(parametry

moja_funkcja(parametry

)

)

{

{

//cia

//cia

ł

ł

o funkcji

o funkcji

}

}

int

int

main

main

()

()

{

{

moja_funkcja

moja_funkcja

(

(

); //wywo

); //wywo

ł

ł

anie funkcji

anie funkcji

}

}

4. Gdzie umieszczamy deklaracj

4. Gdzie umieszczamy deklaracj

ę

ę

funkcji?

funkcji?

background image

6

1b) po funkcji

1b) po funkcji

main

main

()

()

#

#

include

include

<

<

stdio.h

stdio.h

>

>

typ_zwracany

typ_zwracany

moja_funkcja(parametry

moja_funkcja(parametry

); //tzw. prototyp funkcji

); //tzw. prototyp funkcji

int

int

main

main

()

()

{

{

moja_funkcja

moja_funkcja

(

(

); //wywo

); //wywo

ł

ł

anie funkcji

anie funkcji

}

}

typ_zwracany

typ_zwracany

moja_funkcja(parametry

moja_funkcja(parametry

)

)

{

{

//cia

//cia

ł

ł

o funkcji

o funkcji

}

}

4. Gdzie umieszczamy deklaracj

4. Gdzie umieszczamy deklaracj

ę

ę

funkcji?

funkcji?

1) Zmienne globalne

1) Zmienne globalne

Zmienne globalne "widoczne" s

Zmienne globalne "widoczne" s

ą

ą

w ca

w ca

ł

ł

ym programie,

ym programie,

zar

zar

ó

ó

wno w funkcji

wno w funkcji

main

main

() jak te

() jak te

ż

ż

w funkcjach

w funkcjach

u

u

ż

ż

ytkownika.

ytkownika.

#

#

include

include

<

<

stdio.h

stdio.h

>

>

int

int

zmienna_globalna

zmienna_globalna

;

;

//zmienne globalne deklarujemy w nag

//zmienne globalne deklarujemy w nag

ł

ł

ó

ó

wku

wku

int

int

main

main

()

()

{

{

zmienna_globalna=10;

zmienna_globalna=10;

}

}

5. Zmienne globalne i lokalne

5. Zmienne globalne i lokalne

background image

7

2) Zmienne lokalne

2) Zmienne lokalne

Zmienne lokalne "widoczne" s

Zmienne lokalne "widoczne" s

ą

ą

tylko w tym

tylko w tym

bloku programu, w kt

bloku programu, w kt

ó

ó

rym s

rym s

ą

ą

zadeklarowane.

zadeklarowane.

int

int

main

main

()

()

{

{

int

int

zmienna_lokalna

zmienna_lokalna

;

;

//zmienna lokalna funkcji

//zmienna lokalna funkcji

main

main

//jest niewidoczna wewn

//jest niewidoczna wewn

ą

ą

trz funkcji u

trz funkcji u

ż

ż

ytkownika

ytkownika

}

}

5. Zmienne globalne i lokalne

5. Zmienne globalne i lokalne

2) Zmienne lokalne c.d.

2) Zmienne lokalne c.d.

#

#

include

include

<

<

stdio.h

stdio.h

>

>

int

int

moja_funkcja(void

moja_funkcja(void

)

)

{

{

int

int

zmienna_lokalna

zmienna_lokalna

;

;

//zmienna lokalna funkcji

//zmienna lokalna funkcji

//jest widoczna tylko wewn

//jest widoczna tylko wewn

ą

ą

trz funkcji

trz funkcji

moja_funkcja

moja_funkcja

}

}

5. Zmienne globalne i lokalne

5. Zmienne globalne i lokalne

background image

8

Dzi

Dzi

ę

ę

kuj

kuj

ę

ę

za uwag

za uwag

ę

ę


Wyszukiwarka

Podobne podstrony:
CMS Lab 04 Szablony
lab 04 id 257526 Nieznany
bd lab 04 id 81967 Nieznany (2)
Lab 04 2011 2012
539 SKiTI LAB 04
lab 04 FFT
fiz lab 04
zaliczenia Energo lab 04 2014-01-29, elektrotechnika, energoelektronika, zaliczenie lab
Programowanie i jezyk C Lab 04
Lab 04 Programowanie w jezyku powloki
sem IV MG lab 04-wykr ozn kata tarcia wewn i spojnosci w probie ściskania
lab 04
CMS Lab 04 Szablony
lab 04
lab 04 gd
MP Lab 04 Opory liniowe, 4
CMS Lab 04 Szablony
lab 04 id 257526 Nieznany

więcej podobnych podstron