Podstawy programowania

Slides:



Advertisements
Podobne prezentacje
OOPC++ - operatory1 Operatory class complex { private: double re, im; public: complex (double r, double i = 0) { re = r; im = i; } friend complex operator+
Advertisements

Testowanie oprogramowania metodą badania pokrycia kodu
Podstawy programowania
REKURENCJA.
Czyli jak zrobić prezentację komputerową?
Zastosowanie osi symetrii i wielokątów w przyrodzie
Co można zwiedzić w WIELKIEJ BRYTANII Pamiętajmy o miejscach które możemy zwiedzić na przykład w WIELKIEJ BRYTANII. I też czym różni się ta wyspa od naszego.
Małgorzata Pietroczuk
Tajemnice klawiatury.
FUNKCJA L I N I O W A Autorzy: Jolanta Kaczka Magdalena Wierdak
DYFRAKCJA ŚWIATŁA NA SIATCE DYNAMICZNEJ
Turystyka zdrowotna.
Analiza matematyczna III. Funkcje Funkcje I – własności podstawowe
I. Informacje podstawowe
Krzysztof Kucab Rzeszów, 2012
Analiza matematyczna III. Funkcje Funkcje II – własności podstawowe
Prąd Elektryczny.
PROJEKT WEDŁUG DILBERTA
AUTOR :WOJTEK NOWIK REPORTER : LUK SMIS PATRYK SORMAN PIOTREK COLO (KOLO)
Powiedzmy, że jest i wracasz do domu samochodem (oczywiście sam) po niezwykle ciężkim dniu pracy. Jesteś naprawdę zmęczony i sfrustrowany.
Takie liczby to: {... -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5,... }
Microsoft® Office EXCEL 2003
SZABLONY STOSOWANIE SZABLONÓW PODZIEL I ZMIERZ. Określanie miary i podziału Czasami konieczne jest zaznaczenie punktów na obiekcie położonych w równych.
Co każdy użytkownik komputera wiedzieć powinien
Energia atomowa.
KLAWIATURA Co to jest?.
ALGORYTMY.
Regresja krzywoliniowa
Materiał edukacyjny wytworzony w ramach projektu „Scholaris - portal wiedzy dla nauczycieli” współfinansowanego przez Unię Europejską w ramach Europejskiego.
Analiza stanu naprężenia
Wykonała Sylwia Kozber
Pęd Wielkością charakteryzującą ruch ciała jest prędkość. Zmiana ruchu, tzn. zmiana prędkości, wymaga pokonania oporu bezwładności. Miarą bezwładności.
xHTML jako rozszerzenie HTML
Instalacja serwera WWW na komputerze lokalnym
PHP Operacje na datach Damian Urbańczyk. Operacje na datach? Dzięki odpowiednim funkcjom PHP, możemy dokonywać operacji na datach. Funkcje date() i time()
HTML Podstawy języka hipertekstowego Damian Urbańczyk.
Władza lokalna w Polsce
Soczewka skupiająca Wiązka równoległa po przejściu przez soczewkę wypukłą skupia się w jednym punkcie. Ten punkt nazywa się ogniskiem soczewki F.
PATOLOGIE SPOŁECZNE. Ubóstwo i bezrobocie SPOSOBY ZWALCZANIA UBÓSTWA I BEZROBOCIA System opieki społecznej Programy aktywneProgramy pasywne.
T58 Zasady dynamiki 2x45 wykład 2x45 ćwiczenia. I zasada dynamiki I zasada dynamiki może być (jest) formułowana na kilka sposobów. Najczęściej ma ona.
Jak się uchronić przed zagrożeniami wynikającymi z użytkowania sieci?
Elementy programowania97 Użycie zmiennych w procedurze Sub ObliczWiek() 'deklaracja zmiennych Dim ImieNazwisko As String Dim DataUrodzenia As Date Dim.
SKĄD WIEM, KIM JESTEM? O TOŻSAMOśCI I TOŻSAMOŚCIACH
RÓWNANIA Wprowadzenie.
Warsztaty C# Część 2 Grzegorz Piotrowski Grupa.NET PO
KINECT – czyli z czym to się je?. Damian Zawada
Opracowała: Iwona Kowalik
BEZPIECZNY INTERNET. PRZEGLĄDANIE STRON INTERNETOWYCH.
SKALA MAPY Skala – stosunek odległości na mapie do odpowiadającej jej odległości w terenie. Skala najczęściej wyrażona jest w postaci ułamka 1:S, np. 1:10.
BRYŁY OBROTOWE.
Pliki elementowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików elementowych. Pliki takie zawierają informację zakodowaną
PolGIS jako nowoczesny system do paszportyzacji sieci
Budowa programu #include /*instrukcje preprocesora */ #include int main(void) { /*podstawowa funkcja programu */ int a=1; /*deklaracja i inicjalizacja.
Amatciems (Łotwa) Raj niedaleko Polski.
Psychologia w sprzedaży. Co wpływa na decyzje klienta? Załącznik do videocastu nr 2 Agata Matuszewska.
Ocenianie. 6 Ocenę celującą otrzymuje uczeń wówczas, jeżeli posiadł wiedzę i umiejętności wykraczające poza program nauczania w danej klasie, samodzielnie.
Grupy użytkowników1 Administracja Sieciami komputerowymi Grupy użytkowników.
Temat 5: Elementy meta.
Temat 1: Składnia języka HTML
Temat 1: Umieszczanie skryptów w dokumencie
Przyczyny, przejawy, skutki
PRZYCHODZI BABA DO LEKARZA.
Warsztaty użytkowników programu PLANS – Karwia06 Język makropoleceń JMP programu PLANS Część I mgr inż. Tomasz Zdun.
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
Obsługa strumienia wejścia/wyjścia /zajęcia nr 2/ printf – wyświetlanie scanf – ??? dla printf: \n - nowa linia \t - tabulator poziomy \b - znak cofania.
Instrukcje sterujące: W instrukcjach sterujących podejmowane są decyzje o wykonaniu tych czy innych instrukcji programu. Decyzje te podejmowane są w zależności.
Komtech Sp. z o.o. Magic Janusz ROŻEJ.
PIENIĄDZE.
FORMY CZASOWNIKA ‘mieć = have got’
Zapis prezentacji:

Podstawy programowania Zachodniopomorska Szkoła Biznesu Podstawy programowania Wykład 4: Funkcje

Podstawy programowania - Funkcje Co to jest funkcja? Funkcja to fragment programu zawierający deklaracje lokalne oraz instrukcje, któremu nadano nazwę. Od tego miejsca w programie, fragment ten można uruchamiać podając tylko tę nazwę. Funkcji używa się w sytuacji, gdy: Pewien fragment programu powtarzałby się inaczej kilkakrotnie w jednakowej lub zbliżonej formie (zmniejszenie długości kodu i ilości pracy programisty) Program jest długi i skomplikowany, dobrze jest wtedy podzielić go na mniejsze zadania, budować całość z mniejszych „klocków” (wzrost czytelności programu oraz ułatwienie jego pisania) W języku C++ działanie każdej funkcji wiąże się z wygenerowaniem (zwracaniem) pewnej wartości, której typ musi zostać określony w jej nagłówku. Podstawy programowania - Funkcje

Składnia definicji funkcji typ nazwa() // nagłówek (nawiasy konieczne) { deklaracje lokalne instrukcje } Jeżeli funkcja ma nie zwracać żadnej wartości, nadajemy jej typ void. Można ją wtedy nazwać procedurą. Jeżeli zwracany jest typ inny niż void, przed zakończeniem działania funkcji musi pojawić się instrukcja return wyrażenie; // typ zgodny z definicją! Jeżeli funkcja jest typu void, można (ale nie trzeba) w dowolnym miejscu użyć instrukcji return; która powoduje natychmiastowe zakończenie działania funkcji. Podstawy programowania - Funkcje

Przykłady definicji funkcji (1) void pusta() // funkcja minimum { } float pi() // funkcja minimum z typem { return 3.1415; } int signum() // sprawdzenie znaku { // globalnej zmiennej ‘a’ if (a<0) // (musi być zadeklarowana) return -1; else return (a>0); Podstawy programowania - Funkcje

Przykłady definicji funkcji (2) void odliczanie() // wypisanie na ekranie { // liczb od 10 do 1 int i; // zmienna lokalna for (i=10; i>0; i--) cout << i << endl; // wypisanie elementu } // tu nie musi być ‘return’ int błędna() // nie ma ‘return’ dla { // wszystkich możliwych if (i==5) // przypadków return 1; } Podstawy programowania - Funkcje

Podstawy programowania - Funkcje Wywołanie funkcji W celu uruchomienia funkcji należy umieścić jej wywołanie wewnątrz innej funkcji (np. w funkcji main) Składnia: nazwa_funkcji(); // nawiasy konieczne! W tym przypadku wartość zwracana przez funkcję jest ignorowana. Jeżeli funkcja jest innego typu niż void, można jej wywołanie umieścić w wyrażeniu w celu wykorzystania wartości zwracanej przez tę funkcję, np. x=2*nazwa_funkcji()+1; Oznacza to wykonanie funkcji i użycie zwróconej przez nią wartości do obliczeń. Podstawy programowania - Funkcje

Przykłady wywołania funkcji (1) int a1, a2, b1, b2; // zmienne globalne void Ustaw() { a1=b1=1; a2=b2=2; } void Zeruj() a1=b1=a2=b2=0; void main() Ustaw(); // wywołanie funkcji ‘Ustaw’ Zeruj(); // wywołanie funkcji ‘Zeruj’ Ustaw(); Zeruj(); Podstawy programowania - Funkcje

Przykłady wywołania funkcji (2) float pi() // ta funkcja musi być pierwsza { return 3.1415; } float dwapi() { return 2* pi(); // wywołanie ‘pi’ } void main() { float Pole, Obwod, r=5; Pole = pi() * r*r; // wywołanie ‘pi’ Obwod= dwapi() * r; // wywołanie ‘dwapi’ } Podstawy programowania - Funkcje

Przekazywanie wartości przez zmienne globalne float a,b,c,delta, x1,x2; float Obliczdelta() // funkcja wymaga danych { return delta=b*b-4*a*c; } void ObliczDwa(); { x1=(-b-sqrt(delta)) / (2*a); x2=(-b+sqrt(delta)) / (2*a); } void main() { a=2, b=3, c=-1; if (Obliczdelta()>0) ObliczDwa(); Podstawy programowania - Funkcje

Zmienne globalne i lokalne Nie wolno w tym samym zakresie zdefiniować dwóch symboli o tej samej nazwie, bez względu na ich typ Symbole definiowane wewnątrz funkcji lub w instrukcji blokowej nazywane są lokalnymi Symbole lokalne tworzone są podczas rozpoczęcia wykonania bloku i niszczone przy opuszczeniu bloku, w którym zostały zadeklarowane Zmienne lokalne powstają na tzw. stosie i po utworzeniu mogą zawierać wartości przypadkowe, podczas gdy zmienne lokalne zawsze inicjalizowane są zerami. Symbol lokalny o mniejszym zakresie może mieć tę samą nazwę co symbol o szerszym zakresie (np. globalny), ale utrudnia jego wykorzystanie, przesłania go Do zmiennej globalnej można uzyskać dostęp dzięki operatorowi zakresu :: umieszczonemu przed nazwą, np. ::zmienna Podstawy programowania - Funkcje

Podstawy programowania - Funkcje Przykłady deklaracji int a=1,b=2; // deklaracje symboli globalnych float a; // błąd: powtórzona nazwa ‘a’ int b() // błąd: powtórzona nazwa ‘b’ {} void fun() { int a=3; // zmienne lokalne float b=5; // (przesłaniające globalne) { int a; // zmienna „jeszcze bardziej lokalna” } int x= a; // użycie zmiennej lokalnej x= ::a; // dostęp do zmiennej globalnej } Podstawy programowania - Funkcje

Podstawy programowania - Funkcje Parametry funkcji Większość funkcji potrzebuje do swego działania danych wejściowych, które można przekazać podczas wywołania dzięki użyciu parametrów, np. Składnia definicji funkcji z parametrami: typ NazwaFunkcji(typ1 par1, typ2 par2, ...) { ... } Wywołanie funkcji z parametrami: NazwaFunkcji(wartość_typu1, wartość_typu2, ...) Liczba wartości i ich typy muszą być zgodne z nagłówkiem funkcji Parametry funkcji można rozumieć jako deklaracje zmiennych lokalnych, które „wypełniane” są przy uruchomieniu funkcji kopiami przekazanych wartości Podstawy programowania - Funkcje

Przykłady funkcji z parametrami float PoleKola(float r) // funkcja z 1 parametrem { return 3.1415*r*r; // użycie parametru } float Delta(float a, float b, float c) // 3 parametry { return b*b-4*a*c; // użycie parametrów void main() { float aa=1,bb=3,cc=-2, r=2; // inne r! float P, D, x; P=PoleKola(1); P=PoleKola(r+2); if (Delta(aa,bb,cc)==0) x=-b/(2*a); Podstawy programowania - Funkcje

Przesłanianie zmiennych globalnych przez parametry funkcji int x,y,a=1; void funkcja(int a) // ta sama nazwa ‘a’ (a=2) { x=a; // użycie zmiennej lokalnej ‘a’, x=2 a=a+5; // zmienna lokalna a=2+5=7 } void main() x=a; // użycie zmiennej globalnej ‘a’, x=1 funkcja(2); x=a; // zmienna globalna ‘a’ bez zmian, x=1 Podstawy programowania - Funkcje

Deklaracja funkcji (prototyp) Do użycia danej funkcji kompilatorowi (a także programiście) potrzebna jest tylko wiedza o jej nazwie, zwracanym typie oraz parametrach wywołania Tzw. ciało funkcji niezbędne jest dopiero na etapie linkowania, a więc może znajdować się w dalszej części programu lub nawet w oddzielnym pliku (np. w bibliotece). Niezbędnego opisu funkcji dostarcza jej deklaracja, zwana też prototypem lub headerem. Składnia: typ NazwaFunkcji(typ1 par1, typ2 par2, ...); Jeżeli taka deklaracja znajdzie się w programie, to w dalszym ciągu pliku można wywoływać tę funkcję normalnie, tak jakby była w pełni zdefiniowana. Kompletna definicja tej funkcji musi jednak gdzieś się znajdować: albo pod spodem albo w innym pliku Podstawy programowania - Funkcje

Przykład użycia prototypu float potega(float a, int wyk); // prototyp void main() { float x=potega(2,5); // wywołanie funkcji } float potega(float a, int wyk) // definicja funkcji { int i; float p=1; for (i=0; i<wyk; i++) p*=a; return p; Podstawy programowania - Funkcje

Podstawy programowania - Funkcje Biblioteki W wielu programach, jakie są tworzone powtarza się znaczna liczba różnych elementarnych zadań. W celu ułatwienia pracy programisty wiele z nich zostało już wcześniej zaprogramowane i zebrane w różnego rodzaju bibliotekach, zwykle dołączonych do kompilatora. Biblioteki zawierają przede wszystkim gotowe funkcje Zwykle domyślnie ustawiona jest opcja kompilatora nakazująca poszukiwanie we wskazanych bibliotekach tych funkcji, które w programie znalazły się jedynie w formie deklaracji (prototypu) Próba wywołania w programie funkcji bibliotecznej bez podania wcześniej prototypu spowoduje błąd kompilacji (nieznany symbol) W celu skorzystania z funkcji bibliotecznej należy wcześniej albo samodzielnie wpisać jej prototyp (np. na podstawie dokumentacji) albo dokonać importu pliku nagłówkowego (ang. header file) za pomocą dyrektywy #include Podstawy programowania - Funkcje

Podstawy programowania - Funkcje Preprocesor Integralną częścią koncepcji języka C/C++ jest preprocesor czyli moduł dokonujący pewnych operacji na tekście programu jeszcze przed jego kompilacją Działa on w oparciu o tzw. dyrektywy, które są poleceniami rozpoczynającymi się od znaku # (hash), który musi być pierwszym znakiem w danej linii programu (nie licząc spacji, tabulacji lub ewentualnie komentarza ograniczonego parą znaków /* i */ ) Standardowe dyrektywy to: #include #define #undef #if #ifdef #ifndef #else #elif #endif #line #error #pragma Podstawy programowania - Funkcje

Podstawy programowania - Funkcje Dyrektywa #include Składnia: #include <nazwa_pliku> lub #include ”nazwa_pliku” Dyrektywa ta powoduje, że preprocesor w jej miejsce wkleja podany plik w całości Zazwyczaj wklejanymi plikami są pliki nagłówkowe z rozszerzeniem .h . Zawierają one m.in. prototypy funkcji Podany plik poszukiwany jest w katalogach wyszczególnionych w opcjach kompilatora jako „include directories”. Znajdują się tam pliki nagłówkowe m.in. z prototypami funkcji bibliotecznych Jeżeli nazwę pliku podano w cudzysłowach (” ”), plik poszukiwany jest najpierw w katalogu, w którym znajduje się plik programu (następnie w katalogach standardowych) Wkleja się w ten sposób własne pliki nagłówkowe zawierające m.in. prototypy funkcji zdefiniowanych w różnych plikach Podstawy programowania - Funkcje

Podstawy programowania - Funkcje Dyrektywa #define Składnia: #define NAZWA ciąg znaków lub #define NAZWA // ciąg pusty Każde wystąpienie w tekście programu symbolu NAZWA zostanie przed kompilacją zamienione na podany ciąg znaków Jeżeli chcemy aby ciąg znaków zawierał więcej niż jedną linię, można go kontynuować w linii następnej pod warunkiem, że na końcu poprzedniej pojawi się znak \ (backslash), który nie będzie wklejany jako część ciągu: #define NAZWA ciąg znaków \ kontynuacja ciągu znaków\ kontynuacja ciągu znaków Dyrektywę tę wykorzystuje się również do tworzenia tzw. makr z użyciem parametrów wywołania Podstawy programowania - Funkcje

Przykłady użycia dyrektywy #define Tworzenie stałych #define PI 3.1415 float x=PI/2; #define N 10 ... for (i=1; i<N; i++)... Zamiana wybranych słów na inne #define float double W programie poniżej tej dyrektywy wszystkie napisy float zmienią się na double Usuwanie wybranych słów #define unsigned ... unsigned int x; // unsigned zniknie Podstawy programowania - Funkcje

Podstawy programowania - Funkcje Biblioteka iostream Każdy algorytm czy program wymaga wprowadzania danych wejściowych i wyprowadzania wyniku Podstawowym sposobem wprowadzania danych jest ich wpisywanie z klawiatury, a wyprowadzania danych - wyświetlanie na ekranie Tzw. operacje wejścia-wyjścia realizowane są za pomocą funkcji (lub obiektów) z bibliotek. W języku C++ zwykle korzysta się w tym celu ze zbioru nagłówkowego iostream.h (W języku C stosowano raczej zbiór nagłówkowy stdio.h) Biblioteki te umożliwiają przede wszystkim możliwość korzystania z klawiatury, wyświetlania na ekranie oraz dostępu do plików Biblioteka iostream.h jest skonstruowana w sposób obiektowy, udostępnia więc nie tylko funkcje ale także obiekty Podstawy programowania - Funkcje

Wyświetlanie tekstu: obiekt cout cout jest obiektem odpowiadającym standardowemu strumieniowi wyjściowemu, który domyślnie połączony jest z wyświetlaniem tekstu na ekranie. Wyświetlenie tekstu uzyskuje się dzięki specjalnie zdefiniowanemu operatorowi << Składnia: cout << wyświetlany_element; cout << element1 << element2 << element3; W celu przechodzenia na początek następnej linii zdefiniowano symbol endl cout << 100.99 << endl; Wyświetlenie tekstu podanego wprost w programie wymaga umieszczenia go w cudzysłowiu cout << ”Liczba PI= ”<< 3.14 << endl; Podstawy programowania - Funkcje

Wprowadzanie danych: obiekt cin cin jest obiektem odpowiadającym standardowemu strumieniowi wejściowemu, który domyślnie połączony jest z wprowadzanie danych z klawiatury Wprowadzanie danych uzyskuje się dzięki specjalnie zdefiniowanemu operatorowi >> Wprowadzanie danych odbywa się zawsze do pamięci, a więc musimy podać nazwę zmiennej, która ma zapamiętać dane Składnia: int a,b,c; cin >> a; // po znaku << musi być zmienna cin >> a >> b >> c; Zwykle najpierw wyświetla się żądanie podania danych, np. cout << „Podaj swoją cenę: ”; cin >> cena; Podstawy programowania - Funkcje

To już jest koniec++ Dziękuję za uwagę