Wprowadzenie do kompilatorów

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Wprowadzenie do kompilatorów"

Transkrypt

1 Wprowadzenie do kompilatorów Czy ja kiedykolwiek napisz jaki kompilator? Jakie zadania ma do wykonania kompilator? Czy jzyk formalny to rodzaj jzyka programowania? Co to jest UML?, Czy ja kiedykolwiek napisz jaki kompilator? PRAWDOPODOBNIE NIE! Ale Dua cz oprogramowania wykorzystuje wiele elementów teorii kompilacji, np.: gramatyki regularne uywane s do wyszukiwania tekstu; automaty skoczone s powszechnie wykorzystywane podczas projektowania oprogramowania; jzyki formalne mog by uyte do opisu danych wprowadzanych przez uytkownika. Kompilator jest dobrym przykładem duego systemu oprogramowania. Techniki stosowane do konstrukcji kompilatorów stosowane s te podczas konstrukcji innych systemów. W prowadzenie do kompilatorów 1

2 Jakie zadania ma do wykonania kompilator? Kod ródłowy? Kod wynikowy Komunikaty o błdach Kompilator przetwarza kod zapisany w jzyku ródłowym na kod zapisany w jzyku wynikowym zgłaszajc odpowiednie komunikaty. Dla uytkownika kompilator stanowi czarn skrzynk działajc w sposób automatyczny. Niniejszy wykład ma za zadanie pokaza, jak ta skrzynka wyglda od rodka (jak zbudowa tak skrzynk). Z kim komunikuje si kompilator? Kompilator przyjmuje od jakiej Aplikacji komunikaty wykonania kompilacji (). Aplikacja Okienka Kompilator wysyła do Okienek polecenia pokazania komunikatu (Komunikaty). Komunikaty Komunikaty Kompilator wysyła do SystemuPlików polecenia pobrania z pliku kodu ródłowego (Wejcie). Kompilator Wejcie Wyjcie Kompilator wysyła do SystemuPlików polecenia zapisania do pliku kodu wynikowego (Wyjcie). Wejcie SystemPlików Wyjcie W prowadzenie do kompilatorów 2

3 Jak si zachowuje kompilator? Kompilator dostaje od Aplikacji komunikat z daniem dokonania translacji. Kompilator wykonuje translacj współpracujc z SystememPlików i Okienkami. Aplikacja 1: transluj(nazwa_pliku) 2: kom_rozpoczcia() 3: otwórz(nazwa_pliku) 5: pobierz_znaki(): char 6: zamknij() Kompilator 4: kom_postpu() 10: kom_zakoczenia() 7: otwórz(nazwa_pliku) 8: zapisz_kod(warto) 9: zamknij() Okienka System Plików Z czego si składa kompilator? słuy do wstpnego przygotowania tekstu ródłowego. słuy do analizy kodu ródłowego. Generator słuy do generacji kodu wynikowego. Czego brakuje: obsługa błdów. Komunikaty Kompilator Generator PobieranieZnaków GeneracjaKodu Wejcie Wyjcie W prowadzenie do kompilatorów 3

4 Jak działa kompilator? (sterowanie) zarzdza kompilacj dokonujc analizy kodu ródłowego. Tekst ródłowy pobiera z a, który go wstpnie przygotowuje. Dane do generacji kodu przekazywane s Generatorowi, który na podstawie tych danych generuje kod. 1: transluj(nazwa_pliku) 2: pobierz_znak() 5: wstaw_wzeł(wzeł) Generator 3: pobierz_znak() 5:zapisz_kod(warto) :byte System Plików Jak działa kompilator? (przepływ danych) odczytuje znaki z rónych plików i przekształca w jeden cigły strumie znaków. odczytuje znaki ze strumienia znaków i sprawdza zgodno z jzykiem. w odpowiednich momentach podczas analizy tworzy wzły dla generatora. Generator otrzymuje wzły i wstawia je w odpowiednie struktury danych. Po zbudowaniu odpowiednich struktur, generator tworzy cig wartoci i wstawia je do plików. :byte Generator W prowadzenie do kompilatorów 4

5 Jakie struktury danych wystpuj w kompilatorze? cig znaków cig leksemów (symboli leksykalnych) i tablica symboli drzewo wzłów Tablica symboli + wstaw_symbol() + podaj_symbol() 0..* Symbol - typ: int - id: int - nazwa: String Wzeł +lewy 1 - atrubut: 1 Leksem - typ: int - warto: +prawy 1 Kompilator:: Kompilator:: :Tablica symboli Kompilator::Generator Jak wyglda przykładowa translacja? drugi.c x:=i+1; pierwszy.c i:=1; #include<drugi.c> b:=a(x); i typ= kon_instr : = 1 ; typ=liczba warto=1,0 typ=podst x : = i typ=ident warto=23 + typ=ident warto=23 W prowadzenie do kompilatorów 5

6 Czy jzyk formalny to taki rodzaj jzyka programowania? OCZYWICIE, NIE! Jzyk formalny (gramatyka formalna) to sposób zapisu struktury programu (składni jzyka ródłowego) uywany m.in. podczas konstrukcji analizatorów. Gramatyki regularne Gramatyki bezkontekstowe leksykalny Składniowy Jak projektowa kompilatory? Diagramy z poprzednich slajdów pokazuj struktur kompilatora w formie współpracujcych ze sob komponentów. Kady komponent moe stanowi klas w rozumieniu obiektowym. Kompilator jest jednym z przykładów aplikacji, które mona zbudowa (zanalizowa i zaprojektowa) w sposób obiektowy. Projektowanie kompilatora powinno odbywa si w sposób graficzny. Graficznym jzykiem do analizy i projektowania systemów jest UML. UML jest w tej chwili standardem modelowania obiektowego. W prowadzenie do kompilatorów 6

7 Jak wyglda jzyk UML? Podstawowym elementem jest klasa. gra :Aplikacja : :SystemPlików :Komunikaty Komponenty to te klasy. transluj() transluj() kom_rozpoczcia() Komponenty i klasy mog posiada interfejsy. kom_zakoczenia() Obiekty klas wystpuj na diagramach pokazujcych dynamik. Leksem a :SystemPlików - typ: int - warto: b Kompilator:: Co dalej? Jak zaprojektowa kompilator? Diagramy klas podstawowe składniki programu kompilatora Diagramy sekwencji opis dynamiki działania kompilatora Jak działa preprocesor? Jak działa analizator? Gramatyki regularne opis struktury pojedynczych symboli leksykalny komponent łczcy znaki w symbole Gramatyki bezkontekstowe opis struktury jzyka składniowy komponent sprawdzajcy poprawno kodu y LL analiza zstpujca y LR analiza wstpujca Jak generowa kod? W prowadzenie do kompilatorów 7

Gramatyki regularne i automaty skoczone

Gramatyki regularne i automaty skoczone Gramatyki regularne i automaty skoczone Alfabet, jzyk, gramatyka - podstawowe pojcia Co to jest gramatyka regularna, co to jest automat skoczony? Gramatyka regularna Gramatyka bezkontekstowa Translacja

Bardziej szczegółowo

Optymalizacja oprogramowania - wprowadzenie

Optymalizacja oprogramowania - wprowadzenie Optymalizacja oprogramowania - wprowadzenie Poznaskie Centrum Superkomputerowo Sieciowe Projekt jest współfinansowany ze rodków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe

Bardziej szczegółowo

Proces tworzenia programu:

Proces tworzenia programu: Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów

Bardziej szczegółowo

Zadanie analizy leksykalnej

Zadanie analizy leksykalnej Analiza leksykalna 1 Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Przykład: We: COST := ( PRICE + TAX ) * 0.98 Wy: id 1 := ( id 2 + id 3 ) * num 4 Tablica symboli:

Bardziej szczegółowo

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017 Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 4

Podstawy programowania III WYKŁAD 4 Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.

Bardziej szczegółowo

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Programowanie C# mgr in. Dariusz Ku p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Translacja kodu Kod ródłowy Java, C# Kompilator Kompilator Kod poredni Interpreter Maszyna wirtualna

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17 Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2016-2018 Bieżący sylabus w semestrze zimowym roku 2016/17 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Podstawy Kompilatorów

Podstawy Kompilatorów Podstawy Kompilatorów Laboratorium 3 Uwaga: Do wykonania poniższych zadań związanych z implementacją niezbędny jest program LEX oraz kompilator. Dla środowiska Linux mogą to być: Darmowa wersja generatora

Bardziej szczegółowo

Generatory analizatorów

Generatory analizatorów Generatory analizatorów Generator analizatora leksykalnego flex ( http://www.gnu.org/software/flex/ ) Generator analizatora składniowego bison ( http://www.gnu.org/software/bison/ ) Idea ogólna Opis atomów

Bardziej szczegółowo

Program We Kompilator Wy Źródłowy

Program We Kompilator Wy Źródłowy 1. Aho A.V., Ullman J.D. - The Theory of Parsing, Translation and Compiling.1972. 2. Foster J.M. - Automatyczna analiza składniowa. 1976 3. Gries D. - Konstrukcja translatorów dla maszyn cyfrowych, 1984

Bardziej szczegółowo

Włączenie analizy leksykalnej do analizy składniowej jest nietrudne; po co więc jest wydzielona?

Włączenie analizy leksykalnej do analizy składniowej jest nietrudne; po co więc jest wydzielona? Po co wydziela się analizę leksykalną? Wykład7,str1 Włączenie analizy leksykalnej do analizy składniowej jest nietrudne; po co więc jest wydzielona? 1 Analiza leksykalna jest prostsza niż składniowa leksyka

Bardziej szczegółowo

Języki formalne i gramatyki

Języki formalne i gramatyki J.Nawrocki, M. Antczak, A. Hoffa, S. Wąsik Plik źródłowy: 08cw10-jfig.doc; Data: 2008-10-22 13:29:00 Ćwiczenie nr 10 Języki formalne i gramatyki Wprowadzenie 1. Napisz analizator leksykalny (LEX) i analizator

Bardziej szczegółowo

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu. AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...

Bardziej szczegółowo

Podstawy generatora YACC. Bartosz Bogacki.

Podstawy generatora YACC. Bartosz Bogacki. Podstawy generatora YACC Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy generatora analizatorów składniowych YACC. Zapraszam serdecznie

Bardziej szczegółowo

Typy bazy danych Textract

Typy bazy danych Textract Typy bazy danych Typy bazy danych bazy tekstowe, Textract, http://www.textract.com - bazy tekstowe, np. archiwum gazety, dla setek gigabajtów, szybkie wyszukiwanie i indeksacja informacji bazy danych bez

Bardziej szczegółowo

Obiektowa implementacja parsera klasy LL(1)

Obiektowa implementacja parsera klasy LL(1) Obiektowa implementacja parsera klasy LL(1) Piotr Jeruszka 1 1 Wydział Inżynierii Mechanicznej i Informatyki Kierunek Informatyka, II stopień Specjalność: Aplikacje biznesowe i bazy danych, Rok II Streszczenie

Bardziej szczegółowo

Inżynieria Programowania - Projektowanie architektoniczne

Inżynieria Programowania - Projektowanie architektoniczne Inżynieria Programowania - Projektowanie architektoniczne Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 22 października 2016 1 2 3 4 5 Architektury charakterystyczne dla różnych dziedzin

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową

Bardziej szczegółowo

Wprowadzanie i zmiany faktur z zakupu, wydruk rejestru zakupu

Wprowadzanie i zmiany faktur z zakupu, wydruk rejestru zakupu Sterowanie procedurami programu "Rejestr zakupu" odbywa si poprzez wybór jednej z kilku proponowanych akurat na ekranie moliwoci. U dołu ekranu wypisywany jest komunikat bliej objaniajcy wybran aktualnie

Bardziej szczegółowo

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.

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

Gramatyki atrybutywne

Gramatyki atrybutywne Gramatyki atrybutywne, część 1 (gramatyki S-atrybutywne Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki atrybutywne Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji

Bardziej szczegółowo

Analiza leksykalna i generator LEX

Analiza leksykalna i generator LEX Analiza leksykalna i generator LEX Wojciech Complak Wojciech.Complak@cs.put.poznan.pl wprowadzenie generator LEX wyrażenia regularne i niejednoznaczności retrakcja definicje regularne atrybuty lewy kontekst

Bardziej szczegółowo

Analiza metodą zstępującą. Bartosz Bogacki.

Analiza metodą zstępującą. Bartosz Bogacki. Analiza metodą zstępującą Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy analizy metodą zstępującą. Zapraszam serdecznie do wysłuchania.

Bardziej szczegółowo

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2 Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów

Bardziej szczegółowo

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagramy czynności Na podstawie UML 2.0 Tutorial Diagramy czynności Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz 1 Diagramy czynności 1. Diagramy czyności UML http://sparxsystems.com.au/resources/uml2_tutorial/

Bardziej szczegółowo

Semantyka i Weryfikacja Programów - Laboratorium 6

Semantyka i Weryfikacja Programów - Laboratorium 6 Semantyka i Weryfikacja Programów - Laboratorium 6 Analizator leksykalny i składniowy - kalkulator programowalny Cel. Przedstawienie zasad budowy i działania narzędzi do tworzenia kompilatorów języków

Bardziej szczegółowo

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

Bardziej szczegółowo

Wprowadzenie do analizy składniowej. Bartosz Bogacki.

Wprowadzenie do analizy składniowej. Bartosz Bogacki. Wprowadzenie do analizy składniowej Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy wprowadzenia do analizy składniowej. Zapraszam serdecznie

Bardziej szczegółowo

Uproszczony schemat działania kompilatora

Uproszczony schemat działania kompilatora Wykład7,13XI2009,str.1 Uproszczony schemat działania kompilatora program źródłowy ciąg leksemów drzewo wywodu drzewo i tablice symboli analiza leksykalna analiza syntaktyczna analiza semantyczna KOMPILATOR

Bardziej szczegółowo

EC4P Pierwszy program w 6 krokach

EC4P Pierwszy program w 6 krokach EC4P Pierwszy program w 6 krokach Strona - 1 Wymagania / Przygotowanie Instalacja easy Soft CoDeSys Zakłada si, e adna z wersji easysoft CoDeSys nie jest zainstalowana. Podczas instalacji wykonuj poszczególne

Bardziej szczegółowo

Uproszczony schemat działania kompilatora

Uproszczony schemat działania kompilatora Uproszczony schemat działania kompilatora Wykład7,str.1 program źródłowy ciąg leksemów drzewo wywodu drzewo i tablice symboli analiza leksykalna analiza syntaktyczna analiza semantyczna KOMPILATOR generacja

Bardziej szczegółowo

Wybrane narzędzia do tworzenia analizatorów leksykalnych i składniowych w C/C++ Narzędzia, zastosowanie oraz próby rankingu.

Wybrane narzędzia do tworzenia analizatorów leksykalnych i składniowych w C/C++ Narzędzia, zastosowanie oraz próby rankingu. Wybrane narzędzia do tworzenia analizatorów leksykalnych i składniowych w C/C++ Narzędzia, zastosowanie oraz próby rankingu. Flex Flex wywodzi się jak cała rodzina tego typu narzędzi od jednego przodka:

Bardziej szczegółowo

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska MiASI Modelowanie analityczne Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 18 stycznia 2010 Spis tre±ci 1 Czym jest modelowanie analityczne? 2 Podstawowe kategorie poj ciowe

Bardziej szczegółowo

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania - 1 doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.edu.pl http://www.tjeleniewski.wstt.edu.pl Cele przedmiotu Umiejętność zastosowania i oceny przydatności paradygmatów

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: ANALIZA, PROJEKTOWANIE I PROGRAMOWANIE OBIEKTOWE Analysis, design and object-oriented programming Kierunek: Forma studiów: Informatyka Stacjonarne Rodzaj przedmiotu: obowiązkowy w ramach

Bardziej szczegółowo

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa :Informatyka- - inż., rok I specjalność: Grafika komputerowa Metody uczenia się i studiowania. 1 Podstawy prawne. 1 Podstawy ekonomii. 1 Matematyka dyskretna. 1 Wprowadzenie do informatyki. 1 Podstawy

Bardziej szczegółowo

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT Integracja jest to całokształt działao zmierzających do scalenia różnych rozwiązao informatycznych. W miarę rozwoju nowych technologii informatycznych

Bardziej szczegółowo

LABORATORIUM INFORMATYKI 0

LABORATORIUM INFORMATYKI 0 1. Uruchomi VS Express 2. Wybra z menu File, New Project 3. W oknie dialogowym New Project a. Podwietli Windows Application b. W pole Name wpisa własna nazw np. Program7 4. Zostanie utworzony szkielet

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

Podstawy Kompilatorów

Podstawy Kompilatorów Podstawy Kompilatorów Laboratorium 9 Uwaga: Do wykonania poniższych zadań związanych z implementacją niezbędny jest program LEX, program YACC oraz kompilator języka C. Dla środowiska Linux mogą to być:

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

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

Diagram Przepływu Danych - podstawowe bloki składowe i reguły konstrukcji

Diagram Przepływu Danych - podstawowe bloki składowe i reguły konstrukcji Diagramu Przepływu danych - CELE Określenie kluczowych obiektów zewnętrznych będących w interakcji z firmą (systemem); Określenie kluczowych procesów występujących w firmie; Określenie sposobu przepływu

Bardziej szczegółowo

Proporcje podziału godzin na poszczególne bloki. Tematyka lekcji. Rok I. Liczba godzin. Blok

Proporcje podziału godzin na poszczególne bloki. Tematyka lekcji. Rok I. Liczba godzin. Blok Proporcje podziału godzin na poszczególne bloki Blok Liczba godzin I rok II rok Na dobry początek 7 Internet i gromadzenie danych 6 2 Multimedia 5 3 Edytory tekstu i grafiki 6 4 Arkusz kalkulacyjny 7 4

Bardziej szczegółowo

PROGRAM NAUCZANIA DLA I I II KLASY GIMNAZJUM

PROGRAM NAUCZANIA DLA I I II KLASY GIMNAZJUM PROGRAM NAUCZANIA DLA I I II KLASY GIMNAZJUM Proporcje podziału godzin na poszczególne bloki Blok Liczba godzin I rok II rok Na dobry początek 7 Internet i gromadzenie danych 6 2 Multimedia 5 3 Edytory

Bardziej szczegółowo

Spis treúci. 1. Wprowadzenie... 13

Spis treúci. 1. Wprowadzenie... 13 Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych zajęć

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

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

Podstawowe elementy GUI cz. 2 i 3 - zadania

Podstawowe elementy GUI cz. 2 i 3 - zadania Podstawowe elementy GUI cz. 2 i 3 - zadania Jak już robiliśmy wcześniej sporo rzeczy w Androidzie umieszczamy w plikach xml (np. strings.xml). Jest to dobra praktyka, w plikach zasobów możemy umieszczać

Bardziej szczegółowo

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty. !"! " #$%& '()#$$ &%$! #$ %$ &%$& &$&! %&'" )$$! *$$&%$! +,- +-.! $ Celem wiczenia jest zapoznanie studenta ze strukturami: lista, stos, drzewo oraz ich implementacja w jzyku ANSI C. Zrozumienie działania

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA. laboratorium

INŻYNIERIA OPROGRAMOWANIA. laboratorium INŻYNIERIA OPROGRAMOWANIA laboratorium UML 1/4 UML (Unified Modeling Language) - język modelowania obiektowego systemów i procesów [Wikipedia] Spojrzenie na system z różnych perspektyw dzięki zastosowaniu

Bardziej szczegółowo

Sposoby przekazywania parametrów w metodach.

Sposoby przekazywania parametrów w metodach. Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych

Bardziej szczegółowo

Zasady programowania Dokumentacja

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

Bardziej szczegółowo

POZNA SUPERCOMPUTING AND NETWORKING. Podstawy optymalizacji kodu ródłowego

POZNA SUPERCOMPUTING AND NETWORKING. Podstawy optymalizacji kodu ródłowego Podstawy optymalizacji kodu ródłowego literatura podstawowa [Aho2002] Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Kompilatory. Reguły, metody i narzdzia, WNT 2002 (tłum. pierwszego wydania amerykaskiego,

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

Standardy programowania protokołów komunikacyjnych Laboratorium nr 5 komunikacja multicastowa IPv6

Standardy programowania protokołów komunikacyjnych Laboratorium nr 5 komunikacja multicastowa IPv6 Standardy programowania protokołów komunikacyjnych Laboratorium nr 5 komunikacja multicastowa IPv6 Celem ćwiczenia jest zdobycie umiejętności programowania komunikacji multicastowej za pomocą protokołu

Bardziej szczegółowo

Wykład 10. Translacja sterowana składnią

Wykład 10. Translacja sterowana składnią Wykład 10 Translacja sterowana składnią Translacja sterowana składnią Z konstrukcjami języków programowania wiąże się pewną informację przez dołączenie atrybutów do symboli gramatyki reprezentujących te

Bardziej szczegółowo

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) WERSJA WSTĘPNA, BRAK PRZYKŁADOWYCH PYTAŃ DLA NIEKTÓRYCH PRZEDMIOTÓW Należy wybrać trzy dowolne przedmioty.

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

3. Instalator rozpocznie proces instalacji

3. Instalator rozpocznie proces instalacji Uwaga! Podana instrukcja instalacji została przygotowana w oparciu o pliki instalacyjne SQL 2005 Express pobrany ze strony Microsoftu oraz oddzielny plik Service Pack 2 dedykowany pod SQL Express równie

Bardziej szczegółowo

Instalacja i opis podstawowych funkcji programu Dev-C++

Instalacja i opis podstawowych funkcji programu Dev-C++ Instalacja i opis podstawowych funkcji programu Dev-C++ Przed rozpoczęciem programowania musimy zainstalować i przygotować kompilator. Spośród wielu dostępnych kompilatorów polecam aplikację Dev-C++, ze

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi 1.Wymagania techniczne 1.1. Wymagania sprztowe - minimalne : komputer PC Intel

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 1

Języki formalne i automaty Ćwiczenia 1 Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...

Bardziej szczegółowo

Inżynieria oprogramowania

Inżynieria oprogramowania Inżynieria oprogramowania część VIII Prototypowanie oprogramowania Prototypowanie oprogramowania Zawartość: Prototypowanie w procesie tworzenia oprogramowania Metody błyskawicznego prototypowania Prototypowanie

Bardziej szczegółowo

MODELOWANIE I PROGRAMOWANIE PRACY

MODELOWANIE I PROGRAMOWANIE PRACY Tadeusz MIKULCZYSKI 1, Daniel NOWAK 2, Rafał WICŁAWEK 3 Instytut Technologii Maszyn i Automatyzacji Politechniki Wrocławskiej, Wrocław 1. Streszczenie. Zaprezentowano metod Grafpol modelowania dyskretnych

Bardziej szczegółowo

NOWE ROZWIĄZANIA W ZAKRESIE STEROWANIA I KONTROLI STANU ROZJAZDU

NOWE ROZWIĄZANIA W ZAKRESIE STEROWANIA I KONTROLI STANU ROZJAZDU NOWE ROZWIĄZANIA W ZAKRESIE STEROWANIA I KONTROLI STANU ROZJAZDU Andrzej LEWIŃSKI Andrzej TORUŃ, Jakub MŁYŃCZAK Nowoczesne technologie w projektowaniu, budowie i utrzymaniu rozjazdów kolejowych. Warszawa

Bardziej szczegółowo

Zaliczenie przedmiotu:

Zaliczenie przedmiotu: INFORMATYKA 2 - Wykład 15h Kod przedmiotu: ES1C300 016, ECTS: 3 pkt. Kierunek: Elektrotechnika, studia stacjonarne I stopnia Semestr: III, rok akademicki: 2016/2017 Zaliczenie przedmiotu: Ogólne warunki

Bardziej szczegółowo

Wzorce projektowe kreacyjne

Wzorce projektowe kreacyjne Wzorce projektowe kreacyjne Krzysztof Ciebiera 14 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawy Opis Ogólny Podstawowe informacje Wzorce kreacyjne sªu» do uabstrakcyjniania procesu tworzenia obiektów. Znaczenie

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA POSZCZEGÓLNYCH ŚRODROCZNYCH I ROCZNYCH OCEN Z ZAJĘĆ KOMPUTEROWYCH W KLASIE IV

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA POSZCZEGÓLNYCH ŚRODROCZNYCH I ROCZNYCH OCEN Z ZAJĘĆ KOMPUTEROWYCH W KLASIE IV WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA POSZCZEGÓLNYCH ŚRODROCZNYCH I ROCZNYCH OCEN Z ZAJĘĆ KOMPUTEROWYCH W KLASIE IV dopuszczający dostateczny dobry bardzo dobry celujący Potrafi wymienić Samodzielnie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Nazwy programów, polece, katalogów, wyniki działania wydawanych polece.

Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. ! "!" # #$$$%& '()*$&&$$& +&!,-$%&.$.'$.$.!*%-&$ $%&'()*! $ ($()*!/! %" &,$$! ($$-%$! 0'1 01! 2$ Czcionka o stałej szerokoci Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. Czcionka

Bardziej szczegółowo

INFORMATYKA KL V. dopuszczającą dostateczną dobra bardzo dobra celująca Minimalna liczba ocen

INFORMATYKA KL V. dopuszczającą dostateczną dobra bardzo dobra celująca Minimalna liczba ocen INFORMATYKA KL V OBSZAR ZAGADNIEN DYDAKTYCZNYCH dopuszczającą dostateczną dobra bardzo dobra celująca Minimalna liczba ocen Bezpieczne posługiwanie się komputerem stosuje w sytuacjach typowych podstawowe

Bardziej szczegółowo

Generator recept. Program pomagający tworzyć wypełnione wydruki recept lekarskich. Instrukcja obsługi użytkownika

Generator recept. Program pomagający tworzyć wypełnione wydruki recept lekarskich. Instrukcja obsługi użytkownika Generator recept Program pomagający tworzyć wypełnione wydruki recept lekarskich Instrukcja obsługi użytkownika Copyright Paulina Głąb, Wojciech Januszek 2012-1 - Spis treści 1. Cel programu.... 3 2. Instalacja

Bardziej szczegółowo

Efektywna analiza składniowa GBK

Efektywna analiza składniowa GBK TEORETYCZNE PODSTAWY INFORMATYKI Efektywna analiza składniowa GBK Rozbiór zdań i struktur zdaniowych jest w wielu przypadkach procesem bardzo skomplikowanym. Jego złożoność zależy od rodzaju reguł produkcji

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy

Bardziej szczegółowo

Inżynieria oprogramowania

Inżynieria oprogramowania Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów

Bardziej szczegółowo

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!! Temat: Klasy typu sealed. Klasy abstrakcyjne. Deklaracja i implementacja interfejsu. Typ Object i operatory is oraz as. Czas ycia obiektu. Destruktory. 1. Klasa typu sealed Przykład 1 Klasa typu sealed

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

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski 1 Strumienie W j zyku C++ pliki obsªugiwane s za pomoc strumieni. Strumie«pozwala na sekwencyjny dost p do pliku. Elementy, które jako pierwsze

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA

INŻYNIERIA OPROGRAMOWANIA INSTYTUT INFORMATYKI STOSOWANEJ 2013 INŻYNIERIA OPROGRAMOWANIA Inżynieria Oprogramowania Proces ukierunkowany na wytworzenie oprogramowania Jak? Kto? Kiedy? Co? W jaki sposób? Metodyka Zespół Narzędzia

Bardziej szczegółowo

Inżynieria oprogramowania - opis przedmiotu

Inżynieria oprogramowania - opis przedmiotu Inżynieria oprogramowania - opis przedmiotu Informacje ogólne Nazwa przedmiotu Inżynieria oprogramowania Kod przedmiotu 11.3-WK-IiED-IO-W-S14_pNadGenRB066 Wydział Kierunek Wydział Matematyki, Informatyki

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

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium JĘZYKI PROGRAMOWANIA Programming Languages Forma studiów: studia

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

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

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

Technologie obiektowe

Technologie obiektowe WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność

Bardziej szczegółowo

Zad. 1: Sterowanie mimika

Zad. 1: Sterowanie mimika 1 Cel ćwiczenia Zad. 1: Sterowanie mimika twarzy Wykształcenie umiejętności posługiwania się złożonymi makrami preprocesora języka C. Stworzenie podstawowej struktury wizualizacji twarzy robota, która

Bardziej szczegółowo

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji Analiza i programowanie obiektowe 2016/2017 Wykład 6: Projektowanie obiektowe: diagramy interakcji Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Przejście

Bardziej szczegółowo