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

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

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

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

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

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

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

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

dbamy o Twoją wygodę i bezpieczeństwo operacji dokonywanych za pośrednictwem Internetu bezpłatne i nie ulegają wyczerpaniu

dbamy o Twoją wygodę i bezpieczeństwo operacji dokonywanych za pośrednictwem Internetu bezpłatne i nie ulegają wyczerpaniu W Aviva Investors Poland TFI dbamy o Twoją wygodę i bezpieczeństwo operacji dokonywanych za pośrednictwem Internetu, dlatego proponujemy Ci możliwość autoryzacji operacji i transakcji dotyczących funduszy

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

Ćwiczenia z wyliczania wartości funkcji

Ćwiczenia z wyliczania wartości funkcji Ćwiczenia z wyliczania wartości funkcji 4 października 2011 1 Wprowadzenie Wyliczanie wartości wyrażenia nie jest sprawą oczywistą, szczególnie jeżeli chodzi o aplikację funkcji. Poniższy tekst nie jest

Bardziej szczegółowo

Bazy danych Język SQL część 2 Wykład dla studentów matem

Bazy danych Język SQL część 2 Wykład dla studentów matem Bazy danych Język SQL część 2 Wykład dla studentów matematyki 21 marca 2015 Zapytania na kilku tabelach Czasem poszukiwana informacja znajduje się w kilku tabelach. Aby zapytanie dotyczyło kilku tabel,

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Klasyczne polecenia: ls [opcje][katalog][pliki] opcje podstawowe -a wyświetla również pliki ukryte -b znaki niedrukowane jako liczby ósemkowe -c sortuje dane zgodnie z datą zmiany -k podaje wielkość pliku

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

Arkusz kalkulacyjny Excel

Arkusz kalkulacyjny Excel Arkusz kalkulacyjny Excel Ćwiczenie 1. Sumy pośrednie (częściowe). POMOC DO ĆWICZENIA Dzięki funkcji sum pośrednich (częściowych) nie jest konieczne ręczne wprowadzanie odpowiednich formuł. Dzięki nim

Bardziej szczegółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki 29 października 2014 Igor Wojnicki (AGH, KIS) CouchDB 29 października 2014 1 / 53 NoSQL Not Only SQL, CouchDB Apache CouchDB has started. Time to relax. Igor Wojnicki Katedra Informatyki Stosowanej, Akademia

Bardziej szczegółowo

ANALIZA DANYCH SHOWERA. Narzędzia na wiązkę dla Shower Operatora

ANALIZA DANYCH SHOWERA. Narzędzia na wiązkę dla Shower Operatora ANALIZA DANYCH SHOWERA Narzędzia na wiązkę dla Shower Operatora POZIOMY DANYCH HShowerRaw Odczyt z ADC wraz z umiejscowieniem w detektorze HShowerCal Dane przekalibrowane HShowerHit Trafienia cząstek w

Bardziej szczegółowo

ELEKTRONICZNY NADAWCA. OPIS WebAPI Wersja 0.14, 30.03.2012. Opis WebAPI udostępnianego przez program Elektroniczny Nadawca

ELEKTRONICZNY NADAWCA. OPIS WebAPI Wersja 0.14, 30.03.2012. Opis WebAPI udostępnianego przez program Elektroniczny Nadawca ELEKTRONICZNY NADAWCA OPIS WebAPI Wersja 0.14, 30.03.2012 Opis WebAPI udostępnianego przez program Elektroniczny Nadawca Spis treści Historia zmian...4 Wprowadzenie...5 Słownik pojęć...5 Ogólne zasady

Bardziej szczegółowo

Dokumentacja smsapi wersja 1.4

Dokumentacja smsapi wersja 1.4 Dokumentacja smsapi wersja 1.4 1. Wprowadzenie Platforma smsapi została skierowana do użytkowników chcących rozbudować swoje aplikacje o system wysyłania smsów. Aplikacja ta w prosty sposób umożliwia integrację

Bardziej szczegółowo

Napisy w PHP. Drukowanie napisów instrukcją echo

Napisy w PHP. Drukowanie napisów instrukcją echo Napisy w PHP. Drukowanie napisów instrukcją echo 1. Ćwiczenia do samodzielnego wykonania Wszystkie poniższe ćwiczenia należy samodzielnie wykonać wpisując w edytorze bez stosowania techniki kopiuj-wklej.

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

6. Bezpieczeństwo przy współpracy z bazami danych

6. Bezpieczeństwo przy współpracy z bazami danych 6. Bezpieczeństwo przy współpracy z bazami danych 6.1. Idea ataku SQL injection Atak znany jako SQL injection jest możliwy wtedy, gdy użytkownik ma bezpośredni wpływ na postać zapytania wysyłanego do bazy

Bardziej szczegółowo

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym ilu jest na naszej hipotetycznej

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja

Bardziej szczegółowo

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński rperlinski@icis.pcz.pl

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński rperlinski@icis.pcz.pl ngular, cz. II 1/24 Angular, cz. II Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej 10 kwietnia 2015

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Instrukcja dla Uczelnianego Administratora Systemu Antyplagiatowego Plagiat.pl

Instrukcja dla Uczelnianego Administratora Systemu Antyplagiatowego Plagiat.pl Instrukcja dla Uczelnianego Administratora Systemu Antyplagiatowego Plagiat.pl Materiały przeznaczone wyłącznie dla UASA. Plagiat.pl 1/15 Spis treści: I. Logowanie II. Menu konta UASA III. Konto IV. Administratorzy

Bardziej szczegółowo