Języki i paradygmaty programowania

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

Download "Języki i paradygmaty programowania"

Transkrypt

1 Języki i paradygmaty programowania Paweł Dudzik, Adrian Guzik AGH Kraków Kraków, 5 lipca 2011 Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

2 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

3 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

4 1.1. Co to jest język programowania? Język programowania Zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje. Składa się ze zbiorów reguł syntaktycznych oraz semantyki, które opisują, jak należy budować poprawne wyrażenia oraz jak komputer ma je rozumieć. Język programowania pozwala na precyzyjny zapis algorytmów oraz innych zadań, jakie komputer ma wykonać. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

5 1.2. Cechy języka programowania Język programowania może być zdefiniowany ze względu na kilka cech: Funkcja: Język programowania służy do tworzenia programów komputerowych, których zadaniem jest przetwarzanie danych, wykonywanie obliczeń i algorytmów oraz kontrolowanie/obsługa zewnętrznych urządzeń, np. drukarek, robotów itd. Przeznaczenie: Języki programowania umożliwiają wydawanie poleceń maszynom. Niektóre z języków są wykorzystywane również do kontrolowania jednego urządzenia przez inne. Przykładowo, program wykonywany na komputerze może wygenerować kod PostScript do sterowania pracą drukarki bądź wyświetlacza. Konstrukcje składniowe: Język programowania może zawierać konstrukcje składniowe do manipulowania strukturami danych oraz zarządzania przepływem sterowania. Moc: Teoria obliczeń klasyfikuje języki według rodzajów obliczeń, które można za ich pomocą zrealizować (hierarchia Chomsky ego). Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

6 1.3. Język programowania - poziomy Języki dzielimy dodatkowo na poziomy: kod maszynowy - sekwencje sygnałów opracowane w postaci rozkazów zrozumiałych dla procesora, obecnie wykorzystywany przez programistów raczej wyłącznie do zadań, w których szczególnie ważna jest szybkość działania programu, język niskiego poziomu - w małym stopniu abstrahuje od konstrukcji jednostki centralnej komputera. Innymi słowy, język ten wykazuje duże podobieństwo do kodu maszynowego, zaś kompilacja jest w miarę nieskomplikowana. język wysokiego poziomu - składnia i słowa kluczowe mają maksymalnie ułatwić rozumienie kodu programu dla człowieka, tym samym zwiększając poziom abstrakcji i dystansując się od sprzętowych niuansów. Kod napisany w języku wysokiego poziomu nie jest bezpośrednio zrozumiały dla komputera większość kodu stanowią tak naprawdę normalne słowa, np. w języku angielskim. Aby umożliwić wykonanie programu napisanego w tym języku należy dokonać procesu kompilacji. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

7 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

8 2. Ewolucja języków programowania (1/4) Początki : języki maszynowe i asemblery powstaje Fortran, pierwszy język wysokiego poziomu do wprowadzania wyrażeń matematycznych powstanie LISP - programowanie funkcyjne, Algol58, Fortran II - wprowadzono podprogramy Algol60, wprowadzono strukturę blokową programów i typy danych,język Cobol - obsługę plików. Wykorzystano w nich paradygmat imperatywny, 1964: z połączenia języków Fortran, Cobol i Algol powstał PL/I (IBM), Basic - łatwy w użyciu, wszechstronny, proste komunikaty o błędach, Simula rozszerzenie Algol60, programowanie zorientowane obiektowo, uniwersalny język symulacji. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

9 2. Ewolucja języków programowania (2/4) nowa wersja Algol68, : stworzony przez Niklaus Wirth język Pascal, stworzony do nauki programowania strukturalnego, Smalltalk - pełni obiektowy, reflektywny język programowania z dynamicznym typowaniem, Prolog zapoczątkował programowanie oparte na logicznych regułach. lata początki języka C stworzonego przez Dennisa Ritchie ego, w całośći napisano w nim jądro dla systemu operacyjnego Unix, popularność języka C pozwoliła na dalszy jego rozwój i powstanie języka C++, dodano programowanie obiektowe, Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

10 2. Ewolucja języków programowania (3/4) : Ada (1985)- programowanie równoległe i rozproszone Object-Pascal (1986) - rozwinięcie o programowanie obiektowe, Erlang(1986) - zaprojektowanym z myślą o zastosowaniach współbieżnych, Perl (1987) - język skryptowy powstawanie języków programowania funkcyjnego - Miranda(1985), Haskell(1990), Visual Basic (1991) - szybkie tworzenie aplikacji w sposób graficzny, Python (1991) - dynamiczny system typów, automatyczne zarządzanie pamięcią, Mercury (1995) - język programowania deklaratywnego, logicznego, Delphi (1995) - rozwinięcie Object Pascala o tworzenie aplikacji w sposób graficzny, Java (1995) - stworzony przez firmę Sun Microsystems, m.in. język aplikacji internetowych, urządzeń mobilnych (Java ME), PHP (1995) - skryptowy język programowania do stron internetowych, Ruby (1995) - w pełni obiektowy i dynamicznie typowany, Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

11 2. Ewolucja języków programowania (4/4) 1995 do dziś: C# (2001) - tworzenie specjalnego kodu pośredniego wykonywanego w środowisku uruchomieniowym (np. NET Framework), W kolejnych latach dochodzi do dalszego rozwoju popularnych języków programowania - PHP, Java, Python, C++. Kolejne wersje rozwojowe dodają nowe i ulepszają stare funkcje, aby poprawić szybkość działania, łatwość obsługi, wszechstronność lub ścisłą specjalizację w danej dziedzinie. Mapa ewolucji języków programowania dostępna na stronie: Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

12 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

13 3.1. Translatory Translator Program, który umożliwia przetłumaczenie na kod maszynowy i wykonanie programów napisanych w języku różnym od języka komputera. Kompilatory - to programy, które tłumaczą program źródłowy (napisany w języku wysokiego poziomu) na równoważny program wynikowy. Assemblery - to programy, które tłumaczą program źródłowy (napisany w języku niskiego poziomu - język asemblera) na równoważny program wynikowy. Interpretery - które można nazwać dynamicznymi translatorami tłumaczą na bieżąco i wykonują program źródłowy fragment po fragmencie. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

14 3.2. Kompilator - cechy podstawowe Program źródłowy jest napisany w języku źródłowym, a program wynikowy należy do języka wynikowego. Wykonanie programu kompilatora następuje w czasie tłumaczenia. Program po przetłumaczeniu nie da się zmienić, jest statyczny. Kompilator jako dane wejściowe otrzymuje cały program źródłowy i przekształca go na postać wynikową. Skopilowane moduły są zazwyczaj łączone przez linker w jeden program wykonywalny. Procesowi kompilacji są poddawane języki wysokiego poziomu - np. C/C++, Python, Ada Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

15 3.3. Asembler - cechy podstawowe Język asemblera - podstawowe operacje procesora. Jedno polecenie odpowiada zasadniczo jednemu rozkazowi procesora. Języki asemblera powstały na bazie języków maszynowych danego procesora poprzez zastąpienie kodów operacji ich mnemonikami. W wyniku poszukiwania efektywniejszych metod programowania i pojawianiem się kolejnych języków interpretowanych i kompilowanych języki asemblerów straciły na znaczeniu. Używane jeszcze przy programowaniu mikrokontrolerów, systemów wbudowanych, sterowników sprzętu, a także gdzie wymagana jest wysoka wydajność lub mały rozmariów kod wynikowy. Przykład: NASM, TASM, SAS. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

16 3.4. Interpreter - cechy podstawowe Działanie interpretera polega na: wyodrębnieniu niewielkich jednostek programu źródłowego, tłumaczeniu ich na pewną postać wynikową oraz natychmiastowym ich wykonywaniu. Cechy: Proces interpretacji jest cykliczny. W czasie interpretacji przechowywany jest program źródłowy. Przykładowe języki i środowiska: Perl, Python (częściowo), Ruby, MATLAB Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

17 3.5. Zalety kompilatora i interpretera Kompilator Program wynikowy wykonuje się szybciej. Do wykonania programu wynikowego nie jest potrzebny kompilator. Lepsza optymalizacja kodu (optymalizacja dedykowa- na pod daną architekturę). Interpreter Łatwość zmian programu. Mniejsza zajętość pamięci zewnętrznej (tylko tekst źródłowy). Możliwość pracy konwersacyjnej (zatrzymanie wyk., zmiana wartości zmiennych, kontynuacja wyk.). Przenośność, wykorzystanie w zastosowaniach sieciowych. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

18 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

19 4.1. IDE - definicja IDE (Integrated Development Environment) jest to aplikacja lub zespół aplikacji (środowisko) służących do tworzenia, modyfikowania, testowania i konserwacji oprogramowania. Aplikacje będące zintegrowanymi środowiskami programistycznymi charakteryzują się tym, że udostępniają złożoną, wieloraką funkcjonalność obejmującą edycję kodu źródłowego, kompilowanie kodu źródłowego, tworzenie zasobów programu (tzn. formatek/ekranów/ okien dialogowych, menu, raportów, elementów graficznych takich jak ikony, obrazy itp.), tworzenie baz danych, komponentów i innych. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

20 4.2. Koncepcje środowisk programistycznych Istnieją różne koncepcje tego, jak powinno wyglądać środowisko programistyczne: środowisko jako osobny pakiet oprogramowania - np. Microsoft Visual Studio, NetBeans, CodeWarrior, środowisko zintegrowane z systemem - np. Unix, maszyny lispowe, rozwiązania pośrednie - Emacs - tekstowy edytor, zintegrowany z Uniksem, maszyna lispowa i system graficzny udostępniający funkcjonalność podobną do tradycyjnych, graficznych IDE. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

21 4.3. System GNU GNU - akronim GNU s Not Unix to uniskopodobny system operacyjny złożony wyłącznie zwolnego oprogramowania, zapoczątkowany został przez Richarda Stallmana. Jest przykładem open source owego środowiska programistycznego. Podstawowe składniki systemu to: zestaw kompilatorów GNU Compiler Collection (GCC), narzędzia programistyczne GNU Binary Utilities (binutils), powłoka bash, biblioteka standardowych funkcji języka C GNU C Library (glibc), narzędzia GNU Coreutils (coreutils). Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

22 4.4. System Maven Maven jest narzędziem automatyzacji budowy oprogramowania. Stosuje pewne wzory podczas tworzenia struktury oprogramowania w celu zwiększenia przejrzystości, wydajności i ukazywaniu najlepszych rozwiązań danego problemu. Poszczególne funkcjonalności Mavena realizowane są poprzez wtyczki, które są automatycznie pobierane przy ich pierwszym wykorzystaniu. Przykład: Apache Maven dla języka Java. Pomaga w zarządzaniu projektem w sferach: Zarządzania strukturą programu Budowy programu Dokumentacji Raportowania Publikacji Dystrybucji Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

23 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

24 5.1. Co to jest paradygmat? Paradygmat przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp, zespół form fleksyjnych (deklinacyjnych lub koniugacyjnych), właściwy danemu typowi wyrazów; wzorzec, model deklinacyjny lub koniugacyjny (Słownik Języka Polskiego), z greckiego - wzorzec, przykład. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

25 5.2 Co to jest paradygmat programowania? Paradygmat jest to zbiór koncepcji reprezentujących podejście do implementacji algorytmów, zbiór mechanizmów, jakich programista używa, pisząc program, i o to, jak ów program jest następnie wykonywany przez komputer. Do opisu realizacji algorytmu w komputerze, w formie czytelnej dla człowieka, służą języki programowania. Ten sam algorytm można zaimplementować na różne sposoby, zgodnie z różnymi paradygmatami. Wybór paradygmatu ma często kluczowy wpływ na łatwość implementacji algorytmów. Zastosowanie odpowiedniego paradygmatu do realizacji zadania programistycznego jest bardzo ważne, ale nie rozwiąże samego problemu. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

26 5.3. Rodzaje paradygmatów programowania Głównymi paradygmatami programowania są: imperatywny, obiektowy, funkcyjny, deklaratywne. Można też wyróźnić inne: proceduralny, strukturalny, uogólniony zdarzeniowy, aspektowy, agentowy, modularny, Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

27 5.4. Paradygmat imperatywny Paradygmat imperatywny polega na sekwencyjnym wykonywaniu instrukcji modyfikujących wartości zmiennych. Jest on bezpośrednim odzwierciedleniem sposobu działania maszyny von Neumanna, jednak nie koresponduje ze sposobem rozwiązywania problemów przez człowieka. Programy tego typu są czasochłonne w opracowaniu, trudne w utrzymaniu i dają niewielkie możliwości ponownego użycia kodu. Języki wysokiego poziomu, takie jak Fortran, Algol, Pascal, Ada lub C posługują się pewnymi abstrakcjami, ale wciąż odpowiadają paradygmatowi programowania imperatywnego. Przykład: Python, PHP, Java Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

28 5.5. Paradygmat obiektowy Paradygmat obiektowy polega na operowaniu obiektami; obiekt to kombinacja danych określających jego stan oraz operacje, jakie można na nim wykonać. Model opisujący rzeczywistość jako zbiór obiektów posiadających stan i zachowanie odpowiada sposobowi opisywania rzeczywistości przez człowieka. Paradygmat obiektowy ma zastosowanie nie tylko na etapie implementacji kodu, lecz także na etapie analizy problemu i projektowania programu. Obiektowe podejście do programowania sprzyja tworzeniu kodu wielokrotnie używalnego. Wprowadza nowe możliwości - enkapsulacja, hermetyzacja, polimorfizm, dziedziczenie. Przykład: Java, C++, C# Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

29 5.6. Paradygmat funkcyjny Paradygmat funkcyjny polega na operowaniu nie na zmiennych, lecz na wartościach. Zamiast wykonywania sekwencji instrukcji modyfikujących zmienne, obliczane są wyrażenia zwracające wartości. Wykonanie programu jest obliczeniem wartości funkcji, która jako listę argumentów otrzymuje kolejne funkcje, których wartości są obliczane itd. Przy takim podejściu stany i wartości pośrednie programu są nieistotne nie są zapamiętywane, a jedynie używane jako argumenty kolejnych wyrażeń. Przykład: Haskell, LISP, Objective Calm, Standard ML Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

30 5.7. Paradygmat deklaratywny Paradygmat deklaratywny programowanie oparte na logicznych regułach. Programy stworzone zgodnie z takim paradygmatem są zbiorem reguł definiujących wyrażenia logiczne. Wykonanie programu to zadanie wyszukania pewnych kombinacji reguł, dla których opisujące je wyrażenia logiczne są prawdziwe. Przykład: SQL, Prolog Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

31 5.8 Inne paradygmaty (1/2) Paradygmat proceduralny zalecający dzielenie kodu na procedury, czyli fragmenty wykonujące ściśle określone operacje. Paradygmat strukturalny zalecający hierarchiczne dzielenie kodu na bloki, z jednym punktem wejścia i jednym lub wieloma punktami wyjścia. Paradygmat uogólniony pozwala na pisanie kodu programu bez wcześniejszej znajomości typów danych, na których kod ten będzie pracował. Paradygmat zdarzeniowy paradygmat według którego program jest cały czas bombardowany zdarzeniami, na które musi odpowiedzieć, i że przepływ sterowania w programie jest całkowicie niemożliwy do przewidzenia z góry. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

32 5.8 Inne paradygmaty (2/2) Paradygmat aspektowy wspomagający separację zagadnień i rozdzielenie programu na części w jak największym stopniu niezwiązane funkcjonalnie. Paradygmat agentowy wyższy od abstrakcji paradygmatu obiektowego. Polega on na tworzeniu agentów (ang. Software Agent). Programowanie agentowe różni się od obiektowego tym, że każdy agent musi być przygotowany na otrzymanie błędnych danych od innego agenta, lub nieotrzymanie ich w ogóle. W programowaniu obiektowym zakłada się, że każdy obiekt zwróci poprawne dane. Paradygmat modularny zalecający stosowanie nadrzędności modułów w stosunku do procedur bloków tworzących program Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

33 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

34 6.1. Fortran Fortran - FORmula TRANslator język programowania, stworzony w latach 50 XX wieku. Jego głównym zastosowaniem są obliczenia naukowo-inżynierskie (w szczególności obliczenia numeryczne). Cechy języka: braku rozróżniania małych i wielkich liter w słowach kluczowych języka oraz używanych zmiennych, wielka liczba bibliotek, które pozwalają rozwiązać praktycznie każde zadanie numeryczne, szybkość obliczeń i wysoka wydajność kodu generowanego przez kompilatory Fortranu, znakomita skalowalność i przenośność oprogramowania (pomiędzy różnymi platformami sprzętowymi i systemami operacyjnymi), dostępność bibliotek dla programowania wieloprocesorowego i równoległego. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

35 6.2. Język C Język C imperatywny, strukturalny język programowania, stworzony przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu. Cechy języka: wykonywanie niskopoziomowych operacji, możliwość użycia gotowych funkcji, możliwość bieżącego komentowania kodu, używanie słów kluczowych w programie, możliwość operacji na pamięci, kontrola typów, prosta składania, dająca dużą swobodę pisania przenośność pomiędzy innym sprzętem. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

36 6.3. Język C++ Język C++ wywodzi się z języka C i jest z nim kompatybilny. Cechy języka: wysoka wydajność kodu wynikowego, bezpośredni dostęp do zasobów sprzętowych, łatwością tworzenia i korzystania z bibliotek (napisanych w C++, C lub innych językach), obiektowość - hermetyzacja, polimorfizm, dziedziczenie, wysoką przenośność kodów źródłowych, można w nim stosować jednocześnie różne style programowania, w tym programowanie proceduralne, obiektowe, generyczne, jak również programować na poziomie asemblera. statyczna kontrola typów; posiada też elementy dynamicznej kontroli typów, Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

37 6.4. Objective-C Objective-C jest rozwinięciem języka C o możliwości obiektowe, wzorowane na SmallTalk u Cechy języka: daje językowi pełną programowalność obiektową, rozwinięty przez firmę Apple, początkowo na komputery NeXT, obecnie na Mac OS X i ios. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

38 6.5. Java Java język stworzony przez Sun MicroSystems. Jest językiem tworzenia programów źródłowych kompilowanych do kodu bajtowego, czyli postaci wykonywanej przez maszynę wirtualną. Cechy języka: silna typizacja, silnie ukierunkowany na obiektowość, wszelkie dane i akcje na nim podejmowane są pogrupowane w klasy obiektów, niezależność od architektury - przez kompilacje do kodu pośredniego, do zastosowań sieciowych i oprogramowania rozproszonego, duże bezpieczeństwo i niezawodność działania. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

39 6.6. Perl Perl interpretowany język programowania autorstwa Larry ego Walla początkowo przeznaczony głównie do pracy z danymi tekstowymi, obecnie używany do wielu innych zastosowań. Cechy języka: początkowo praktyczne narzędzie do analizy plików tekstowych i tworzenia raportów, uczynienie łatwych zadań łatwymi do wykonania, zaś trudnych wykonalnymi, wszechstronność - programowanie w różnych modelach: proceduralnym, funkcyjnym czy obiektowym, umożliwia powiązanie systemów i struktur danych. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

40 6.7. Python Python interpretowany, interaktywny język programowania stworzony przez Guido van Rossuma w Cechy języka: dynamiczny system typów, automatyczne zarządzanie pamięcią - garbage collection, oszczędna i czytelna składnia w stosunku do innych języków, możliwe jest programowanie obiektowe, programowanie strukturalne i programowanie funkcyjne Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

41 6.8. Prolog Prolog (od francuskiego Programmation en Logique jest to jeden z najpopularniejszych języków programowania logicznego. Powstał jako język programowania służący do automatycznej analizy języków naturalnych. Cechy języka: język ogólnego zastosowania, sprawdzającym się w programach związanych ze sztuczną inteligencją, składa się z faktów oraz reguł wnioskowania, podaje się bazę faktów i reguł, potem można wykonywać zapytania na tej bazie. podstawową jednostką jest predykat - składający się z nagłówka i argumentów: ojciec(tomasz, agata), jest językiem deklaratywnym. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

42 6.9. Haskell Haskell funkcyjny język programowania nazwany na cześć Haskella Currego. Cechy języka: leniwe wartościowanie - strategia wyznaczania wartości argumentów funkcji tylko wtedy, kiedy są potrzebne (na żądanie), monady - abstrakcyjny typ danych, statyczny polimorfizm, definiowalne operatory i możliwość tworzenia nowych, wbudowana obsługa literate programming - czytelność kodu. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

43 6.10. Lisp (LISt Processing) Lisp odzina języków programowania z długą historią i charakterystyczną składnią. Zaprojektowany przez Johna McCarthiego na MIT w 1958 roku. Szybko został najchętniej wybieranym językiem do badania i rozwoju sztucznej inteligencji. Ponieważ należy do najstarszych języków programowania wysokiego poziomu, wywodzi się z niego wiele technik programistycznych, takich jak struktury drzewiaste, odśmiecanie pamięci, dynamiczne typowanie czy nowe koncepcje w programowaniu obiektowym. Cechy języka: podstawową strukturą danych jest lista, kod źródłowy programów w Lispie składa się z list, możliwość manipulacji kodem źródłowym jak zwykłą strukturą danych, wygodna matematyczna notacja dla programów komputerowych, oparta na rachunku lambda stworzonym przez Alonzo Churcha Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

44 6.11. Erlang Erlang jest językiem programowania ogólnego przeznaczenia zaprojektowanym z myślą o zastosowaniach współbieżnych, a także środowiskiem uruchomieniowym dla aplikacji w nim napisanych. Cechy języka: wartościowanie zachłanne - strategia wyznaczania wartości argumentów funkcji przed jej wywołaniem, dynamiczne typizowanie, spółbieżna bazuje na teoretycznym modelu znanym jako Actor model stworzony pod kątem tworzenia rozproszonych systemów wymagających długotrwałej pracy i odporności na awarie, mechanizm hot-swappingu pozwalający na aktualizację kodu aplikacji bez jej zatrzymywania. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

45 6.12. Ruby Ruby to interpretowany, w pełni obiektowy i dynamicznie typowany język programowania stworzony w 1995 roku przez Yukihiro Matsumoto. Cechy języka: automatyczne odśmiecanie pamięci, obsługa wyjątków, wyrażenia regularne wbudowane w składnię, liczby całkowite o dowolnych rozmiarach, Duck typing - rozpoznawanie typów na podstawie ich zachowania, a nie deklaracji, moduły - rodzaj wielodziedziczenia pozwalający włączyć gotową implementację zbioru metod do danej klasy, możliwość zmiany praktycznie wszystkiego - dodanie dodatkowych metod do klasy Array, czy zmiana sposobu drukowania liczb całkowitych są niezmiernie proste. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

46 6.13. PHP PHP obiektowy, skryptowy język programowania zaprojektowany do generowania stron internetowych w czasie rzeczywistym. Cechy języka: najczęściej stosowany do tworzenia skryptów po stronie serwera WWW, również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym, umożliwia współpracę z wieloma rodzajami źródeł danych, takich jak systemy zarządzania bazami danych, pliki tekstowe, dokumenty XML oraz serwisy WWW Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

47 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

48 7.1. MATLAB MATLAB - MATrix LABoratory program komputerowy będący interaktywnym środowiskiem do wykonywania obliczeń naukowych i inżynierskich, oraz do tworzenia symulacji komputerowych. Cechy: interaktywny język wysokiego poziomu, przejrzysty kod, system do obliczeń numerycznych, optymalizacja czasochłonnych operacji tablicowych, język skryptowy interpretowany (możliwość kompilacji poprzez jęz. C), bogate biblioteki otwarty kod, umożliwia rysowanie dwu i trójwymiarowych wykresów funkcji oraz wizualizację wyników obliczeń w postaci rysunków statycznych i animacji, możliwe jest pobieranie danych pomiarowych z urządzeń zewnętrznych, Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

49 7.2. MATLAB - pakiet Simulink Simulink jest częścią pakietu numerycznego MATLAB firmy The MathWorks i służy do przeprowadzania symulacji komputerowych. Simulink pozwala budować modele symulacyjne przy pomocy interfejsu graficznego i tzw. bloków. Przy pomocy Simulinka można przeprowadzać zarówno symulacje z czasem dyskretnym jak i ciągłym. Simulink znajduje głównie zastosowanie (poprzez to, że umożliwia symulacje w czasie ciągłym) w cyfrowym przetwarzaniu sygnałów, analizie obwodów elektrycznych i teorii sterowania. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

50 7.3. R-project R-project jest pakietem matematycznym przeznaczonym do zaawansowanych obliczeń statystycznych. Objęty jest licencją GPL, a zatem jest programem całkowicie bezpłatnym i wolnym. Środowisko i składnia R jest bardzo zbliżona do języka S, stosowanego np. w pakiecie S-plus. Można powiedzieć, że R jest jedną z implementacji tego języka. Pomiędzy nimi istnieją wprawdzie pewne (niekiedy istotne) różnice, jednak większość procedur i kodu napisanego dla S będzie działać także w R. Cechy: tworzenie wykresów o bardzo dobrej jakości, praca odbywa się w trybie komend, funkcjonalność uzupełniają dodatkowe biblioteki do konkretnych zastosowań, dostarczane wraz z obszerną dokumentacją. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

51 Bibliografia (1/4) Piotr Furmański, Ścibór Sobieski, Wstęp do informatyki, Łódź, Dostępna w Internecie: 87/Ewolucja-j%C4%99zykow-programowania Strona PolishWords.com.pl, Ewolucja języków programowania Dostępny w Internecie: ewolucja-jezykow-programowania/ Strona Studia Informatyczne Beta, Dostępny w Internecie: programowania/wyk%c5%82ad_1: _Co_to_jest_paradygmat_programowania%3F Paradygmaty_programowania Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

52 Bibliografia (2/4) Łukasz Komsta, Wprowadzenie do środowiska R, Dostępna w Internecie: Komsta-Wprowadzenie.pdf Strona Apach Maven Project, Maven Getting Started Guide, Dostępna w Internecie: http: //maven.apache.org/guides/getting-started/index.html Małgorzata Kotulska, Informatyk Wykład 1, Wrocław, Dostępny w Internecie: Strona szkolnictwo.pl, Programowanie - język programowania, Dostępne w Internecie: ,1,Programowanie-j%C4%99zyk_programowania Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

53 Bibliografia (3/4) Encyklopedia Wikipedia, Dostępna w Internecie: komputerowy) http: //pl.wikipedia.org/wiki/c_(j%c4%99zyk_programowania) Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

54 Bibliografia(4/4) Encyklopedia Wikipedia, Dostępna w Internecie: org/wiki/prolog_(j%c4%99zyk_programowania) http: //en.wikipedia.org/wiki/haskell_(programming_language) programowania) http: //pl.wikipedia.org/wiki/ruby_(j%c4%99zyk_programowania) Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Języki i paradygmaty programowania. I. Wprowadzenie

Języki i paradygmaty programowania. I. Wprowadzenie Języki i paradygmaty programowania I. Wprowadzenie O źródłach wykład został przygotowany w ogromnej części w oparciu o serwis http://wazniak.mimuw.edu.pl/ (zgodnie z licencją serwisu) inne źródła: Wikipedia:

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Podstawy programowania wykład

Podstawy programowania wykład Podstawy programowania wykład WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 1 Materiały do wykładu

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Podstawy programowania. Wprowadzenie

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

Bardziej szczegółowo

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania Wstęp do Informatyki Program, proces tworzenia programu Środowisko programistyczne Języki programowania Program - definicje Program jest przekładem problemu użytkownika na język maszyny Niklaus Wirth:

Bardziej szczegółowo

Wstęp do Informatyki dla bioinformatyków

Wstęp do Informatyki dla bioinformatyków Wstęp do Informatyki dla bioinformatyków Wykład 1. Wstęp do Wstępu Bartek Wilczyński bartek@mimuw.edu.pl Po pierwsze - Formalności 2 kolokwia (po 15 pkt) początek XI i koniec XII Dwa programy zaliczeniowe:

Bardziej szczegółowo

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.

Bardziej szczegółowo

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

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

Bardziej szczegółowo

Czym jest Ruby on Rails?

Czym jest Ruby on Rails? Czym jest Ruby on Rails? Ruby on Rails - napisany w języku Ruby framework open source do szybkiego tworzenia aplikacji internetowych w oparciu o architekturę MVC David Heinemeier Hansson twórca Rails Ruby

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

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

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

Translacja wprowadzenie

Translacja wprowadzenie Translacja wprowadzenie Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Literatura 1) Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques and Tools, Addison- Wesley, 1986

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania

Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania Informatyczna Wieża Babel, czyli o różnych językach programowania Informatyczna Wieża Babel, czyli o różnych językach programowania Wstęp Aplikacje i programy, jakich dziś używamy, ukryte dla nas pod postacią

Bardziej szczegółowo

Programowanie w języku C++ Podstawowe paradygmaty programowania

Programowanie w języku C++ Podstawowe paradygmaty programowania Programowanie w języku C++ Podstawowe paradygmaty programowania Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra

Bardziej szczegółowo

Wykład 1 Informacje Podstawowe

Wykład 1 Informacje Podstawowe Paradygmaty i języki programowania Wykład 1 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół

Bardziej szczegółowo

Programowanie I. Wprowadzenie. Proces programowania

Programowanie I. Wprowadzenie. Proces programowania I. Wprowadzenie. Proces Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 6 lutego 2018 1 / 25 Wprowadzenie. Proces Najnowsza wersja tego dokumentu

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

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

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

Bardziej szczegółowo

Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++

Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++ Programowanie obiektowo zorientowane Mirosław Głowacki Wykład w języku C++ Literatura B. Meyer, Programowanie zorientowane obiektowo, Helion Gliwice, 2005 J. Grębosz, Symfonia C++ Standard, Oficyna Kallimach,

Bardziej szczegółowo

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Wykład 1 Informacje Podstawowe

Wykład 1 Informacje Podstawowe Paradygmaty i języki programowania Wykład 1 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół

Bardziej szczegółowo

Paradygmaty i języki programowania. Wprowadzenie. dr Robert Kowalczyk, Katedra Analizy Nieliniowej, WMiI UŁ 1

Paradygmaty i języki programowania. Wprowadzenie. dr Robert Kowalczyk, Katedra Analizy Nieliniowej, WMiI UŁ 1 Paradygmaty i języki programowania Wprowadzenie Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół form fleksyjnych

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Wg. J. Bylina, B. Bylina Przegląd języków i paradygmatów programowania, UMCS, Lublin 2011 Paradygmaty programowania Paradygmat (gr. Paradeigma) - wzorzec lub przykład Def. słownikowa: przyjęty sposób widzenia

Bardziej szczegółowo

Języki i metodyka programowania

Języki i metodyka programowania Języki i metodyka programowania www.ee.pw.edu.pl/~slawinsm Dr inż. Maciej Sławiński M.Slawinski@ee.pw.edu.pl GE518l Konsultacje: śr. 13 00-13 45 SK201/GE518l pt. 10 15-11 00 GE518l/SK201 Algorytmika Literatura

Bardziej szczegółowo

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w C. dr inż. Stanisław Wszelak Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++

Bardziej szczegółowo

Wykład 0 Informacje Podstawowe

Wykład 0 Informacje Podstawowe Paradygmaty Programowania Wykład 0 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Informacje Ogólne (22 luty 2013) Wykłady: piątek, 10.00-12.00, D103 Wykłady: 1 wprowadzający +10 wykładów głównych Zaliczenie

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java   1 / 8 Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/ Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.

Bardziej szczegółowo

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany

Bardziej szczegółowo

Java EE produkcja oprogramowania

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

Bardziej szczegółowo

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 1 Wstęp Krzysztof Banaś Podstawy programowania 1 Elementy historii informatyki I think there is a world market for maybe five computers. - Thomas Watson, chairman of IBM,

Bardziej szczegółowo

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Programowanie obiektowe W1 Wprowadzenie Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Ogólna charakterystyka języka C++ C++ jest obiektowym językiem programowania,

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

dr inż. Paweł Myszkowski Wykład nr 5 (16.03.2016)

dr inż. Paweł Myszkowski Wykład nr 5 (16.03.2016) dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2015/2016 Wykład nr 5 (16.03.2016) Plan prezentacji:

Bardziej szczegółowo

Plan wykładu. Kompilatory. Literatura. Translatory. Literatura Translatory. Paweł J. Matuszyk

Plan wykładu. Kompilatory. Literatura. Translatory. Literatura Translatory. Paweł J. Matuszyk Plan wykładu (1) Paweł J. Matuszyk AGH Kraków 1 2 tor leksykalny tor syntaktyczny Generator pośredniego Generator wynikowego Hopcroft J. E., Ullman J. D., Wprowadzenie do teorii automatów, języków i obliczeń,

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

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

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

Król Łukasz Nr albumu: 254102

Król Łukasz Nr albumu: 254102 Król Łukasz Nr albumu: 254102 Podstawy o Delphi Język programowania, którego można używać w środowiskach firmy Borland, Embarcadero, Microsoft (Delphi Prism), oraz w środowisku Lazarus. Narzędzia te są

Bardziej szczegółowo

Środowiska i platformy programistyczne

Środowiska i platformy programistyczne Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,

Bardziej szczegółowo

SPIS TREŚCI Funkcje systemu operacyjnego Zapewnia obsługę dialogu między użytkownikiem a komputerem Nadzoruje wymianę informacji między poszczególnymi urządzeniami systemu komputerowego Organizuje zapis

Bardziej szczegółowo

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Literatura Języki i paradygmaty programowania Wykład 2 1. C. S. Horstman, G. Cornell, core Java 2 Podstawy, Helion 2003

Bardziej szczegółowo

Wprowadzenie do programowania

Wprowadzenie do programowania Wprowadzenie do programowania Olsztyn 2007-2012 Wojciech Sobieski Podstawowe pojęcia Język - jest to ogólna nazwa zdefiniowanego zbioru znaków i symboli oraz reguł określających sposoby i kolejność ich

Bardziej szczegółowo

Programowanie obiektowe. Wprowadzenie

Programowanie obiektowe. Wprowadzenie 1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Podstawy programowania.

Podstawy programowania. Kod przedmiotu: PPR Podstawy programowania. Rodzaj przedmiotu: kierunkowy; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil

Bardziej szczegółowo

Języki programowania deklaratywnego

Języki programowania deklaratywnego Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki deklaratywne - laborki Wprowadzenie

Bardziej szczegółowo

Programowanie Obiektowe i C++

Programowanie Obiektowe i C++ Programowanie Obiektowe i C++ Marcin Benke 2.10.2006 Dzisiaj Co umiemy Paradygmaty programowania Co będzie na wykładach Zasady zaliczania Programowanie obiektowe Co umiemy Programowałem w C++ Programowałem

Bardziej szczegółowo

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne Rocznik: 2019/2020 Język wykładowy: Polski Semestr 1 z Kierunkowe 10

Bardziej szczegółowo

Wykład 1 Wiadomości wstępne

Wykład 1 Wiadomości wstępne Paradygmaty Programowania Wykład 1 Wiadomości wstępne Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół form fleksyjnych

Bardziej szczegółowo

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Rocznik: 2016/2017 Język wykładowy: Polski Semestr 1 IIN-1-103-s

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

Praktyka Programowania

Praktyka Programowania Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:

Bardziej szczegółowo

Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane. MATLAB Co to jest? program komputerowy będący interaktywnym środowiskiem do wykonywania obliczeń naukowych i inżynierskich oraz do tworzenia symulacji komputerowych. Nazwa Nazwa programu pochodzi od angielskich

Bardziej szczegółowo

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,

Bardziej szczegółowo

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie. Wykład 4 Algorytmy + struktury danych = programy Niklaus Wirth Algorytm = logika + sterowanie Robert Kowalski J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 80 / 277 algorytm program język

Bardziej szczegółowo

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans. GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans

Bardziej szczegółowo

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład I Podstawowe pojęcia 1, Cyfrowe dane 2 Wewnątrz komputera informacja ma postać fizycznych sygnałów dwuwartościowych (np. dwa poziomy napięcia,

Bardziej szczegółowo

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym Struktura programu użytkownika w systemie mikroprocesorowym start inicjalizacja niekończaca się pętla zadania niekrytyczne czasowo przerwania zadania krytyczne czasowo 1 Znaczenie problematyki programowania

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 1: Wprowadzenie do programowania obiektowego Dr hab. inż. Stanisław Deniziak, prof.pk, p.101, 410 sdeniziak@pk.edu.pl Informacje organizacyjne Wykład 30h Zaliczenie: egzamin

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Wykład Ćwiczenia Laboratorium Projekt Seminarium WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium PROGRAMOWANIE INTERNETOWE Internet Programming

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych: Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie

Bardziej szczegółowo

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

Bardziej szczegółowo

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki Programowanie I Kornel Warwas ATH Katedra Matematyki i Informatyki 2 Algorytm Algorytm skończony, uporządkowany ciąg zdefiniowanych czynności, koniecznych do wykonania określonego zadania w ograniczonej

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

SOA Web Services in Java

SOA Web Services in Java Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Plan prezentacji SOA 1 SOA 2 Usługi Przykłady Jak zacząć SOA Wycinek rzeczywistości Problemy zintegrowanych serwisów : Wycinek Rzeczywistości Zacznijmy

Bardziej szczegółowo

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia Studia pierwszego stopnia I rok Matematyka dyskretna 30 30 Egzamin 5 Analiza matematyczna 30 30 Egzamin 5 Algebra liniowa 30 30 Egzamin 5 Statystyka i rachunek prawdopodobieństwa 30 30 Egzamin 5 Opracowywanie

Bardziej szczegółowo

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Dotacje na innowacje. Inwestujemy w waszą przyszłość. PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia

Bardziej szczegółowo

Języki programowania imperatywnego

Języki programowania imperatywnego Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki imperatywne Wykład - 15 godzin;

Bardziej szczegółowo

Zestawy zagadnień na egzamin dyplomowy (inżynierski) dla kierunku INFORMATYKA (studia I stopnia)

Zestawy zagadnień na egzamin dyplomowy (inżynierski) dla kierunku INFORMATYKA (studia I stopnia) Zestawy zagadnień na egzamin dyplomowy (inżynierski) dla kierunku INFORMATYKA (studia I stopnia) Zgodnie z Zarządzeniem Rektora ZPSB w sprawie Regulaminu Procedur Dyplomowych, na egzaminie dyplomowym (inżynierskim)

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

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

Bardziej szczegółowo

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

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 ), 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

Bardziej szczegółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

Ryszard Myhan. Wykład 1: Języki programowania

Ryszard Myhan. Wykład 1: Języki programowania Ryszard Myhan Wykład 1: Języki programowania Programowanie Programowanie to proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych.

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy

Bardziej szczegółowo

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ (ARK) Komputerowe sieci sterowania 1.Badania symulacyjne modeli obiektów 2.Pomiary i akwizycja danych pomiarowych 3.Protokoły transmisji danych w systemach automatyki 4.Regulator PID struktury, parametry,

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i Aleksandra Dębiecka To sposób w jaki użytkownik wchodzi w interakcje z systemem. To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski,

Bardziej szczegółowo

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe Technologie informacyjne Prof. dr hab. Zdzisław Szyjewski 1. Rola i zadania systemu operacyjnego 2. Zarządzanie pamięcią komputera 3. Zarządzanie danymi

Bardziej szczegółowo

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która

Bardziej szczegółowo

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie. TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE 1. Po uruchomieni programu Greenfoot początkowa scena ma następujące składniki: a. obiekty scenerii i jeden obiekt ruchomy, b. obraz tła, jeden lub więcej

Bardziej szczegółowo

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT. WYDZIAŁ: GEOLOGII, GEOFIZYKI I OCHRONY ŚRODOWISKA KIERUNEK STUDIÓW: INFORMATYKA STOSOWANA RODZAJ STUDIÓW: STACJONARNE I STOPNIA ROK AKADEMICKI 2014/2015 WYKAZ PRZEDMIOTÓW EGZAMINACYJNYCH: I. Systemy operacyjne

Bardziej szczegółowo