Jerzy F. Kotowski1 Informatyka I Wykład 8 STRUKTURA PROGRAMU n Funkcje n Klasy zmiennych n Projekt.

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Funkcje w PHP ABK.
Język C/C++ Funkcje.
Programowanie obiektowe
Deklaracje i definicje klas w C++ Składowe, pola, metody Konstruktory
Programowanie obiektowe PO PO - LAB 4 Wojciech Pieprzyca.
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas. 2 Wzorce Często pojawia się konieczność pisania podobnych funkcji lub klas operujących na argumentach.
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas Tablica asocjacyjna Składowe statyczne.
Wzorce.
Język ANSI C Funkcje Wykład: Programowanie komputerów
Prowadzący: mgr inż. Elżbieta Majka
Języki programowania C++
PROGRAMOWANIE STRUKTURALNE
formatowanie kodu źródłowego
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Funkcje Modularyzacja : program główny , funkcje Funkcje :
Instrukcje Instrukcja : definicja obliczenia i określenie sposobu wykonania tego obliczenia. Program : ciąg instrukcji wykonywanych kolejno od pierwszej.
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
Metody numeryczne Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Podstawy informatyki Wirtotechnologia – Funkcje Grupa: 1A
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Podstawy programowania PP – WYK3 Wojciech Pieprzyca.
Podstawy programowania PP – LAB4 Wojciech Pieprzyca.
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
nowe operatory & . (kropka) * operator rzutowy -> , (przecinek)
Pracę wykonali: Rafał Chmielorz Michał Sporek Jan Nowik
Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.
Podstawy programowania
Metody Programowania Wykład
Programowanie obiektowe III rok EiT
Jerzy F. Kotowski1 Informatyka I Wykład 7 STEROWANIE c.d. n switch n Pętle.
Jerzy F. Kotowski1 Informatyka I Wykład 9 TABLICE PREPROCESOR OPERATORY c.d. (nie tylko binarne)
Podstawy programowania
Informatyka I Wykład 5 OPERATORY Priorytety i kolejność obliczeń
Funkcje w Pascalu Przypomnienie wiadomości o procedurach Prowadzący: Anna Kaleta Piotr Chojnacki.
Informatyka I Wykład 10 WSKAŹNIKI I ADRESY Jerzy F. Kotowski.
Jerzy F. Kotowski1 Informatyka I Wykład 11 STRUKTURY I UNIE.
Procedury i funkcje.
Przekazywanie argumentów
Podstawy programowania
Programowanie obiektowe III rok EiT
Podstawy programowania w języku C i C++
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Jerzy F. Kotowski1 Informatyka I Wykład 15 PIERWSZE KROKI.
Programowanie obiektowe III rok EiT
STEROWANIE Ale nie tylko
Java – coś na temat Klas Piotr Rosik
Jerzy Kotowski Politechnika Wrocławska
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Funkcje w C++ Funkcja – wydzielony fragment kodu użyty w programie (raz lub więcej razy) spełniający określone zadanie, np. obliczenie średniej ocen.
Programowanie strukturalne i obiektowe C++
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Programowanie obiektowe Wykład 9 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/15 Dariusz Wardowski.
Przeładowanie funkcji. Dotychczas wiedzieliśmy, że: w danym zakresie ważności może być tylko jedna funkcja o danej nazwie. Kompilator języka C++ daje.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Podstawy informatyki Funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Język C/C++ Funkcje. Funkcje - wstęp Funkcję można uważać za operację zdefiniowaną przez programistę i reprezentowaną przez nazwę funkcji. Operandami.
1 Opisy funkcji Adres strony WWW : html (należy odszukać hyperlink Function Index) (
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Kurs języka C++ – wykład 3 ( )
PODSTAWY INFORMATYKI Wykład 4.
PGO Przeciążanie metod i konstruktorów
Zapis prezentacji:

Jerzy F. Kotowski1 Informatyka I Wykład 8 STRUKTURA PROGRAMU n Funkcje n Klasy zmiennych n Projekt

Jerzy F. Kotowski2 Deklaracja funkcji n Deklaracja definiująca - definicja n Deklaracja odwoławcza – klasycznafloat suma();C - C++ – prototypowafloat suma(int a, int b); Definicja funkcji n Nagłówek n Ciało funkcjifunction body

Jerzy F. Kotowski3 Nagłówek funkcji n Nagłówek funkcji zawiera kolejno: – typ zwracanego rezultatu – nazwę funkcji – listę argumentów (parametrów) w nawiasach okrągłych n Deklaracje typów argumentów mogą w całości wystąpić w nagłówku (deklaratorze) lub poza nim n Jeżeli deklaracje typów argumentów występują w całości w nagłówku to nazywa się go prototypem n Ostatnim parametrem na liście może być... float suma(double x, double y, double z)

Jerzy F. Kotowski4 Nagłówek funkcji c.d. n Postać klasyczna n Postać prototypowa float iloczyn(x, y) int x; char y; { return x*y; } float iloczyn(int x, char y) { return x*y; } n Prototyp to nagłówek funkcji zakończony znakiem ; n Prototyp poprawia humor kompilatorowi C i przywraca chęć do życia kompilatorowi C++ n Uwaga! W przykładzie przy zwracaniu rezultatu dokonywana jest projekcja typu int na typ float

Jerzy F. Kotowski5 Przekazywanie argumentów przez wartość i udostępnianie rezultatu n Przykłady wywołania: rezultat = iloczyn(a,b); y = iloczyn(1+3,a); n C++: projekcja na typ deklarowany, tzn: rezultat = iloczyn((int)a,(char)b); n W każdym przypadku zmienne x i y (argumenty formalne) dostają tylko kopie argumentów aktualnych n int pralnia(int klient);- prototyp funkcji pralnia koszt = pralnia(Kasia);- wywołanie n Słowo kluczowe return i void. Kontakt przez stos. float iloczyn(int x, char y) { float wynik = x*y; return wynik; }

Jerzy F. Kotowski6 Przykłady funkcji long silnia(int n) { long silnia = n; while(--n) silnia *= n; return silnia; } n Zmieniamy n, czyli argument formalny n Przykład wywołania: int n=10;// inne n !!! long n_s = silnia(n); printf(%d!=%ld,n,n_s); float min(float a, float b) { if(a<b) return a; else return b; } n Przykład wywołania: y = min(3.5,a); n Przykłady z wykorzystaniem debuggera8_1

Jerzy F. Kotowski7 Klasy zmiennych auto register static extern CZAS ŻYCIA n zakładana w prologu funkcji i kasowana w epilogu. Smieć!! n jak wyżej n jak zmienna globalna (prolog i epilog programu) n jak zmienna globalna Zasięg ważności nazwy n funkcja, blok - C++ n jak wyżej n funkcja n plik źródłowy key- words

Jerzy F. Kotowski8 Klasa auto n Tego słowa kluczowego się praktycznie nie używa n Zmienne klasy auto to zmienne tworzone na stosie - argumenty formalne i zmienne lokalne lub zmienne tworzone wewnątrz bloku n Zjawisko przesłaniania n Formalny zapis: float iloczyn(int x, char y) { auto float wynik = x*y; return wynik; }

Jerzy F. Kotowski9 Klasa register n Składnia podobna: float iloczyn(int x, char y) { register float wynik = x*y; return wynik; } Jest to grzeczna prośba do kompilatora aby w miarę swoich możliwości trzymał taki obiekt pod ręką, a najlepiej w jakimś rejestrze procesora. n Jest optymalizacja pracy programu po czasie tzn. przy kryterium typu czas. Alternatywa - rozmiar.

Jerzy F. Kotowski10 Klasa static n Przykład:int Switch(void) { static int x = 0; x = 1 - x; return x; } n Wystarczy napisać:static x; n Przykład wywołania: for(i=0;i<10;i++) printf(%d,Switch()); n Efekt: n Ograniczenie dostępu typowe dla podejścia obiektowego

Jerzy F. Kotowski11 Projekt inf_8.prj n inf_8_2.cpp #include int x,y; // zmienne globalne int power(int); // prototyp void main(void) { int i; x = 1; y = 2; for(i = 0; i < 10; i++) printf(\n%d, power(++x)); } n inf_8_3.cpp extern int y; // extern int power(int z) { int i, w = 1; for(i = 0; i < y; i++) w *= z; return w; } inf_8_2: W zbiorze stdio.h jest prototyp funkcji printf inf_8_2: Prototyp funkcji power inf_8_2: int i - zmienna widziana wewnątrz funkcji main inf_8_2: int x - zmienna widziana tylko w pliku inf_8_2.cpp inf_8_3: extern int y - zmienna widziana w obu plikach inf_8_3: int i - przesłania zmienną z pliku inf_8_2.cpp

Jerzy F. Kotowski12 Projekt inf_8.prj - komentarze n inf_8_2.cpp n W zbiorze stdio.h jest prototyp funkcji printf n Prototyp funkcji power nie zawiera nazw argumentów tylko ich typy n int i - zmienna widziana wewnątrz funkcji main n int x - zmienna globalna widziana tylko w pliku inf_8_2.cpp n inf_8_3.cpp n extern int y - zmienna widziana w obu plikach n int i - przesłania zmienną z pliku inf_8_2.cpp

Jerzy F. Kotowski13 Projekt - zakładanie i obsługa n Składowe projektu typu *.c* n Składowe projektu typu *.obj n Project/ Open project Close project Add item Delete item8_1,2

Jerzy F. Kotowski14 Debugger n Opcje kompilatora Options /Compiler /Code Generation/Advanced Code Generation /Debug info in OBJs oraz Options /Debugger n Debugg/ Watches/ Add - Delete - Edit - Remove n Debugg/ Evaluate / modify n Debugg/ Breakpoints... n Compile/ Compile - Make - Link - Build n Run/ Run - Go to cursor - Trace into - Step over