Common Lisp - funkcje i zmienne

Wielkość: px
Rozpocząć pokaz od strony:

Download "Common Lisp - funkcje i zmienne"

Transkrypt

1 Instytut Informatyki Uniwersytetu Wrocławskiego 27 października 2010

2 Plan prezentacji 1 Funkcje 2

3 Plan prezentacji Funkcje 1 Funkcje Ogólna postać Sposoby podawania parametrów 2

4 Krótkie przypomnienie Funkcje Przykładowa definicja ( defun s q u a r e ( x ) ( x x ) ) Przykładowe wywołanie ( s q u a r e 17) ; ; 243

5 Krótkie przypomnienie Funkcje Przykładowa definicja ( defun s q u a r e ( x ) ( x x ) ) Przykładowe wywołanie ( s q u a r e 17) ; ; 243

6 Krótkie przypomnienie Funkcje Przykładowa definicja ( defun s q u a r e ( x ) ( x x ) ) Przykładowe wywołanie ( s q u a r e 17) ; ; 243

7 Plan prezentacji Funkcje 1 Funkcje Ogólna postać Sposoby podawania parametrów 2

8 Ogólna postać funkcji Funkcje Składnia ( defun nazwa ( parametry ) doc str? ciag wyrazen?)

9 Przykłady Funkcje ; ; Pusta l i s t a wyrazen, f u n k c j a zawsze zwraca NIL ( defun p a s s ( ) ) ; ; Troche b a r d z i e j r e a l i s t y c z n y p r z y k l a d ( defun verbose id ( x ) This i s a doc s t r i n g ( format t I got D %. x ) ( save the world ( ) ) x )

10 Przykłady Funkcje ; ; Pusta l i s t a wyrazen, f u n k c j a zawsze zwraca NIL ( defun p a s s ( ) ) ; ; Troche b a r d z i e j r e a l i s t y c z n y p r z y k l a d ( defun verbose id ( x ) This i s a doc s t r i n g ( format t I got D %. x ) ( save the world ( ) ) x )

11 Sposoby podawania parametrów Rodzaje argumentów W Common Lisp mamy następujące opcje: Wymagane parametry pozycyjne Opcjonalne parametry pozycyjne Parametry jako lista Nazwane parametry (ang. keyword arguments)

12 Sposoby podawania parametrów Rodzaje argumentów W Common Lisp mamy następujące opcje: Wymagane parametry pozycyjne Opcjonalne parametry pozycyjne Parametry jako lista Nazwane parametry (ang. keyword arguments)

13 Sposoby podawania parametrów Rodzaje argumentów W Common Lisp mamy następujące opcje: Wymagane parametry pozycyjne Opcjonalne parametry pozycyjne Parametry jako lista Nazwane parametry (ang. keyword arguments)

14 Sposoby podawania parametrów Rodzaje argumentów W Common Lisp mamy następujące opcje: Wymagane parametry pozycyjne Opcjonalne parametry pozycyjne Parametry jako lista Nazwane parametry (ang. keyword arguments)

15 Sposoby podawania parametrów Rodzaje argumentów W Common Lisp mamy następujące opcje: Wymagane parametry pozycyjne Opcjonalne parametry pozycyjne Parametry jako lista Nazwane parametry (ang. keyword arguments)

16 Obowiązkowe parametry pozycyjne Podajemy listę zmiennych, pod które zostaną podstawione (związane) argumenty Przykłady ( defun no args ( ) ) ( defun foo ( a b c ) ) Podanie nieodpowiednej liczby zmiennych kończy się zgłoszeniem wyjątku! A jeśli nie chcemy zawsze wszystkiego podawać?

17 Obowiązkowe parametry pozycyjne Podajemy listę zmiennych, pod które zostaną podstawione (związane) argumenty Przykłady ( defun no args ( ) ) ( defun foo ( a b c ) ) Podanie nieodpowiednej liczby zmiennych kończy się zgłoszeniem wyjątku! A jeśli nie chcemy zawsze wszystkiego podawać?

18 Obowiązkowe parametry pozycyjne Podajemy listę zmiennych, pod które zostaną podstawione (związane) argumenty Przykłady ( defun no args ( ) ) ( defun foo ( a b c ) ) Podanie nieodpowiednej liczby zmiennych kończy się zgłoszeniem wyjątku! A jeśli nie chcemy zawsze wszystkiego podawać?

19 Obowiązkowe parametry pozycyjne Podajemy listę zmiennych, pod które zostaną podstawione (związane) argumenty Przykłady ( defun no args ( ) ) ( defun foo ( a b c ) ) Podanie nieodpowiednej liczby zmiennych kończy się zgłoszeniem wyjątku! A jeśli nie chcemy zawsze wszystkiego podawać?

20 Opcjonalne parametry pozycyjne Przed pierwszym parametrem który ma być opcjonalny umieszczamy frazę &optional Możemy podać wartość domyślną, a także sprawdzić, czy dany argument został podany przy wywołaniu Przykład ( defun t e s t (& o p t i o n a l a ( b 1) ( c 6 c p ) ) ( l i s t a b ( l i s t c c p ) ) ) CL USER> ( t e s t ) ( NIL 1 (6 NIL ) ) CL USER> ( t e s t 1 2 3) (1 2 (3 T) )

21 Opcjonalne parametry pozycyjne Przed pierwszym parametrem który ma być opcjonalny umieszczamy frazę &optional Możemy podać wartość domyślną, a także sprawdzić, czy dany argument został podany przy wywołaniu Przykład ( defun t e s t (& o p t i o n a l a ( b 1) ( c 6 c p ) ) ( l i s t a b ( l i s t c c p ) ) ) CL USER> ( t e s t ) ( NIL 1 (6 NIL ) ) CL USER> ( t e s t 1 2 3) (1 2 (3 T) )

22 Parametry w postaci listy Funkcje Po ostatnim parametrze, który ma być nazwanym argumentem umieszczamy frazę &args i nazwę zmiennej z którą ma zostać związana lista pozostałych argumentów Przykład ( defun t e s t ( a b &r e s t params ) ( l i s t a b params ) ) CL USER> ( t e s t 1 2) (1 2 NIL ) CL USER> ( t e s t ) (1 6 (7 8 9 ) )

23 Parametry w postaci listy Funkcje Po ostatnim parametrze, który ma być nazwanym argumentem umieszczamy frazę &args i nazwę zmiennej z którą ma zostać związana lista pozostałych argumentów Przykład ( defun t e s t ( a b &r e s t params ) ( l i s t a b params ) ) CL USER> ( t e s t 1 2) (1 2 NIL ) CL USER> ( t e s t ) (1 6 (7 8 9 ) )

24 Nazwane parametry Funkcje Przed pierwszym parametrem który ma być (opcjonalnym) nazwanym parametrem umieszczamy frazę &key Możemy podać wartość domyślną, a także sprawdzić, czy dany argument został podany przy wywołaniu Przykład ( defun t e s t (&key a ( b 2) ( c 3 c p) d ) ( l i s t a b ( l i s t c c p) d ) ) CL USER> ( t e s t ) ( NIL 2 (3 NIL ) NIL ) CL USER> ( t e s t : a 1 : c 6) (1 2 (6 T) NIL )

25 Nazwane parametry Funkcje Przed pierwszym parametrem który ma być (opcjonalnym) nazwanym parametrem umieszczamy frazę &key Możemy podać wartość domyślną, a także sprawdzić, czy dany argument został podany przy wywołaniu Przykład ( defun t e s t (&key a ( b 2) ( c 3 c p) d ) ( l i s t a b ( l i s t c c p) d ) ) CL USER> ( t e s t ) ( NIL 2 (3 NIL ) NIL ) CL USER> ( t e s t : a 1 : c 6) (1 2 (6 T) NIL )

26 Używanie wielu wariantów jednocześnie Łączenie w ramach jednej definicji argumentów opcjonalnych i nazwanych bądź listowych i nazwanych prowadzi w niektórych przypadkach do dziwnych zachowań.

27 Używanie wielu wariantów jednocześnie cd. ( defun o p t i o n a l k e y (& o p t i o n a l a b &key c ) ( l i s t a b c ) ) ( defun rest key (& r e s t params &key a b c ) ( l i s t a b c r e s t ) ) Jak należy wywołać te funkcje, żeby doszło do czegoś dziwnego?

28 Plan prezentacji Funkcje 1 Funkcje Ogólna postać Sposoby podawania parametrów 2

29 jako dane Funkcje Chcielibyśmy traktować funkcje na równi z danymi, tj przekazywać je jako parametry, zwracać jako wyniki itp. Mamy jednak problem: umiemy wywołać konkretną funkcję, ale nie umiemy tego zrobić dla zmiennej (ani nawet utworzyć takiej zmiennej). [Podejście z Haskella/MLa nie działa] Na ratunek przybywają function, funcall i apply

30 jako dane Funkcje Chcielibyśmy traktować funkcje na równi z danymi, tj przekazywać je jako parametry, zwracać jako wyniki itp. Mamy jednak problem: umiemy wywołać konkretną funkcję, ale nie umiemy tego zrobić dla zmiennej (ani nawet utworzyć takiej zmiennej). [Podejście z Haskella/MLa nie działa] Na ratunek przybywają function, funcall i apply

31 jako dane Funkcje Chcielibyśmy traktować funkcje na równi z danymi, tj przekazywać je jako parametry, zwracać jako wyniki itp. Mamy jednak problem: umiemy wywołać konkretną funkcję, ale nie umiemy tego zrobić dla zmiennej (ani nawet utworzyć takiej zmiennej). [Podejście z Haskella/MLa nie działa] Na ratunek przybywają function, funcall i apply

32 Tworzenie obiektów funkcyjnych przez function function jest operatorem specjalnym, który zwraca obiekt funkcyjny na podstawie nazwy funkcji Zamiast (function foo) możemy użyć skrótu # foo CL USER> ( defun p a s s ( ) ) PASS CL USER> p a s s EVAL : v a r i a b l e PASS has no v a l u e CL USER> ( f u n c t i o n p a s s ) #<FUNCTION PASS NIL (DECLARE (SYSTEM : : IN DEFUN...

33 Tworzenie obiektów funkcyjnych przez function function jest operatorem specjalnym, który zwraca obiekt funkcyjny na podstawie nazwy funkcji Zamiast (function foo) możemy użyć skrótu # foo CL USER> ( defun p a s s ( ) ) PASS CL USER> p a s s EVAL : v a r i a b l e PASS has no v a l u e CL USER> ( f u n c t i o n p a s s ) #<FUNCTION PASS NIL (DECLARE (SYSTEM : : IN DEFUN...

34 Tworzenie obiektów funkcyjnych przez function function jest operatorem specjalnym, który zwraca obiekt funkcyjny na podstawie nazwy funkcji Zamiast (function foo) możemy użyć skrótu # foo CL USER> ( defun p a s s ( ) ) PASS CL USER> p a s s EVAL : v a r i a b l e PASS has no v a l u e CL USER> ( f u n c t i o n p a s s ) #<FUNCTION PASS NIL (DECLARE (SYSTEM : : IN DEFUN...

35 wyższego rzędu Funkcje Przekazanie funkcji jako argumentu ( defun succ ( x ) (+ x 1 ) ) ( mapcar # succ ( ) )

36 funcall oraz apply Funkcje funcall i apply służą do wywoływania funkcji zadanych poprzez obiekt funkcyjny funcall używamy, gdy znamy arność funkcji apply przydaje się, gdy argumenty mamy w postaci listy Przykłady CL USER> ( f u n c a l l # ) 6 CL USER> ( apply # + ( ) ) 15

37 funcall oraz apply Funkcje funcall i apply służą do wywoływania funkcji zadanych poprzez obiekt funkcyjny funcall używamy, gdy znamy arność funkcji apply przydaje się, gdy argumenty mamy w postaci listy Przykłady CL USER> ( f u n c a l l # ) 6 CL USER> ( apply # + ( ) ) 15

38 Plan prezentacji Funkcje 1 Funkcje Ogólna postać Sposoby podawania parametrów 2

39 i operator lambda czasami potrzebujemy jednorazowej funkcji, którą np. podamy jako parametr do funkcjonału typu mapcar lambda wyrażenie może użyte wszędzie tam, gdzie można użyć zwykłej nazwanej funkcji Przykłady ( ( lambda ( x ) (+ x 1 ) ) 1) ( mapcar # ( lambda ( x ) ( x x ) ) ( ) )

40 i operator lambda czasami potrzebujemy jednorazowej funkcji, którą np. podamy jako parametr do funkcjonału typu mapcar lambda wyrażenie może użyte wszędzie tam, gdzie można użyć zwykłej nazwanej funkcji Przykłady ( ( lambda ( x ) (+ x 1 ) ) 1) ( mapcar # ( lambda ( x ) ( x x ) ) ( ) )

41 i operator lambda czasami potrzebujemy jednorazowej funkcji, którą np. podamy jako parametr do funkcjonału typu mapcar lambda wyrażenie może użyte wszędzie tam, gdzie można użyć zwykłej nazwanej funkcji Przykłady ( ( lambda ( x ) (+ x 1 ) ) 1) ( mapcar # ( lambda ( x ) ( x x ) ) ( ) )

42 leksykalne i domknięcia dynamiczne Plan prezentacji 1 Funkcje 2 leksykalne i domknięcia dynamiczne

43 leksykalne i domknięcia dynamiczne Tworzenie zmiennych leksykalnych Mamy dwa sposoby tworzenia zmiennych leksykalnych (lokalnych): możemy użyć setf jako jednego z wyrażeń możemy też wprowadzić nowe zmienne (bądź zasłonić stare) poprzez let (bądź let*) Przykłady ( defun sum ( n ) ( s e t f count 0) ( dotimes ( x n ) ( i n c f count x ) ) count )

44 leksykalne i domknięcia dynamiczne Tworzenie zmiennych leksykalnych Mamy dwa sposoby tworzenia zmiennych leksykalnych (lokalnych): możemy użyć setf jako jednego z wyrażeń możemy też wprowadzić nowe zmienne (bądź zasłonić stare) poprzez let (bądź let*) Przykłady ( defun sum ( n ) ( s e t f count 0) ( dotimes ( x n ) ( i n c f count x ) ) count )

45 leksykalne i domknięcia dynamiczne Tworzenie zmiennych leksykalnych Mamy dwa sposoby tworzenia zmiennych leksykalnych (lokalnych): możemy użyć setf jako jednego z wyrażeń możemy też wprowadzić nowe zmienne (bądź zasłonić stare) poprzez let (bądź let*) Przykłady ( defun sum ( n ) ( s e t f count 0) ( dotimes ( x n ) ( i n c f count x ) ) count )

46 leksykalne i domknięcia dynamiczne Tworzenie zmiennych leksykalnych Mamy dwa sposoby tworzenia zmiennych leksykalnych (lokalnych): możemy użyć setf jako jednego z wyrażeń możemy też wprowadzić nowe zmienne (bądź zasłonić stare) poprzez let (bądź let*) Przykłady ( defun sum ( n ) ( s e t f count 0) ( dotimes ( x n ) ( i n c f count x ) ) count )

47 leksykalne i domknięcia dynamiczne Domknięcia A co jeśli zwrócimy funkcję, która odwołuje się do zmiennej lokalnej? Przykład ( s e t f i n c r ( l e t ( ( count 0 ) ) # ( lambda ( ) ( i n c f count ) ) ) )

48 leksykalne i domknięcia dynamiczne Domknięcia A co jeśli zwrócimy funkcję, która odwołuje się do zmiennej lokalnej? Przykład ( s e t f i n c r ( l e t ( ( count 0 ) ) # ( lambda ( ) ( i n c f count ) ) ) )

49 leksykalne i domknięcia dynamiczne Plan prezentacji 1 Funkcje 2 leksykalne i domknięcia dynamiczne

50 leksykalne i domknięcia dynamiczne dynamiczne w działaniu ( defvar x 10) ( defun foo ( ) ( format t X : d % x ) ) ( defun bar ( ) ( foo ) ( l e t ( ( x 20)) ( foo ) ) ( foo ) ) CL USER> ( bar ) X : 10 X : 20 X : 10

51 leksykalne i domknięcia dynamiczne dynamiczne Wszystkie zmienne na poziomie globalnym (najwyższym) są zmiennymi dynamicznymi Zmiana wartości zmiennej dynamicznej ma efekt na wszystkie wywołania funkcji w zasięgu tej zmiany - nawet jeśli tamte funkcji były zadeklarowane przed zmianą No to czemu nie mówimy na to zmienne globalne? Bo to coś lepszego!

52 leksykalne i domknięcia dynamiczne dynamiczne Wszystkie zmienne na poziomie globalnym (najwyższym) są zmiennymi dynamicznymi Zmiana wartości zmiennej dynamicznej ma efekt na wszystkie wywołania funkcji w zasięgu tej zmiany - nawet jeśli tamte funkcji były zadeklarowane przed zmianą No to czemu nie mówimy na to zmienne globalne? Bo to coś lepszego!

53 leksykalne i domknięcia dynamiczne dynamiczne Wszystkie zmienne na poziomie globalnym (najwyższym) są zmiennymi dynamicznymi Zmiana wartości zmiennej dynamicznej ma efekt na wszystkie wywołania funkcji w zasięgu tej zmiany - nawet jeśli tamte funkcji były zadeklarowane przed zmianą No to czemu nie mówimy na to zmienne globalne? Bo to coś lepszego!

54 leksykalne i domknięcia dynamiczne dynamiczne Wszystkie zmienne na poziomie globalnym (najwyższym) są zmiennymi dynamicznymi Zmiana wartości zmiennej dynamicznej ma efekt na wszystkie wywołania funkcji w zasięgu tej zmiany - nawet jeśli tamte funkcji były zadeklarowane przed zmianą No to czemu nie mówimy na to zmienne globalne? Bo to coś lepszego!

55 leksykalne i domknięcia dynamiczne dynamiczne globalne są wygodne, ale łatwo nabałaganić (i zapomnieć posprzątać) W Common Lisp możemy powiedzieć zmień tę wartość dla następnego wywołania (i podwywołań będących jego konsekwencją) i *tylko* dla niego

56 leksykalne i domknięcia dynamiczne dynamiczne globalne są wygodne, ale łatwo nabałaganić (i zapomnieć posprzątać) W Common Lisp możemy powiedzieć zmień tę wartość dla następnego wywołania (i podwywołań będących jego konsekwencją) i *tylko* dla niego

57 leksykalne i domknięcia dynamiczne dynamiczne w działaniu ( defvar y 10) ( defun foo ( ) ( format t Y : d % y ) ( i n c f y ) ( format t Y : d % y ) ) ( defun bar ( ) ( foo ) ( l e t ( ( y 20)) ( foo ) ) ( foo ) ) CL USER> ( bar ) Y : 10 Y : 11 Y : 20 Y : 21 Y : 11 Y : 12

58 leksykalne i domknięcia dynamiczne dynamiczne Jak utworzyć zmienną dynamiczną? defvar lub defparameter Jak zmienić wartość zmiennej dynamicznej? setf lub let Jak odróżnić w kodzie zmienne dynamiczne od lokalnych? Konwencja nazewnicza - zmienne dynamiczne otaczamy gwiazdkami

59 leksykalne i domknięcia dynamiczne dynamiczne Jak utworzyć zmienną dynamiczną? defvar lub defparameter Jak zmienić wartość zmiennej dynamicznej? setf lub let Jak odróżnić w kodzie zmienne dynamiczne od lokalnych? Konwencja nazewnicza - zmienne dynamiczne otaczamy gwiazdkami

60 leksykalne i domknięcia dynamiczne dynamiczne Jak utworzyć zmienną dynamiczną? defvar lub defparameter Jak zmienić wartość zmiennej dynamicznej? setf lub let Jak odróżnić w kodzie zmienne dynamiczne od lokalnych? Konwencja nazewnicza - zmienne dynamiczne otaczamy gwiazdkami

61 leksykalne i domknięcia dynamiczne Podsumowanie (the end)

Common LISP Instrukcje Sterujące

Common LISP Instrukcje Sterujące Common LISP Instrukcje Sterujące Instytut Informatyki, Uniwersytet Wrocławski 27 października 2010 Reguły obliczania programu ( l i s t ( format t A 1) ( format t A 2) ( format t A 3 ) ) Reguły obliczania

Bardziej szczegółowo

Wprowadzenie do języka Common Lisp

Wprowadzenie do języka Common Lisp Artykuł pobrano ze strony eioba.pl Wprowadzenie do języka Common Lisp Common Lisp jest najpopularniejszym dialektem Lispa, języka stworzonego w 1958 roku przez Johna McCarthy ego. Spis treści 1 Historia

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY PROGRAMOWANIA KOMPUTERÓW POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Programowanie funkcyjne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XIV Jesień 2013 1 / 25 Paradygmaty programowania Programowanie imperatywne Program

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

JavaScript funkcyjność

JavaScript funkcyjność JavaScript funkcyjność WWW 9 kwietnia 2014 Możliwości tworzenia dynamicznych stron WWW HTML i CSS. Skrypty CGI (Perl, PHP). Serwery (django, java). Plug-iny. Ksiażka Większość przykładów pochodzi z ksiażki:

Bardziej szczegółowo

Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji).

Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji). Dekoratory są w miarę ezoteryczną cechą Pythona w przeciwieństwie do funkcji, klas czy iteratorów nie są powszechną cechą języków programowania. Niemniej, warto je omówić mimo wszystko, gdyż są niezwykle

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

Bardziej szczegółowo

Metaprogramowanie w Ruby

Metaprogramowanie w Ruby 24 marca 2011 Cechy języka Wieloparadygmatowy Imperatywny Typowanie Silne Dynamiczne Otwarte klasy Interpretowany Wszystko jest obiektem Moduły i mixiny Moduły Moduły pozwalają na łatwe włączanie ich kodu

Bardziej szczegółowo

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się

Bardziej szczegółowo

Ada-95. Dariusz Wawrzyniak

Ada-95. Dariusz Wawrzyniak Część I Wskaźniki Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Wskaźniki

Bardziej szczegółowo

Szablony klas, zastosowanie szablonów w programach

Szablony klas, zastosowanie szablonów w programach Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

Bardziej szczegółowo

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami

Bardziej szczegółowo

API transakcyjne BitMarket.pl

API transakcyjne BitMarket.pl API transakcyjne BitMarket.pl Wersja 20140402 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Limity zapytań... 3 1.5. Odpowiedzi

Bardziej szczegółowo

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Wykład 3 ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Waldi Ravens J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 75 / 146 deklaracje zmiennych instrukcja podstawienia

Bardziej szczegółowo

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka Sesje, ciasteczka, wyjątki Nie sposób wyobrazić sobie bez nich takich podstawowych zastosowań, jak logowanie użytkowników czy funkcjonowanie koszyka na zakupy. Oprócz tego dowiesz się, czym są wyjątki,

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;

Bardziej szczegółowo

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Informatyka I Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Dziedziczenie klas

Bardziej szczegółowo

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop. 2016 Spis treści Przedmowa 1 Stosowana notacja 1 1. Wprowadzenie 3 1.1. Konsola interaktywna języka Scala 3 1.2. Zmienne 5 1.3. Wartości

Bardziej szczegółowo

Programowanie Obiektowe i C++

Programowanie Obiektowe i C++ Programowanie Obiektowe i C++ Marcin Benke Instytut Informatyki UW 30.10.2006 Marcin Benke (IIUW) Programowanie Obiektowe i C++ 30.10.2006 85 / 112 Zgodność typów Rozważmy klasy class A { //... }; class

Bardziej szczegółowo

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Polimorfizm, metody wirtualne i klasy abstrakcyjne Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2014 1 / 38 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

Definicje klas i obiektów. Tomasz Borzyszkowski

Definicje klas i obiektów. Tomasz Borzyszkowski Definicje klas i obiektów Tomasz Borzyszkowski Podstawy Do tej pory używaliśmy klas jedynie po to, by zdefiniować metodę main(). Klasy mają znacznie szersze zastosowanie w Java. W OOP (także w Java) klasy

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Środowisko programisty

Środowisko programisty Środowisko programisty 1/34 Środowisko programisty Język Python cz. 1 dr inż. Grzegorz Michalski 24 marca 2014 Środowisko programisty 2/34 Wstęp Uruchamianie interpretera python Wykonywalne skrypty #!/usr/bin/python

Bardziej szczegółowo

Wykład 2: Rachunek lambda

Wykład 2: Rachunek lambda Wykład 2: Rachunek lambda Systemy typów, II UWr, 2010 20 października 2010 λ-termy zmienne (Var) {x, y, z,...} nieskończony, przeliczalny zbiór zmiennych termy (Term) t ::= x λx.t t t skróty notacyjne

Bardziej szczegółowo

Przy dużej wielkości głębokości uzyskamy wrażenie nieskończoności: Dla głębokości zerowej uzyskamy tekst płaski:

Przy dużej wielkości głębokości uzyskamy wrażenie nieskończoności: Dla głębokości zerowej uzyskamy tekst płaski: Temat 6: Tekst w przestrzeni trójwymiarowej. Podstawy tworzenia animacji. Instrukcja warunkowa if. Program pozwala umieszczać na scenie nie tylko bryły, czy figury płaskie, ale też tekst. Polecenie tworzące

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

BACKUP BAZ DANYCH FIREBIRD

BACKUP BAZ DANYCH FIREBIRD BACKUP BAZ DANYCH FIREBIRD SPIS TREŚCI Informacje ogólne... 2 Tworzenie projektu... 2 Krok 1: Informacje podstawowe... 2 Krok 2: Dane... 3 Backup bazy umieszczonej na serwerze... 3 Bezpośredni backup pliku

Bardziej szczegółowo

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class

Bardziej szczegółowo

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery Łukasz Bartczuk Moduł 5 Podstawy JavaScript Agenda Czym jest JavaScript? Podstawowe typy danych Zmienne Tablice Funkcje Zakres

Bardziej szczegółowo

MATLAB tworzenie własnych funkcji

MATLAB tworzenie własnych funkcji MATLAB tworzenie własnych funkcji Definiowanie funkcji anonimowych Własne definicje funkcji możemy tworzyć bezpośrednio w Command Window, są to tzw. funkcje anonimowe; dla funkcji jednej zmiennej składnia

Bardziej szczegółowo

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static), Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ; Do wyświetlania tekstu służy instrukcja echo echo Hello world ; PHP język ze słabą kontrolą typów. W języku php w przeciwieństwie do c++ nie musimy podawać typu zmiennej podczas jej deklaracji. Tworzenie

Bardziej szczegółowo

Elementy rachunku lambda. dr hab. inż. Joanna Józefowska, prof. PP 1

Elementy rachunku lambda. dr hab. inż. Joanna Józefowska, prof. PP 1 Elementy rachunku lambda λ 1 Notacja λ x 3x + 7 3x + 7 jest różniczkowalna 3x + 7 jest mniejsze od 2 (2,3) 5 f(2, 3) = 2 + 3 g(2) = 2 + 3 λx(3x + 7) 3x + 7 λx λy(x + y) = λxy(x + y) λx(x + 3) 2 Rachunek

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Rekurencja (rekursja)

Rekurencja (rekursja) Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

PHP: bloki kodu, tablice, obiekty i formularze 1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 4 Wsady Procedury składowane Procedury składowane tymczasowe, startowe Zmienne tabelowe Funkcje

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

QualitySpy moduł reports

QualitySpy moduł reports QualitySpy moduł reports Testy akceptacyjne dla przypadku użycia: Pobranie metryk produktu w wybranym formacie dla wybranch wersji przez interfejs REST Nazwa pliku: /QualitySpy/modules/qualityspyreports/src/test/java/pl/wroc/pwr/qualityspy/reports

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

Komunikat ZAMÓWIENIE PURCHASE ORDERS

Komunikat ZAMÓWIENIE PURCHASE ORDERS Komunikat ZAMÓWIENIE PURCHASE ORDERS EANCOM 97/EDIFACT D.96A przyjęty przez Grupę Roboczą EDI przy Klubie ECR Polska Dokument zawiera tylko te segmenty i elementy danych, które zostały uzgodnione przez

Bardziej szczegółowo

Dokumentacja 2SMS

Dokumentacja  2SMS Dokumentacja Email2SMS 1 Wprowadzenie... 2 Tworzenie uprawnionego adresu email oraz klucza... 3 Bezpieczeństwo... 4 Wysyłanie wiadomości SMS... 5 Historia zmian... 8 2 Wprowadzenie SerwerSMS.pl umożliwia

Bardziej szczegółowo

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych Laboratorium Programowania Kart Elektronicznych Programowanie BasicCard Marek Gosławski Przygotowanie do zajęć dokumentacja ZeitControl BasicCard środowisko programistyczne karta BasicCard Potrzebne wiadomości

Bardziej szczegółowo

Programowanie, część I

Programowanie, część I 11 marca 2010 Kontakt Wstęp Informacje organizacyjne Materiał na ćwiczenia Plan wykładu http://www.fuw.edu.pl/~rwys/prog rwys@fuw.edu.pl tel. 22 55 32 263 Materiał na ćwiczenia Informacje organizacyjne

Bardziej szczegółowo

Obiekty: co i jak. Wykonał: Piotr Pięda dla koła naukowego KNI

Obiekty: co i jak. Wykonał: Piotr Pięda dla koła naukowego KNI Obiekty: co i jak Wykonał: Piotr Pięda dla koła naukowego KNI Co to jest klasa Klasa definuje nowy typ, na jej podstawie budujemy obiekty. Można powiedzieć że jest swego rodzaju matryca dzięki której tworzymy

Bardziej szczegółowo

Oczywiście plik musi mieć rozszerzenie *.php

Oczywiście plik musi mieć rozszerzenie *.php Oczywiście plik musi mieć rozszerzenie *.php Znaczniki PHP komunikują serwerowi gdzie rozpoczyna się i kończy kod PHP. Tekst między nimi jest interpretowany jako kod PHP, natomiast poza nimi jako kod HTML.

Bardziej szczegółowo

Języki programowania deklaratywnego

Języki programowania deklaratywnego Katedra Inżynierii Wiedzy laborki 14 Języki deklaratywne Główne różnice między paradygmatem deklaratywnym a imperatywnym Omów główne cechy paradygmatu programowania w logice na przykładzie Prologa Główne

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2013 1 / 34 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

10. Programowanie obiektowe w PHP5

10. Programowanie obiektowe w PHP5 Ogólnie definicja klasy wygląda jak w C++. Oczywiście elementy składowe klasy są zmiennymi PHP, stąd nieśmiertelne $. Warto zauważyć, że mogą one mieć wartość HHH mgr inż. Grzegorz Kraszewski TECHNOLOGIE

Bardziej szczegółowo

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Bash - wprowadzenie. Bash - wprowadzenie 1/39 Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:

Bardziej szczegółowo

Tworzenie Stron Internetowych. odcinek 10

Tworzenie Stron Internetowych. odcinek 10 Tworzenie Stron Internetowych odcinek 10 JavaScript JavaScript (ECMAScript) skryptowy język programowania powszechnie używany w Internecie. Skrypty JS dodają do stron www interaktywność i funkcjonalności,

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

Bardziej szczegółowo

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Operator przypisania. Jest czym innym niż konstruktor kopiujący!

Operator przypisania. Jest czym innym niż konstruktor kopiujący! Operator przypisania Jest czym innym niż konstruktor kopiujący! Domyślnie jest zdefiniowany jako przypisanie składowa po składowej (zatem niekoniecznie bajt po bajcie). Dla klasy X definiuje się jako X&

Bardziej szczegółowo

Programowanie obiektowe - 1.

Programowanie obiektowe - 1. Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która

Bardziej szczegółowo

Podstawy MATLABA, cd.

Podstawy MATLABA, cd. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Przetwarzanie Sygnałów Studia Podyplomowe, Automatyka i Robotyka Podstawy MATLABA, cd. 1. Wielomiany 1.1. Definiowanie

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

EGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++

EGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++ IMIĘ i NAZWISKO: przykładowe odpowiedzi NR: 0 EGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++ 1. Napisz precyzyjnie co to jest ptr jeśli: const * const Foo ptr; ptr to stały wskaźnik do stałego obiektu typu Foo

Bardziej szczegółowo

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku z wykorzystaniem systemu ADONIS Krok po kroku BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Blockly Kodowanie pomoc.

Blockly Kodowanie pomoc. 1 Blockly Kodowanie pomoc. Słowniczek: Zmienna posiada nazwę wywoływaną w programie oraz miejsce na przechowywanie wartości. Instrukcja warunkowa pozwala na wykonanie instrukcji w zależności od warunku

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class). Wprowadzenie w dziedziczenie Klasa D dziedziczy klasę B: B klasa bazowa D klasa pochodna Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class). Najpierw jest tworzona klasa bazowa,

Bardziej szczegółowo

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne sztuczki - sql. Na przykładzie postgres a. Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie

Bardziej szczegółowo

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne dr inż. Marcin Szlenk Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych m.szlenk@elka.pw.edu.pl Paradygmaty

Bardziej szczegółowo

Metody statystyczne kontroli jakości i niezawodności Lekcja II: Karty kontrolne.

Metody statystyczne kontroli jakości i niezawodności Lekcja II: Karty kontrolne. Metody statystyczne kontroli jakości i niezawodności Lekcja II: Karty kontrolne. Wydział Matematyki Politechniki Wrocławskiej Karty kontroli jakości: przypomnienie Załóżmy, że chcemy mierzyć pewną charakterystykę.

Bardziej szczegółowo

Oprogramowanie w eksperymentach fizyki. Wykład 4, Paweł Staszel

Oprogramowanie w eksperymentach fizyki. Wykład 4, Paweł Staszel Oprogramowanie w eksperymentach fizyki Wykład 4, Paweł Staszel Plan 1. Obiekty (klasy) danych 2. Kontenery danych (data containers) 3. Moduły obiekty operujące na danych 4. Kontenery modułów (module containers)

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Paradygmat funkcyjny Cezary Bolek Katedra Informatyki UŁ 1 Dlaczego programowanie funkcyjne? Języki imperatywne, a w duŝym stopniu takŝe obiektowe, są bardzo silnie związane z

Bardziej szczegółowo

Przewodnik użytkownika Bazy Ogłoszeń

Przewodnik użytkownika Bazy Ogłoszeń Wyłonienie usługodawcy oferującego dwuletni hosting, serwis, opiekę techniczną, a także utworzenie nowych serwisów internetowych Przewodnik użytkownika Bazy Ogłoszeń Ministerstwo Nauki i Szkolnictwa Wyższego

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Definicja. Definicja

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Definicja. Definicja Plan Zależności funkcyjne 1. Zależności funkcyjne jako klasa ograniczeń semantycznych odwzorowywanego świata rzeczywistego. 2. Schematy relacyjne = typ relacji + zależności funkcyjne. 3. Rozkładalność

Bardziej szczegółowo

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty 1. Co to jest funkcja? Funkcja jest oddzielnym blokiem kodu, który może być wielokrotnie wykonywany w danym programie, poprzez jej wielokrotne wywoływanie. Do funkcji przekazujemy przeważnie jakieś argumenty,

Bardziej szczegółowo

MySQL. Æwiczenia praktyczne

MySQL. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG MySQL. Æwiczenia praktyczne Autor: Marek Nowakowski ISBN: 83-7197-884-7 Format: B5, stron: 114 TWÓJ KOSZYK DODAJ

Bardziej szczegółowo

Tabela wewnętrzna - definicja

Tabela wewnętrzna - definicja ABAP/4 Tabela wewnętrzna - definicja Temporalna tabela przechowywana w pamięci operacyjnej serwera aplikacji Tworzona, wypełniana i modyfikowana jest przez program podczas jego wykonywania i usuwana, gdy

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 6. 6 listopada 2015 Plan wykładu Callable objects 1 Callable objects 2 3 Plan wykładu Callable objects 1 Callable objects 2 3 Callable objects Wszystko jest obiektem. Callable objects Wszystko jest

Bardziej szczegółowo

Struktury. Przykład W8_1

Struktury. Przykład W8_1 Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla

Bardziej szczegółowo

Ten odcinek Akademii PC Kuriera poświęcony zostanie tworzeniu i wykorzystaniu funkcji i procedur w języku Visual Basic.NET.

Ten odcinek Akademii PC Kuriera poświęcony zostanie tworzeniu i wykorzystaniu funkcji i procedur w języku Visual Basic.NET. Ten odcinek Akademii PC Kuriera poświęcony zostanie tworzeniu i wykorzystaniu funkcji i procedur w języku Visual Basic.NET. Czym są procedury? Efektywne tworzenie często polegać będzie na ponownym wykorzystywaniu

Bardziej szczegółowo

ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. ADAM KOLIŃSKI ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż.

ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. ADAM KOLIŃSKI ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. 1 ZARZĄDZANIE PROCESAMI I PROJEKTAMI 2 ZAKRES PROJEKTU 1. Ogólna specyfika procesów zachodzących w przedsiębiorstwie 2. Opracowanie ogólnego schematu procesów zachodzących w przedsiębiorstwie za pomocą

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania, SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Wykład 2 1 SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Przekierowania 2 Przekierowanie za pomocą skryptu Przykład

Bardziej szczegółowo

Programowanie Obiektowe i C++

Programowanie Obiektowe i C++ Programowanie Obiektowe i C++ Smalltalk Marcin Benke 15 stycznia 2007 Marcin Benke (MIMUW) Programowanie Obiektowe i C++ 15 stycznia 2007 1 / 26 Marcin Benke (MIMUW) Programowanie Obiektowe i C++ 15 stycznia

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

Programowanie Funkcyjne. Marcin Kubica Świder,

Programowanie Funkcyjne. Marcin Kubica Świder, Programowanie Funkcyjne Marcin Kubica Świder, 28-04-2015 Czym jest programowanie funkcyjne? Obliczalne pojęcia matematyczne. Definicje stałych i funkcji i relacji. Wszystkie definicje są konstruktywne,

Bardziej szczegółowo

Wykład 6: Dziedziczenie

Wykład 6: Dziedziczenie Wykład 6: Dziedziczenie Dziedziczenie Jeden z filarów obiektowości. Budowa jednej klasy na bazie drugiej, przez dodawanie/przesłanianie jej składowych: nad-klasa klasa bazowa pod-klasa klasa pochodna od

Bardziej szczegółowo

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. 1 Logika Klasyczna obejmuje dwie teorie:

Bardziej szczegółowo

Tworzenie raportów XML Publisher przy użyciu Data Templates

Tworzenie raportów XML Publisher przy użyciu Data Templates Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia

Bardziej szczegółowo

Program na zaliczenie: Odejmowanie widm

Program na zaliczenie: Odejmowanie widm Piotr Chojnacki: MATLAB Program na zaliczenie: Odejmowanie widm {Poniższy program ma za zadanie odjęcie dwóch widm od siebie. Do poprawnego działania programu potrzebne są trzy funkcje: odejmowaniewidm.m

Bardziej szczegółowo

Zajęcia 7: funkcje. Python dla kognitywistów. Marcin Jukiewicz. Marcin Jukiewicz Zajęcia 7: funkcje 1 / 21

Zajęcia 7: funkcje. Python dla kognitywistów. Marcin Jukiewicz. Marcin Jukiewicz Zajęcia 7: funkcje 1 / 21 Zajęcia 7: funkcje Python dla kognitywistów Marcin Jukiewicz Marcin Jukiewicz Zajęcia 7: funkcje 1 / 21 Funkcje Do tej pory poznaliśmy kilka funkcji wbudowanych, takich jak: len(), range() czy raw input().

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Delphi Laboratorium 3

Delphi Laboratorium 3 Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,

Bardziej szczegółowo