Moduły. Źródło: a) Wczytywanie modułów. interparse rozdziela każdy element listy wcześniej podanym znakiem

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

Download "Moduły. Źródło: a) Wczytywanie modułów. interparse rozdziela każdy element listy wcześniej podanym znakiem"

Transkrypt

1 Autor: Roman Gęsiarz Moduły Źródło: a) Wczytywanie modułów b) Data.List c) Data.Char d) Data.Map e) Data.Set f) Tworzenie własnych modułów Łódź, dnia r. Ad. a) Wczytywanie modułów W Haskellu moduły możemy wczytać na dwa sposoby: - poziom skryptowy import Data.List numuniques :: (Eq a) => [a] -> Int numuniques = length. nub - poziom GHCI ghci> :m + Data.List ghci> :m + Data.List Data.Map Data.Set Ad. b) Data.List Moduł Data.List zapewnia dodatkowe funkcje do obsługi list interparse rozdziela każdy element listy wcześniej podanym znakiem ghci> intersperse '.' "MONKEY" "M.O.N.K.E.Y" ghci> intersperse 0 [1,2,3,4,5,6] [1,0,2,0,3,0,4,0,5,0,6] intercalate pobiera elementy listy i oddziela je podanym znakiem ghci> intercalate " " ["hey","there","guys"] "hey there guys" ghci> intercalate [0,0,0] [[1,2,3],[4,5,6],[7,8,9]] [1,2,3,0,0,0,4,5,6,0,0,0,7,8,9] Strona 1 z 9

2 transpose patrząc na liste jak na macierz wypisuje w oddzielnych listach kolumny tej macierzy ghci> transpose [[1,2,3],[4,5,6],[7,8,9]] [[1,4,7],[2,5,8],[3,6,9]] ghci> transpose ["hey","there","guys"] ["htg","ehu","yey","rs","e"] concat łączy ze sobą elementy z listy ghci> concat ["foo","bar","car"] "foobarcar" ghci> concat [[3,4,5],[2,3,4],[2,1,1]] [3,4,5,2,3,4,2,1,1] and pobiera wartość logiczną i zwraca wartość logiczną tylko wtedy kiedy lista spełnia pobraną wartość logiczną ghci> and $ map (>4) [5,6,7,8] ghci> and $ map (==4) [4,4,4,3,4] any i all biorą predykat a następnie sprawdzają go z listą ghci> any (==4) [2,3,5,6,1,4] ghci> all (>4) [6,9,10] ghci> all (`elem` ['A'..'Z']) "HEYGUYSwhatsup" ghci> any (`elem` ['A'..'Z']) "HEYGUYSwhatsup" or pobiera wartość logiczną i zwraca wartość logiczną tylko wtedy kiedy lista spełnia pobraną wartość logiczną ghci> or $ map (==4) [2,3,4,5,6,1] ghci> or $ map (>4) [1,2,3] iterate wykonuje iteracje wcześniej wskazaną ilość razy ghci> take 10 $ iterate (*2) 1 [1,2,4,8,16,32,64,128,256,512] ghci> take 3 $ iterate (++ "haha") "haha" Strona 2 z 9

3 ["haha","hahahaha","hahahahahaha"] splitat pobiera liczbę i listę a następnie dzieli listę w tym elemencie i podaje ją w krotce ghci> splitat 3 "heyman" ("hey","man") ghci> splitat 100 "heyman" ("heyman","") ghci> splitat (-3) "heyman" ("","heyman") ghci> let (a,b) = splitat 3 "foobar" in b ++ a "barfoo" takewhile/dropwhile pobiera wartość i listę, a następnie przeszukuje listę aż znajdzie daną wartość i odcina z listy wszystko co znajduje się za/przed elementem ghci> takewhile (>3) [6,5,4,3,2,1,2,3,4,5,4,3,2,1] [6,5,4] ghci> takewhile (/=' ') "This is a sentence" "This" ghci> dropwhile (/=' ') "This is a sentence" " is a sentence" ghci> dropwhile (<3) [1,2,2,2,3,4,5,4,3,2,1] [3,4,5,4,3,2,1] span działa podobnie do takewhile, ale wyświetla oba elementy listy ghci> let (fw, rest) = span (/=' ') "This is a sentence" in "First word:" ++ fw ++ ", the rest:" ++ rest "First word: This, the rest: is a sentence" break działa podobnie do span ghci> break (==4) [1,2,3,4,5,6,7] ([1,2,3],[4,5,6,7]) ghci> span (/=4) [1,2,3,4,5,6,7] ([1,2,3],[4,5,6,7]) sort sortuje elementy listy ghci> sort [8,5,3,2,1,6,4,2] [1,2,2,3,4,5,6,8] ghci> sort "This will be sorted soon" " Tbdeehiillnooorssstw" Strona 3 z 9

4 group grupuje takie same elementy listy w oddzielne listy ghci> group [1,1,1,1,2,2,2,2,3,3,2,2,2,5,6,7] [[1,1,1,1],[2,2,2,2],[3,3],[2,2,2],[5],[6],[7]] inits and tails to standardowy początek i koniec listy tylko wykonywany rekurencyjnie aż do końca listy ghci> inits "w00t" ["","w","w0","w00","w00t"] ghci> tails "w00t" ["w00t","00t","0t","t",""] ghci> let w = "w00t" in zip (inits w) (tails w) [("","w00t"),("w","00t"),("w0","0t"),("w00","t"),("w00t","")] isinfixof przeszukuje listę i zwraca wartość logiczna jeśli znajdzie podany element ghci> "cat" `isinfixof` "im a cat burglar" ghci> "Cat" `isinfixof` "im a cat burglar" ghci> "cats" `isinfixof` "im a cat burglar" isprefixof /issuffixof sprawdza czy dany element jest na początku/końcu listy ghci> "hey" `isprefixof` "hey there!" ghci> "hey" `isprefixof` "oh hey there!" ghci> "there!" `issuffixof` "oh hey there!" ghci> "there!" `issuffixof` "oh hey there" Ad. c) Data.Char Moduł ten eksportuje dodatkowe funkcje działające na Char ach. Jest on również pomocny w mapowaniu i filtrowaniu stringów. iscontrol sprawdza czy znak jest znakiem kontrolnym isspace sprawdza czy w ciągu znaków występuje spacja, tabulator, znak nowej linii, itp. islower/isupper sprawdza czy znak jest małą/dużą literą isalpha sprawdza czy znak jest literą isalphanum sprawdza czy znak jest l literą lub liczbą Strona 4 z 9

5 isdigit/isoctdigit/ishexdigit sprawdza czy znak jest cyfrą/postaci binarnej/postaci heksadecymalnej isnumber sprawdza czy znak jest numeryczny. issymbol sprawdza czy znak jest symbolem matematycznym lub walutowym toupper zmienia znak na dużą literę tolower zamienia znak na małą literą ord zamienia znak na cyfrę jemu odpowiadającą i odwrotnie ghci> ord 'a' 97 ghci> chr 97 'a' ghci> map ord "abcdefgh" [97,98,99,100,101,102,103,104] Ad. d) Data.Map Data.Map lista asocjacji nazywana też słownikiem. Służy do przechowywania par kluczy i wartości. Dla przykładu utwórzmy książkę telefoniczną używając listy asocjacji gdzie numer będzie wartością a imię kluczem: phonebook = [("betty"," "),("bonnie"," "),("patsy"," "),("lucille"," "),("wendy"," "),("penny"," ") ] W liście asocjacji 1. element pary zawsze jest kluczem a 2. wartością. Najczęstszym zadaniem gdy mamy do czynienie z listami asocjacji jest wyszukiwanie wartości według podanego klucza. findkey :: (Eq k) => k -> [(k,v)] -> v findkey key xs = snd. head. filter (\(k,v) -> key == k) $ xs Funkcja przyjmuje klucz i listę. Lista jest filtrowana tak, aby pozostały tylko pary z pasującymi kluczami. Następnie jest wybierana 1 para a z niej poszukiwana wartość. Jeśli poszukiwany klucz nie istnieje zostanie zwrócony wyjątek: Exception: Prelude.head: empty list. Można tego uniknąć przez użycie typu danych Maybe. Jeśli nie znajdziemy klucza funkcja zwróci Nothing w przeciwnym przypadku zostanie zwrócona wartość pasująca do tego klucza. findkey :: (Eq k) => k -> [(k,v)] -> Maybe v findkey key [] = Nothing findkey key ((k,v):xs) = if key == k then Just v else findkey key xs Strona 5 z 9

6 ghci> findkey "penny" phonebook Just " " ghci> findkey "betty" phonebook Just " " ghci> findkey "wilma" phonebook Nothing Ponieważ Data.Map importuje funkcje, które kolidują z Data.List trzeba zrobić qualifed import: import qualified Data.Map as Map Funkcje zawarte w Data.Map Fromlist - przyjmuje listę asocjacji i zwraca mapę z tymi samymi asocjacjami. ghci> Map.fromList [(1,2),(3,4),(3,2),(5,5)] fromlist [(1,2),(3,2),(5,5)] Jeśli w którymś miejscu istnieją takie same klucze to wszelkie duplikaty są usuwane. Definicja funkcji fromlist: Map.fromList :: (Ord k) => [(k, v)] -> Map.Map k v Należy zauważyć że gdy robiliśmy listę asocjacji przy pomocy normalnej listy to klucze musiały być porównywalne (musiały należeć do klasy Eq). Przy użyciu mapy klucze muszą być Orderable żeby można je było umieścić na drzewie. Empty - Zwraca pusta mapę. ghci > Map.empty fromlist [] Insert - Przyjmowane wartości to klucz wartość i mapa. Funkcja wstawia podany klucz i wartość do mapy. ghci > Map.insert Map.empty fromlist [(3,100)] Null - Sprawdza czy mapa jest pusta ghci > Map.null Map.empty ghci > Map.null $ Map.fromList [(2,3),(5,5)] Strona 6 z 9

7 Size - Zwraca rozmiar mapy ghci > Map.size Map.empty 0 ghci > Map.size $ Map.fromList [(2,4),(3,3),(4,2),(5,4),(6,4)] 5 Singleton - Tworzy mapę z 1 elementem. Przyjmowane argumenty to klucz i wartość. ghci > Map.singleton 3 9 fromlist [(3,9)] ghci > Map.insert 5 9 $ Map.singleton 3 9 fromlist [(3,9),(5,9)] Member - Sprawdza czy podany klucz należy do mapy. ghci > Map.member 3 $ Map.fromList [(3,6),(4,3),(6,9)] ghci > Map.member 3 $ Map.fromList [(2,5),(4,5)] Map - Działa tak samo jak funkcje z Data.List tylko operują na mapach ghci > Map.map (*100) $ Map.fromList [(1,1),(2,4),(3,9)] fromlist [(1,100),(2,400),(3,900)] tolist - Jest przeciwnością fromlist czyli zamienia mapę na listę ghci > Map.toList. Map.insert 9 2 $ Map.singleton 4 3 [(4,3),(9,2)] Keys - Zwraca klucze z mapy Map.keys $ Map.fromList [(3,6),(4,3),(6,9)] [3,4,6] Elems - Zwraca wartości z mapy Map.elems $ Map.fromList [(3,6),(4,3),(6,9)] [6,3,9] Ad. e) Data.Set Sety są typem pomiędzy listami a mapami. Wszystkie jego elementy są unikalne i muszą należeć do klasy orderable. Operacje na setach są szybsze niż na listach. Ponieważ nazwy funkcji z Data.Set są takie same jak w Data.List trzeba zrobić qualifed import: Strona 7 z 9

8 import qualified Data.Set as Set Jeśli mamy 2 teksty i chcemy sprawdzić jakie litery zostały w nich użyte można do tego wykorzystać Data.Set. text1 = "I just had an anime dream. Anime... Reality... Are they so different?" text2 = "The old man left his garbage can out and now his trash is all over my lawn!" ghci > let set1 = Set.fromList text1 ghci > let set2 = Set.fromList text2 ghci > set1 fromlist ".?AIRadefhijlmnorstuy" ghci > set2 fromlist "!Tabcdefghilmnorstuvwy" Funkcja fromlist przekonwertowała tekst na set. Elementy są unikalne oraz są ustawione w kolejności rosnącej. Intersection - Funkcja wypisuje elementy wspólne setów ghci > Set.intersection set1 set2 fromlist " adefhilmnorstuy" Difference - Funkcja pokazuje które litery występują w 1 secie a których nie ma w 2 secie. ghci > Set.difference set1 set2 fromlist ".?AIRj" ghci > Set.difference set2 set1 fromlist "!Tbcgvw" Subset - Funkcja służy do sprawdzania czy set A jest podzbiorem setu B. ghci > Set.fromList [2,3,4] `Set.isSubsetOf ` Set.fromList [1,2,3,4,5] Sety są często używane do usuwania duplikatów przez konwersję fromlist a potem tolist. Tak naprawdę Data.List posiada funkcję nub która też może usuwać duplikaty ale przy dużych listach pierwsza metoda jest dużo szybsza. f) Tworzenie własnych modułów Podobne funkcje można łączyć w moduły dzięki czemu nie trzeba ich od nowa pisać gdy są potrzebne w innym programie aby ich użyć wystarczy zaimportować moduł. Dla przykładu utworzymy moduł Geometry który będzie liczył pole, obwód i wysokości trójkąta. W tym celu tworzymy plik Geometry hs. module Geometry Strona 8 z 9

9 module Geometry ( trojkatpole, trojkatobwod, trojkatwysokosc ) where trojkatpole :: Float -> Float -> Float -> Float trojkatpole a b c = (sqrt((a+b+c)*(a+b-c)*(a-b+c)*(-a+b+c)))/4 trojkatobwod :: Float -> Float -> Float -> Float trojkatobwod a b c = a + b + c trojkatwysokosc :: Float -> Float -> Float -> [(Float)] trojkatwysokosc a b c = [(sqrt(- (a + b + c)*(a + b - c)*(a - b - c)*(a - b + c)))/(2*a),(sqrt(- (a + b + c)*(a + b - c)*(a - b - c)*(a - b + c)))/(2*b),(sqrt(- (a + b + c)*(a + b - c)*(a - b - c)*(a - b + c)))/(2*c)] Teraz aby użyć tego modułu wystarczy go zaimportować: import Geometry Plik geometry.hs musi się znajdować w tym samym folderze co program w którym go importujemy. *Geometry> trojkatpole Strona 9 z 9

Haskell Moduły Ładowanie

Haskell Moduły Ładowanie Haskell Moduły Moduł zestaw powiązanych funkcji, typów, typeclass. Program w Haskellu często jest modułem, który ładuje inne moduły a następnie wykorzystuje zdefiniowane w nich funkcje w celu realizacji

Bardziej szczegółowo

Moduł to zbiór powiązanych ze sobą funkcji, typów i klas typu. Język Haskell stanowi zbiór modułów, gdzie moduł główny załącza pozostałe moduły w

Moduł to zbiór powiązanych ze sobą funkcji, typów i klas typu. Język Haskell stanowi zbiór modułów, gdzie moduł główny załącza pozostałe moduły w Haskell Moduły Moduł to zbiór powiązanych ze sobą funkcji, typów i klas typu. Język Haskell stanowi zbiór modułów, gdzie moduł główny załącza pozostałe moduły w celu użycia zawartych w nich funkcji dla

Bardziej szczegółowo

HASKELL. Higher order functions, Modules. Janusz Bugajny Piotr Rogulski Łukasz Antoszkiewicz

HASKELL. Higher order functions, Modules. Janusz Bugajny Piotr Rogulski Łukasz Antoszkiewicz HASKELL Higher order functions, Modules Janusz Bugajny Piotr Rogulski Łukasz Antoszkiewicz Higher order functions Funkcje wyższego rzędu Funkcja wyższego rzędu funkcja, która spełnia przynajmniej jeden

Bardziej szczegółowo

Języki programowania Haskell

Języki programowania Haskell Języki programowania Haskell zadanie projektowe nr. 4 2014/15 K. Turowski, T. Goluch 1. Kompilacja, uruchamianie i Hello world Kompilacja i uruchamianie: ghc --make hello.hs./hello Interaktywny interpreter:

Bardziej szczegółowo

- nawiasy kwadratowe oznaczają, że to lista

- nawiasy kwadratowe oznaczają, że to lista Haskell jest statycznym typem języka: - wszystkie typy i wyrażenia są znane w czasie kompilacji ( zwiększa to bezpieczeństwo kodu). Podawanie typów zmiennych i argumentów funkcji jest zbędne, gdyż Haskel

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

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

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych

Bardziej szczegółowo

WEJŚCIE/WYJŚCIE HASKELL ŁUKASZ PAWLAK DARIUSZ KRYSIAK

WEJŚCIE/WYJŚCIE HASKELL ŁUKASZ PAWLAK DARIUSZ KRYSIAK WEJŚCIE/WYJŚCIE HASKELL ŁUKASZ PAWLAK DARIUSZ KRYSIAK W Haskellu funkcje nie mogą zmieniać stanów (w tym np. zmieniać wartości zmiennej). Funkcja wywołana z pewnymi ustalonymi argumentami musi zwracać

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie

Bardziej szczegółowo

Elementy języka Haskell

Elementy języka Haskell Elementy języka Haskell Cechy języka Historia języka Proste przykłady Środowisko interakcyjne Typy i klasy Definiowanie funkcji Wyrażenia listowe Deklarowanie typów, danych i klas Monady Cechy języka zwięzłe

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji 6. Język SQL Język SQL (Structured Query Language): - język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji - stworzony w IBM w latach 70-tych DML (Data Manipulation

Bardziej szczegółowo

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Zatem w jaki sposób nasze programy mają komunikować się ze światem zewnętrznym?

Zatem w jaki sposób nasze programy mają komunikować się ze światem zewnętrznym? Wprowadzenie Haskell jest językiem czysto funkcyjnym. W uproszczeniu oznacza to, że w przeciwieństwie do języków imperatywnych (w których podajemy komputerowi ciąg kroków do wykonania) definiujemy co,

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

REKURENCJA W JĘZYKU HASKELL. Autor: Walczak Michał

REKURENCJA W JĘZYKU HASKELL. Autor: Walczak Michał REKURENCJA W JĘZYKU HASKELL Autor: Walczak Michał CZYM JEST REKURENCJA? Rekurencja zwana rekursją, polega na wywołaniu przez funkcję samej siebie. Algorytmy rekurencyjne zastępują w pewnym sensie iteracje.

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia

Bardziej szczegółowo

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 11. Elektrotechnika, semestr II rok akademicki 2008/2009

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 11. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 11 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Łańcuchy znaków 2. Wprowadzanie i wyprowadzanie znaków w i łańcuchów

Bardziej szczegółowo

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie

Bardziej szczegółowo

PARADYGMATY I JĘZYKI PROGRAMOWANIA. Haskell. (w11)

PARADYGMATY I JĘZYKI PROGRAMOWANIA. Haskell. (w11) PARADYGMATY I JĘZYKI PROGRAMOWANIA Haskell. (w11) !!! 2 Brian Beckman o Monadach 3 Brian Beckman: Don't fear the Monad - YouTube Plan wykładu 4 Typy Funkcje Preludium take, cycle zip, unzip, zipwith filter,

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -

Bardziej szczegółowo

PL/SQL. Funkcje wbudowane

PL/SQL. Funkcje wbudowane Slajd 1 PL/SQL Opis funkcji SQL PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 1 Slajd 2 Funkcje wbudowane Funkcje wbudowane mają za zadanie umożliwić bardziej zaawansowane operowanie danymi. Funkcje operacji

Bardziej szczegółowo

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym S t r o n a 1 Bożena Ignatowska Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym Wprowadzenie W artykule zostaną omówione zagadnienia związane z wykorzystaniem funkcji tekstowych w arkuszu

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

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

Podstawy programowania. Podstawy C# Tablice

Podstawy programowania. Podstawy C# Tablice Podstawy programowania Podstawy C# Tablice Tablica to indeksowany zbiór elementów Tablica jest typem referencyjnym (deklaracja tworzy tylko referencję, sama tablica musi być utworzona oddzielnie, najprościej

Bardziej szczegółowo

Programowanie i struktury danych

Programowanie i struktury danych Programowanie i struktury danych 1 / 30 STL Standard Template Library, STL (ang. = Standardowa Biblioteka Wzorców) biblioteka C++ zawierająca szablony (wzorce), które umożliwiają wielokrotne użycie. Główne

Bardziej szczegółowo

Wstęp do Programowania potok funkcyjny

Wstęp do Programowania potok funkcyjny Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline Procedury wyższych rzędów 1 Procedury wyższych rzędów jako abstrakcje konstrukcji programistycznych Intuicje Procedury wyższych rzędów

Bardziej szczegółowo

Składnia funkcji i Rekurencja w języku Haskell

Składnia funkcji i Rekurencja w języku Haskell Składnia funkcji i w języku Haskell Tomasz Ostrowski, Adrian Niechciał, Michał Workiewicz, Marcin Wilk 26 marca 2015 Składnia funkcji i w języku Haskell Spis treści Składnia funkcji Tomasz Ostrowski Adrian

Bardziej szczegółowo

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy

Bardziej szczegółowo

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli 1. Tworzenie tabeli Aby stworzyć tabele w SQL-u należy użyć polecenia CREATE TABLE nazwa_tabeli (nazwa_pola1 właściwości_pola1, nazwa_pola2 właściwości_pola2, itd.) Nazwa_tabeli to wybrana przez nas nazwa

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych

Bardziej szczegółowo

Definicje wyższego poziomu

Definicje wyższego poziomu Definicje wyższego poziomu Interpreter Scheme-a nie będzie narzekad w przypadku wystąpienia niezdefionowanej zmiennej w ciele wyrażenia lambda dopóki nie będzie zastosowana Przykład braku informacji o

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Inicjacja tablicy jednowymiarowej

Inicjacja tablicy jednowymiarowej TABLICE C++ Inicjacja tablicy jednowymiarowej typ_komórek_tablicy nazwa_tablicy [ ilość elementów tablicy ] ; np.: int tablica[1000]; czyli tablica, która może przechowywać tysiąc elementów typu całkowitego,

Bardziej szczegółowo

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika

Bardziej szczegółowo

Informatyka 1. Przetwarzanie tekstów

Informatyka 1. Przetwarzanie tekstów Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie

Bardziej szczegółowo

Programowanie w języku Java. Kolekcje

Programowanie w języku Java. Kolekcje Programowanie w języku Java Kolekcje Definicja Kolekcja to obiekt, który grupuje elementy danych (inne obiekty) i pozwala traktować je jak jeden zestaw danych, umożliwiając jednocześnie wykonywanie na

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Program współpracuje z : Windows XP, Powerdraft 2004, v8, XM, Microstation 2004, v8, XM.

Program współpracuje z : Windows XP, Powerdraft 2004, v8, XM, Microstation 2004, v8, XM. Spis treści 1. Informacje ogólne. Wstęp. Wymagania programu. 2. Sposób uruchomienia programu. Uruchomienie poprzez menu microstation. Uruchomienie z menu start. 3. Działanie programu. Zakładka import.

Bardziej szczegółowo

Wykład 4. SQL praca z tabelami 1

Wykład 4. SQL praca z tabelami 1 Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część ósma Tablice znaków i przetwarzanie napisów Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma}; INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE

Bardziej szczegółowo

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop. 2017 Spis treści Przedmowa 11 1. Jak w programie 21 Czym jest program? 21 Uruchamianie interpretera języka Python 22 Pierwszy

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

Bazy danych Access KWERENDY

Bazy danych Access KWERENDY Bazy danych Access KWERENDY Obiekty baz danych Access tabele kwerendy (zapytania) formularze raporty makra moduły System baz danych MS Access Tabela Kwerenda Formularz Raport Makro Moduł Wyszukiwanie danych

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania dr Elżbieta Gawrońska gawronska@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej dr Elżbieta Gawrońska (ICIS) Podstawy Programowania 05 1 / 15 Plan wykładu 1 Biblioteka

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie 9 kodów dodatkowych.

Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie 9 kodów dodatkowych. Kody katalogowe Informacje ogólne Kod katalogowy jest to numer indentyfikacyjny producenta. Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie

Bardziej szczegółowo

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak Linux Polecenia Opracował: Andrzej Nowak Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Utwórz katalog lab_5 i przejdź do niego. $ mkdir lab_5 ; cd lab_5 Problem nadpisywania

Bardziej szczegółowo

Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)

Wykład 7 Abstrakcyjne typy danych słownik (lista symboli) Wykład 7 Abstrakcyjne typy danych słownik (lista symboli) Definicja słownika: Słownik (tablica lub lista symboli) to struktura danych zawierająca elementy z kluczami, która pozwala na przeprowadzanie dwóch

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ Wykład 3 Katedra Inżynierii Komputerowej Jakub Romanowski jakub.romanowski@kik.pcz.pl POBIERANIE DANYCH C/AL Poniższe funkcje używane są do operacji pobierania

Bardziej szczegółowo

Rozpoczynamy import Kreator uruchamiamy przyciskiem Z tekstu, znajdującym się na karcie Dane, w grupie Dane zewnętrzne.

Rozpoczynamy import Kreator uruchamiamy przyciskiem Z tekstu, znajdującym się na karcie Dane, w grupie Dane zewnętrzne. 2. Zadania praktyczne rozwiązywane z użyciem komputera 91 2. Zadania praktyczne rozwiązywane z użyciem komputera Wczytywanie danych Dane do zadań rozwiązywanych na komputerze zapisane są w plikach tekstowych.

Bardziej szczegółowo

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe

Bardziej szczegółowo

Rozwiązanie. Uruchom program Access 2007.

Rozwiązanie. Uruchom program Access 2007. Rozwiązanie I. Tworzenie nowej bazy danych Uruchom program Access 2007. Na stronie Wprowadzenie do programu Microsoft Office Access kliknij przycisk Pusta baza danych. Po prawej stronie ekranu pojawi się

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt Serwer WWW Apache http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Katalog który ma być serwowany Moduły, które mają zostać uruchomione na serwerze m.in. PHP, mod_rewrite Wirtualne

Bardziej szczegółowo

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Podstawowe algorytmy i ich implementacje w C. Wykład 9 Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Kolekcje Operacje na kolekcjach Testowanie kolekcji Kolekcje w bazie danych Funkcje tabelaryczne Kolekcje wielopoziomowe - 2 -

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2 Algorytmy i struktury danych Wykład 6 Tablice rozproszone cz. 2 Na poprzednim wykładzie Wiele problemów wymaga dynamicznych zbiorów danych, na których można wykonywać operacje: wstawiania (Insert) szukania

Bardziej szczegółowo

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR 1. Algorytm XOR Operacja XOR to inaczej alternatywa wykluczająca, oznaczona symbolem ^ w języku C i symbolem w matematyce.

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Kontenery i iteratory. Wykorzystanie kontenerów w praktyce.

Kontenery i iteratory. Wykorzystanie kontenerów w praktyce. Instrukcja laboratoryjna nr 2 Programowanie w języku C 2 (C++ poziom zaawansowany) Kontenery i iteratory. Wykorzystanie kontenerów w praktyce. dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż.

Bardziej szczegółowo

Listy, krotki, słowniki, funkcje

Listy, krotki, słowniki, funkcje Listy, krotki, słowniki, funkcje Listy Lista jest najbardziej elastycznym typem obiektu uporządkowanej kolekcji. Może zawierać różne typy danych - liczby, łańcuchy znaków, a nawet inne listy. Tworzy się

Bardziej szczegółowo

Algorytmy i. Wykład 3: Stosy, kolejki i listy. Dr inż. Paweł Kasprowski. FIFO First In First Out (kolejka) LIFO Last In First Out (stos)

Algorytmy i. Wykład 3: Stosy, kolejki i listy. Dr inż. Paweł Kasprowski. FIFO First In First Out (kolejka) LIFO Last In First Out (stos) Algorytmy i struktury danych Wykład 3: Stosy, kolejki i listy Dr inż. Paweł Kasprowski pawel@kasprowski.pl Kolejki FIFO First In First Out (kolejka) LIFO Last In First Out (stos) Stos (stack) Dostęp jedynie

Bardziej szczegółowo

BASH - WPROWADZENIE Bioinformatyka 4

BASH - WPROWADZENIE Bioinformatyka 4 BASH - WPROWADZENIE Bioinformatyka 4 DLACZEGO BASH? Praca na klastrach obliczeniowych Brak GUI Środowisko programistyczne Szybkie przetwarzanie danych Pisanie własnych skryptów W praktyce przetwarzanie

Bardziej szczegółowo

SAS Podstawowe informacje przed ćwiczeniem 2

SAS Podstawowe informacje przed ćwiczeniem 2 SAS Podstawowe informacje przed ćwiczeniem 2 Wczytywanie i zapisywanie plików tekstowych przy pomocy PROC IMPORT PROC IMPORT DATAFILE="filename" TABLE="tablename" OUT=SAS data set < (SAS data

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

Algorytmy sortujące i wyszukujące

Algorytmy sortujące i wyszukujące Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.

Bardziej szczegółowo

Funkcje wbudowane PHP

Funkcje wbudowane PHP Funkcje wbudowane PHP Funkcje daty i czasu Funkcja time() zwraca informacje na temat bieżącej daty i czasu. Nie posiada żadnych argumentów. Informacje o czasie dacie zwraca w formie liczby Liczba odpowiada

Bardziej szczegółowo

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019 BASH - LINIA POLECEŃ Bioinformatyka 2018/2019 PODSTAWOWE DEFINICJE Linux system operacyjny, które oferuje kompletne środowisko programistyczne Powłoka interfejs wiersza poleceń zapewniający komunikację

Bardziej szczegółowo