Translacja i translatory Translacja

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

Download "Translacja i translatory Translacja"

Transkrypt

1 Translacja i translatory Translacja Program w języku niskiego poziomu ciąg instrukcji wykonywany bezpośrednio przez procesor lub maszynę cyfrową Program w języku wysokiego poziomu wymaga przetłumaczenia na ciąg instrukcji zrozumiałych dla maszyny cyfrowej która ten program ma wykonać

2 Translacja Proces tłumaczenia nosi nazwę translacji. Translacja to przekład tekstów zredagowanych w jednym języku zwanym źródłowym na równoważny semantycznie tekst w innym języku zwanym wynikowym. Translacja W przypadku gdy dany język wysokiego poziomu ma stosunkowo łatwą gramatykę, translacja może być wykonana samoczynnie przez maszynę cyfrową przy pomocy specjalnego programu translacji zwanego translatorem.

3 Translacja Translatory dzielimy zazwyczaj na dwie kategorie: kompilatory interpretatory. Translacja Kompilator jest translatorem, operującym na całym tekście programu źródłowego generując tekst przekładu jako całość Interpreter operuje na poszczególnych jednostkach syntaktycznych programu źródłowego i generuje ich przekłady.

4 Translacja Jeśli wykonywamy program początkowo zapisany w języku zewnętrznym to używając kompilatora: możemy przystąpić do wykonania programu w postaci docelowej dopiero po zakończeniu translacji. Oznacza to, że uzyskany tekst będący przekładem tekstu źródłowego w całości wprowadzany jest do maszyny cyfrowej; Translacja Jeśli wykonywamy program początkowo zapisany w języku zewnętrznym to używając interpretatora: możemy wykonywać przekłady poszczególnych jednostek syntaktycznych, nie czekając na cały proces translacji. Oznacza to, że cały czas operujemy na tekście źródłowym tłumacząc tylko te jednostki syntaktyczne, które są potrzebne aby poszczególny fragment programu mógł zadziałać.

5 Translacja Translacja W praktyce rzadko dokonuje się bezpośredniej translacji programów z języka zewnętrznego na język maszynowy. Najczęściej stosuje się proces pośredni najpierw dokonuje się translacji z języka zewnętrznego na język asemblerowy potem z języka asemblerowego na język maszynowy. Zastosowanie dwuetapowej translacji niesie za sobą wiele zalet, m.in. możliwość łączenia poszczególnych części programów zapisanych w różnych językach zewnętrznych.

6 Schematyczny przebieg powstawania programu algorytm pomysł programowanie programowanie w języku wysokiego poziomu kompilacja programista (człowiek) algorytm oprogramowany kompilator (program) program w języku symbolicznym kod maszynowy komputer Stos i ONP Bardzo ważnymi pojęciami bez których trudne byłoby zrozumienie zasad jakiejkolwiek translacji są : stos odwrotna notacja polska (ONP).

7 Stos Stos jest to organizacja sekwencyjna pamięci operacyjnej maszyny cyfrowej. Stos działa jak pojemnik określonych jednostek, przy czym pobieranie elementów w nim zgromadzonych odbywa się w kolejności odwrotnej do magazynowania. Jest to struktura LIFO Dla stosu określa się dwie podstawowe operacje: dopisz a na stosie - w wyniku wykonania tej operacji jednostka a zostaje umieszczona na szczycie stosu (staje się pierwszym elementem stosu) odczytaj a ze stosu - w wyniku wykonania tej operacji jednostka a zostaje wydana na zewnątrz stosu. Odwrotna Notacja Polska (ONP) jeden z wariantów beznawiasowego zapisu wyrażeń formalnych, wynalezionego przez polskiego logika Jana Łukasiewicza ( ). w tym beznawiasowym zapisie symbole operandów poprzedzają bezpośrednio symbol operatora (notacja przyrostkowa) na przykład wyrażenie: a+b zapisujemy w ONP jako a b +

8 Odwrotna Notacja Polska (ONP) Wyróżniamy trzy rodzaje notacji: Infiksową : a + b Prefiksową: + a b Postfiksową: a b + Odwrotna Notacja Polska (ONP) ze względu na łatwość obliczania wyrażeń zapisanych w ONP przy użyciu stosu znalazła ona szerokie zastosowanie w arytmetyce komputerów

9 Wyrażenia arytmetyczne w ONP Przykłady prostych wyrażeń arytmetycznych i odpowiadający im zapis w ONP: 1. ( a + b ) * d a b + d * 2. ( a + ( b * c ) ) a b c * + 3. ( ( a + b ) * ( z + x ) ) a b + z x + * 4. ( ( a + t ) * ( ( b + ( a + c ) ) ^ ( c + d ) ) ) a t + b a c + + c d + ^ * Gramatyka generująca wyrażenie arytmetyczne Gramatyka G = < V, T, P, S > generująca proste wyrażenia arytmetyczne, np. (a + b ) * d V = {a, b, d, +, *, (, )} T = {W, K, C} Semantyka powyższych symboli jest następująca: W wyrażenie; K - składnik, C czynnik; Symbol startowy S: S = W P = { r 1,, r 10 }

10 Lista produkcji i BNF Lista produkcji: r 1 : W K r 2 : W W + K r 3 : W K + W r 4 : K C r 5 : S C * K r 6 : S K * C r 7 : C a r 8 : C b r 9 : C d r 10 : C ( W ) Zapis w notacji BNF: <W> ::= <K> <W> + <K> <K> + <W> <K> ::= <C> <C> * <K> <K> * <C> <C> ::= ( <W> ) a b d Wyrażenie arytmetyczne w ONP Zapis w notacji BNF: <W> ::= <K> <W> + <K> <K> + <W> <K> ::= <C> <C> * <K> <K> * <C> <C> ::= ( <W> ) a b d Gramatyka prostych wyrażeń arytmetycznych w ONP: <W> ::= <W> <W> <O> <X> <X> ::= a b d <O> ::= + *

11 Obliczanie wartości w ONP Pobieramy po kolei symbole wyrażenia od lewej strony do prawej; Jeżeli symbol jest liczbą (zmienną), to odkładamy go na stos; Jeżeli symbol jest opisem operacji - pobieramy dwa elementy ze stosu, wykonujemy te operacje, a wynik przesyłamy z powrotem na stos. Czynności te wykonujemy aż do wyczerpania się danych wejściowych. Obliczana wartość wyrażenia znajduje się na stosie. Obliczanie wartości w ONP start pobierz symbol z lewej ku prawej argument T stos N φ N T N operator T pobierz argumenty ze stosu, wykonaj działanie, wynik na stos błąd KONIEC

12 ONP - przykład obliczania wartości Obliczyć wartość wyrażenia: * + Posługujemy się tabelką. Przedstawimy symbole pojawiające się kolejno na wejściu oraz zawartość stosu po każdym obiegu pętli głównej algorytmu obliczającego wyrażenie. Obliczanie wartości wyrażenia - przykład Obliczyć wartość wyrażenia: / * + 2 /

13 Translacja wyrażeń arytmetycznych Współczesne podejście translacji wyrażeń arytmetycznych polega na wydzieleniu dwu etapów translacji: translacja do ONP translacja ONP na język symboliczny Translacja wyrażeń arytmetycznych W celu zobrazowania translacji do ONP przyjmujemy, że: źródłowy zapis wyrażeń arytmetycznych pojawia się na wejściu specjalnego automatu. na wyjściu uzyskamy zapis ONP tych wyrażeń, sam zaś automat wyposażony jest w pamięć stosową: Wyrażenie arytmetyczne Automat ze stosem ONP wyrażenia arytmetycznego Model automatu ze stosem do translacji wyrażeń arytmetycznych

14 Translacja wyrażeń arytmetycznych Podczas translacji wyrażeń arytmetycznych szczególnej analizie poddawane są symbole operacji (+,-,*,itp.) zwane ogranicznikami Wprowadza się dodatkowo listę priorytetów ograniczników Operator Funkcja (lg, sin, exp,...) Potęgowanie ( ) Mnożenie, dzielenie, negacja ( *, /, ) Dodawanie, odejmowanie (+, -) Priorytet Wzrost priorytetu Algorytm działania automatu do translacji Pobieramy kolejne znaki wyrażenia, które ma zostać przekształcone znak po znaku, począwszy od lewej strony. Dalsze postępowanie zależy od symbolu. Jeśli pobrany znak jest: argumentem, to należy przesłać go na wyjście, nawiasem otwierającym (, to należy położyć go na stos, nawiasem zamykającym ), to zawartość stosu, aż do napotkanego znaku ( należy przesłać na wyjście i usunąć nawias (,

15 Algorytm działania automatu do translacji operatorem, to przeglądamy zawartość stosu w poszukiwaniu operatora o wyższym priorytecie : jeśli taki znajdziemy, to przesyłamy zawartość stosu na wyjście, zaś nowy operator wkładamy na stos, jeśli nie, operator odkładamy na stos. stos przeszukujemy do napotkania nawiasu ( lub do końca stosu, jeżeli nawias nie występuje. jeżeli nawias ( wystąpił i znaleźliśmy przed nim operator o wyższym priorytecie, to na wyjście trafia wszystko ze stosu do (, ale sam nawias zostaje na stosie, Algorytm działania automatu do translacji znacznikiem końca wprowadzanego napisu, to kopiujemy zawartość stosu na wyjście, w przeciwnym wypadku sygnalizujemy błąd. Przetwarzanie kończymy w momencie napotkania znacznika końca napisu wejściowego. Nawiasów ( i ) nie kopiujemy na wyjście.

16 start pobierz symbol z lewej ku prawej argument T wyjście N T ( stos N ) N operator N błąd N φ T T T Zawartość stosu aż do ( na wyjście Czy wyższy w stosie do ( lub dna Stos na wyjście T N Zawartość stosu do ( lub do dna na wyjście, po czym operator na stos KONIEC stos Przykład konwersji (1) Dokonać konwersji wyrażenia (((a))+b+d)*(d+e) na ONP Otrzymaliśmy na wyjściu ciąg: abd++de+*

17 Przykład konwersji (2) Dokonać konwersji wyrażenia na ONP b * c + ( d - e*k ) Otrzymaliśmy na wyjściu ciąg: b c d e k * - + * Przykład konwersji (3) Dokonać konwersji wyrażenia na ONP ( ( a + b ) ( 3 * x + 7 * y ) ) Otrzymaliśmy na wyjściu ciąg: a b + 3 x * 7 y * + -

18 Przykład konwersji (4) Dokonać konwersji wyrażenia na ONP ( ( a + t ) * ( ( b + ( a + c ) ) ^ ( c + d ) ) ) Otrzymaliśmy na wyjściu ciąg: a t + b a c + + c d + ^ * Języki programowania

19 Język programowania Język programowania jest to usystematyzowany sposób przekazywania komputerowi poleceń do wykonania Język programowania pozwala na dokładny zapis algorytmów oraz innych zadań jakie komputer ma wykonać Język programowania Składnia języka określa: sposób opisywania struktur sterujących sposób opisywania struktur danych sposób tworzenia poprawnych symboli do nazywania zmiennych i struktur danych sposób stosowania interpunkcji, tj. znaków typu spacje, średniki, kropki, nawiasy sposób budowy poprawnych wyrażeń Semantyka języka określa znaczenie poprawnych składniowo wyrażeń

20 Generacje języków Języki programowania można podzielić na pięć wyraźnie różniących się generacji (niektórzy mówią o czterech). Generacje języków opisują zaawansowanie (rozbudowanie) struktury języka, co jest równocześnie związane z łatwością posługiwania się nimi I generacja Programowanie pierwszych komputerów akceptujących zmianę oprogramowania odbywało się bezpośrednio w kodzie binarnym, który można przedstawić jako ciągi zer i jedynek. Każdy typ komputera operuje własnym kodem, który dlatego został określony nazwą język maszynowy lub wewnętrzny. Jest to główna wada tych języków, gdyż programista każdorazowo musi dostosowywać się do języka konkretnej maszyny. Przykład:

21 II generacja Ponieważ operowanie ciągami zero-jedynkowymi nie jest wygodne dla programisty, przypisano im łatwiejsze do zrozumienia znaki mnemotechniczne. Tak narodziły się języki symboliczne, zwane też asemblerami. Choć stanowią one proste tłumaczenie języka maszynowego na symbole i są ściśle związane z danym modelem komputera, to ułatwiają pisanie instrukcji i czynią je bardziej czytelnymi. Przykład: mov dx, offset info mov ah, 9 int 21h mov ah, 0 int 16h III generacja Języki wysokiego poziomu - symbole asemblera reprezentujące konkretne instrukcje zostały zastąpione kodem nie związanym z maszyną, bardziej zbliżonym do języka naturalnego lub matematycznego. Są to języki ogólnego przeznaczenia o dużym stopniu uniwersalności; ich rozwój ewoluował w kierunku języków problemowo zorientowanych Przykład: for i:=1 to MaxN do begin Vx[i]:=Vx[i]+dx[i]; end;

22 IV generacja Na czwartą generację języków programowania składa się szereg narzędzi, które umożliwiają budowę prostych aplikacji przez zestawianie prefabrykowanych modułów. Obecnie wielu specjalistów uważa, że nie są to języki programowania w ścisłym znaczeniu, gdyż częstokroć stanowią jedynie rozszerzenie języków już istniejących. Niektórzy autorzy proponują stosować nazwę czwarta generacja wyłącznie w odniesieniu do programowania obiektowego (OOP). V generacja Nazwę język piątej generacji stosuje się czasem w odniesieniu do języków używanych do tworzenia programów wykorzystujących tzw. sztuczną inteligencję (AI) lub inaczej systemów ekspertowych.

23 Generacje języków Paradygmaty programowania Paradygmat programowania to ogół oczekiwań programisty wobec języka programowania i komputera, na którym będzie działał program.

24 Paradygmaty programowania Paradygmaty programowania Programowanie imperatywne opisujemy kolejne czynności, które wykonawca (komputer) ma wykonać, by osiągnąć cel w tym rodzaju programowaniu programista opisuje, jak komputer ma działać Programowanie deklaratywne opisujemy cel, który wykonawca (komputer) ma osiągnąć w tym rodzaju programowaniu programista opisuje, co komputer ma osiągnąć

25 Programowanie imperatywne Najbardziej pierwotny sposób programowania, w którym program postrzegany jest jako ciąg poleceń dla komputera Obliczenia rozumiemy tu jako sekwencję poleceń zmieniających krok po kroku stan maszyny, aż do uzyskania oczekiwanego wyniku Stan maszyny należy z kolei rozumieć jako zawartość całej pamięci oraz rejestrów i znaczników procesora Programowanie imperatywne Ten sposób patrzenia na programy związany jest ściśle z budową sprzętu komputerowego o architekturze von Neumanna, w którym poszczególne instrukcje (w kodzie maszynowym) to właśnie polecenia zmieniające ów globalny stan

26 Programowanie imperatywne Języki wyższego (w stosunku do asemblera i kodu maszynowego) poziomu takie jak Fortran, Algol, Pascal, Ada lub C posługują się pewnymi abstrakcjami, ale wciąż odpowiadają paradygmatowi programowania imperatywnego Instrukcje podstawienia działają na danych pobranych z pamięci i umieszczają wynik w tejże pamięci, zaś abstrakcją komórek pamięci są zmienne Paradygmaty programowania

27 Programowanie proceduralne Podział zadania programistycznego na podzadania i ich niezależna (od siebie nawzajem) implementacja w postaci podprogramów (procedur) Niezalecanie korzystania z efektów ubocznych (rozumianych w sensie tradycyjnym, jako zmiana wartości zmiennych globalnych), lecz przekazywanie danych i wyników w parametrach procedur Metodologia programowania bottom-up Programowanie proceduralne

28 Paradygmaty programowania Programowanie strukturalne Używanie prostych, dobrze zdefiniowanych struktur (konstrukcji programistycznych): sekwencja selekcja (instrukcja warunkowa) iteracja (pętla) wywołanie podprogramu Unikanie skoków (wręcz ich zakaz!) Metodologia programowania top-down

29 Programowanie strukturalne Paradygmaty programowania

30 Programowanie obiektowe Program to zbiór porozumiewających się ze sobą obiektów, czyli jednostek zawierających pewne dane i umiejących wykonywać na nich pewne operacje Programowanie obiektowe jest do pewnego stopnia rozszerzeniem paradygmatu programowania proceduralnego i strukturalnego Programowanie obiektowe Ważną cechą jest tu powiązanie danych (czyli stanu) z operacjami na nich (czyli poleceniami) w całość, stanowiącą odrębną jednostkę obiekt Bardzo ważną cechą jest też mechanizm dziedziczenia, czyli możliwość definiowania nowych, bardziej złożonych obiektów, na bazie obiektów już istniejących

31 Programowanie obiektowe Ważną cechą jest tu powiązanie danych (czyli stanu) z operacjami na nich (czyli poleceniami) w całość, stanowiącą odrębną jednostkę obiekt Bardzo ważną cechą jest też mechanizm dziedziczenia, czyli możliwość definiowania nowych, bardziej złożonych obiektów, na bazie obiektów już istniejących Inne ważne cechy programowania obiektowego to: wysoki stopień abstrakcji danych enkapsulacja danych polimorfizm Programowanie obiektowe

32 Paradygmaty programowania Programowanie funkcyjne Program to po prostu złożona funkcja (w sensie matematycznym), która otrzymawszy dane wejściowe wylicza pewien wynik Zasadniczą różnicą w stosunku do poprzednich paradygmatów jest brak dostępu do stanu maszyny Nie ma zmiennych A co za tym idzie, nie ma żadnych efektów ubocznych (rozumianych w sensie tradycyjnym, jako zmiana wartości zmiennych)

33 Programowanie funkcyjne Nie ma tradycyjnie rozumianych pętli (imperatywnych z natury) Tradycyjne pętle wymagają bowiem zwykle (poza przypadkami zdegenerowanymi, jak pętle nieskończone) zmiennych (lub innego dostępu do stanu maszyny) do sterowania ich przebiegiem Programowanie funkcyjne Konstruowanie programów to składanie funkcji Zazwyczaj z istotnym wykorzystaniem rekurencji (rekursji) (tam, gdzie w programowaniu imperatywnym wykorzystujemy pętle) Charakterystyczne jest również definiowanie funkcji wyższego rzędu, czyli takich, dla których argumentami i których wynikami mogą być funkcje (a nie tylko proste dane jak liczby lub napisy)

34 Programowanie funkcyjne Paradygmaty programowania

35 Programowanie logiczne Na program składa się zbiór zależności (przesłanek) oraz pewne stwierdzenie/pytanie (cel) Wykonanie programu to próba udowodnienia celu w oparciu o podane przesłanki Obliczenia wykonywane są niejako przy okazji dowodzenia celu Podobnie jak w programowaniu funkcyjnym, nie wydajemy rozkazów, a jedynie opisujemy, co wiemy i co chcemy uzyskać Programowanie logiczne

36 Programowanie logiczne Inne paradygmaty Programowanie na poziomie wartości Programowanie na poziomie funkcji Programowanie skalarne Programowanie wektorowe/macierzowe Programowanie zdarzeniowe Programowanie z własnym wątkiem sterowania Programowanie aspektowe Programowanie uogólnione Programowanie równoległe/współbieżne/rozproszone

37 Języki a paradygmaty asemblery, stary BASIC p. imperatywne (proceduralne?) stary Pascal, C, Fortran p. imperatywne, proceduralne, strukturalne C++, Object Pascal, Ada p. imperatywne, proceduralne, strukturalne, obiektowe Smalltalk, C#, Java p. obiektowe Języki a paradygmaty Lisp, Scheme, Logo, ML, Haskell p. funkcyjne Planner, Prolog p. logiczne Python p. proceduralne, strukturalne, obiektowe, funkcyjne SQL p. deklaratywne (ani ściśle funkcyjne, ani ściśle logiczne)

38 Przegląd języków programowania Przegląd języków programowania Ada -język programowania wysokiego poziomu, opracowany w latach na zamówienie Departamentu Obrony USA, spokrewniony z językiem Pascal. Przeznaczony do bezpośredniego sterowania procesami lub maszynami, np. samolotami wojskowymi. Służy głównie do oprogramowywania systemów czasu rzeczywistego, pozwala na kontrolowanie procesów zachodzących jednocześnie. Nazwa języka pochodzi od imienia Ady Augusty Lovelace ( ), córki G.G.N. Byrona, matematyczki współdziałającej z Ch. Babbage em przy pracach nad pierwszą programowalną maszyną liczącą.

39 Przegląd języków programowania Asembler - język programowania niskiego poziomu, wykorzystujący instrukcje procesora. Program napisany w asemblerze jest tłumaczony na (binarny) kod maszynowy. Program w asemblerze jest bardzo efektywny w porównaniu do programów napisanych w innych językach, jednakże jego tworzenie jest stosunkowo trudne. Przegląd języków programowania Visual Asembler

40 Przegląd języków programowania Basic (Beginners All-purpose Symbolic Instruction Code) - przełomowy w chwili powstania w 1964, potem mocno krytykowany za brak strukturalności, prosty, interpretowany język programowania, spopularyzowany w komputerach ośmiobitowych i kalkulatorach programowanych. Basic z założenia nadawał się do pracy interakcyjnej i miał ujmować prostotą (m. in. brak typów, numerowane instrukcje ułatwiały redagowanie programu). Przegląd języków programowania Odrodzony i zmetamorfozowany zarówno pod względem struktur sterowania i danych, jak i interfejsu systemowego Basic znajduje szerokie zastosowanie pod postacią platformy programowania RAD o nazwie VisualBasic. W tym nowoczesnym produkcie z Basica pozostała głównie nazwa. ibasic

41 Przegląd języków programowania C - proceduralny język programowania wysokiego poziomu, zaprojektowany w 1972 przez D. M. Ritchiego i zrealizowany pod systemem operacyjnym UNIX dla komputera PDP-11. Początkowo C był językiem oprogramowania systemowego (powstał jako język do przeprogramowania systemu UNIX). Szybko zyskał popularność jako uniwersalny język programowania. Przegląd języków programowania Cechami języka C są zwięzłość i elastyczność, przy jednoczesnym przerzucaniu dużej odpowiedzialności na programistę (nie ma np. wbudowanej kontroli indeksowania tablic). W latach język C uległ standaryzacji. Znormalizowany język C nosi nazwę ANSI C.

42 Przegląd języków programowania C++ - obiektowy język programowania zaprojektowany przez B. Stroustrupa i in., w warstwie proceduralnej osadzony w notacji języka C, wpływ języków Algol 68 i Simula 67 oraz Ada, ML i Clu. Charakterystyczne cechy: dociążanie funkcji i operatorów, dziedziczenie z wielu klas, obsługa wyjątków, klasy parametryczne. Przegląd języków programowania Wersja pierwotna (1979) nosiła nazwę C z klasami (C with classes), a jej kompilatory generowały kod w języku C. Standaryzowany od 1994, standard ostateczny ISO/ANSI C++ (ANSI 14882) z 1 września Liczne kompilatory, m. in. Borland C++, Microsoft C++, Watcom C++, implementacje systemów operacyjnych, baz danych. Java, Smalltalk.

43 Przegląd języków programowania DevC++ Przegląd języków programowania lcc

44 Przegląd języków programowania Clips (C Language Integrated Production System) - rozwijany od 1984 r. język przeznaczony do badania i rozwijania systemów ekspertowych, służący do programowania typu optymalizacji algorytmowej (rule-based), proceduralnego i obiektowego (COOL - Clips Object Oriented Language). CLIPS ma składnię przypominającą Lisp-a. Obecnie (2002) dostępna jest wersja 6.20 beta. Przegląd języków programowania Css (Cascading Style Sheets) - technologia (język) umożliwiająca przydzielanie stylu, tj. charakterystyk takich jak położenie, barwa, rozmiary, itp., elementom HTML. Arkusze styli są wzorcami (templates) przypominającymi wzorce znane np. z edytora tekstu Word (mogą być również dołączane z zewnątrz). CSS są w znacznym stopniu niezależne od platformy (stopień ich rozumienia przez nowe przeglądarki IE 5.5, Netscape 6 i Opera 5 jest oceniany odpowiednio na 92%, 98% i 99%).

45 Przegląd języków programowania DHTML (Dynamic HTML) - rozszerzenie języka HTML o wzorce stylu (style sheets), rozmieszczanie elementów na stronie WWW według upodobań użytkownika (content positioning) oraz możliwośćstosowania indywidualnych krojów pisma, sprowadzanych z komputera macierzystego danej strony WWW (downloadable fonts). Przegląd języków programowania Fortran (FORmula TRANslator) - jeden z pierwszych szeroko używanych, algorytmicznych języków programowania, opracowany przez J. Backusa w Po wielu unowocześnieniach i zmianach (Fortran 77, Fortran 90) stosowany do dzisiaj. Język Fortran powstał jako wynik wczesnych doświadczeń w programowaniu komputerów za pomocą autokodów z lat Pierwszą implementację Fortranu wykonano dla maszyny IBM-704. W 1958 powstała wersja Fortran II wprowadzająca możliwość kompilacji niezależnej (IBM- 704), a w 1959 jej odpowiednik dla komputera IBM-709.

46 Przegląd języków programowania HTML (HyperText Markup Language) - specjalny język służący do opisu strony oraz odniesień z poszczególnych jej elementów do innych dokumentów. Język ten powstał na potrzeby internetowej usługi WWW. HTML Umożliwia umieszczenie na stronie tekstu zdefiniowanych dyrektyw co do sposobu jego prezentacji, wyróżnienia pewnych jego elementów edytorskich jak akapity, nagłówki itp. Pozwala także umieszczać bezpośrednio na opisywanych stronach grafikę, a w najnowszych wersjach również inne typy dokumentów. Przegląd języków programowania Java - popularny język programowania obiektowego autorstwa J. Goslinga, zaprojektowany w firmie Sun Microsystems, Używany szeroko do oprogramowywania specjalizowanych mikroprocesorów, wzbogacania prezentacji danych zawartych w dokumentach HTML, pamiętanych w komputerach sieci Internet oraz do opracowywania samodzielnych aplikacji wielowątkowych i rozproszonych. Kompilatory języka Java produkują bajtokod, który nadaje się do interpretacji w środowisku JVM. Znaczenie języka Java systematycznie rośnie.

47 Przegląd języków programowania Przykład skryptu w Javie Przegląd języków programowania JavaScript, opracowany przez firmę Sun Microsystems język programowania obiektowego, przypominający C++, jednak przeznaczony do zastosowań sieciowych. Java nie przenosi wirusów i nie może uszkodzić komputera-klienta (o ile wiadomo). Java jest także środowiskiem przetwarzania online, działającym w tzw. maszynie wirtualnej Javy - JVM (Java Virtual Machine). Ta ostatnia jest rodzajem pośrednika pomiędzy programem Javy i komputerem. Kompilator Javy tworzy bowiem nie kod przeznaczony dla konkretnej platformy, lecz kod niezależny od sprzętu (przynajmniej na ogół), interpretowany przez JVM.

48 Przegląd języków programowania Lisp - język programowania oparty na przetwarzaniu list. Główny wkład w jego powstanie w latach 50. wniósł J. McCarthy, profesor wielu amerykańskich uczelni, m.in. Instytutu Technologicznego Massachusetts i Uniwersytetu Stanforda. Wywodzi się z badań teoretycznych nad tzw. rachunkiem lambda i stał się podstawowym językiem sztucznej inteligencji. Przegląd języków programowania Eclips Lisp

49 Przegląd języków programowania Logo - edukacyjny język programowania biorący początek z badań nad psychologią uczenia się i jego wpływem na kształtowanie osobowości (J. Piaget), opracowany przez Seymoura Paperta i spopularyzowany przez niego w książce, rewolucyjnej z punktu widzenia metodologii nauczania, pt. Burze mózgów dzieci i komputery (Wydawnictwo Naukowe PWN, 1996). Logo jest stosowane w początkowym nauczaniu matematyki oraz jako język komunikacji dziecka z komputerem; odznacza się interakcyjnością, znakomicie przemyślanym, prostym zestawem operacji graficznych i ogólnością składni wzorowanej na języku Lisp. Przegląd języków programowania MSW Logo

50 Przegląd języków programowania NET Logo Przegląd języków programowania Star Logo

51 Przegląd języków programowania Visual Logo Przegląd języków programowania Pascal - strukturalny język programowania stworzony przez N. Wirtha na początku lat 70. Jego zastosowanie w praktyce jest obecnie bardzo ograniczone. Najważniejszym zastosowaniem języka Pascal jest nauka programowania. Pozostaje on przez to jednym z najszerzej znanych i popularnych języków, zwłaszcza wśród początkujących programistów.

52 Przegląd języków programowania Perl (Practical Report and Extraction Language) interpretowany język programowania, zewnętrznie bardzo podobny do C/C++, dostosowany przez twórcę (Larry Wall, koniec lat 80-tych) przede wszystkim do przetwarzania plików tekstowych. Perl służy do administracji i oprogramowania WWW, w tym do pisania tzw. skryptów cgi. Trudno uznać Perl za język szczególnie przyjazny; jest jednak tak uniwersalny i przy tym rozpowszechniony, że warto go poznać, pomimo tego, że w ostatnich latach pojawiły się języki pod wieloma względami wydajniejsze (m.in. ASP i PHP). Perl powstał w środowisku unixowym, jednak niemal od razu został zaimplementowany jako ActivePerl również do Win32. Przegląd języków programowania Przykład skryptu w Perlu

53 Przegląd języków programowania PHP - język skryptowy stosowany po stronie serwera podobnie jak np. Perl, z którym jest zresztą spokrewniony. Za pośrednictwem skryptów php typowy serwer (np. PWS, IIS, Apache) może przesyłać na strony sieciowe dane z relacyjnych baz danych (np. MySQL, msql, PostgreSQL a także MS Access). Mówiąc w uproszczeniu, kod php wbudowany jest w plik HTML pomiędzy znaczniki <?php i?>, chociaż można skonfigurować php tak, aby używać innych znaczników, np. <% i %>, jak w przypadku ASP. Kod php jest interpretowany przez serwer, przekształcany w tekst a następnie przesyłany do przeglądarki. Przegląd języków programowania Przykład skryptu w PHP

54 Przegląd języków programowania Prolog (PROgraming in LOGic) - deklaratywny język programowania w logice. Program w takim języku nie jest sekwencją działań, jak np. w języku proceduralnym, lecz zbiorem faktów i reguł pozwalających w oparciu o fakty formułować wnioski. Visual Prolog Przegląd języków programowania Python - interpretowany współczesny język obiektowy. Istnieją implementacje dla różnych systemów operacyjnych. Posiada przejrzystą i łatwą do nauki strukturę. Python jest językiem darmowym - tworzone w nim aplikacje można również sprzedawać.

55 Przegląd języków programowania Python Przegląd języków programowania Ruby - interpretowany, w pełni obiektowy język programowania Ruby bazuje na wielu językach, takich jak Perl, Smalltalk, Python, CLU czy LISP. Składnia jest zorientowana liniowo i oparta na składni CLU (w mniejszym stopniu Perla). Program pisane w Ruby charakteryzują się wysoką wymiennością pomiędzy platformami (istnieją implementację na wiele maszyn UNIXowych, DOS, Windows, Mac, BeOS itd.). Język popularny w Japonii, oparty na języku japońskim.

56 Przegląd języków programowania Ruby Przegląd języków programowania SQL (Structured Query Language) - standardowy język zapytań do obsługi relacyjnej bazy danych. Język programowania baz danych i ich sieciowych serwerów. Pierwowzorem SQL był opracowany przez IBM we wczesnych latach siedemdziesiątych XX w. język SEQUEL (E. F. Codd). Niezależnie od specyficznych właściwości standardów język SQL pozwala formułować działania na tabelach w formie zbliżonej do zdań w języku angielskim.

57 Przegląd języków programowania VRML (Virtual Reality Modeling Language) - opracowany w 1993r. język udostępniający operacje na obiektach trójwymiarowych w Internecie. Dostępny dla większości przeglądarek po zainstalowaniu dodatkowej wtyczki. Od 1995 r. dostępna jest wersja VRML 2.0. Przegląd języków programowania Przykład modelu w VRML

58 Przegląd języków programowania XML (extensible Markup Language) - standard Internetowy (metajęzyk), oparty na SGML, a będący poszerzeniem techniki używania markerów (tagów) nie tylko do określania sposobu prezentacji, lecz także rodzaju przesyłanej informacji. Znaczniki nie są opisane w XML lecz definiowane przez użytkownika. Przegląd języków programowania Do opisu danych XML używa DTD - Document Type Definition. Jeśli więc HTML zajmuje się wyświetlaniem danych i ich wyglądem, to XML skupia się na opisie, przechowywaniu i przesyłaniu danych (lecz nie ich prezentacji) niezależnie od sprzętu, oprogramowania systemowego i aplikacji. Ma uzupełniać a nie zastępować HTML, nie jest językiem, jest uproszczoną wersją metajęzyka SGML.

59 Hello World Kolekcję ponad 300 programów Hello world w różnych językach programowania i w ponad 50 językach naturalnych : Pierwszy Hello World powstał w 1972 roku i był napisany w B (taki poprzednik C ;-). Na wyróżnienie zasługują: Assembler-Z80-Console i HQ9+ (za długość), Argh!, BrainFxxx, G-Code, Malbolge i MAMASH (za zakręcenie), CSS (za spryt), LabVIEW i Logo-graphical (za efekty specjalne). Standardowe: Hello World

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

TRANSLACJA I TRANSLATORY

TRANSLACJA I TRANSLATORY TRANSLACJA I TRANSLATORY Języki programowania niskiego czy też wysokiego poziomu mają na zadanie przetworzyć ogół algorytmów w nich zapisanych na taką postać aby maszyna cyfrowa była w stanie je wykonać

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

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

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

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

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

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

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

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

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

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

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

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

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

Języki i gramatyki. Języki i gramatyki formalne. Języki i gramatyki formalne. Języki i gramatyki formalne. Gramatyki formalne

Języki i gramatyki. Języki i gramatyki formalne. Języki i gramatyki formalne. Języki i gramatyki formalne. Gramatyki formalne Języki i gramatyki formalne Języki i gramatyki formalne Cechy języka naturalnego - duża swoboda konstruowania zdań (brak ścisłych reguł gramatycznych), duża ilość wyjątków. Języki formalne - ścisły i jednoznaczny

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

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

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

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

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

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

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

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

O (o)programowaniu. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

O (o)programowaniu. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski O (o)programowaniu R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski www.il.pw.edu.pl/~rg s-rg@siwy.il.pw.edu.pl Próba klasyfikacji Nie jest możliwa jednoznaczna klasyfikacja oprogramowania! Oto jedna

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

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 013/01 Nr programu: 31[01]/T,SP/MENIS/00.06.1 Okres kształcenia: łącznie ok. 170 godz. lekcyjne Moduł Bok wprowadzający 1. Zapoznanie z programem nauczania i

Bardziej szczegółowo

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 011/01 Nr programu: 31[01]/T,SP/MENIS/004.06.14 Okres kształcenia: łącznie ok. 180 godz. lekcyjne Wojciech Borzyszkowski Zenon Kreft Moduł Bok wprowadzający Podstawy

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

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

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

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

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

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

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

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

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

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

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

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę

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

Bazy danych i strony WWW

Bazy danych i strony WWW Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy

Bardziej szczegółowo

Podstawy Programowania Algorytmy i programowanie

Podstawy Programowania Algorytmy i programowanie Podstawy Programowania Algorytmy i programowanie Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Algorytm Algorytm w matematyce, informatyce, fizyce, itp. lub innej dziedzinie życia,

Bardziej szczegółowo

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

Bardziej szczegółowo

wstęp (podstawowe pojęcia związane z programowaniem, przegląd języków programowania, sieci działań, ogólne zasady programowania zorientowanego

wstęp (podstawowe pojęcia związane z programowaniem, przegląd języków programowania, sieci działań, ogólne zasady programowania zorientowanego wstęp (podstawowe pojęcia związane z programowaniem, przegląd języków programowania, sieci działań, ogólne zasady programowania zorientowanego obiektowo) historia języka Delphi i ogólna charakterystyka

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

ALGORYTMY I PROGRAMY

ALGORYTMY I PROGRAMY ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy

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

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

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

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

Metody Kompilacji Wykład 1 Wstęp

Metody Kompilacji Wykład 1 Wstęp Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,

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

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

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

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

Bardziej szczegółowo

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

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

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

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

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++ Jednostka prowadząca: Wydział Techniczny Kierunek studiów: Elektronika i telekomunikacja Nazwa przedmiotu: Język programowania C++ Charakter przedmiotu: podstawowy, obowiązkowy Typ studiów: inŝynierskie

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

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Spis treści 1 Wprowadzenie 1 2 Dane i kod 2 3 Wyrażenia 2 3.1 Operacje arytmetyczne i logiczne.................. 2 3.2 Podstawowe

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

Algorytmy od problemu do wyniku

Algorytmy od problemu do wyniku Algorytmy Etapy tworzenia programu: 1) Sformułowanie zadania analiza problemu. 2) Opracowanie algorytmu sposób rozwiązania. 3) Zapisanie algorytmu w języku programowania kodowanie programu. 4) Kompilowanie

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

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

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:

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

Informatyka. Michał Rad

Informatyka. Michał Rad Informatyka Michał Rad 13.10.2016 Co i po co będziemy robić Plan wykładów: Wstęp, historia Systemy liczbowe Co to jest system operacyjny i po co to jest Sprawy związane z tworzeniem i własnością oprogramowania

Bardziej szczegółowo

Podstawy Informatyki Języki programowania c.d.

Podstawy Informatyki Języki programowania c.d. Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy 2 Makroasembler - założenia Przykład

Bardziej szczegółowo

Wprowadzenie do programowania

Wprowadzenie do programowania do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania

Bardziej szczegółowo

WPROWADZENIE. Użycie PHP

WPROWADZENIE. Użycie PHP WPROWADZENIE PHP jest językiem programowania po stronie serwera używanym do tworzenia dynamicznych witryn internetowych i interaktywne aplikacje internetowe. Skrót PHP pierwotnie oznaczał Osobistą stronę

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

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

1. Maszyna Turinga, gramatyki formalne i ONP

1. Maszyna Turinga, gramatyki formalne i ONP 1. Maszyna uringa, gramatyki formalne i OP 1.1.Maszyna uringa Automat skończony składa się ze skończonego zbioru stanów i zbioru przejść ze stanu do stanu, zachodzących przy różnych symbolach wejściowych

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

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

Z. Rudnicki: WPROWADZENIE DO INFORMATYKI I PROGRAMOWANIA

Z. Rudnicki: WPROWADZENIE DO INFORMATYKI I PROGRAMOWANIA SPIS TREŚCI 3 SPIS TREŚCI 1. WSTĘP...9 1.1. O podręczniku...9 1.2. Podstawowe pojęcia...11 1.3. Obliczenia, modelowanie, symulacja...13 1.4. Czy warto uczyć się programowania?...16 1.5. Nieco historii...17

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

Języki programowania deklaratywnego

Języki programowania deklaratywnego Katedra Inżynierii Wiedzy laborki 14 Języki deklaratywne Główne różnice między paradygmatem deklaratywnym a imperatywnym Omów główne cechy paradygmatu programowania w logice na przykładzie Prologa Główne

Bardziej szczegółowo

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek Wprowadzenie Organizacja pracy i środowisko programistyczne Mirosław Ochodek Miroslaw.Ochodek@pwsz.pila.pl Miroslaw.Ochodek@cs.put.poznan.pl Dane kontaktowe Mirosław Ochodek E-mail: Miroslaw.Ochodek@pwsz.pila.pl

Bardziej szczegółowo

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę

Bardziej szczegółowo

Elementy języków programowania

Elementy języków programowania Elementy języków programowania Olsztyn 2007-2012 Wojciech Sobieski Języki programowania wymyślono po to, by można było dzięki nim tworzyć różnorodne programy komputerowe. Oczekuje się również, że tworzone

Bardziej szczegółowo

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza

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

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Prorektor ds. dydaktyki i wychowania S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko wykładowcy: dr hab.,

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania dokumentów manipulatory Urządzenia wyprowadzania danych: monitory drukarki urządzenia foniczne urządzenia

Bardziej szczegółowo