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

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

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

Transkrypt

1 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 ( )

2 Plan prezentacji: paradygmaty programowania generacje języków programowania

3 Paradygmaty programowania definicje pojęcia "paradygmat" klasyfikacje paradygmatów programowania założenia i uwagi omówienie podstawowych paradygmatów

4 Paradygmat [gr. parádeigma wzór] 1. ogólnie uznane osiągnięcie naukowe, które w pewnym okresie dostarcza modelowych rozwiązań w danej dziedzinie nauki [Encyklopedia PWN] 2. przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. [Słownik Języka Polskiego PWN] Bliskie znaczeniowo: wzorzec, punkt widzenia, podejście, model

5 Paradygmat programowania - wzorzec programowania, przedkładany w danym okresie rozwoju Informatyki ponad inne lub szczególnie ceniony w pewnych okolicznościach lub zastosowaniach, - ogół środków, metod, konwencji stosowany w pewnym sposobie programowania, - zbiór koncepcji reprezentujących podejście do implementacji algorytmów, - zbiór mechanizmów, jakich używa programista pisząc program.

6 Podstawowe paradygmaty Programowanie Obiektowe Imperatywne Agentowe Deklaratywne Strukturalne Zdarzeniowe Proceduralne Logiczne Funkcyjne Modularne

7 Uwagi: - paradygmat programowania definiuje punkt podejścia programisty do sterowania i wykonywania programu komputerowego, - różne języki programowania mogą wspierać różne paradygmaty (np. Java i Smalltalk obiektowy, asembler imperatywny), - niektóre języki programowania mogą wspierać wiele różnych paradygmatów (C++ - proceduralny, strukturalny, obiektowy), - wybór paradygmatu ma często kluczowy wpływ na łatwość implementacji algorytmu.

8 Co odróżnia poszczególne paradygmaty: - sposób podejścia do danych, - sposób podejścia do kodu, - sposób wiązania kodu z danymi, - sposób podejścia do sterowania. Program = Kod + Dane Kod = Algorytm + Język programowania Dane = Struktury + Język programowania Programowanie = przejście od nieformalnego opisu problemu do formalnego opisu implementacji rozwiązania. Sposób przejścia narzuca wybrany paradygmat.

9 Założenia paradygmatu realizuje się przy użyciu języka programowania. Język programowania może: - wspierać paradygmat: zawiera środki pozwalające wyrażać paradygmat wprost, - umożliwiać paradygmat: pozwala wyrażać pewien paradygmat, ale kosztem dodatkowego wysiłku programisty. Np. język C umożliwia programowanie obiektowe, język C++ wspiera programowanie obiektowe.

10 Wsparcie dla paradygmatu: - konstrukcje języka np. wywołanie procedury, utworzenie obiektu, aktywacja metody, zdefiniowanie reguły itp., - diagnostyka kompilatora np. sprawdzanie zgodności typów, - diagnostyka czasu wykonania (run-time) np. wykrywanie niezainicjowanych obiektów, - biblioteki standardowe procedury, funkcje, obiekty, reguły, - środowisko programisty specjalizowane edytory, debuggery, itp.

11 Paradygmat imperatywny polega na sekwencyjnym (krok po kroku) wykonywaniu instrukcji modyfikujących wartości zmiennych. - łac. imperare = rozkazywać - najbardziej podstawowy i naturalny sposób programowania, w którym program jest sekwencją instrukcji, zmieniających stan maszyny, aż do uzyskania pożądanego wyniku, - stan maszyny = zawartość pamięci operacyjnej, rejestrów i znaczników procesora, - bezpośrednio odzwierciedla sposób działania maszyny von Neumanna, jednak nie przystaje do sposobów rozwiązywania problemów przez człowieka,

12 Paradygmat imperatywny - programy tego typu są czasochłonne w opracowaniu, trudne w utrzymaniu i rzadko nadają się do ponownego użycia kodu. - zastosowanie: przede wszystkim języki niskiego poziomu, - języki wysokiego poziomu Fortran, Algol, Pascal, Ada lub C posługują się pewnymi abstrakcjami, ale wciąż odpowiadają paradygmatowi programowania imperatywnego, - przykład: zmienna jest abstrakcją komórki pamięci instrukcja przypisania pobiera dane z pamięci lub umieszcza dane w komórce.

13 Paradygmat imperatywny Przykład wyznaczanie rezystancji metodą techniczną: float U, I, R; printf("podaj wartość napięcia na badanej rezystancji"); scanf("%f", &U); printf("podaj wartość prądu płynącego przez rezystancję"); scanf("%f",&i); R = U / I; printf("wartość rezystancji wyznaczona met. techn.: %f",r);

14 Paradygmat strukturalny charakteryzuje się użyciem prostych, ściśle zdefiniowanych struktur (konstrukcji programistycznych). Rodzaje struktur sterujących: - sekwencja wykonanie instrukcji w określonej kolejności, - selekcja wykonanie jednej z kilku instrukcji zależnie od stanu programu (if-then-else oraz switch-case), - cykl (iteracja) powtarzanie instrukcji tak długo, jak długo spełniony/niespełniony jest dany warunek (for, while, repeat-until). W tym podejściu unikamy instrukcji skoku (goto) oraz innych tego typu (break, continue).

15 Paradygmat strukturalny Celem stosowania paradygmatu strukturalnego jest pisanie programów przejrzystych, łatwych w rozumieniu i utrzymaniu (w rozumieniu imperatywnym).

16 Paradygmat strukturalny Przykład wyznaczanie rezystancji metodą techniczną: float U, I, R; //wczytanie danych if (I == 0) { printf("przerwa w obwodzie nie mogę wyznaczyć rezystancji"); } else { R = U / I; printf("wartość rezystancji wyznaczona met. techn.: %f", R); }

17 Paradygmat zdarzeniowy paradygmat, zgodnie z którym program jest cały czas "atakowany" zdarzeniami, na które musi reagować. Zdarzenia napływają do programu: - od systemu operacyjnego, - od użytkownika (urządzenia sterujące), - od innych uruchomionych programów, - od świata zewnętrznego (inne urządzenia wejściowe). Obecnie nie da się praktycznie napisać aplikacji z interfejsem graficznym, nie stosując paradygmatu zdarzeniowego.

18 Paradygmat proceduralny zalecający dzielenie kodu na procedury, czyli fragmenty wykonujące ściśle określone operacje. - najstarszy podtyp paradygmatu imperatywnego, - wciąż jeden z najpowszechniej stosowanych, mimo rozwoju nowszych paradygmatów (szczególnie obiektowego), - większość języków programowania ma mechanizmy wsparcia: - wydzielenie porcji kodu w postaci funkcji lub procedury, - różne sposoby przekazywania parametrów: przez kopię, przez nazwę, przez wartość, przez zmienną, przez wskazanie, przez referencję, - zwracanie wartości przez funkcję.

19 Paradygmat proceduralny Przykład wyznaczanie rezystancji metodą techniczną: float wyznacz_r (float nap, float nat) { return(nap/nat); } int main() { float U, I, R; //wczytanie danych R = wyznacz_r(u,i); printf("wartość rezystancji wyznaczona met. techn.: %f",r); }

20 Paradygmat obiektowy polega na operowaniu obiektami; obiekt to kombinacja danych określających jego stan oraz operacje z nim związane. - model odpowiada sposobowi opisu rzeczywistości przez człowieka: opisuje ją jako zbiór obiektów posiadających stan i zachowanie, - paradygmat ma zastosowanie nie tylko na etapie implementacji kodu, lecz również na etapie analizy i projektowania, - podejście obiektowe sprzyja tworzeniu kodu nadającego się do wielokrotnego wykorzystania, - wprowadza nowe udogodnienia: enkapsulacja, hermetyzacja, polimorfizm, dziedziczenie. - silne wsparcie: Java, C++, C#, Smalltalk.

21 Paradygmat obiektowy Przykład wyznaczanie rezystancji metodą techniczną (1/3): class rezystor { float R; float U; float I; public: void przypisz(float nap, float nat); void oblicz(); void wypisz(); }; //definicja klasy //dane //funkcje, czyli metody

22 Paradygmat obiektowy Przykład wyznaczanie rezystancji metodą techniczną (2/3): void rezystor::przypisz(float nap, float nat) { U=nap; I=nat; //definicje metod } void rezystor::oblicz() { R = U/I; } void rezystor::wypisz() { printf("rezystancja obliczona met. techn.: %f",r); }

23 Paradygmat obiektowy Przykład wyznaczanie rezystancji metodą techniczną (3/3): rezystor Pt100; //deklaracja obiektu klasy "rezystor" Pt100.przypisz(12.3, 0.45); Pt100.oblicz(); //wywołanie metod na rzecz obiektu Pt100.wypisz();

24 Paradygmat modularny stanowi rozwinięcie paradygmatu proceduralnego w sytuacji większej złożoności i objętości programu. Paradygmat agentowy stanowi rozwinięcie paradygmatu obiektowego do wyższego poziomu abstrakcji.

25 Paradygmat logiczny Na program składają się zbiór faktów, zbiór zależności (przesłanki) oraz pewne stwierdzenie (cel). - wykonanie programu to próba udowodnienia celu w oparciu o znane fakty i podane przesłanki : - obliczenia wykonywane są "przy okazji" dowodzenia celu, - program specyfikuje cel, a nie sposób dojścia do niego, - program decyduje, jakich reguł użyć i w jakiej kolejności, aby stwierdzić, czy cel jest osiągalny, - niezbędny jest interpreter! - Prolog najbardziej znany język programowania logicznego.

26 Paradygmat logiczny Przykład: > znane fakty > Marek jest ojcem Piotra, Piotr jest ojcem Jacka i Kamila > bycie dziadkiem oznacza bycie ojcem ojca > cel wnioskowania > kto jest dziadkiem Jacka? ojciec (Marek, Piotr). ojciec (Piotr, Jacek). ojciec (Piotr, Kamil). dziadek(a, C) :- ojciec(a, B), ojciec(b, C).? dziadek(x, Jacek).

27 Zagadka Einsteina [tylko 3% populacji jest w stanie ją rozwiązać] 5 ludzi różnych narodowości zamieszkuje 5 domów w 5 różnych kolorach. Wszyscy palą papierosy 5 różnych marek i piją 5 różnych napojów. Hodują zwierzęta 5 różnych gatunków. Który z nich hoduje rybki? Norweg zamieszkuje pierwszy dom Anglik mieszka w czerwonym domu. Zielony dom znajduje się bezpośrednio po lewej stronie domu białego. Duńczyk pija herbatkę. Palacz papierosów light mieszka obok hodowcy kotów. Mieszkaniec żółtego domu pali cygara. Niemiec pali fajkę. Mieszkaniec środkowego domu pija mleko. Palacz papierosów light ma sąsiada, który pija wodę. Palacz papierosów bez filtra hoduje ptaki. Szwed hoduje psy. Norweg mieszka obok niebieskiego domu. Hodowca koni mieszka obok żółtego domu. Palacz mentolowych pija piwo. W zielonym domu pija się kawę.

28 Zagadka Einsteina [tylko 3% populacji jest w stanie ją rozwiązać] >Rozwiązanie metodą "brute force" Generowanie wszystkich możliwych permutacji danych i odrzucanie tych, które nie spełniają warunków zadania: (5!) 5 = (1*2*3*4*5) 5 = = sposobów! >Programowanie logiczne Wprowadzenie danych Sformułowanie reguł Komputer klasy Pentium III Rozwiązanie otrzymane w ciągu ułamków sekundy!

29 Paradygmat funkcyjny polega na operowaniu nie na zmiennych, lecz na wartościach. Paradygmat aspektowy wspomaga separację zagadnień i rozdzielenie programu na części w jak największym stopniu niezwiązane funkcjonalnie. Paradygmat uogólniony pozwala na pisanie kodu programu bez wcześniejszej znajomości typów danych, na których kod ten będzie pracował.

30 Podział języków - wieloparadygmatowe: Ada, Clojure, Common Lisp, D, Icon, Nemerle, Ruby, Snobol, Python, Ocaml; - imperatywne: AWK, C, COBOL, Forth, Fortran, Modula 2, Oberon, Pascal, Perl, Rexx; - obiektowe: Action Script, C++, C#, Delphi, Eiffel, Java, JavaScript, Object Pascal, Objective, Oxygene, Smalltalk; - funkcyjne: Clojure, Erlang, F#, Haskell, Lisp, ML, Ocaml, Scheme; -logiczne: Prolog, Goedel.

31 Generacje języków programowania historię rozwoju języków programowania podzielono na pięć okresów (generacji) generacje opisują zaawansowanie struktur języka i przystępność jego składni dla programisty 5 GL 4 GL 3 GL 2 GL 1 GL

32 I generacja programowanie bezpośrednio w kodzie binarnym każdy typ komputera posiada własny kod (listę rozkazów procesora) zwany kodem maszynowym każdy program musi być przepisany w konkretnym kodzie maszynowym

33 II generacja dla ułatwienia programowania każdej kombinacji zerojedynkowej przypisano znaki mnemotechniczne języki operujące mnemonikami nazywane są językami symbolicznymi lub asemblerami asembler jest tłumaczeniem kodu maszynowego, nie musi być pisany pod konkretny typ komputera mov bx, 12 mov ax, 10 add ax, bx mov [3987], 20

34 III generacja języki III generacji to języki wysokiego poziomu, w których mnemoniki zastąpiono kodem niezależnym od maszyny, zbliżonym do języka naturalnego lub matematycznego języki wysokiego poziomu są uniwersalne często specjalizuje się języki III generacji do określonych zastosowań int x=0; for (int i=0; i<10; i++) x += tablica[i]; printf("suma: %d",x);

35 IV generacja języki IV generacji to środowiska graficzne, służące do generowania gotowych aplikacji na podstawie predefiniowanych modułów często stanowią rozszerzenie funkcjonalności istniejących języków (np. Visual Basic, Borland C++ Builder, JBuilder) języki programowania obiektowego należą do IV generacji

36 V generacja języki V generacji to języki programowania w logice, wykorzystujące sztuczną inteligencję, często pod postacią języka naturalnego lub języka zbliżonego do naturalnego często wymagają rozbudowanego środowiska ojciec (Marek, Piotr). ojciec (Piotr, Jacek). ojciec (Piotr, Kamil). dziadek(a, C) :- ojciec(a, B), ojciec(b, C)

37 Generacje języków - podsumowanie duża im niższy numer generacji, tym bardziej język zbliżony jest do warstwy sprzętowej im wyższy numer generacji, tym język jest bardziej intuicyjny i niezależny od sprzętu 5 GL język naturalny 4 GL SQL, PostScript 3 GL wysokiego poziomu, Java, C, C++ 2 GL niskiego poziomu, kod asemblera zrozumiałość 1 GL kod maszynowy liczba instrukcji mała

38 Języki programowania - klasyfikacje istnieje ponad 2500 języków programowania "linia czasu" O'Reilly przedstawia ok. 50 najpopularniejszych

39

40 Języki programowania - przegląd Fortran (FORmula TRANslator) stworzony w latach 50-tych, ale nadal stosowany (ostatnia wersja: 2oo8 r.) pierwszy język wysokiego poziomu stosowany głównie do obliczeń naukowo-inżynierskich (szczególnie numerycznych) dysponuje ogromną liczbą bibliotek, umożliwiających rozwiązanie praktycznie każdego zadania numerycznego szybki i wydajny kod wynikowy generowany przez kompilatory Fortrana znakomita skalowalność i przenośność oprogramowania brak rozróżniania wielkości liter w zmiennych i słowach kluczowych dostępność bibliotek do programowania wieloprocesorowego i równoległego

41 Języki programowania - przegląd Fortran (FORmula TRANslator) - przykład kodu

42 Języki programowania - przegląd BASIC (Beginner All-purpose Symbolic Instruction Code) powstał w 1964 roku w oparciu o języki Algol i Fortran popularny w komputerach 8-bitowych i kalkulatorach programowalnych brak definiowania typów danych początkowo konieczność numerowania instrukcji (linii) 10 PRINT "Witaj" 20 INPUT "Liczba gwiazdek do wyświetlenia: "; ile 30 PRINT "*" 40 LET ile = ile IF ile > 0 THEN GOTO 30

43 Języki programowania - przegląd Pascal język wysokiego poziomu, opracowany w 1970 r. przez Niklausa Wirtha oparty na Algolu szczególnie popularny w latach znakomity z dydaktycznego punktu widzenia, stąd jego popularność wśród początkujących programistów zalety: czytelność, zwięzłość kodu, kontrola typów danych i zakresów tablic, typ logiczny obecnie coraz rzadziej stosowany w praktyce

44 Języki programowania - przegląd Pascal - przykład kodu

45 Języki programowania - przegląd C imperatywny, strukturalny język programowania do programowania systemów operacyjnych i innych zadań niskiego poziomu stworzony przez Dennisa Ritchie cechy: udostępnia gotowe funkcje w bibliotekach umożliwia komentowanie kodu występują słowa kluczowe w programie umożliwia operacje na pamięci działa kontrola typów stosunkowo prosta składnia duża przenośność

46 Języki programowania - przegląd C++ obiektowy język programowania autorstwa Bjarne Stroustrupa, powstały jako rozszerzenie języka C (1979 r.) nazwa "C++", zaproponowana w 1983 r., pochodzi od operatora inkrementacji C++ zachowuje pełną zgodność z C na poziomie kodu źródłowego występuje niekompatybilność kompilatorów języka C++ w zakresie obsługiwanej składni wspiera różne paradygmaty, więc nie zmusza programisty do wyboru określonego stylu programowania ułatwia tworzenie i korzystanie z bibliotek (napisanych w C, C++ lub innych językach) wysoka wydajność kodu wynikowego

47 Języki programowania - przegląd Java język tworzenia programów źródłowych kompilowanych do kodu bajtowego, czyli postaci wykonywanej przez maszynę wirtualną opracowany przez Sun MicroSystems cechy: silnie ukierunkowany na obiektowość wszelkie dane i akcje na nich są pogrupowane w klasy obiektów niezależność od architektury przez kompilację do kodu pośredniego duże bezpieczeństwo i niezawodność działania nadaje się do zastosowań sieciowych i programowania rozproszonego

48 Języki programowania - przegląd Java - przykład kodu

49 Języki programowania klasyfikacje TIOBE Programming Community Index (March 2016) [1 10]

50 Języki programowania klasyfikacje TIOBE Programming Community Index (March2016) [11 20]

51 Języki programowania klasyfikacje TIOBE Programming Community Index (March 2016) [język PHP]

52 Języki programowania klasyfikacje TIOBE Programming Community Index (March 2015) [Long Term History]

53 Dlaczego C/C++? W czołówce najpopularniejszych języków programowania na świecie stanowi podstawę dla wielu innych języków (PHP, JavaScript, ) wspiera wiele paradygmatów (imperatywny, strukturalny, proceduralny, obiektowy) bliżej sprzętu niż Java: obsługa portów, wstawki asemblerowe

54 Dziękuję za uwagę. Wesołych Świąt Wielkanocnych! Kolejny wykład: 30 marca 2016 Zapraszam!

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

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

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

Wstęp do informatyki Paradygmaty programowania

Wstęp do informatyki Paradygmaty programowania Czym jest paradygmat Wstęp do informatyki Paradygmaty programowania Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Paradygmat to przyjęty sposób widzenia

Bardziej szczegółowo

Paradygmaty Programowania dr inŝ. Cezary Bolek

Paradygmaty Programowania dr inŝ. Cezary Bolek Kontakt Paradygmaty Programowania dr inŝ. Cezary Bolek email: cbolek@ki.uni.lodz.pl Katedra Informatyki Wydział Zarządzania Uniwersytet Łódzki Cezary Bolek Katedra Informatyki UŁ konsultacje (p.142): wtorek:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne

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

Bardziej szczegółowo

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

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

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

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

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

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

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

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

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

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

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

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

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

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

Podstawy Informatyki Języki programowania

Podstawy Informatyki Języki programowania Podstawy Informatyki Języki programowania alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Wprowadzenie Języki programowania 2 Przykład Wczytywanie programu do pamięci Podsumowanie 3 Przykład

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

Programowanie obiektowe

Programowanie obiektowe Wykład 1 21 lutego 2019 Plan wykładu 1 Opis wykładu Zaliczenie i egzamin Literatura 2 3 Modelowanie obiektowe Abstrakcja Hermetyzacja Dziedziczenie Polimorfizm 4 Opis wykładu Zaliczenie i egzamin Literatura

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

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

Programowanie współbieżne i rozproszone

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)

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

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Języki i paradygmaty programowania

Języki i paradygmaty programowania 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 2011 1 / 53 Plan

Bardziej szczegółowo

*Później okazało się, że model w postaci sieci semantycznej pasuje także do reprezentacji wiedzy.

*Później okazało się, że model w postaci sieci semantycznej pasuje także do reprezentacji wiedzy. Dr Tomasz Jach Najstarszy i najbardziej ogólny typ reprezentacji wiedzy Początkowo miały być symulacją pamięci ludzkiej. Później okazało się, że model w postaci sieci semantycznej pasuje także do reprezentacji

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

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

Wprowadzenie do programowania paradygmaty programowania. dr hab. inż. Mikołaj Morzy

Wprowadzenie do programowania paradygmaty programowania. dr hab. inż. Mikołaj Morzy Wprowadzenie do programowania paradygmaty programowania dr hab. inż. Mikołaj Morzy plan wykładu wprowadzenie do języków programowania generacje języków programowania translacja, interpretacja, kompilacja

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

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

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ 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 zasad

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

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

Języki programowania wprowadzenie

Języki programowania wprowadzenie Języki programowania wprowadzenie Prof. dr hab. inż. Mariusz J. Giergiel KRiDM AGH dr hab. inż.. Mariusz Giergiel, prof. n. AGH Pok. 412, VIp, D-1 konsultacje czwartek 10:00 11:00 giergiel@agh.edu.pl Telefon

Bardziej szczegółowo

Metodyka i Technika Programowania 1

Metodyka i Technika Programowania 1 Metodyka i Technika Programowania 1 Pytania zaliczeniowe z wykładu mgr inż. Leszek Ciopiński Wykład I 1. Wprowadzenie 1.1. Programowanie imperatywne polega na: 1.2. Czy w programowaniu imperatywnym programista

Bardziej szczegółowo

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

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

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

Style programowania - krótki przeglad

Style programowania - krótki przeglad Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Podstawy Programowania. Języki programowania

Podstawy Programowania. Języki programowania Podstawy Programowania Wykład XII Języki programowania Robert Muszyński ZPCiR ICT PWr Zagadnienia: generacje języków progamowania, kod maszynowy, asembler, drzewo genealogiczne języków wysokiego poziomu,

Bardziej szczegółowo

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 O mnie prowadzący wykład: Dariusz Wardowski pokój: A334 dyżur: środa, godz. 10.00 12.00 e-mail: wardd@math.uni.lodz.pl

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

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka.

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka. Wstęp do Programowania Obiektowego Wykład 13 Paradygmaty. Składnia i semantyka. 1 PRZEGLĄD PODSTAWOWYCH PARADYGMATÓW 2 Cztery podstawowe paradygmaty 1. Programowanie imperatywne. 2. Programowanie funkcyjne.

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

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

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

2.8. Algorytmy, schematy, programy

2.8. Algorytmy, schematy, programy https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego

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

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

Programowanie obiektowe. Tematy projektów

Programowanie obiektowe. Tematy projektów Programowanie obiektowe Tematy projektów Wytyczne Podane tematy wymagają własnej implementacji Podana jest ogólna charakterystyka projektu szczegóły implementacji są już indywidualnymi rozwiązaniami autora

Bardziej szczegółowo

Technologie cyfrowe semestr letni 2018/2019

Technologie cyfrowe semestr letni 2018/2019 Technologie cyfrowe semestr letni 2018/2019 Tomasz Kazimierczuk Wykład 7 (08.04.2019) Wikipedia Programowanie komputerów proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

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

Informatyka 1. Wykład nr 8 (16.06.2008) Plan wykładu nr 8. Politechnika Białostocka. - Wydział Elektryczny. Asembler - przykład programu.

Informatyka 1. Wykład nr 8 (16.06.2008) Plan wykładu nr 8. Politechnika Białostocka. - Wydział Elektryczny. Asembler - przykład programu. Rok akademicki 2007/2008, Wykład nr 8 2/32 Plan wykładu nr 8 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2007/2008

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

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

Informatyka na UG... Witold Bołt (ja@hope.art.pl)

Informatyka na UG... Witold Bołt (ja@hope.art.pl) Informatyka na UG... Witold Bołt (ja@hope.art.pl) >> Agenda Co to jest informatyka? Czym zajmuje się informatyk? Czego można nauczyć się na UG? Jak wyglądają studia informatyczne na UG? Co po studiach?

Bardziej szczegółowo

Wstęp do Informatyki i Programowania

Wstęp do Informatyki i Programowania Wstęp do Informatyki i Programowania Jacek Cichoń Przemysław Kobylański Katedra Informatyki W11/K2 Politechnika Wrocławska J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 1 / 356 Plan wykładu

Bardziej szczegółowo

Języki i paradygmaty programowania

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

Bardziej szczegółowo

Programowanie Obiektowe

Programowanie Obiektowe Programowanie Obiektowe dr in. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl WYKŁAD 1 Wstp, jzyki, obiektowo Cele wykładu Zaznajomienie słuchaczy z głównymi cechami obiektowoci Przedstawienie

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Literatura David Harel. Rzecz o istocie informatyki. Algorytmika. Wydawnictwa Naukowo-Techniczne. Wydanie trzecie. Seria: Klasyka informatyki. Warszawa 2000. Niklaus Wirth. Algorytmy

Bardziej szczegółowo

Języki i paradygmaty programowania

Języki i paradygmaty programowania Języki i paradygmaty programowania Instytut Teleinformatyki ITI PK Kraków marzec 2012 Sprawy Organizacyjne Dane kontaktowe: e-mail: tchmaj@pk.edu.pl konsultacje: wtorki 14:45 15:45 budynek Houston, p.102,

Bardziej szczegółowo

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej. Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.

Bardziej szczegółowo

Programowanie Obiektowe i C++ Marcin Benke

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

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

Szablony funkcji i klas (templates)

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

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego

Bardziej szczegółowo

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski Systemy ekspertowe i ich zastosowania Katarzyna Karp Marek Grabowski Plan prezentacji Wstęp Własności systemów ekspertowych Rodzaje baz wiedzy Metody reprezentacji wiedzy Metody wnioskowania Języki do

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

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

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

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

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia

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

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

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

Bardziej szczegółowo