System operacyjny Unix/Linux. Środowiska programowania. Sławomir Nowaczyk AGH. Katedra Automatyki.

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

Download "System operacyjny Unix/Linux. Środowiska programowania. Sławomir Nowaczyk Slawomir.Nowaczyk@agh.edu.pl AGH. Katedra Automatyki."

Transkrypt

1 System operacyjny Unix/Linux Wykład 3 Środowiska programowania Sławomir Nowaczyk Laboratorium Informatyki Autormatyki Akademia Górniczo-Hutnicza April 09, 2009 System operacyjny Unix/Linux Środowiska programowania p. 1/64

2 Plan wykładów Wprowadzenie do systemów operacyjnych Powłoki systemowe Laboratorium: języki skryptowe Środowiska programowania w GNU/Linux Architektura systemu GNU/Linux procesy, pamięć, wejście/wyjście, itp. Architektura systemu GNU/Linux instalacja, zarządzanie pakietami, itp. Konfiguracja i zarządzanie systemem GNU/Linux Współpraca systemu GNU/Linux z innymi komputerami i systemami operacyjnymi System operacyjny Unix/Linux Środowiska programowania p. 2/64

3 Środowisko programowania Zestaw narzędzi używanych w procesie tworzenia oprogramowania w różnych językach programowania Zintegrowane Środowisko Programistyczne Integrated Development Environment (IDE) MS Visual Studio, Borland C++ Builder,... Eclipse, Anjuta, KDevelop, NetBeans,... Kolekcja współpracujących programów większe możliwości dostosowywania łatwość dodawania nowych narzędzi większa całkowita funkcjonalność problemy z intergracją niektórych funkcji System operacyjny Unix/Linux Środowiska programowania p. 3/64

4 Składniki środowiska programowania Edytor często ponad 90% czasu pracy obsługa musi być naturalna Kompilator wiele możliwości, w praktyce równoważne za wyjątkiem specjalnych zastosowań Debugger i profiler Zarządzanie wersjami Projektowanie oprogramowania Dokumentowanie Biblioteki dodatkowe System operacyjny Unix/Linux Środowiska programowania p. 4/64

5 Funkcjonalność edytora Syntaktyczne kolorowanie składni automatyczne wcięcia ułatwienia edycyjne Semantyczne autouzupełnianie pomoc kontekstowa wyszukiwanie odwołań Organizacyjne zarządzanie projektami przeglądanie struktury kodu uruchamianie kompilatora/debuggera System operacyjny Unix/Linux Środowiska programowania p. 5/64

6 Emacs Extensible, customizable, self-documenting real-time display editor Richard M. Stallman, 1974 bazuje na jądrze napisanym w C Użytkownik ma możliwość zmiany praktycznie dowolnej funkcjonalności używając języka LISP Wszechstronny edytor tekstów w praktyce do wszystkich zastosowań Dodatkowe tryby pracy menedżer plików, kalendarz, kalkulator, i news, przeglądarka www i grafiki, Eliza,... System operacyjny Unix/Linux Środowiska programowania p. 6/64

7 Podstawy korzystania z Emacsa Rozpoczęcie i zakończenie pracy C-x C-c, C-x C-f, C-x C-s Zarządzanie buforami C-x k, C-x b, C-x left, C-x right System pomocy C-h k, C-h f, C-h v, C-h r Poruszanie się po tekście C-a, C-e, M-a, M-e, C-s, C-r Zarządzanie schowkiem M-w, C-w, C-y, M-y Undo: C-x u, C-_, C-/, M-backspace System operacyjny Unix/Linux Środowiska programowania p. 7/64

8 Emacs dla programisty Tryby pracy obsługujące praktycznie wszystkie dostępne języki programowania maybe-c-electric-semicolon automatyczne wcięcie nowej linii comment-dwim do what I mean indent-region naprawienie wcięć w zaznaczonym tekście dabbrev-expand autouzupełnianie słowa c-macro-expand rozwinięcie makra preprocesora System operacyjny Unix/Linux Środowiska programowania p. 8/64

9 CEDET Standardowe funkcje Emacsa bazują na lokalnej analizie kodu w trybie on demand Zaawansowane funkcje wymagają globalnej analizy wielu fragmentów kodu źródłowego Collection of Emacs Development Environment Tools Niezależne od języka programowania do pewnego stopnia Zintegrowane z innymi funkcjami Emacsa programowanie to nadal w dużym stopniu pisanie i edytowanie tekstu Niewiele ustępuje najlepszym środowiskom IDE System operacyjny Unix/Linux Środowiska programowania p. 9/64

10 Składniki pakietu CEDET Semantic analiza składniowa kodu źródłowego kontekstowe autouzupełnianie wyświetlanie dokumentacji Senator nawigacja w kodzie źródłowym przemieszczanie między deklaracją a definicją wyszukiwanie odwołań ukrywanie fragmentów kodu Srecode generator kodu EDE zarządzanie projektami Speedbar wyświetlanie informacji Cogre obsługa diagramów UML System operacyjny Unix/Linux Środowiska programowania p. 10/64

11 Vi Powstał w roku 1976 na potrzeby BSD Unix Bill Joy Edytor modalny tryb wstawiania tryb poleceń Umożliwia szybki dostęp do większości funkcji dla osób piszących bezwzrokowo nie ma konieczności przesuwania rąk znad rzędu podstawowego używania klawiszy typu ctrl czy alt Dostępny w każdym systemie typu *nix System operacyjny Unix/Linux Środowiska programowania p. 11/64

12 Podstawy obsługi vi Przejście w tryb wstawiania i, a, R, s Powrót do trybu poleceń: Esc Rozpoczęcie i zakończenie pracy :q, :q!, :w, ZZ, :e Edycja tekstu x, dd, y, p, r Poruszanie kursora 0, $, h, j, k, l, G Undo: u System operacyjny Unix/Linux Środowiska programowania p. 12/64

13 Eclipse Środowisko IDE powstałe dla języka Java obsługuje również wiele innych języków C/C++, Cobol, Python, Perl, PHP,... Obsługuje system wtyczek umożliwiających dodawanie nowej funkcjonalności Oferuje Eclipse Rich Client Platform środowisko uruchamiania aplikacji Popularne, dobre i rozbudowane środowisko programistyczne wysokie wymagania sprzętowe Bardzo dobra obsługa refaktoryzacji kodu Specyficzny interfejs użytkownika System operacyjny Unix/Linux Środowiska programowania p. 13/64

14 Anjuta Środowisko IDE dla systemu GNU/Linux powstające w ramach projektu GNOME obsługuje głównie języki C i C++ pewne wsparcie dla innych języków Java, JavaScript, Perl, PHP, HTML,... Zintegrowane z narzędziem GLADE do tworzenia GUI Łatwa i intuicyjna obsługa Dość ograniczona funkcjonalność Projekt aktywnie rozwijany System operacyjny Unix/Linux Środowiska programowania p. 14/64

15 KDevelop Środowisko IDE dla systemu GNU/Linux powstające w ramach projektu KDE obsługuje wiele języków programowania Ada, Bash, C, C++, Fortran, Java, Pascal, Perl, Python, Ruby,... Edytor tekstu Kate GUI Designer Możliwość rozszerzania funkcjonalności poprzez mechanizm wtyczek Projekt aktywnie rozwijany System operacyjny Unix/Linux Środowiska programowania p. 15/64

16 Kompilacja Proces kompilacji składa się z czterech kroków preprocesing (prekompilacja) kompilacja (do kodu asemblera) asemblacja (do kodu maszynowego) łączenie (konsolidacja) GNU Compiler Collection najpopularniejszy kompilator dla GNU/Linux Fortran, Pascal, Objective C, Java, Ada,... Rozszerzenie pliku określa w jaki sposób należy dany plik potraktować gcc test.cpp lub gcc test.java gcc -o test test.c System operacyjny Unix/Linux Środowiska programowania p. 16/64

17 Preprocesor gcc -E test.c Preprocesor jest stosunkowo prostym programem przetwarzającym pliki tekstowe włączanie plików źródłowych definiowanie makr kompilacja warunkowa Typowe dyrektywy preprocesora #include <stdio.h> #include "stdio.h" #define ROZMIAR 20 #ifdef GNUC #endif System operacyjny Unix/Linux Środowiska programowania p. 17/64

18 Kompilator gcc -S test.c Wykonuje prawdziwą pracę zamienia kod w języku wysokiego poziomu na kod w asemblerze Różne poziomy optymalizacji kodu wynikowego gcc -O3 test.c gcc -funroll-loops test.c Pozwala na zapisywanie dodatkowych informacje przydatnych dla debuggera np. określenie miejsc w pamięci operacyjnej odpowiadającech konkretnym zmiennym gcc -g test.c System operacyjny Unix/Linux Środowiska programowania p. 18/64

19 Asembler gcc -c test.c Tworzy kod maszynowy zamienia mnemoniki na kody operacji nazwy symboliczne na adresy pamięci Stosunkowo prosta operacja translacja jest w większości przypadków 1:1 Ostateczny wynik jest zależny od konkretnego procesora lub rodziny procesorów zbiór rozkazów dostępne rejestry Cross-compilation System operacyjny Unix/Linux Środowiska programowania p. 19/64

20 Linker gcc test.c utils.o Umożliwia łączenie kilku modułów które zostały skompilowane osobno moduł może definiować własne symbole odwoływać się do symboli zdefiniowanych w innych modułach symbolami mogą być zmienne i funkcje Często używane a rzadko modyfikowane moduły nie muszą być za każdym razem kompilowane Łączenie statyczne powstaje kod wykonywalny zawierający definicje wszystkich niezbędnych symboli System operacyjny Unix/Linux Środowiska programowania p. 20/64

21 gcc GNU Compiler Collection Aktualna wersja: (21 stycznia 2010) Jeden z kluczowych elementów projektu GNU początkowo kompilator języka C później rozbudowany o dodatkowe moduły Dostępny dla większości systemów operacyjnych Dostępny dla większości platform sprzętowych Oferuje wsparcie dla wielu języków C i C++ Java Ada Fortran System operacyjny Unix/Linux Środowiska programowania p. 21/64

22 Język C Stworzony w roku 1972 przez Dennisa Ritchie na bazie języka ALGOL Jeden z najbardziej popularnych języków programowania w historii informatyki Dostępny dla praktycznie każdej istniejącej architektury sprzętowej Język proceduralny niskiego poziomu nieskomplikowany kompilator proste odwzorowanie poziomu sprzętu minimalne wymagania w trakcie wykonywania programów System operacyjny Unix/Linux Środowiska programowania p. 22/64

23 Język C K&R C The C Programming Language Brian Kernighan and Dennis Ritchie, 1978 Standard: ANSI C and ISO C C89 lub C90 Standard C99 //, deklaracje zmiennych wewnątrz kodu inline functions, variable-length arrays gcc -std=c99 program.c Standard C1X multithreading, improved Unicode support, bounds-checking interfaces System operacyjny Unix/Linux Środowiska programowania p. 23/64

24 Debugger Wyszukiwanie błędów w programach jest trudne często trudniejsze niż samo ich pisanie Debugger służy do śledzenia i analizowania działania programu Zatrzymanie programu na określonej instrukcji jeśli spełnione są odpowiednie warunki przy dostępie do określonej zmiennej Analiza stanu programu wartości zmiennych i parametrów Wykonywanie programu krok po kroku śledzenie przepływu sterowania System operacyjny Unix/Linux Środowiska programowania p. 24/64

25 gdb GNU Project Debugger gdb test GDB , Copyright 1999 Free Software Foundation, Inc... (gdb) break oblicz Breakpoint 1 at 0x62f4: file test.c, line 20. (gdb) run Starting program: /home/slawek/test Breakpoint 1, oblicz (argc=2, argv=0x33c70) at test.c:20 20 if (argc>2) System operacyjny Unix/Linux Środowiska programowania p. 25/64

26 gdb i Emacs gdb można uruchomić w środowisku Emacs jednolity interfejs do innych narzędzi dbx, perldb, jdb, pdb,... Definiowanie, usuwanie, blokowanie punktów wstrzymania przy użyciu myszki klikając na krawędzi okna Wykonanie programu do pozycji kursora C-c C-u lub gud-until Wykonywanie fragmentów kodu poprzez przeciągnięcie myszką Wyświetlanie wartości zmiennych w czasie rzeczywistym System operacyjny Unix/Linux Środowiska programowania p. 26/64

27 make Formuła typu gcc test.c działa dobrze dla małych programów Większość aplikacji składa się z wielu modułów skomplikowane zależności wymagana konkretna kolejność kompilacji dodatkowe pliki pomocnicze Pozwala na bezpośrednie specyfikowanie zależności między modułami w postaci deklaratywnej reguły tworzenia konkretnego pliku wstępne warunki do ich odpalenia Automatycznie wyznacza kolejność kompilacji System operacyjny Unix/Linux Środowiska programowania p. 27/64

28 Makefile Definicja makr CC = gcc CFLAGS = -O3 Lista reguł target [target...] : [dependent...] <tab> [ command...] <tab> [ command...] make uruchamia pierwszą regułę z pliku można wybrać make install Polecenia dla reguły można wykonać gdy wszystkie warunki wstępne są spełnione pliki istnieją i są aktualne System operacyjny Unix/Linux Środowiska programowania p. 28/64

29 Przykładowy Makefile all: main install: all cp./main /usr/bin/ main: test.o utils.o gcc -o./main main.c test.o utils.o test.o: test.c $(CC) $(CFLAGS) $? $(LDFLAGS) -o utils.o: utils.c $(CC) $(CFLAGS) $? $(LDFLAGS) -o test.o utils.o: header.h clean: -rm *.o *.bak System operacyjny Unix/Linux Środowiska programowania p. 29/64

30 Automake Automatyczne tworzenie plików Makefile Automatycznie sprawdza dyrektywy #include przy użyciu kompilatora gcc unika trudnych do wykrycia błędów Wystarczy podać nazwę programu i listę plików źródłowych parametry dla kompilatora i linkera Wynikowy Makefile pozwoli skompilować i zainstalować program usunąć pliki *.o odinstalować program przygotować archiwum do dystrybucji System operacyjny Unix/Linux Środowiska programowania p. 30/64

31 Apache Ant Program w założeniach podobny do make Bazuje na formacie XML Łatwiejsze specyfikowanie zależności Reguły nie tylko dla pojedynczych plików ale też dla zbiorów spełniających zadane warunki Hierarchiczna struktura pliku Możliwość definiowania atrybutów warunkowych Bardziej przenośny rm -rf classes/ <delete dir="classes"/> System operacyjny Unix/Linux Środowiska programowania p. 31/64

32 Apache Ant <project name="hello" default="compile"> <target name="clean" description="clean"> <delete dir="cls"/> </target> <target name="clobber" depends="clean"> <delete file="hello.jar"/> </target> <target name="compile"> <mkdir dir="cls"/> <javac srcdir="." destdir="cls"/> </target> <target name="jar" depends="compile"> <jar destfile="hello.jar"> <fileset dir="cls" includes="**/*.class"/> <manifest> <attribute name="main-class" value="hi"/> </manifest> </jar> </target> </project> System operacyjny Unix/Linux Środowiska programowania p. 32/64

33 scons Program w założeniach podobny do make Pliki konfiguracyjne są skryptami Pythona programista ma dostęp do pełnego języka ogólnego przeznaczenia Sprawdzanie aktualności plików przy użyciu MD5 zamiast znaczników czasowych Program([ prog.c, f1.c, f2.c ]) common = [ common1.c, common2.c ] foo_files = [ foo.c ] + common bar_files = [ bar1.c, bar2.c ] + common Program( foo, foo_files) Program( bar, bar_files) System operacyjny Unix/Linux Środowiska programowania p. 33/64

34 configure Dopasowanie procesu kompilacji programu to specyfiki konkretnego systemu sprawdzenie wersji kompilatora wyszukanie wymaganych bibliotek ustawienie odpowiednich makr preprocesora Wiele systemów *nix oferuje podobne funkcje często umieszczone w innych plikach drobne różnice np. w typach danych różne nazwy parametrów kompilatora System operacyjny Unix/Linux Środowiska programowania p. 34/64

35 configure Przykład pliku configure.in AC_INIT(poke.c) AM_INIT_AUTOMAKE(poke, 1.0) AM_CONFIG_HEADER(config.h:config.in) AC_PROG_CC AC_HEADER_STDC AC_CHECK_HEADERS(utime.h) AC_EGREP_HEADER(utimbuf, utime.h, AC_DEFINE(HAVE_STRUCT_UTIMBUF)) AC_FUNC_UTIME_NULL AC_OUTPUT(Makefile) System operacyjny Unix/Linux Środowiska programowania p. 35/64

36 CVS System wersjonowania plików Concurrent Versioning System Zapamiętuje zmiany wprowadzone w plikach Pozwala powrócić do poprzedniej wersji kodu Przydatne zwłaszcza jeśli wielu programistów pracuje nad wspólnym kodem zmiany wprowadzone przez jedną osobę nie zostaną nadpisane przez innych informowanie o ewentualnych konfliktach i pomoc w ich rozwiązywaniu pozwala do każdej wprowadzonej zmiany przypisać słowny opis System operacyjny Unix/Linux Środowiska programowania p. 36/64

37 Składnia CVS cvs import -m "Sample Program" cvs checkout project cvs commit -m "Fixed a bug" main.c cvs status foo.c File: foo.c Status: Needs Merge cvs update foo.c RCS file: /cvsroot/project/foo.c,v retrieving revision retrieving revision 1.2 Merging differences between and 1. rcsmerge: warning: conflicts during merge cvs update: conflicts found in foo.c C foo.c System operacyjny Unix/Linux Środowiska programowania p. 37/64

38 CVS Zarządzanie zmianami które nie powinny znaleźć się w głównym repozytorium projektu branches Wydzielenie niezależnych podprojektów kolejne wersje oprogramowania funkcjonalność eksperymentalna Tworzenie nowej gałęzi cvs tag branch_name Przeniesienie wszystkich zmian z gałęzi do głównego repozytorium cvs co -j branchname my_prog System operacyjny Unix/Linux Środowiska programowania p. 38/64

39 Subversion Unowocześniony CVS Poprawia wiele problemów z CVS nie zmieniając ogólnej idei pracy z systemem operacja commit jest atomowa istnieje możliwość zmiany nazwy i kopiowania plików poprawione wsparcie dla plików binarnych wersjonowanie katalogów wersjonowanie dowiązań symbolicznych lepsza obsługa odgałęzień System operacyjny Unix/Linux Środowiska programowania p. 39/64

40 Git Rozproszony system wersjonowania odejście od założenia o istnieniu jednego głównego repozytorium wsparcie dla projektów silnie nieliniowych Silny nacisk na wydajność w dużych projektach napisany w C Wykorzystywany przez wiele projektów Linux GNOME GIMP Debian Android System operacyjny Unix/Linux Środowiska programowania p. 40/64

41 Mercurial Zaimplementowany w języku Python Każdy programista może utrzymywać swój własny zestaw zmian nie musi wszystkich udostępniać innym Wiele operacji można wykonywać lokalnie bez połączenia z Internetem Wykorzystywany przez wiele projektów Mozilla OpenOffice.org MoinMoin Vim System operacyjny Unix/Linux Środowiska programowania p. 41/64

42 Darcs Zaimplementowany w języku Haskell Bazuje na theory of patches podstawą nie jest aktualny widok całego kodu ale raczej zbiór łatek ze zdefiniowanym częściowym porządkiem Umożliwia udostępnianie dowolnego zestawu wprowadzonych zmian praca nad wieloma fragmentami projektu spontaneous branches Wykorzystywany przez wiele projektów fish ghc Zwiki System operacyjny Unix/Linux Środowiska programowania p. 42/64

43 Bazaar Zaimplementowany w języku Python Umożliwia pracę z lub bez centralnego serwera w zależności od potrzeb Z punktu widzenia użytkownika podobny do CVS w dużym stopniu ukrywa dodatkowy poziom komplikacji związany z rozproszeniem systemu Wykorzystywany przez wiele projektów Ubuntu GNU Emacs MySQL Squid System operacyjny Unix/Linux Środowiska programowania p. 43/64

44 Profiler gprof Premature optimization is the root of all evil Rules of Optimization: Rule 1: Don t do it. Rule 2 (for experts only): Don t do it yet. Programy często działają zbyt wolno 10% kodu odpowiada za 90% czasu pracy System operacyjny Unix/Linux Środowiska programowania p. 44/64

45 Biblioteki Moduły oferujące innym programom określoną funkcjonalność Biblioteki mogą być łączone statycznie gcc -lreadline test.c Łączenie dynamiczne brakujące symbole zostaną znalezione w czasie uruchomienia programu często używane biblioteki nie muszą być duplikowane w pamięci uaktualnienie biblioteki oznacza automatyczne uaktualnienie wszystkich korzystających z niej programów komplikuje proces uruchamiania programów System operacyjny Unix/Linux Środowiska programowania p. 45/64

46 Biblioteki współdzielone Umieszczone w plikach *.so libreadline.so gcc -lreadline test.c Program ldconfig utrzymuje cache bibliotek współdzielonych które mogą być ładowane przy uruchomieniu programów przyspiesza uruchamianie programów Tworzenie biblioteki współdzielonej gcc -fpic -Wall -c mystuff.c gcc -shared -Wl,-soname,libmystuff.so.1 -o libmystuff.so *.o -lc Może istnieć wiele wersji danej biblioteki System operacyjny Unix/Linux Środowiska programowania p. 46/64

47 Biblioteki współdzielone Lista bibliotek używanych przez aplikację ldd emacs Lista symboli zdefiniowanych w bibliotece nm libreadline.so Biblioteki znane w czasie kompilacji readline Biblioteki odkrywane w czasie działania programu plugins dlopen() dclose() dlsym() System operacyjny Unix/Linux Środowiska programowania p. 47/64

48 glibc Standardowa biblioteka języka C Stworzona w ramach projektu GNU większość kompilatorów C oferuje własne wersje biblioteki standardowej są dostępne alternatywne implementacje dla kompilatora gcc Implementuje funkcje wymagane przez standard Single UNIX Specification POSIX (1c, 1d, 1j) częściowo ISO C99 Automatycznie dołączana do programów gcc -lc test.c System operacyjny Unix/Linux Środowiska programowania p. 48/64

49 readline Biblioteka ułatwiająca edycję linii komend historia poleceń autouzupełnianie Powstała na potrzeby bash wykorzystywana przez wiele programów Prosty interfejs programowy char *readline (const char *prompt); Dodanie polecenia do historii add_history (line); Przypisywanie funkcji do klawiszy rl_bind_key ( \t, rl_insert); System operacyjny Unix/Linux Środowiska programowania p. 49/64

50 Użycie readline Własna konstrukcja funkcji autouzupełniania rl_completion_function = my_completion; char** my_completion (text, start, end) { matches = (char **)NULL; if (start == 0) match=rl_completion_matches(text,gen); return (match); } char* gen(text, state) { if (!state) { index = 0; } while (name = cmd[index].name) { index++; if (strncmp (name, text, len) == 0) return (dupstr(name)); } return ((char *)NULL); } System operacyjny Unix/Linux Środowiska programowania p. 50/64

51 getopts Biblioteka parsująca argumenty linii poleceń zgodnie ze standardem GNU/Linux int getopt (int argc, char **argv, const char *options) Argument options definiuje format parametrów akceptowanych przez program options = "ab:c::" prog -a -b 123 -c abc Funkcja getopt_long pozwala również parsować opcje w długim formacie prog --version System operacyjny Unix/Linux Środowiska programowania p. 51/64

52 GLib Biblioteka zawierająca funkcje pomocnicze ogólnego przeznaczenia początkowo fragment projektu GTK+ Struktury danych lists, hash tables, dynamic strings & arrays, balanced trees, quarks, relations, tuples... Narzędzia do obsługi łańcuchów znaków lexical scanner, string chunks... Obsługa wątków mutexes, asynchronous queues, secure memory pools, message passing, hook functions, timers... System operacyjny Unix/Linux Środowiska programowania p. 52/64

53 Boost C++ libraries Ponad 80 bibliotek z różnych dziedzin rozszerzają bibliotekę standardową Licencja pozwala na używanie zarówno w programach otwartych jak i zamkniętych Wysoka jakość kodu i interfejsów CRC, Date_Time, Filesystem, Foreach, Interprocess, Math, Program Options, Preprocessor, Regex, Thread, Tribool, Tuple, Units, Variant System operacyjny Unix/Linux Środowiska programowania p. 53/64

54 Boost library Asio: przenośne programowanie sieciowe Format: silnie typowane zastępstwo dla printf GIL: Generic Image Library MPL: algorytmy operujące na szablonach w czasie kompilacji Parameter: przekazywanie parametrów do funkcji przy użyciu nazw Python: interfejs między C++ a Pythonem Smart Ptr: sprytne wskaźniki Test: wsparcie dla testowania Unordered: tablica haszująca System operacyjny Unix/Linux Środowiska programowania p. 54/64

55 sqlite Prosty system zarządzania bazą danych zgodny ze standardem SQL-92 Wszystkie dane są przechowywane w pojedynczym pliku nie jest wymagana żadna instalacja Oferuje pełną obsługę transakcji ACID Zawiera prosty program tekstowy do obsługi Bibliotekę oraz API do wielu języków programowania Perl, Ruby, C++, Delphi, Python, Java, Tcl,... Używana np. w przeglądarce Firefox przechowuje profile użytkowników System operacyjny Unix/Linux Środowiska programowania p. 55/64

56 SQL syntax CREATE TABLE students FirstName TEXT, LastName TEXT, Age INT) INSERT INTO students VALUES ( Slawek, Nowaczyk,30) INSERT INTO students (FirstName,LastName) VALUES ( Slawek, Nowaczyk ) DELETE FROM students WHERE FirstName= Slawek UPDATE students SET Age= 31 WHERE LastName= Nowaczyk System operacyjny Unix/Linux Środowiska programowania p. 56/64

57 SQL syntax SELECT LastName,FirstName FROM students SELECT * FROM students SELECT * FROM students WHERE FirstName= Slawek SELECT * FROM students ORDER BY Age SELECT * FROM students ORDER BY Age DESC SELECT * FROM students,teachers WHERE students.lastname=teachers.lastname ORDER BY teachers.salary System operacyjny Unix/Linux Środowiska programowania p. 57/64

58 Doxygen Narzędzie do generowania dokumentacji z kodu źródłowego C++, C, Java, Objective-C, Python,... Tworzy dokumentację w wielu formatach HTML, L A TEX, PDF, RTF,... Dokumentacja dla poszczególnych klas, zmiennych, funkcji i parametrów informacje są umieszczone bezpośrednio w kodzie źródłowym łatwo zapewnić ich aktualność Duże możliwości dostosowywania wyniku do wizualnych preferencji użytkownika System operacyjny Unix/Linux Środowiska programowania p. 58/64

59 Doxygen /** *The time class represents a moment of time John Doe*/ class Time { /** * Constructor: sets the time to value. timemillis Number of milliseconds * passed since Jan 1, */ Time(int timemillis) {} /** * Get the current time. A time object set to * the current time. */ static Time now() {}}; System operacyjny Unix/Linux Środowiska programowania p. 59/64

60 Glade Narzędzie do tworzenia graficznych interfejsów użytkownika przy użyciu WYSIWYG GTK+ (GIMP ToolKit) Gnome toolkit Wspiera wiele języków programowania C, C++, Ada95, Python, Perl, Eiffel,... Umożliwia dynamiczne tworzenie interfejsów użytkownika w czasie wykonania programu na podstawie specyfikacji w formacie XML Projekt aktywnie rozwijany aktualna wersja z 10 marca 2010 System operacyjny Unix/Linux Środowiska programowania p. 60/64

61 Valgrind MemCheck Powszechnie uznawany za najlepszy program do wyszukiwania błędów dostępu do pamięci pamięć przydzielona i nigdy nie zwolniona używanie pamięci przed jej zainicjalizowaniem lub po zwolnieniu odczyt/zapis poza granicami bufora valgrind --leak-check=yes myprog arg1 Invalid write of size 4 at 0x804838F: f (example.c:6) by 0x80483AB: main (example.c:11) Address 0x1BA45050 is 0 bytes after a block o at 0x1B8FF5CD: malloc (vg_replace_malloc.c: by 0x : f (example.c:5) System operacyjny Unix/Linux Środowiska programowania p. 61/64

62 Boehm Garbage Collector Zastępuje parę malloc/free przydzielanie pamięci działa analogicznie do standardowego malloc wywoływanie free nie jest konieczne GC automatycznie zwalnia pamięć do której nie ma więcej odwołań Algorytm mark-sweep periodycznie przegląda i oznacza wszystkie obiekty do których nadal jest dostęp usuwa pozostałe Obsługuje programy wielowątkowe i systemy wieloprocesorowe System operacyjny Unix/Linux Środowiska programowania p. 62/64

63 ArgoUML Narzędzie do tworzenia diagramów UML wspiera wszystkie rodzaje diagramów ze standardu UML 1.4 Aktualna wersja 0.30 z 6 marca 2010 Środowisko pracy zawiera trzy typy elementy projekt model jeden lub więcej diagramów Działa na większości popularnych platform napisany w języku Java Mało ergonomiczny interfejs użytkownika od lat brakuje funkcji undo System operacyjny Unix/Linux Środowiska programowania p. 63/64

64 Pytania? System operacyjny Unix/Linux Środowiska programowania p. 64/64

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

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania Język C Budowa programu napisanego w języku C podział na pliki z definicjami funkcji, korzystanie z bibliotek systemowych i własnych automatyzacja kompilacji za pomocą make dzielenie

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

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

Bardziej szczegółowo

Programowanie 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

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

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Makefile Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 14 Co to jest Makefile Makefile jest plikiem reguł dla programu make. Wykorzystywany jest

Bardziej szczegółowo

Automatyzacja kompilacji. Automatyzacja kompilacji 1/28

Automatyzacja kompilacji. Automatyzacja kompilacji 1/28 Automatyzacja kompilacji Automatyzacja kompilacji 1/28 Automatyzacja kompilacji 2/28 Wstęp Polecenia kompilacji gcc -Wall -c komunikat.c -o komunikat.o gcc -Wall -c main.c -o main.o gcc -Wall -c test.c

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

PROGRAMOWANIE w C prolog

PROGRAMOWANIE w C prolog PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014

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

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

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

Bardziej szczegółowo

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

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

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Środowiska i platformy programistyczne

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

Bardziej szczegółowo

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

Przygotowanie platformy projektowo-programowej

Przygotowanie platformy projektowo-programowej Przygotowanie platformy projektowo-programowej Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej dr inż. Łukasz Szustak Agenda System Kontroli Wersji (SVN) Zintegrowane

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

Środowisko NetBeans. Paweł Boguszewski

Środowisko NetBeans. Paweł Boguszewski Środowisko NetBeans Paweł Boguszewski Plan prezentacji Wprowadzenie Historia Funkcjonalność Kierunek Rozwoju Wtyczki Platforma NetBeans Podsumowanie Wprowadzenie NetBeans.org projekt OpenSource zapoczątkowany

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

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil Środowisko Krzysztof Świentek Systemy wbudowane Spis treści 1 2 Źródła 1 http://infocenter.arm.com 2 http://www.keil.com/arm/mdk.asp 3 http://pl.wikipedia.org Spis treści 1 2 Co to jest toolchain? Zbiór

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

Systemy zarządzania wersjami

Systemy zarządzania wersjami 24 października 2007 Po co? Dla kogo? Dlaczego? aby ułatwić kontrolę nad projektem aby panować nad wersjami aby móc śledzić zmiany dla każdego projektu, przy którym pracuje więcej niż jedna osoba dla ludzi

Bardziej szczegółowo

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA... WARCABY Spis treści PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...9 1.PRZYJĘTE ZASADY GRY 1. W grze bierze

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

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010 System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy

Bardziej szczegółowo

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy

Bardziej szczegółowo

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

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

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD). Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD). Rapid Application Development RAD Szybkie tworzenie programów użytkowych (Rapid Application Development RAD) jest mającą

Bardziej szczegółowo

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz

Bardziej szczegółowo

CVS system kontroli wersji

CVS system kontroli wersji CVS system kontroli wersji Agenda Podstawowe pojęcia Podstawowe polecenia Metody dostępu do repozytorium Konfiguracja i używanie aplikacji klienckich Konflikty i ich rozwiązywanie Dodatkowe możliwości

Bardziej szczegółowo

1.Wstęp. 2.Generowanie systemu w EDK

1.Wstęp. 2.Generowanie systemu w EDK 1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).

Bardziej szczegółowo

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka Javadoc Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka Wprowadzenie do Javadoc Treść prezentacji: http://students.mimuw.edu.pl/~as219669/javadoc.pdf Zadania: http://students.mimuw.edu.pl/~as219669/zadanie.rar

Bardziej szczegółowo

Podstawy Programowania 2

Podstawy Programowania 2 Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu

Bardziej szczegółowo

Ćwiczenia 2 IBM DB2 Data Studio

Ćwiczenia 2 IBM DB2 Data Studio Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.

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 I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

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

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

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

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj 2014 - Poznań, Polska

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj 2014 - Poznań, Polska X PIWO 17 Maj 2014 - Poznań, Polska Portowanie Tizena na nowe architektury na przykładzie ARMv6 Maciej Wereski Samsung R&D Institute Poland Plan prezentacji Środowisko budowania Tizena Infrastruktura GBS

Bardziej szczegółowo

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux IBM SPSS Statistics - ssentials for R: Instrukcje instalacji dla Linux Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for R w systemach operacyjnych Linux. Przegląd

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

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

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski Informatyka- wykład Podstawy programowania w Pythonie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 23 listopada 2015 r. JĘZYK PYTHON Język Python jest

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

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

Q E M U. http://www.qemu.com/

Q E M U. http://www.qemu.com/ http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama

Bardziej szczegółowo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

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

Środowisko programisty. Środowisko programisty 1/35

Środowisko programisty. Środowisko programisty 1/35 Środowisko programisty Środowisko programisty 1/35 Środowisko programisty 2/35 Literatura 1. Butcher P., Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać, Helion, Gliwice 2010

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

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

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

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL Katedra Informatyki, Uniwersytet Rzeszowski 2009 Agenda System kontroli wersji CVS SVN Praca z SVN i Visual

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska

Bardziej szczegółowo

Praktyka Programowania

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

Bardziej szczegółowo

Partnerzy: Laboratorium 15

Partnerzy: Laboratorium 15 Laboratorium 15 System kontroli wersji. Mercurial wraz z Subversion, CVS czy też programem Git należy do grupy aplikacji określanych mianem systemów kontroli wersji. Umożliwiają one sprawną prace wielu

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

Król Łukasz Nr albumu: 254102

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

Bardziej szczegółowo

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

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios Politechnika Poznańska, Instytut Informatyki, TWO/GE Programowanie dla ios 13 stycznia 2012 Urządzenia ios Urządzenie Data prezentacji iphone 9.01.2007/06.2007 ipod touch 5.09.2007 iphone 3G 9.06.2008

Bardziej szczegółowo

Konspekt pracy inżynierskiej

Konspekt pracy inżynierskiej Konspekt pracy inżynierskiej Wydział Elektryczny Informatyka, Semestr VI Promotor: dr inż. Tomasz Bilski 1. Proponowany tytuł pracy inżynierskiej: Komunikator Gandu na platformę mobilną Android. 2. Cel

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR

Programowanie mikrokontrolerów AVR Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem

Bardziej szczegółowo

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8 Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem

Bardziej szczegółowo

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski Sposoby wykrywania i usuwania błędów Tomasz Borzyszkowski Mylić się jest rzeczą ludzką Typy błędów: błędy specyfikacji: źle określone wymagania błędy projektowe: nieodpowiednie struktury danych i algorytmy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

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

Wybrane narzędzia wspomagające dokumentowanie programu

Wybrane narzędzia wspomagające dokumentowanie programu Wybrane narzędzia wspomagające dokumentowanie programu Krzysztof Gogól Paweł Konieczny Uniwersytet Warszawski 18 III 2008 Plan prezentacji 1 Wprowadzenie 2 Wstęp Dobre praktyki Przykłady 3 - co to? - pierwsze

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci UNIX: architektura i implementacja mechanizmów bezpieczeństwa Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci Plan prezentacji: Wprowadzenie do struktury systemów rodziny UNIX

Bardziej szczegółowo

Część I Rozpoczęcie pracy z usługami Reporting Services

Część I Rozpoczęcie pracy z usługami Reporting Services Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...

Bardziej szczegółowo

OpenLaszlo. OpenLaszlo

OpenLaszlo. OpenLaszlo OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody

Bardziej szczegółowo

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A. DSL w środowisku Eclipse Grzegorz Białek Architekt techniczny, Sygnity S.A. Agenda Wstęp do tematu (10 min) Sens tworzenia języków biznesowych UML jako język biznesu? Zintegrowane środowisko deweloperskie

Bardziej szczegółowo

Szablony funkcji i szablony klas

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

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres Artur Kozubski Software Development GigaCon Warszawa 2008 Plan Historia projektu Firebird Architektura serwera Administracja

Bardziej szczegółowo

GIT. System Kontroli wersji GIT. Rafał Kalinowski

GIT. System Kontroli wersji GIT. Rafał Kalinowski GIT System Kontroli wersji GIT Rafał Kalinowski Agenda Czym jest GIT? Modele pracy Możliwości GIT a Kilka słów o terminologii Obiekty w GIT ie? Struktura zmian Operacje zdalne i lokalne Podstawowe operacje

Bardziej szczegółowo

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Dział Zagadnienia Wymagania podstawowe Wymagania ponadpodstawowe Arkusz kalkulacyjny (Microsoft Excel i OpenOffice) Uruchomienie

Bardziej szczegółowo

media Blitz wydajne sytemy szablonów

media Blitz wydajne sytemy szablonów Blitz wydajne sytemy szablonów Dlaczego stosować szablony? MVC Kontroler Model Widok Co to jest Blitz? Rozszerzenie PHP stworzone przez Alexey A. Rybak a. Regularnie rozwijany od 2005 roku. Szybki i lekki

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

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

Rozdział 1. Informacje ogólne

Rozdział 1. Informacje ogólne Rozdział 1. Informacje ogólne 1.1. Wprowadzenie Dokument ten opisuje jak zainstalować OMNeT++ na platformie Windows. Poszczególne rozdziały i podrozdziały poświęcone są instalacji, konfiguracji, kompilacji

Bardziej szczegółowo

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

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

Bardziej szczegółowo

NARZĘDZIA WIZUALIZACJI

NARZĘDZIA WIZUALIZACJI Kurs interaktywnej komunikacji wizualnej NARZĘDZIA WIZUALIZACJI Andrzej Łachwa andrzej.lachwa@uj.edu.pl 3 4/8 Zobacz film: http://www.ted.com/talks/david_mccandless_the_beauty_of_dat a_visualization.html

Bardziej szczegółowo

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową Plan 1 Uwagi na temat wydajności CPython a 2 Podstawowe techniki poprawiające wydajność obliczeniową 3 Podstawowe techniki poprawiające zużycie pamięci krótkie opisy modułów 1 array - jak oszczędzić na

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

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

METODY REPREZENTACJI INFORMACJI

METODY REPREZENTACJI INFORMACJI Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Magisterskie Studia Uzupełniające METODY REPREZENTACJI INFORMACJI Ćwiczenie 1: Budowa i rozbiór gramatyczny dokumentów XML Instrukcja

Bardziej szczegółowo

Język ludzki kod maszynowy

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

Bardziej szczegółowo