Język programowania Erlang
|
|
- Edward Antczak
- 9 lat temu
- Przeglądów:
Transkrypt
1 PWSZ w Tarnowie Tarnów, 19 stycznia 2009
2 1 Opis języka Nazwa 2 Współbieżność Rozproszoność, obsługa błędów Gorąca wymiana kodu, obsługa systemów wieloprocesorowych 3 4 Liczba całkowita lub zmiennoprzecinkowa, atom Tuple Lista Pid, port, rekord, wartość logiczna 5 Silnia QuickSort Procesy w Erlangu wypisywanie informacji, gorąca wymiana kodu, czat
3 Opis języka Opis Języka Erlang został stworzony w laboratorium firmy Ericsson i jest z powodzeniem stosowany w projektach wymagających wysokiej skalowalności i odporności na awarie. Jest to język funkcyjny, dynamiczny, o ścisłym typowaniu, w którym główny nacisk położono na współbieżność oraz możliwości przetwarzania rozproszonego. Erlang był własnościowym językiem programowania używanym przez Ericssona, jednak od roku 1998 kiedy kod źródłowy został otwarty, zyskuje z dnia na dzień na popularności. Z powodzeniem używany jest w komercyjnych produktach na całym świecie, które wykraczają niejednokrotnie poza jego telekomunikacyjne korzenie. Nazwa Nazwa Erlang została nadana na cześć pierwszego naukowca w dziedzinie telekomunikacji: Agnera Krarupa Erlanga ( ), matematyka dunskego, pioniera teorii ruchu telekomunikacyjnego oraz teorii kolejek. Czasami nazwa języka bywa interpretowana jako Ericsson LANGuage.
4 Współbieżność Rozproszoność, obsługa błędów Gorąca wymiana kodu, obsługa systemów wieloprocesorowych Współbieżność Procesy są podstawowymi elementami w strukturze aplikacji napisanych w Erlangu. Implementacja współbieżnych procesów jest niezależna od systemu operacyjnego i nie używa specyficznych dla danego środowiska mechanizmów jak na przykład wątki. Tworzenie i zarządzanie erlangowymi procesami jest bardzo proste, podczas gdy w innych językach współbieżność dostarcza wielu problemów oraz jest źródłem nie małej ilości różnego rodzaju błędów. Erlangowe procesy są dużo lżejsze od systemowych(ok. 300 bajtów na jeden proces), dzięki czemu operacje tworzenia i niszczenia procesów są relatywnie tanie obliczeniowo i pamięciowo. W pojedynczym erlangowym systemie możliwe jest utworzenie nawet milion procesów bez znaczącego obniżenia wydajności. W Computer Language Shootout w konkursie na przesyłanie wiadomości pomiędzy tysiącami wątkow (thread-ring) rozwiązanie napisane w Erlangu zajmuje pierwsze miejsce pod względem wydajności oraz objętości kodu.
5 Współbieżność Rozproszoność, obsługa błędów Gorąca wymiana kodu, obsługa systemów wieloprocesorowych Komunikacja pomiędzy procesami w Erlangu(z racji tego, że procesy nie dzielą między sobą wspólnej pamięci) odbywa się poprzez przesyłanie asynchronicznych komunikatów. Z każdym procesem powiązana jest kolejka FIFO, służąca do odbioru komunikatów. Proces odbiorczy decyduje o tym, czy dany komunikat przetworzyć, czy nie. Wszystko to jest Każdy proces ma swoją skrzynkę (ang. mailbox), w postaci kolejki, w której są przechowywane wiadomości wysłane przez inne procesy dopóki nie zostaną odczytane. Odbieranie wiadomości odbywa się przez mechanizm dopasowania wzorca. Po odczytaniu wiadomości proces Erlanga wraca do wykonywania. Do utworzenia wiadomości może zostać użyta dowolna struktura danych(liczby całkowite, zmiennoprzecinkowe, znaki, atomy), a nawet funkcje.
6 Współbieżność Rozproszoność, obsługa błędów Gorąca wymiana kodu, obsługa systemów wieloprocesorowych Rozposzoność W język wbudowany jest mechanizm rozproszenia. Można tworzyć procesy z dowolnego węzła na dowolnym węźle. Proces może zostać utworzony na zdalnym węźle, a komunikacja z nim jest przezroczysta (tzn. komunikację z zdalnym procesem przeprowadza się w dokładnie takim sam sposób jak z procesem lokalnym). Obsługa błędów Obsługa błędów odbywa się na ogół przez nadzór jednych procesów nad innymi. Kiedy proces się zepsuje, wychodzi i wysyła wiadomość do procesu kontrolnego, który może podjąć odpowiednią akcje - np. restart bądź zakończyć zepsuty proces i uruchomić następny. Takie podejście do programowania zwiększa niezawodność i czyni kod mniej skomplikowanym. Ponadto proces kontrolny i proces nadzorowany nie muszą znajdować się na tej samej fizycznie maszynie, dzięki czemu stosunkowo łatwo daje się programować systemy wysokiej dostępności, w których poszczególne funkcje wykonywane są przez sprawne w danym momencie węzły.
7 Współbieżność Rozproszoność, obsługa błędów Gorąca wymiana kodu, obsługa systemów wieloprocesorowych Gorąca wymiana kodu(hot code upgrade) Wiele systemów nie może być zatrzymana w celach wymiany oprogramowania. W Erlangu można wymieniać kod w uruchomionym systemie(w systemie koegzystują przez chwile oba kody), a tym samym instalować poprawki błędów oraz uaktualnienia bez zatrzymywania działania systemu. Obsługa systemów wieloprocesorowych Od wersji R11 środowisko Erlanga potrafi automatycznie wykorzystać potencjał ukryty w procesorach wielordzeniowych (multi-core) oraz systemach wieloprocesorowych. Wcześniej aby wykorzystać taki system należało uruchomić kilka kopii maszyny wirtualnej, co niestety pociągało zwiększenie zużycia pamięci, oraz zwiększało niepotrzebnie koszty przesyłania wiadomości pomiędzy procesami na jednym komputerze.
8 Najpopularniejsze aplikacje napisane w erlangu Mnesia, rozproszona, odporna na błędy baza danych czasu rzeczywistego, rozprowadzana wraz z Erlangiem Ejabberd, serwer Jabber napisany w Erlangu, który jest uznawany za bardzo stabilny i wysoko skalowalny Yet another web server, wysoko wydajny serwer stron Web który w wielu testach generowania stron dynamicznych przegania Apacha Tsung, wysoko wydajne narzędzie diagnostyczne do przeprowadzania testów wydajności oraz wiele innych aplikacji zarówno klienckich jak i również serwerowych Zastosowania języka erlang pokazują, że ten język jest bardzo dobrze sprawdzoną i stabilną platformą do rozwoju oprogramowania. Obecnie Erlang używany jest przez kilka ogólnoświatowych firm telekomunikacyjnych takich jak: Nortel, T-Mobile i Telia.
9 Liczba całkowita lub zmiennoprzecinkowa, atom Tuple Lista Pid, port, rekord, wartość logiczna Erlang jest językiem z dynamicznym typowaniem oraz statycznym pojedynczym przypisaniem. Oznacza to, iż nie określamy jawnie typu zmiennej, jednak wartość zmienne musimy już jawnie określić. Ponadto w przeciwieństwie do wielu języków jak np. C++, czy Java raz przypisana wartość do zmiennej nie może zostać później zmieniona. Nową zmienną tworzy się poprzez jej pierwsze użycie, kiedy zostaje przypisana jej wartość. Podstawowe typy danych Liczba (całkowita lub zmiennoprzecinkowa) Atom Tuple Lista pozostałe typy
10 Liczba całkowita lub zmiennoprzecinkowa, atom Tuple Lista Pid, port, rekord, wartość logiczna Liczba całkowita lub zmiennoprzecinkowa Liczby w Erlangu są konstruowane jak w wielu innych językach, przy pomocy cyfr. Liczby całkowite mają nieograniczony zakres(jedyne ograniczenie - wielkość pamięci) Atom Atom jest to literał, którego nazwa zaczyna się z małej litery. Jeżeli atom zaczyna się z dużej litery, lub zawiera spacje musi być ujęty w pojedynczy apostrof. pierwszy drugi_atom Trzeci atom
11 Liczba całkowita lub zmiennoprzecinkowa, atom Tuple Lista Pid, port, rekord, wartość logiczna Tupte Tuple składa się ze stałej liczby elementów otoczonych parą nawiasów klamrowych ({ i }). Element tupla może się składać z liczby, bądź cyfry. Dowolny elementy tupla może być łatwo dostępny, szczególnie przy użyciu wzorców. Tuple możemy manipulować za pomocą funkcji BIF - Build In Function(funkcje które zostały wbudowane w wirtualną maszynę Erlang). 1> T1 = {piotr,23,{luty,29}}. {piotr,23,{luty,29}} 2> element(1,t1}. piotr 3> element(3,t1). {luty,29} 4> {Imie,Lata,Data_urodz} = T1. {piotr,23,{luty,29}} 5> Imie. piotr
12 Liczba całkowita lub zmiennoprzecinkowa, atom Tuple Lista Pid, port, rekord, wartość logiczna Lista Lista może zawierać zmienną liczbę elementów oddzielonych przecinkami, które otoczone są parą kwadratowych nawiasów [ i ]. Ciąg znaków otoczonych cudzysłowem również jest listą, a jej elementami są litery. Możemy utworzyć listę z elementami różnych typów, ze względu na to że Erlang jest językiem dynamicznym, w którym występuje nieścisłe typowanie. Dostęp do elementów listy jest realizowany przy pomocy dostępu do głowy listy (head), oraz ogona (tail). 1> L1 = [b,1,{d,2 }]. [b,1,{d,2 }]. 2> H. b 3> T. [1,{d,2 }]. 4> L2 = [d T]. [d,b,1,{d,2 }].
13 Liczba całkowita lub zmiennoprzecinkowa, atom Tuple Lista Pid, port, rekord, wartość logiczna Filtrowanie danych listy 1> L = [1,2,3,4,5]. [1,2,3,4,5] 2> [E +1 E <- L]. [2,3,4,5,6] 3> [E E <- L, E =/= 1, E < 3 orelse E > 4]. [1002,1005] 4> [E + 1 E <- [1,"Kitten","Batman",5], is_integer(e) ]. [2,6] 5> [ A {A,B} <- [{a,b},{c,d},1,tomato,{e,f}] ]. [a,c,e] Dwie pierwsze operacje na listach sprowadzają się do wykonania akcji dla każdego E w liście L gdzie warunek jest spełniony. Ostatnie dwie instrukcje pokazuja że filtrowanie danych na liście, może być wykonywane dla różnych typów elementów.
14 Liczba całkowita lub zmiennoprzecinkowa, atom Tuple Lista Pid, port, rekord, wartość logiczna Pozostałe typy pid procesu - potrzebny do przekazywania komunikatów, albo sprawdzania stanu procesu port -służy do komunikacji przy pomocy komunikatów ale z elementami poza językiem Erlang, np. programem C, potokiem UNIX, czy socketem TCP rekord - tuple o specjalnej konstrukcji boolean - wartość logiczna true lub false
15 Prosty przykład - Silnia Silnia QuickSort Procesy w Erlangu wypisywanie informacji, gorąca wymiana kodu, czat Wzór silni n! = 1, if n = 0, n! = n * (n - 1)!, if n > 0 Zapis silni w erlangu silnia(0) -> 1; silnia(n) -> silnia(n-1) * N. Forma klauzulowa W erlangu do zapisu wyrażenia warunkowego wykorzystano tak zwaną formę klauzulową. Składa się ona z pewnej liczby klauzul opisujących przypadki związane z wyznaczaniem wartości funkcji. Poszczególne klauzule pisane są jedna pod drugą, rozdzielone są znakiem średnika a ostatnia zakończona jest kropką. Kiedy funkcja o takiej postaci jest wykonywana wybierana jest jedna klauzula, pierwsza z góry, która spełnia warunek. Wybór następuje na podstawie związanych z nimi warunków. Liczy się przy tym kolejność definicji klauzul.
16 Prosty przykład - Silnia Silnia QuickSort Procesy w Erlangu wypisywanie informacji, gorąca wymiana kodu, czat Przykład formy klazulowej funkcja(argumenty1) -> ciało1; % klauzula1 funkcja(argumenty2) -> ciało2; % klauzula2... funkcja(argumentyn) -> ciałon. % klauzulan Dopasownie do wzorca Podstawowym sposobem dostarczania warunków jest mechanizm dopasowywania do wzorca. Dopasowanie do wzorca polega na sprawdzeniu czy oba typy argumentów do siebie pasują. W rozważanym przypadku, liczby pasują gdy są sobie równe, zmienne zaś pasują do każdej liczby przejmując jednocześnie jej wartość. W przypadku silni jeśli argumentem wywołania funkcji będzie 0 zostanie ono dopasowane do argumentu formalnego pierwszej klauzuli i zwrócona zostanie wartość 1. W przeciwnym przypadku zadziała klauzula 2.
17 Prosty przykład - Silnia Silnia QuickSort Procesy w Erlangu wypisywanie informacji, gorąca wymiana kodu, czat Wszystkie funkcje w Erlangu powinny być definiowane w modułach. Moduł prostefunk.erl zawiera zdefiniowaną silnię wraz z odpowiednimi nagłówkami Definicja modułu prostefunk oraz funkcji silnia -module(prostefunk). -export([silnia/1]). silnia(0) -> 1; silnia(n) when N>0 -> silnia(n-1) * N. module(prostefunk) - nazwa modułu zgodną z nazwą pliku export([silnia/1]) - nazwa funkcji, oraz liczba argumentów(funkcja silnia posiada jeden argument)
18 Prosty przykład - Quicksort Silnia QuickSort Procesy w Erlangu wypisywanie informacji, gorąca wymiana kodu, czat Defnicja funkcji Quicksort -module(prostefunk). -export([quicksort /1]). quicksort ([]) -> []; quicksort([pivot T]) -> quicksort ([X X <- T, X < Pivot]) ++ [Pivot] ++ quicksort ([X X <- T, X >= Pivot]). Powyższa definicja funkcji Quicksort wywołuje rekurencyjnie funkcje quicksort dopóki wszystkie elementy nie zostały posortowane. Wyrażenie [X X <- T, X < Pivot] oznacza: dla każdego X który należy do ogona listy, który nie zawiera już pierwszego elementu, i takich X które są mniejsze od elementu Pivot(element podziału) wykonaj rekurencyjnie sortowanie tego zbioru. Operator ++ ma za zadanie połączyć powstałą po sortowaniu listę
19 Procesy w Erlangu Silnia QuickSort Procesy w Erlangu wypisywanie informacji, gorąca wymiana kodu, czat Kilka słów o procesach Większość równocześnie działających funkcji w Erlangu tworzy się bardzo prosto za pomocą funkcji: spawn(module,fun,args) spawn(fun() -> loop() end) która zwraca identyfikator procesu, używany do komunikacji z nowo utworzonym procesem. Wyrażenie Pid! Wiad wysyła wiadomość do konkretnego procesu za pomocą identyfikatora procesu - Pid. Wiadomość jest odbierana używając konstrukcji receive... end, która rozpoznaje rodzaj wiadomości otrzymanej za pomocą klazul które zostały zadeklarowane.
20 Silnia QuickSort Procesy w Erlangu wypisywanie informacji, gorąca wymiana kodu, czat Prosty przykład - wypisywanie informacji, gorąca wymiana kodu, czat Wypisywanie informacji Proces wypisujący informację w zależności od dopasowania wzorca. Gorąca wymiana kodu Podmiana kodu programu bez zatrzymywania systemu. Chat Program chat wypisujący informacje przesłane przez jednego użytkownika każdemu użytkownikowi który aktualnie znajduje się w pokoju.
21 Strona domowa języka Erlang Pełna Documentacja Wprowadzenie do Erlanga z przykładami Główna polska strona języka Erlang Dziekuję za uwagę!!!
Język programowania Erlang
Piotr Pałach Język programowania Erlang 1. Informacje podstawowe 1.1. Opis języka Erlang został stworzony w laboratorium firmy Ericsson i jest z powodzeniem stosowany w projektach wymagających wysokiej
Oczywiście plik musi mieć rozszerzenie *.php
Oczywiście plik musi mieć rozszerzenie *.php Znaczniki PHP komunikują serwerowi gdzie rozpoczyna się i kończy kod PHP. Tekst między nimi jest interpretowany jako kod PHP, natomiast poza nimi jako kod HTML.
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
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
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
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
Erlang! Politechnika Poznańska. Łukasz Cieśnik, (Politechnika Poznańska) Erlang!
Erlang! Łukasz Cieśnik lukasz.ciesnik@gmail.com Politechnika Poznańska 2009-10-29 Łukasz Cieśnik, lukasz.ciesnik@gmail.com (Politechnika Poznańska) Erlang! 2009-10-29 1 / 19 Plan prezentacji Plan prezentacji
Mechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
ξ KSI @ II.UWr Erlang - wprowadzenie Marek Materzok 29 października 2007
Erlang - wprowadzenie Marek Materzok 29 października 2007 Powody powstania (1979-82) Doświadczenia Bjarne a Däckera z Lispem Projektowanie układów elektronicznych Kompilator dla urządzeń Ericcsona. Interpreter
Wprowadzenie. Dariusz Wawrzyniak 1
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak
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
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia
Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Wydział Matematyki i Informatyki Instytut Informatyki i
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
Wstęp do programowania 2
Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
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
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym
Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym Janusz Dziemidowicz nasza-klasa.pl PLNOG 10-11 września 2009 Spis rzeczy XMPP i ejabberd XMPP Erlang ejabberd XMPP a HTTP
Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 4 Wyjątki PL/SQL Mechanizmy dotyczące błędów Typy wyjątków Obsługa wyjątków PL/SQL Obsługa błędów predefiniowanych, użytkownika
Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Programowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
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:
Wykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek
Wprowadzenie Organizacja pracy i środowisko programistyczne Mirosław Ochodek Miroslaw.Ochodek@pwsz.pila.pl Miroslaw.Ochodek@cs.put.poznan.pl Dane kontaktowe Mirosław Ochodek E-mail: Miroslaw.Ochodek@pwsz.pila.pl
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,
Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści
Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia
Wprowadzenie do programowania
do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Wstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
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
Pascal - wprowadzenie
Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego
Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
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.
Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 1 Programowanie 1 Program wykładu Struktura programu Instrukcja przypisania Wprowadzanie danych Wyprowadzanie wyników Instrukcja
Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami
Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie Krzysztof Banaś Podstawy programowania 1 są sposobem na przechowywanie w ramach pojedynczej zmiennej zestawu zmiennych różnych typów,
Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com
Programowanie wykład dla I roku bioinformatyki semestr letni 2013 Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel. 58 523 2466 e-mail: danuta.makowiec at gmail.com Cel bloku
Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0
Słowem wstępu Część rodziny języków XSL Standard: W3C XSLT 1.0-1999 razem XPath 1.0 XSLT 2.0-2007 Trwają prace nad XSLT 3.0 Problem Zakładane przez XML usunięcie danych dotyczących prezentacji pociąga
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
5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Akademia Techniczno-Humanistyczna w Bielsku-Białej
Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.
TOPIT Załącznik nr 3 Programowanie aplikacji internetowych
Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium
Programowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Zmienne i stałe w PHP
Zmienne i stałe w PHP Zmienne Zmienne to konstrukcje programistyczne, które pozwalają na przechowywanie danych. Każda zmienna posiada swoją nazwę oraz typ. Nazwa to jednoznaczny identyfikator, dzięki któremu
Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Bazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi
Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę
JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA
JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA, który zawiera: zmienne, konstrukcje warunkowe i iteracyjne (IF-THEN-ELSE, CASE, DO WHILE, DO UNTIL), konfigurowane środowisko użytkownika. METAZNAKI zestaw
Wykład 5: Klasy cz. 3
Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu
Typy, klasy typów, składnie w funkcji
Typy, klasy typów, składnie w funkcji Typy w Haskell Każde wyrażenie w Haskell posiada zdefiniowany typ. Dzięki temu już na etapie kompilacji kodu następuje sprawdzenie poprawności kodu i zabezpiecza nas
Programowanie obiektowe
Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje
LibreOffice Calc VBA
LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć
Szablony funkcji i klas (templates)
Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp
Bloki anonimowe w PL/SQL
Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski
Informatyka- wykład Podstawy programowania w Pythonie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 23 listopada 2015 r. JĘZYK PYTHON Język Python jest
Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:
Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Wprowadzenie do programowania współbieżnego
Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie
Wywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Cw.12 JAVAScript w dokumentach HTML
Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane
Podstawy programowania. Wprowadzenie
Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne
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
Powtórka algorytmów. Wprowadzenie do języka Java.
Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy
Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Opis efektów kształcenia dla modułu zajęć
Nazwa modułu: Projektowanie i użytkowanie systemów operacyjnych Rok akademicki: 2013/2014 Kod: EAR-2-324-n Punkty ECTS: 5 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:
Tworzenie i obsługa wirtualnego laboratorium komputerowego
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego
Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy
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,
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
Wstęp do programowania
Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje
Wstęp do. Erlanga. Mateusz Lenik
Wstęp do Erlanga Mateusz Lenik Erlang Erlang powstał latach 80 ubiegłego wieku Erlang powstał latach 80 ubiegłego wieku to funkcyjny język programowania Erlang powstał latach 80 ubiegłego wieku to funkcyjny
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
System operacyjny MACH
Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów
2013-04-25. Czujniki obiektowe Sterowniki przemysłowe
Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej
Wprowadzenie do Prologa
Wprowadzenie do Prologa Rozdział 1 Tutorial Introduction Maciej Gapiński Dominika Wałęga Spis treści 1. Podstawowe informacje 2. Obiekty i relacje 3. Reguły 4. Fakty 5. Zapytania 6. Zmienne i stałe Podstawowe
Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Języki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie
instrukcja użytkownika terminala ARGOX PA-20 SYSTEMY AUTOMATYCZNEJ IDENTYFIKACJI
instrukcja użytkownika terminala ARGOX PA-20 SYSTEMY AUTOMATYCZNEJ IDENTYFIKACJI SPIS TREŚCI 04 Opis opcji terminala 05 SKANOWANIE 06 Skanowanie kod 07 Skanowanie kod ilość 08 Skanowanie kod ilość cena
Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak
Serwery Autorzy: Karol Czosnowski Mateusz Kaźmierczak Czym jest XMPP? XMPP (Extensible Messaging and Presence Protocol), zbiór otwartych technologii do komunikacji, czatu wieloosobowego, rozmów wideo i
Middleware wprowadzenie października 2010
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak/middleware
Elementy języków programowania
Elementy języków programowania Olsztyn 2007-2012 Wojciech Sobieski Języki programowania wymyślono po to, by można było dzięki nim tworzyć różnorodne programy komputerowe. Oczekuje się również, że tworzone
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
Java EE produkcja oprogramowania
Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez
Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl poznan pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak/middleware
ZMIENNE. Podstawy PHP
ZMIENNE Podstawy PHP zmienna - to obiekt w programowaniu, który przechowuje różnego rodzaju dane niezbędne do działania programu. Zmienna podczas działania programu może zmieniad swoje wartości (jak wskazuje
Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python
Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za