ćwicz6, Elektronika i Telekomunikacja, informatyka


Temat: Strukturalizacja programów - cd.

  1. Przypomnienie informacji o procedurze.

  2. Składnia funkcji.

  3. Procedura a funkcja.

  4. Ćwicz:

- funkcja NWD(int a, int b) // największy wspólny dzielnik liczb a, b

- funkcja NWW(int a, int b) // najmniejsza wspólna wielokrotność liczb a,b

- procedura suma (l1,m1,l2,m2) // suma 2 ułamków

- procedura roznica (l1,m1,l2,m2) // różnica 2 ułamków

- procedura iloczyn (l1,m1,l2,m2) // iloczyn …………

- procedura iloraz (l1,m1,l2,m2) //iloraz …………….

Ad.1

Procedura jest fragmentem programu, do którego można odwoływać się poprzez jej nazwę. Może być parametryczna lub nie. Na etapie definicji podajemy parametry formalne, a na etapie wywołania podajemy parametry aktualne, które muszą być zgodne w typie z typami parametrów formalnych.

Przykład procedury:

void znaki (int ile, char znak) // definiowanie procedury i parametrów formalnych

{

for (int i=0; i<ile;i++) cout<<znak; // treść procedury;

}

int main()

{

znaki (15,'*'); // wywołanie procedury poprzez nazwę i podanie parametrów aktualnych

return 0;

}

Ad. 2

Funkcja jest fragmentem programu. Może być parametryczna lub nie. Na etapie definicji podajemy parametry formalne, a na etapie wywołania parametry aktualne, które muszą być zgodne w typie z typami parametrów formalnych. Funkcja pod swoją nazwą zwraca określoną na etapie definicji wartość. Wynik działania funkcji można wypisać lub używać w wyrażeniach np. matematycznych.

Przykład

cout<<sqrt (100); // funkcja o nazwie sqrt zwraca wartość pierwiastka kwadratowego z liczby; nie musimy jej definiować, bo ktoś już wcześniej to zrobił i jest teraz w bibliotece <cmath>.

Samodzielne definiowanie funkcji wymaga napisania kodu zgodnie ze składnią:

typ_wyniku_funkcji nazwa_funkcji (parametry formalne)

{

…………………………….// treść funkcji

return wynik; // ta instrukcja musi wystąpić w treści funkcji i wynik musi być zgodny z typem

wyniku_funkcji

}

Przykład definicji funkcji o nazwie srednia:

float srednia (int a, int b) // definicja funkcji; oblicza średnią 2 liczb i zwraca wynik typ float

{

int suma=a+b;

return suma/2;

}

int main()

{

int x, y;

cout<<”Podaj 2 liczby”;

cin >>x>>y;

cout<<”Srednia liczb ”<<x<<” i ”<<y<<”wynosi<<srednia(x,y); //wywołanie funkcji srednia

return 0;

}

Ad. 3

- funkcja i procedura służą strukturalizacji programów; raz zdefiniowane mogą być wielokrotnie używane;

- funkcja pod swoją nazwą zwraca wartość wskazaną w definicji poleceniem return. Polecenie return zwraca wartość i kończy działanie funkcji;

- nazwa procedury nie może być użyta w wyrażeniach, a funkcji tak;

- blok główny programu int main() {……} jest też funkcją; return 0 kończy działanie całego programu

Ad. 4

Przeanalizuj poniższy kod realizujący funkcję NWD dla dwóch liczb a i b;

int NWD (int a, int b)

{

int pom;

for (int i=1; i<=a; i++)

if (a%i==0 && b%==0) pom=i;

return pom;

}

Przepisz tą funkcję do programu, który będzie wykonywał podstawowe działania na ułamkach zwykłych. Napisz samodzielnie funkcję NWW wzorując się na NWD i korzystając ze wzoru NWW(a,b)=a*b/NWD(a,b);

Dopisz do w/w funkcji procedury wymienione w Ćwicz. Procedury dla 4 liczb (licznika i mianownika pierwszego ułamka i licznika i mianownika drugiego ułamka) mają realizować 4 podstawowe działania na ułamkach zwykłych.

Np.

void suma (int l1, int m1, int l2, int m2)

{

int m=m1*m2; // obliczenie wspólnego mianownika

int l=l1*m1+l2*m2; // obliczenie zsumowanych liczników

cout<<l1<<”/”m1<<”+”<<l2<<”/”<<m2<<”=”<<l/NWD(l,m)<<”/”<<m/NWD(l,m)<<endl;

}

Uwaga! NWD(l,m) wykorzystywana jest do skracania licznika i mianownika.



Wyszukiwarka

Podobne podstrony:
generacje komp dla ucznia, Elektronika i Telekomunikacja, informatyka
typy danych, Elektronika i Telekomunikacja, informatyka
Funkcje mat i operatory, Elektronika i Telekomunikacja, informatyka
5. napięci zmienne, protokol cw5, WYDZIAŁ ELEKTRONKI TELEKOMUNIKACJI I INFORMATYKI
Cwicz4, Elektronika i Telekomunikacja, informatyka
generacje komp dla ucznia, Elektronika i Telekomunikacja, informatyka
Zagadnienia egzamin podstawy informatyki, Elektronika i Telekomunikacja, z PENDRIVE, Politechnika -
dec2bin, Elektronika i Telekomunikacja, z PENDRIVE, Politechnika - EiT, 2011 - sem 1, PODSTAWY INFOR
podzialy, Elektronika i Telekomunikacja, z PENDRIVE, Politechnika - EiT, 2011 - sem 1, technologie i
szekspir, Elektronika i Telekomunikacja, z PENDRIVE, Politechnika - EiT, 2011 - sem 1, technologie i
toplista, Elektronika i Telekomunikacja, z PENDRIVE, Politechnika - EiT, 2011 - sem 1, technologie i
wrl3075.tmp, Elektronika i Telekomunikacja, z PENDRIVE, Politechnika - EiT, 2011 - sem 1, PODSTAWY I
turystyka1, Elektronika i Telekomunikacja, z PENDRIVE, Politechnika - EiT, 2011 - sem 1, technologie
maly mis, Elektronika i Telekomunikacja, z PENDRIVE, Politechnika - EiT, 2011 - sem 1, technologie i
etzi-zagadnienia do zaliczenia-2016, ELEKTRONIKA I TELEKOMUNIKACJA PRZ - systemy pomiarowe i diagnos
Głow2, Elektronika i telekomunikacja-studia, rok III, sem V, teo
Pytania z teledetekcji-ca, Elektronika i telekomunikacja WAT, Semestr V, PTD

więcej podobnych podstron