Technologia informacyjna- IT ang. Information Technology Dziedzina wiedzy, która stanowi połączenie zastosowań informatyki z technikami komunikacji. Dostarcza narzędzi, za pomocą których mo na pozyskiwać informacje, selekcjonować je, analizować, przetwarzać, zarządzać i przekazywać. Obszary zastosowań:Posługiwanie się środkami i metodami informatyki w celu rozwiązywania problemów z życia codziennego Umożliwienie człowiekowi aktywnego funkcjonowania w społeczeństwie informacyjnym Informatyka- ang. computer science, computing science, informatics Dziedzina nauki i techniki zajmująca się przetwarzaniem informacji - w tym: technologiami przetwarzania informacji, technologiami wytwarzania systemów przetwarzających informacje. Pierwotnie będąca częścią matematyki, rozwinięta do osobnej dyscypliny nauki. Matematyka dostarcza podstaw teoretycznych przetwarzania informacji. Obecnie systemy informatyczne tworzone są głównie z wykorzystaniem komputerów jako narzędzi do przetwarzania informacji.Dziedziny informatyki- Informatykę mo na podzielić na dwie główne dziedziny: • Pierwsza obejmuje analizowanie informacji przepływających w świecie rzeczywistym. • Druga zajmuje się tworzeniem oraz u ywaniem systemów słu ących do przetwarzania informacji, a obejmuje projektowanie systemów informatycznych, programowanie oraz korzystanie z systemów informatycznych.Społeczeństwo informacyjne-Ogół ludzi mających powszechne i łatwe mo liwości komunikowania się oraz dostęp do potrzebnych im informacji, poprawiających warunki ycia, wykonywanie pracy, wypełnianie obowiązków obywatelskich Społeczeństwo, w którym towarem staje się informacja traktowana jako szczególne dobro niematerialne, równowa ne lub cenniejsze nawet od dóbr materialnych. W społeczeństwie informacyjnym zarządzanie informacją oraz jej jakość i szybkość przepływu są zasadniczymi czynnikami decydującymi o konkurencyjności przedsiębiorstw. Dane-Wszystko to, co mo e być przetwarzane umysłowo lub komputerowo. W terminologii informatyki dane to zbiory liczb i tekstów o ró nych formach. Zbiór danych dostarczający konkretną informację to komunikat. W fizyce i matematyce dane to wartości znane w rozwiązywaniu problemów fizycznych/matematycznych (np. zadań). Ró ne dane mogą dostarczać tą samą informację Te same dane mogą dostarczać ró nych informacji. Zbiory liczb czy wyrazów mogą być danymi, ale jeśli nie wiemy co reprezentują to nie są informacją. Informacja-łac. informatio - wyobra enie, pojęcie wiele definicji w ró nych dziedzinach Dwa podstawowe punkty widzenia dotyczące pojęcia informacji: obiektywny, wywodzi się z fizyki i matematyki, gdzie informacja oznacza pewną własność fizyczną lub strukturalną obiektów, subiektywny (kogniwistyczny), gdzie informacją jest to, co umysł jest w stanie przetworzyć i wykorzystać do własnych celów. Bit (z ang. binary digit) najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych stanów przyjął układ. oznaczana jest za pomocą „b” Bit odpowiada ilości informacji zawartej w odpowiedzi na pytanie, na które mo na odpowiedzieć tak lub nie. Bit przyjmuje jedną z dwóch wartości, które zwykle określa się jako 0 (zero) i 1 (jeden), choć mo na przyjąć dowolną inną parę wartości, np. prawda i fałsz, tak lub nie czy -1 i +1. W pierwszym przypadku bit jest to samy z cyfrą w systemie dwójkowym. W teorii informacji Shannona informacja jest mierzona jako prawdopodobieństwo zajścia zdarzenia. Wiedza-Definicja Platona „wiedza to prawdziwe, uzasadnione przekonanie”. Encyklopedia Powszechna definiuje wiedzę jako „ogół wiarygodnych informacji o rzeczywistości wraz z umiejętnością ich wykorzystywania”. Mo na powiedzieć, e: dzięki wiedzy jesteśmy skuteczni w działaniu, wiedza jest przeciwieństwem wiary, wiedzą jest to, co wytwarza nauka, w ró nych zastosowaniach termin ten odwołuje się do ró nych kontekstów. Edytor tekstu - program komputerowy umo liwiający edycję tekstu, zapisuje samą treść tekstową oraz najprostsze informacje dodatkowe (np. znak końca wiersza, lub końca strony). Procesor tekstu - zaawansowany edytor tekstowy umo liwiający oprócz edycji czystej zawartości tekstowej, tak e formatowanie tekstu, czyli nadanie mu odpowiedniej szaty typograficznej (np. stosowanie krojów pisma) stosowanie ró nych kolorów, łączenie tekstu z grafiką, określenie formatu papieru, na którym dany dokument ma być wydrukowany itd. Ze względu na zanik programów realizujących jedynie edycję tekstów bez mo liwości ich formatowania, często pojęć "edytor tekstu" i "procesor tekstu" u ywa się zamiennie (mając na myśli to drugie). Popularne procesory tekstów to: Microsoft Word (będący częścią pakietu MS Office), Writer (będący częścią pakietu OpenOffice), WordPerfect (będący częścią pakietu WordPerfect Office). Akapit część tekstu między kolejnymi znakami ENTER (znak biały ¶). Akapit ma ustalone wcięcia, marginesy, odstępy, tabulatory i sposób wyrównywania tekstu. fragment tekstu stanowiący całość pod względem treści, wyodrębniony graficznie. Podział na wiersze następuje automatycznie; nie wolno naciskać klawisza ENTER na końcu ka dego wiersza. ENTER wstawiamy tyko po zakończeniu akapitu a nie na końcu wiersza Znaki niedrukowane (białe)- znaki, które nie są widoczne na wydruku, natomiast są wstawiane z klawiatury do tekstu. Takimi znakami są m.in.: Spacja [·], Spacja nierozdzielająca [° ], Enter [ ¶ ], Znak końca wiersza [ ], Łącznik nierozdzielający [-] (przedłu ony łącznik), Tabulator [→]. Arkusz kalkulacyjny To program komputerowy słu ący do wykonywania obliczeń i wizualizacji otrzymanych wyników. Microsoft Excel Quattro Pro Lotus 1-2-3 Gnumeric KSpread OpenOffice.org Calc Framework Składa się z siatki kolumn i wierszy tworzącej zespół komórek Adres danej komórki jest określany literą kolumny i numerem wiersza Zasada pracy Arkusz kalkulacyjny wykorzystuje przestrzenne związki pomiędzy wielkościami. Strona arkusza podzielona jest na komórki, które pełnią rolę zmiennych. Komórki mogą zawierać nie tylko wartości, lecz równie formuły słu ące do obliczeń. Formuły mogą korzystać z wartości umieszczonych w innych komórkach oraz ze zmiennych zewnętrznych, np. czas, data. Operacje matematyczne formułyDodawanie = A1+B1 Odejmowanie = A1-B1 Mno enie = A1*B1 Dzielenie = A1/B1 Potęgowania = A1^3 Procentu = 20% Operatory tekstowe Łączenia tekstu = „ala „ & „ma” „ala ma” Operatory odwołania Zakresu : = A1:A2 Składania ; = SUMA(A1:A2;C1:C2) Przecięcia (spacja) =SUMA(A1:C2 B1:B2) Operacje matematyczne funkcje Excel posiada ok. 200 wbudowanych funkcji, które u ywa się stosowanie do zapotrzebowania. Obejmują one podstawowe zagadnienia matematyki, statystyki i logiki, operacje na tekstach i bazach danych. Dodatkowo istnieje mo liwość rozbudowywania zbioru funkcji o nowe funkcje, zdefiniowane przez u ytkownika. Operacje matematyczne funkcje SUMA: Operacje matematyczne funkcje ŚREDNIA: Operacje matematyczne - inne funkcje Operacje logiczne w arkuszu kalkulacyjnym Je eli=JEZELI (warunek; wartość gdy prawda; wartość gdy fałsz) =JEZELI (A2>0;„Dodatnia„;„Ujemna") Zagnie d one =JEZELI (A2>0;„Dodatnia„;JEZELI(A2<0;”Ujemna”;”Zero”)) Operacje logiczne w arkuszu kalkulacyjnym SUMA.JEZELI =SUMA.JEZELI (zakres sprawdzania warunku; warunek; zakres komórek do sumowania) =SUMA.JEZELI(A4:A7;1;B4:B7) Baza danych- to zbiór danych zapisanych w ściśle określony sposób w strukturach odpowiadających zało onemu modelowi danych. Zbiór danych zarządzany jest przez system DBMS. (ang. Data Base Management System, DBMS - Systemem zarządzania bazą danych). Podstawowe funkcje DBMS gromadzenie, utrzymywanie i administrowanie trwałymi i masowymi zbiorami danych, zapewnianie spójności i bezpieczeństwa danych, sprawny dostęp do danych (zwykle poprzez język zapytań, np. SQL), środki programistyczne słu ące do aktualizacji i przetwarzania danych, jednoczesny dostęp do danych dla wielu u ytkowników, regulacja dostępu do danych (autoryzacja), przywracanie zawartości bazy danych po awarii, środki optymalizujące zajętość pamięci oraz czas dostępu (np. indeksy), Rodzaje baz danych- Bazy danych mo na podzielić według struktur danych, których u ywają: bazy proste: bazy kartotekowe sieciowe bazy danych hierarchiczne bazy danych bazy zło one: bazy relacyjne bazy obiektowe bazy relacyjno-obiektowe strumieniowe bazy danych temporalne bazy danych inne Relacyjna baza danych- zbiór danych zapisanych w formie tabel (relacji). Ka da tabela (relacja) zawiera zero lub więcej wierszy (krotek) i jedną lub więcej kolumn (atrybutów). Wiele tabel danych mo e współpracować ze sobą (są między sobą powiązane). Twórca: Edgar F. Codd (1970).Klucze- Ka da tabela posiada przynajmniej jeden klucz, dzięki któremu wiersze w tabeli nie powtarzają się i mo liwe jest powiązanie ze sobą danych przechowywanych w ró nych tabelach. Kluczem mo e być jedna lub wiele kolumn, których wartości jednoznacznie identyfikują wiersz tabeli.Klucze kandydujące i główne-W ka dej tabeli mo e istnieć wiele kluczy, które jednoznacznie identyfikują jej wiersze. Nazywane są one kluczami kandydującymi. Ka dy klucz kandydującymusi posiadać ró ne wartości dla wszystkich wierszy nie mo e przyjmować wartości nieokreślonej (null)Ze zbioru kluczy kandydujących wybierany jest klucz główny. Klucze obce Klucze obce wią ą ze sobą dane przechowywane w ró nych tabelach. Klucz obcy to kolumna w tabeli, która przyjmuje wartości z tej samej dziedziny, co klucz główny powiązanej tabeli. SQL (ang. Structured Query Language) to strukturalny język zapytań u ywany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. U ytkownik serwera baz danych (program lub osoba) wysyła do niego odpowiednio skonstruowane zapytanie w języku SQL, na które serwer odpowiada przesyłając oczekiwane dane, czyli wynik zapytania. Zapytania umo liwiają operacje na danych - zarówno ich pobieranie (tzw. zapytania wybierające), jak i ich usuwanie, dodawanie czy modyfikację (tzw. zapytania funkcjonalne). Rodzaje zapytań-SQL DML (ang. Data Manipulation Language) - Język Manipulacji Danymi SQL DDL (ang. Data Definition Language) - Język Definicji Danych SQL DCL (ang. Data Control Language) - Język Kontroli nad Danymi Zapytania DML DML słu y do operacji na danych - do ich umieszczania w bazie, kasowania, przeglądania, zmiany. Najwa niejsze polecenia z tego zbioru to:SELECT - pobranie z bazy danych, INSERT - umieszczenie danych w bazie, UPDATE - zmiana danych, DELETE - usunięcie danych z bazy. Zapytania DDL Za pomocą DDL mo na operować na strukturach, w których dane są przechowywane np. dodawać, zmieniać i kasować tabele lub bazy. Najwa niejsze polecenia tej grupy to:CREATE (np. CREATE TABLE, CREATE DATABASE, ...) - utworzenie struktury (bazy, tabeli, indeksu, itp.), DROP (np. DROP TABLE, DROP DATABASE, ...) całkowite usunięcie struktury, ALTER (np. ALTER TABLE ADD COLUMN ...) - zmiana struktury (dodanie kolumny do tabeli, zmiana typu danych w kolumnie tabeli). Zapytania DCLDCL ma zastosowanie do nadawania uprawnień dostępu do obiektów bazodanowych. Najwa niejsze polecenie w tej grupie to GRANT (np. GRANT ALL PRIVILEGES ON PRACOWNICY TO PIOTR WITH GRANT OPTION) - przyznanie wszystkich praw do tabeli PRACOWNICY u ytkownikowi PIOTR z opcją pozwalającą Piotrowi nadawać prawa do tego obiektu. Operacje relacyjne Selekcja Projekcja Produkt Połączenie polega na łączeniu krotek dwóch lub więcej relacji z zastosowaniem określonego warunku łączenia. Wynikiem połączenia jest podzbiór produktu relacji. SELECT imie, nazwisko, tytul FROM autorzy, ksiazki WHERE autorzy.nazwisko = 'Mickiewicz' and autorzy.nr = ksiazki.autor ;Unia pozwala na sumowanie zbiorów krotek dwóch lub więcej tabel (bez powtórzeń). Warunkiem poprawności tej operacji jest zgodność liczby i typów atrybutów (kolumn) sumowanych tabel. Przykład sumuje zbiory danych pracowników i właścicieli ograniczone do imienia i nazwiska (za pomocą projekcji), w celu uzyskania informacji o wszystkich osobach powiązanych z firmą: SELECT imie, nazwisko FROM pracownicy UNION SELECT imie, nazwisko FROM wlasciciele ;Przekrój pozwala wyznaczyć iloczyn dwóch lub więcej zbiorów krotek tzn. takich, które występują zarówno w jednej jak i w drugiej relacji. Podobnie jak w przypadku unii, warunkiem poprawności tej operacji jest zgodność liczby i typów atrybutów tabel. Przykład znajduje wszystkie nazwiska, które występują zarówno w relacji pracownicy jak i w relacji właściciele: SELECT nazwisko FROM pracownicy INTERSECT SELECT nazwisko FROM wlasciciele ;Ró nica Operacja obliczania ró nicy dwóch relacji polega na znalezieniu wszystkich krotek, które występują w pierwszej tabeli, ale nie występują w drugiej. Przykład znajduje wszystkie osoby, które są współwłaścicielami spółki, ale nie są w niej zatrudnieni: SELECT imie, nazwisko FROM wlasciciele MINUS SELECT imie, nazwisko FROM pracownicy ; Grupowanie pozwala dzielić tabelę wynikową na grupy, wybierać niektóre z tych grup i na ka dej z nich z osobna wykonywać operacje. Klauzula GROUP BY słu y do dzielenia krotek tabeli na mniejsze grupy. Przykład wyznacza średnią płacę dla grup pracowników odpowiadających stanowiskom: SELECT stanowisko, avg(placa_podstawowa) FROM pracownicy GROUP BY stanowisko Klauzula HAVING ogranicza wyświetlanie grup do tych, które spełniają określony warunek. Przykład wyświetla tylko te grupy (stanowiska), w których minimalna płaca podstawowa jest większa od 3000: SELECT stanowisko, min(placa_podstawowa) FROM pracownicy GROUP BY stanowisko HAVING min(placa_podstawowa) > 3000 ;Indeks jest specjalną strukturą, wprowadzoną w celu przyspieszenia dostępu do danych. Indeks w bazie danych jest odzwierciedleniem spisu treści w ksią ce. Wykorzystuje się przy zapytaniach SQL (SELECT), które maja na celu wyszukiwanie odpowiednich wartości w bazie danych. Optymalizator zapytań najpierw przeszukuje indeks, który jest uporządkowany a następnie na podstawie indeksu odczytuje odpowiednie rekordy. Procedury wbudowane Procedury wbudowane (procedury przechowywane, ang. stored procedures) są to polecenia, które są zapisane na serwerze baz danych i które zostały napisane specjalnie dla danego typu bazy danych. Dzięki procedurom wbudowanym ró ne aplikacje mogą się odwoływać do zasobów bazy danych i modyfikować jej zawartość bez podawania składni SQL.Wyzwalacz (ang. trigger) - procedura wykonywana na serwerze bazodanowym (najczęściej relacyjna baza danych) w określonym momencie, na przykład dopisania nowego rekordu do tabeli, edycji rekordu w tabeli, skasowanie rekordu z tabeli. Zastosowanie: do sprawdzania integralności bazy danych, do wykonywania czynności porządkowych w bazie danych.Widok (perspektywa) to wirtualna tabela, umo liwia dostęp do podzbioru kolumn i wierszy tabeli lub tabel, określony przez zapytanie SQL: CREATE VIEW nazwa_perspektywy [(kolumna1, kolumna2, ..., kolumnaN )] AS zapytanie ...przy pobieraniu danych do widoku odwołujemy się identycznie jak do tabeli, w przypadku niektórych DBMS widok słu y tylko i wyłącznie do pobierania wyników i ograniczania dostępu do danych. Nadmiarowość (redundancja) - Te same dane powtarzają się w wielu wierszach (Adres1).Anomalie modyfikacji - przykład: W przypadku gdy Firma1 zmieni swój adres trzeba zmienić wiele wierszy w tabeli. Gdy nie zostanie zmieniony choćby jeden wiersz dotyczący Firmy1 to baza utraci spójność danych. Potrzeba zmiany wielu wierszy w du ych bazach powoduje znaczące obcią enie. Anomalie usunięć - przykład:Usunięcie danych Firmy2 z tabeli spowoduje usunięcie równie informacji o części zamówień (bilans się nie będzie zgadzał), a dodatkowo informacja e Firma2 dokonywała zakupów będzie równie niedostępna.Postacie normalne Mo liwość uniknięcia przedstawionych problemów zapewniają postacie normalne, które gwarantują e anomalie w bazie danych nie będą występowały. Pierwsza postać normalna (1NF) Tabela jest w pierwszej postaci normalnej, jeśli wartości atrybutów są elementarne (atomowe, niepodzielne) - są to pojedyncze wartości określonego typu, a nie zbiory wartości.Druga postać normalna (2NF)Tabela jest w drugiej postaci normalnej wtedy i tylko wtedy, gdy jest w pierwszej postaci normalnej i ka da kolumna zale y funkcyjnie od całego klucza głównego (a nie od części klucza). Zale ność funkcyjna oznacza, e znając wartość jednego atrybutu, zawsze mo emy określić wartość innego. Gdy znamy PESEL pracownika, mo emy określić jego nazwisko; jeśli znamy numer części, mo emy określić jej masę i barwę itd. Trzecia postać normalna (3NF) Tabela jest w trzeciej postaci normalnej wtedy i tylko wtedy, gdy jest w drugiej postaci normalnej i wszystkie kolumny są w zale ności funkcyjnej jedynie od klucza głównego, nie ma takiej zale ności między innymi kolumnami. Oznacza to, e nie istnieją adne zale ności przechodnie (nietrywialne).MS Access Zakładanie relacyjnej bazy danych składającej się z tabel i kwerend (perspektyw); Interfejs graficzny do obiektów bazy danych (tabel i kwerend) Interfejs graficzny dla aplikacji bazy danych (formularze, raporty, strony WWW); Środowisko do programowania aplikacji baz danych (makra, język VBA Visual Basic for Applications, język SQL).Tabela w Accessie Struktura logiczna przechowywania danych w bazie danych Źródło danych dla innych obiektów jak kwerendy, formularze i raporty Typy danych•Tekst - napisy do 255 znaków, •Memo - długie teksty (do 64000 znaków), •Liczba - bajt, liczba całkowita, liczba całkowita długa, pojedyncza precyzja, podwójna precyzja, •Data/Godzina - np. "22.06.97" lub "22.06.97 12:12:34", •Waluta - np. "200,25 zł", •Autonumer - wartości liczbowe zwiększane automatycznie dla ka dego nowego rekordu lub generowane losowo, •Tak/Nie - wartości logiczne, •Obiekt OLE - obiekt jak np. grafika, dokument Worda, arkusz Excela, obsługiwany przez inny program systemu Windows. •Hiperłącze - adres obiektu w sieci, na przykład pliku lub strony WWW. Właściwości kolumny rozmiar pola, •reguła poprawności np. dla zarobków >100 And <5000 dla nazwiska Like ”K???”, •wymagane - czy wartość musi być wprowadzona (czy NULL jest nie dozwolone), •zerowa długość - czy wartość mo e być pustym napisem (dla typu danych tekst i memo),Maska wprowadzania (przykład)Maska powoduje, e w momencie próby wprowadzenia wartości do pola Kod pracownika tabeli Pracownicy, będzie trzeba wprowadzić pięć liter, które automatycznie zamieniane będą na wielkie. Reguła poprawności (przykład) Reguła ta pozwala wprowadzać do pola Kraj tylko wartości: Francja, Polska lub Usa. W przypadku wprowadzenia błędnych danych wyświetlony zostanie komunikat: „Wprowadź Francję, Polskę lub Usa”. operatory logiczne AND (iloczyn logiczny, koniunkcja) OR (suma logiczna, alternatywa) NOT (negacja, występuje z operatorem And, Or) np. dla pola ocena, >=3 And <5 operator przynale ności do listy IN IN (element 1; element2; ....) np. dla pola imię, In(``Adaś``;``Kasia``;``Basia``) dla pola ocena, In(2;3;4)Operatory • operator zawierania się w przedziale Between ... And... np. dla pola ocena, Between 2 And 5 inaczej >=2 And <=5 • warunek do pól z „datami” #data# np. > #98-01-01# Zasięg sieci: sieć korporacyjna Struktura sieci: serwery, węzły, podsieci Technologie Internetu: (protokoły: TCP/IP, HTTP; usługi sieciowe: e-mail, WWW, ftp) Charakter sieci: sieć zamknięta, węzły sieci wykorzystywane tylko wewnątrz sieci Architektura sieci: klient - serwerStruktura techniczna sieci Komputery wyposa one w odpowiednie oprogramowanie oraz media łączności zapewniające mo liwość korzystania z zasobów informacyjnych innych komputerówAdres IP: numeryczny adres serwera zbiór czterech cyfr (4 bajty) oddzielonych kropką np. 193.239.44.97 Adres oparty na nazwach domenowych np. www.mechatronika.edu.pl Serwer DNS:serwer nazw domenowych (Domain Name Server) konwersja adresu domenowego na adres numeryczny SMTP (Simple Mail Transfer Protocol) POP3 (Post Office Protocol version 3) IMAP (Internet Message Access Protocol) pozwala na:zarządzanie wieloma folderami pocztowymi, operowanie na listach znajdujących się na zdalnym serwerze, ściągnięcie nagłówków wiadomości i wybranie, które z wiadomości chcemy ściągnąć na komputer lokalny, zarządzanie folderami i wiadomościami. Protokół FTP (File Transfer Protocol) Usługa FTP: kopiowanie plików z komputerów odległych do komputera u ytkownika kopiowanie plików z komputera u ytkownika do komputerów odległych Typowe instrukcje usługi FTP open - podłączenie się do serwera user - wejście u ytkownika do systemu (ftp, anonymous) close - zamknięcie połączenia dir - wyświetlenie zawartości katalogu na serwerze cd - zmiana katalogu bie ącego na serwerze lcd - zmiana katalogu bie ącego na komputerze klienta bin - binarny rodzaj transferu asc - znakowy rodzaj transferu put - przesłanie pliku z komputera klienta do serwera get - pobranie pliku z serwera mput - przesłanie plików z komputera klienta do serwera mget - pobranie plików z serwera Usługa Usenet Mo liwość korzystania z zasobów informacyjnych tzw. grup dyskusyjnych Przesyłanie grup dyskusyjnych do innych sieci Hierarchiczna struktura grup dyskusyjnych(kategoryzacja tematów w ramach nadrzędnych pojęć ogólnych) Odrębność struktury grup w ró nych sieciach Dynamiczny charakter grup dyskusyjnych Dostęp do usługi (przeglądarka, programy dedykowane) Usługa IRC (Internet Relay Chat) Komunikacja on-line między u ytkownikami sieci Równoległość połączeń (wiele kanałów rozmów) Identyfikacja kanałów Identyfikacja rozmówców (nick name) Charakter kanałów (ogólnodostępne, prywatne) Administrowanie kanałam Usługa WWW (World Wide Web) Dostęp do informacji w postaci stron WWW Informacja prezentowana w sposób nieliniowy (hipertekst) Prezentacja ró nych typów informacji Przeglądarka - sposób dostępu do informacji VoIP (ang. Voice over Internet Protocol) technologia umo liwiająca przesyłanie dźwięków mowy za pomocą łączy internetowych lub dedykowanych sieci wykorzystujących protokół IP Język HTML (hipertekstowy język znaczników ) Znaczniki w języku HTML Struktura dokumentu HTML Definicja ciała dokumentu Formatowanie tekstu Grafika Definiowanie odnośników Znaczniki (tagi) - definicja wyglądu i zawartości strony Format znacznika: <znacznik ...> .... </znacznik> Rodzaje znaczników: parzyste (otwierające, zamykające) - np. <B>...</B> nieparzyste (otwierające) - np. <HR>, <BR>, <P> Parametry znacznika - modyfikacja sposobu działania znacznika:<znacznik P1 = war1 P2 = war2 ...> Definicja strony w języku HTML: <HTML> ... <HEAD> ... </HTML> </HEAD>Podstawowe informacje o dokumencie: Ciało dokumentu (treść właściwa): <BODY> ... <BODY><HTML> <HEAD> <Podstawowe informacje o dokumencie> </HEAD> <BODY> <!--Tutaj wpisz zawartość Twojej strony--> </BODY> </HTML>Ciało dokumentu DHTML Dynamiczny HTML (Dynamic HyperText Markup Language) dynamiczna zmiany treści, wyglądu, zachowania dokumentu interakcja z u ytkownikiem i stosowanie efektów wizualnych. W skład DHTML wchodzą technologie: HTML DOM (Document Object Model) CSS (Cascading Style Sheets) SVG (Scalable Vector Graphics) JavaScript CMS - system zarządzania treścią Content Management System - CMS zestaw aplikacji internetowych łatwe tworzenie oraz aktualizacja i rozbudowa serwisu WWW kształtowanie treści i sposobu ich prezentacji w serwisie za pomocą prostych w obsłudze interfejsów u ytkownika. Systemy oparte na bazach danych oraz specjalistycznym oprogramowaniu po stronie serwera. Mambo CMS: Widok witryny Mambo CMS: Panel administratora Parametry ciała dokumentu HTML BACKGROUND - tło strony (plik *.gif) BGCOLOR - kolor tła TEXT - kolor tekstu na stronie LINK - początkowy kolor odnośników ALINK - kolor odnośników aktywnych VLINK - kolor odnośników wykorzystanych LEFTMARGIN - lewy margines (tylko MS IE) TOPMARGIN - górny margines (tylko MS IE) Przykłady definicji ciała dokumentu <BODY BACKGROUND = "A:\Obrazy\backgrnd.gif"> <BODY BGCOLOR="#FF8080"> <BODY BGCOLOR="#FF8080" TEXT="#000080"> <BODY LINK="blue" ALINK="red" VLINK="yellow"> <BODY LEFTMARGIN="200" > <BODY TOPMARGIN="300" > <BODY LEFTMARGIN="200" TOPMARGIN="300" >Treść dokumentu Sformatowany tekst umieszczony w kodzie strony Ignorowanie w treści znaków Enter oraz wielokrotnych spacji Akapity nale y definiować u ywając znaczników: <P> - nowy akapit oraz pusty wiersz <BR> - przeniesienie tekstu do następnego wiersza Czcionka Pogrubiona <B>...</B> Kursywa <I>...</I> Podkreślona <U>...</U> Mrugająca <BLINK>...</BLINK> Krój maszynowy <TT>...</TT> Przekreślona <STRIKE>...</STRIKE> Indeks górny <SUP>...</SUP> Indeks dolny <SUB>...</SUB> Wyró niona: <STRONG>...</STRONG> <EM>...</EM> Rozmiar: <FONT SIZE="+2">Powiększony o +2. </FONT> Kolor: <FONT COLOR = "red">Czerwony</FONT> Rodzaj: <FONT FACE="Arial">Krój Arial </FONT> Definicja czcionki bazowej: <BASEFONT SIZE="3" FACE = "Arial" COLOR = "green"> Znaczniki nagłówka Predefiniowane znaczniki <H1> do <H6> Znaczniki parzyste Formatowanie czcionki niezale ne od innych definicji tekstu Wykorzystanie bazowej definicji czcionki Mo liwość jawnej redefinicji sposobu wyrównania tekstu Sposoby wyrównania tekstu Środkowanie tekstu: <CENTER>...</CENTER> Parametr ALIGN: ALIGN = "RIGHT" ALIGN = "LEFT" ALIGN = "CENTER" Miejsce umieszczenia parametru znacznik <P> np. <P ALIGN="RIGHT"> znacznik <H#> np. <H1 ALIGN = "CENTER">Wstawianie grafiki: <IMG SRC="plik.gif"> Parametry:BORDER - obramowanie obrazka ALIGN - pozycja obrazu względem tekstu HEIGHT - wysokość (w pikselach) WIDTH - szerokość (w pikselach) VSPACE - odległość od tekstu (w pikselach) HSPACE - odległość od tekstu (w pikselach) ALT - etykieta obrazuGrafika i prosta animacja Wstawianie prostej animacji: <MARQUEE> ... </MARQUEE> Parametry: ALLIGN - sposób wyrównania tekstu sąsiadującego BEHAVIOR - sposób poruszania się tekstu (SCROLL, SLIDE, ALTERNATE) DIRECTION - kierunek ruchu (LEFT, RIGHT) HIGH, WIDTH - wysokość, szerokość obszaru LOOP - ilość powtórzeń ruchu tekstu HSPACE, VSPACE - odległość od innego tekstu SCROLLAMOUNT - wielkość skoku tekstu SCROLLDELAY - opóźnienie skoku Rodzaje odsyłaczy:wewnętrzne (strony w obrębie tego samego serwisu,etykiety na stronie <A NAME = "etykieta"> </A>)zewnętrzne (strony innych serwisów, usługi sieciowe) Definicja tabeli: <TABLE> ... </TABLE> Definicja wiersza tabeli: <TR> ... </TR> Definicja komórki tabeli: <TD> ... </TD> Dodatkowe opcje: podpis tabeli: <CAPTION> ... </CAPTION> nagłówek tabeli: <TH> ... </TH> Tabele - charakterystyka wyglądu Obramowanie tabeli i komórek (kolor, rodzaj) Szerokość (wysokość) tabeli i komórek Wyrównanie tabeli i zawartości komórek Tło komórek i tabeli Łączenie komórek Zagnie d anie tabel Tabele - definicja wyglądu Obramowanie tabeli (rodzaj, kolor): parametr tabeli: BORDER = 3 parametr tabeli: BORDERCOLOR = "Purple" Obramowanie komórek (kolor): parametry wiersza: BORDERCOLORDARK = "RED" BORDERCOLORLIGHT= "GREEN" Szerokość tabeli i komórek: parametr tabeli: WIDTH = 800 lub WIDTH = 75% parametr komórki: WIDTH = 800 lub WIDTH = 75% Model przestrzeni barw HSV H - częstotliwość światła (ang. Hue) S- nasycenie koloru (ang. Saturation) V- (ang. Value) moc światła białego. JPEG Joint Photographic Experts Group - Wspólna Grupa Ekspertów Fotografii Standard kompresji stratnej statycznych obrazów rastrowych, przeznaczony głównie do przetwarzania obrazów naturalnych, charakteryzujących się płynnymi przejściami barw oraz brakiem lub małą ilością ostrych krawędzi i drobnych detali. Standard wymiany danych w sieci. Kodowanie kolorówTrue Color RGB 224 =16,7 milionów barw. Fotografia jest kodowana przy u yciu przeciętnie jednego bitu na piksel (współczynniki kompresji od 10:1 do 100:1). KompresjaStratna jpeg. Kolor R G B zamieniany na kolor Y Cb Cr, gdzie Y- luminancja Cb Cr - chrominancje Obraz dzielony na bloki (8×8) pikseli. Dla ka dego bloku wyznacza się szybką dyskretną transformatę kosinusową FDCT: składową stałą F(0,0), reprezentującą stopień niezmienności pikseli (ich jasność i kolor) w bloku, składowe zmienne F(u,v) (gdzie u,v=1,..,7), reprezentujące nagłe zmiany jasności lub koloru w bloku pikseli. Obrazek podzielony na bloki Składowa stała dla ka dego bloku Kompresja JPEG JPEG - jakość maksymalna 117 kB JPEG - jakość średnia 25,5 kB JPEG - kompresja 100% 1,96 kB JPEG 2000 rozwinięcie technologii jpg, wykorzystanie dyskretnej transformaty falkowej. nieco lepsza jakość obrazu przy tym samym stopniu kompresji. W odró nieniu od JPEG, obraz mo e być równie skompresowany bezstratnie, co czyni nowy standard konkurencyjnym dla formatu PNG. Skalowalność - w miarę odbierania kolejnych próbek obrazu, jego jakość stopniowo się poprawia (podobny tryb, choć bardzo uproszczony, oferuje JPEG). Wada - du a zło oność obliczeniowa. DjVu umo liwienie tworzenia cyfrowych bibliotek, przechowywanie zeskanowanego tekstu z jakością odpowiadającą papierowemu oryginałowi przy małym rozmiarze pliku zastosowanie metody segmentacji obrazu. rozdzielenie obrazu na odrębne warstwy, a następnie poddaniu warstw optymalizacjom i kompresjom. Najczęściej stosowane warstwy to: tło, czarnobiała warstwa tekstu najwy szej jakości, warstwa koloru słu ąca do nało enia na czarnobiałą warstwę tekstu dodatkowo warstwa informacyjna tekstu - treść uzyskana metodą OCR. GIF (Graphics Interchange Format) - popularny format grafiki internetowej; obsługiwany przez prawie wszystkie przeglądarki WWW; mo e przechowywać wiele obrazków w jednym pliku tworząc z nich animację, TIFF. PNG (Portable Network Graphics) - format grafiki internetowej; obsługuje przezroczystość, GIF Maksymalnie 256 barw. 256 barw - 8 bitów/piksel, 2 barwy - 1 bit/piksel. Kompresja LZW - bezstratna, średni współczynnik kompresji 4:1 Zastosowanie: Skanowane obrazy 2-kolorowe, w skali szarości, z du ą ilością szczegółów, linii, krawędzi Obrazy generowane komputerowo z du ymi polami jednobarwnych wypełnień i wzorów oraz z ostrymi krawędziami, które powinny być zachowane. Obraz zawierający więcej ni 256 barw jest przybli any paletą 256 barw przed kodowaniem GIF. Przeplot - dane zapisywane są w kolejności wierszy: co 8-y, 4-ty, 2-gi, nieparzyste. Umo liwia to wyświetlanie kolejnych przybli eń obrazka w trakcie jego ładowania. Dwustanowa przezroczystość TIFF. BMP XCF (eXperimental Computing Facility) - mapa bitowa programu GIMP; mo e przechowywać wiele warstw, XPM format zapisu plików przy pomocy znaków ASCII, BMP Obsługuje tylko tryb RGB. W obrazach True Color składowe koloru zapisywane są w kolejności B, G, R (trzy bajty) W obrazach o mniejszej np 16-bitowa bitmapa (High Color) kolor zapisywany na dwóch bajtach: [6bitów B][5bitów G][5bitów R] Dla plików z liczbą kolorów do 256, kolor zapisywany jest jako numer koloru (wskaźnik) w palecie Animowane bitmapy powstają z cyklicznej podmiany kolorów w palecie, mo na tworzyć dla obrazów 8bitowych. Zawiera prostą kompresję bezstratną RLE (która nie musi być u yta), informację o u ytych kolorach.
Formaty grafiki wektorowej SVG (Scalable Vector Graphics) - format oparty na języku XML; promowany jako standard grafiki wektorowej; umo liwia tworzenie animacji, CDR (Corel Draw) - format opatentowany przez firmę Corel Corporation Adobe Flash - format grafiki wektorowej szczególnie popularny w internecie; umo liwia tworzenia animacji, EPS (Encapsulated PostScript) - format PostScript SVG SVG (ang. Scalable Vector Graphics) - uniwersalny format dwuwymiarowej, statycznej i animowanej grafiki wektorowej, nieobwarowany licencjami i patentami, stworzony w 1999 roku przez W3C z myślą o zastosowaniu go na stronach WWW W SVG oprócz standardowych obiektów (prostokąty, elipsy, krzywe) mo na opisywać efekty specjalne (filtry), maski przezroczystości, wypełnienia gradientowe itp. W SVG mo na te opisać sposób animacji elementów SVG pozwala na u ycie języków skryptowych (np. JavaScript), szablonów stylów (CSS), a tak e na rozszerzanie funkcjonalności przez dodanie własnych elementów i właściwości Adobe Flash technologia tworzenia animacji z wykorzystaniem grafiki wektorowej na zasadzie klatek kluczowych. pliki .swf, zwane często "plikami Flash" mo na odtwarzać za pomocą przeglądarki internetowej z zainstalowaną odpowiednią wtyczką lub w oddzielnym programie do tego przeznaczonym. Pliki Flash są najczęściej wykorzystywane do reklam internetowych, internetowych prezentacji i animacji. EPS (Encapsulated PostScript) - format plików, będący podzbiorem języka PostScript, Głównym przeznaczeniem jest przechowywanie pojedynczych stron zawierających grafikę komputerową w postaci umo liwiajacej osadzanie ich w innych dokumentach. Pliki EPS zazwyczaj przechowują równie miniaturę (tzw. format EPSI - Encapsulated PostScript Interchange), która jest wykorzystywana do szybkiego podglądu zawartości takiego pliku. Czasem stosowany jest skrót EPSF, który oznacza Encapsulated PostScript Format. Rozdzielczość Określa liczbę pikseli mieszczących się na jednym calu Oznaczenie: ppi - pixels per inch dpi - dots per inch Za pomocą liczby pikseli określa się rozmiary rastra obrazu np. 150 x 120 - szerokość 150 pikseli, wysokość 120 pikseli Rozdzielczość - przykład Obrazek o wymiarach 300 x 300 pikseli i rozdielczości 300 dpi po wydrukowaniu będzie miał szerokość i wysokość 1 cala. Je eli wydrukujemy go z rozdzielczością 600 dpi będzie miał wymiary 0,5 x 0,5 cala. Zmniejszenie rozdzielczości wydruku do 150 dpi spowoduje, e rozmiary obrazka wzrosną do wielkości 2 x 2 cale.Kompresja RLE Run-Length Encoding (RLE, kodowanie długości serii) - prosta metoda bezstratnej kompresji danych, której działanie polega na opisywaniu ciągów tych samych liter (bitów, bajtów, symboli, itp.) za pomocą liczby powtórzeń (długości ciągu). Przykład: Niech a, b, c, d, e reprezentują jednobajtowe wartości pikseli „aaaaabcdea” - dane oryginalne „5a5bcdea” - dane skompresowane Pamięć = urządzenie przechowujące informację (ang. memory, storage) Działania na pamięci: • zapis do pamięci (write) • odczyt z pamięci(read) Parametry pamięci: • pojemność • szybkośćPamięć zewnętrzna - Jest urządzeniem wejścia-wyjścia - Przetwarzanie informacji jest mo liwe dopiero po jej przepisaniu do pamięci operacyjnej - Transmisje odbywają się w blokach (kilkadziesiąt - kilkaset bajtów) Pamięć wewnętrzna - Jest nieodłączną częścią komputera - W czasie wykonywania programu dostarcza do procesora kolejne rozkazy i potrzebne dane Bit (binary digit) - cyfra dwójkowa (0 i 1) [ang. odrobina, kawałek] Byte - 8 bitów [mutacja ang. „bite” ugryźć] Nibble - ½ bajta [ang. kęs, ogryzek] Bajt - podstawowa jednostka pamięci Czas dostępu - czas od ustawienia adresu do odczytania danych (nanosekundy; 10-9 s) Przepustowość - liczba bajtów (lub bitów) przesyłana do/z pamięci w ciągu sekundy RAM (Random Access Memory) ROM (Read-Only Memory) I/O (Input/Output) - Pamięć zapisywalna; ulotna - Pamięć stała; nieulotna Pamięci półprzewodnikowe Zapisywalna (RAM) - ulotna (volatile) Dynamiczna (DRAM) Statyczna (SRAM) - tania, wymaga okresowego odświe ania - szybsza, dro sza, nie wymaga odświe ania Stała (ROM) - nieulotna (nonvolatile) EPROM (Electrically Programmable ROM) EEPROM (Electrically Eresable Programmable ROM) FLASH Co jest w pamięci operacyjnej? System operacyjny komputera - zarządza zasobami - komunikuje się z operatorem Programy u ytkowe (aplikacje) Program startowy (BIOS) Język ogólna nazwa zdefiniowanego zbioru znaków i symboli oraz reguł określających sposoby i kolejność ich u ycia. Język algorytmiczny - język, który jest stosowany do zapisywania algorytmów. Język programowania - język algorytmiczny stosowany do celów programowania. Język programowania - zbiór zasad składni, instrukcji, dzięki którym powstaje kod źródłowy programu. Procesor jest w stanie wykonywać program w kodzie maszynowym. Pisanie programów w kodzie maszynowym jest praktycznie bardzo trudne. Programista u ywa języka zrozumiałego dla człowieka, który jest tłumaczony do postaci kodu maszynowego. Podział języków programowania Podział ze względu na strukturę Podział ze względu na zastosowanie Podział ze względu na generację języka programowania Podział ze względu na sposób translacji Język wysokiego poziomu Język programowania, zbli ony do języka naturalnego, spełniający wymagania programowania strukturalnego, programowania z u yciem obiektów a tak e programowania obiektowego, mo liwość programowania mniej podatnego na błędy. Przykłady : C, C++, Smalltalk, Java, Pascal i Lisp, języki specjalizowane (problemowe). Język problemowy jest przeznaczony do określonych zadań. Przeciwieństwem języka problemowego jest język uniwersalny np. Pascal Przykłady języków problemowych: Fortran (szybkie obliczenia matematyczne) HTML (język opisu strony) SQL (formułowania zapytań do baz danych) Kod maszynowy język rozumiany przez procesor. Program w kodzie maszynowym składa się z ciągu wartości binarnych, które oznaczają zarówno instrukcje jak i dane. Program, który jest napisany w języku programowania wysokiego poziomu, musi zostać przetłumaczony na kod maszynowy, aby mógł być wykonywany przez komputer. Postać kodu maszynowego zale y od architektury procesora.Kod źródłowy Kod źródłowy - program komputerowy napisany w języku programowania. Jest to postać programu, która jest zrozumiała dla programisty (bez konieczności jego uruchamiania). Kod źródłowy jest przekształcany na kod maszynowy w procesie kompilacji lub interpretacji programu. Kod wynikowy Kod maszynowy uzyskany jako rezultat pracy translatora (kompilatora lub interpretera), nadający się do bezpośredniego wykonywania przez procesor albo wymagający dalszej obróbki (np. konsolidacji). Czasami zamiast określenia kod wynikowy u ywa się równowa nej nazwy: kod obiektowy. Generacje JP Języki programowania mo na podzielić na pięć wyraźnie ró niących się generacji. W miarę rozwoju techniki komputerowej, wystąpiła konieczność dostarczania u ytkownikowi narzędzi programistycznych, które umo liwiłyby mu maksymalne wykorzystanie sprzętu. Nie ma pełnej zbie ności chronologicznej między poszczególnymi generacjami języków i sprzętu. 1GL Pierwsza generacja Programowanie pierwszych komputerów odbywało się bezpośrednio w kodzie binarnym, który mo na przedstawić jako ciągi zer i jedynek. Ka dy typ komputera operuje własnym kodem, który został określony nazwą język maszynowy lub wewnętrzny. Główna wada: programista ka dorazowo musi dostosowywać się do języka konkretnej maszyny. 2GL Druga generacja Ciągom zerojedynkowym przypisano łatwiejsze do zrozumienia znaki mnemotechniczne. Języki symboliczne, zwane te asemblerami. stanowią proste tłumaczenie języka maszynowego na symbole, są ściśle związane z danym modelem procesora. Przykład: mov dx, offset info mov ah, 9 int 21h mov ah, 0 int 16h 3GL Trzecia generacja - języki wysokiego poziomu. Symbole asemblera reprezentujące konkretne instrukcje zostały zastąpione kodem niezwiązanym z maszyną, bardziej zbli onym do języka naturalnego lub matematycznego. 4GL Czwarta generacja Języki programowania wraz z zestawem narzędzi, które umo liwiają budowę prostych aplikacji przez zestawianie „prefabrykowanych” modułów. Często stanowią jedynie rozszerzenie języków ju istniejących. W niektórych przypadkach stosuje się nazwę „czwarta generacja” wyłącznie w odniesieniu do programowania obiektowego (OOP). 5GL Piąta generacja Nazwę „język piątej generacji” stosuje się czasem w odniesieniu do języków u ywanych do tworzenia programów wykorzystujących tzw. sztuczną inteligencję (AI) lub inaczej systemów ekspertowych. Podział JP ze względu na rodzaj translacji: kompilowane, interpretowane. Translator to specjalny program komputerowy (lub urządzenie) dokonujący tłumaczenia (translacji) programu napisanego w języku programowania z postaci źródłowej do postaci wynikowej zrozumiałej dla maszyny. Translatory dzieli się na: kompilatory i interpretery tłumaczące programy zapisane w językach wysokiego poziomu assemblery tłumaczące programy zapisane w językach symbolicznych. Kompilator program słu ący do automatycznego tłumaczenia kodu napisanego w jednym języku (języku źródłowym) na równowa ny kod w innym języku (języku wynikowym); najczęściej program do tłumaczenia kodu źródłowego w języku programowania na język maszynowy. Niektóre kompilatory tłumaczą najpierw do języka asemblera, a ten na język maszynowy jest tłumaczony przez asembler. Stosowanie kompilatorów ułatwia programowanie (programista nie musi znać języka maszynowego) i pozwala na większą przenośność kodu pomiędzy platformami. Interpreter program komputerowy, który analizuje kod źródłowy programu, a przeanalizowane fragmenty wykonuje. Inaczej ni podczas procesu kompilacji, podczas którego nie wykonuje się wejściowego programu (kodu źródłowego) Wykonanie programu za pomocą interpretera jest wolniejsze, zajmuje więcej zasobów systemowych ni wykonanie kodu skompilowanego, lecz mo e zająć relatywnie mniej czasu ni kompilacja i uruchomienie. Etap preprocesingu wstępne przygotowanie programu do właściwej kompilacji. W tej fazie mogą być równie dołączane dodatkowe pliki z kodem źródłowym Zazwyczaj w ten sposób włącza się do kodu źródłowego pliki z deklaracjami funkcji lub informacją o rozmiarach zmiennych indeksowanych. Preprocesor program interpretujący, którego zadaniem jest przetworzenie tekstu wejściowego w sposób określony za pomocą poleceń preprocesora przez programistę na tekst wyjściowy. Dopiero tak przetworzony tekst poddawany jest analizie składniowej i kompilacji. Preprocesor jest najczęściej zintegrowany z kompilatorem języka programowania. przetłumaczenia kodu źródłowego na kod wynikowy (binarny), zrozumiały dla komputera. Etap konsolidacji (linkowania) dołączanie bibliotek do tworzonego programu. Je eli dany program u ywa funkcji z bibliotek, niezbędne jest aby taka biblioteka została do tego programu dołączona. Biblioteka jest równie pewnym „programem”, który ró ni się tylko tym, e nie mo e być samodzielnie uruchomiony. Zawiera funkcje, do których odwołują się inne programy. Po konsolidacji program jest gotowy do u ycia. Zintegrowane środowisko programistyczne (IDE) Translator Biblioteki i dodatkowe pliki wsadowe Edytor kodu Debugger Edytor formularzy Menad er projektu Narzędzia dodatkowe System pomocy Biblioteki i dodatkowe pliki wsadowe słu ą do rozszerzania mo liwości języka, szczególnie w zakresie pewnych zastosowań (np. obliczeń matematycznych, numerycznych, obróbki grafiki). Biblioteki podstawowe dostarczane są wraz z środowiskiem programistycznym, biblioteki dodatkowe rozprowadzane są w postaci osobnych pakietów. Edytor kodu edytor słu ący do pisania tekstu kodu źródłowego. Edytory mogą być uniwersalne lub zintegrowane z konkretną implementacją języka. Edytory uniwersalne pozwalają na podłączanie kompilatorów jednego lub wielu języków i są rozprowadzane jako oddzielne programy. Poprawia znacznie przejrzystość i wygodę tworzenia kodu. Debugger (analizator kodu) - słu y do analizy poprawności tworzonego kodu źródłowego i stanowi zazwyczaj integralną część translatora (mo e być to równie oddzielny program). Podczas analizy kodu źródłowego generowane są informacje o błędach na bie ąco (analizator zatrzymuje się w miejscu wykrycia błędu) lub te w postaci końcowego raportu. Oprócz informacji o błędach, analizatory podają równie tzw. ostrze enia, tzn. informacje o znalezieniu niejasności w kodzie lub o wykryciu miejsca potencjalnie niebezpiecznego. Edytor formularzy słu y do budowy okien widzianych przez u ytkownika po uruchomieniu programu (formularzy). Element ten występuje jedynie w językach wizualnych, takich jak Visual Basic, Delphi. Zaletą stosowania tego narzędzia jest łatwość tworzenia dowolnie skomplikowanych okien i określania ich właściwości. Brak edytora formularzy nie przesądza o tym, e nie mo na tworzyć standardowych, „okienkowych” aplikacji - wygląd definiowany jest wówczas przez programistę w kodzie źródłowym. Menad er projektu słu y do zarządzania modułami i plikami projektu. Do kompilacji programu zwykle potrzebnych jest wiele plików, które zawierają: poszczególne moduły kodu, biblioteki, pliki wsadowe, grafikę i pliki multimedialne. Zazwyczaj istnieje główny plik projektu zawierający wszystkie potrzebne do kompilacji informacje. Z pomocą menad era łatwo mo na modyfikować zawartość i strukturę projektu. Narzędzia dodatkowe słu ą do tworzenia: systemu pomocy, ikon i kursorów, programów instalacyjnych, itp. System pomocy słu y do uzyskiwania informacji o: środowisku programistycznym, zasadach jego u ytkowania, elementach języka wraz z przykładami, rodzaju licencji, autorach i kontaktach. Dobrze zorganizowanie, obszerne systemy pomocy zawierają często kompendium wiedzy na temat danego języka programowania. Przykłady środowisk programistycznych SharpDevelop (#develop) - jest darmowym i otwartym IDE dla platformy .NET. Wspiera takie języki programowania jak: C#, Visual Basic .NET oraz Boo. Jest wzorowany na jego komercyjnym odpowiedniku Microsoftu - Visual Studio .NET. Mo e równie otwierać i edytować projekty stworzone w Visual Studio .NET. .NET platforma programistyczna opracowana przez Microsoft, obejmująca środowisko uruchomieniowe (Common Language Runtime - CLR) i biblioteki klas dostarczające standardowej funkcjonalności dla aplikacji. W środowisku tym mo na tworzyć oprogramowanie działające po stronie serwera internetowego (IIS) oraz pracujące na systemach, na które istnieje działająca implementacja tej platformy. W skład platformy wchodzą: kompilatory języków wysokiego poziomu - standardowo C++/CLI, C#, Visual Basic .NET, J# kompilator kodu zarządzanego wraz z debugerem Podział ze względu na strukturę (1): języki proceduralne (imperatywne) - programista określa JAKIE operacje maja być wykonane i w JAKIEJ KOLEJNOŚCI, języki nie proceduralne (deklaratywne) - programista opisuje to, CO chce wykonać. Decyzja JAK to wykonać nale y do kompilatora. Podział ze względu na strukturę (2): języki strukturalne - program rozbity na procedury (podprogramy), z których ka da odpowiada za rozwiązanie określonego problemu. Procedury stanowią odrębne, samodzielnie działające całości, które mo emy wykorzystać tak e i w innych pisanych programach. języki niestrukturalne - brak wydzielonych obszarów odpowiedzialnych za rozwiązywanie określonych problemów. Podział języków ze względu na zastosowania: algorytmiczne: do zapisywania algorytmów algebraiczne (Fortran, Pascal, C) - do zapisu algorytmów numerycznego przetwarzania informacji, ekonomiczne (COBOL, PL/1) - opis algorytmów przetwarzania informacji o charakterze ekonomicznym, bankowym, handlowym. do symbolicznego przetwarzania informacji (LISP) do zapisu algorytmów przetwarzania informacji numerycznych i na danych symbolicznych. języki symulacyjne (SIMULA) - ułatwiają opisywanie algorytmów modelowania i symulacji bezpośredniego dostępu (BASIC) - pozwalają na konwersację z maszyną. problemowe - ściśle dostosowane do konkretnej klasy zadań. Podział według struktury (3): języki strukturalne (Fortran, Pascal, Algol) języki zorientowane obiektowo (C++ , Visual C++, Turbo Pascal, Delphi, Smalltalk, Objective-C, Eiffel , Lisp, Oberon, Actor , CLOS, Ada95, Prolog++, Zink, JAVA, J++, Visual Objects, Python): Algorytm skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania dowolnego zadania z określonej klasy zadań. Słowo "algorytm" pochodzi od nazwiska Muhammed Alchwarizmi matematyka perskiego z IX wieku. Badaniem algorytmów zajmuje się algorytmika. Algorytm mo e zostać zaimplementowany w postaci programu komputerowego lub dla innego urządzenia. Paradygmaty tworzenia algorytmów dziel i zwycię aj programowanie dynamiczne metoda zachłanna programowanie liniowe poszukiwanie i wyliczanie algorytm probabilistyczny heurystyka Unicode unique, universal, and uniform character encoding Kody dla wszystkich znanych systemów pisma (alfabetów) Znak mo e być literą (np. łacińską, grecką, hebrajską, arabską,) znakiem sylaby (np. w japońskim piśmie Hiragana) ideogramem (np. w piśmie chińskim Han, tzw. CJK - Chinese, Japanese, Korean) symbolem (np. technicznym, muzycznym, znakiem Braille'a) Unicode (Unikod) Ka dy znak jest określony przez unikatowy numer (code point) U+0000 ... U+10FFFF 1 032 576 numerów unikatową nazwę Unicode nie definiuje postaci graficznej znaku (glyph) Unicode Kody od U+0000 do U+007F Unicode Consortium Organizacja “non-profit”, zał. w 1991 . Unicode Standard, ver. 5.0.0. (listopad 2006) zgodny ze standardem ISO/IEC 10646 96 447 znaków z kilkudziesięciu alfabetów ok. 6 300 kodów nie wykorzystanych w początkowym obszarze kodowym 64k znaków (basic multilingual plane) Formaty kodowania (UTF - Unicode Transformation Format) Są 3 formaty kodowania (dla ka dego znaku): 8 bitów (UTF-8), Tu wszystkie znaki ASCII 16 bitów (UTF-16) 32 bity (UTF-32) Struktury danych Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych to: rekord (struktura) tablica lista stos kolejka drzewo (drzewo binarne) graf Rekord jest zwany w niektórych językach strukturą (ang. structure, struct, record) Jest to obiekt programistyczny, grupujący dane takiego samego lub ró nego typu Posiada ustaloną strukturę, oraz mo liwość zmiany i odczytania jego elementów Odpowiednik rekordu w teorii relacyjnych baz danych to krotka (wiersz tabeli) Tablica Zbiór danych tego samego typu, w którym poszczególne komórki dostępne są za pomocą indeksów. Rozmiar tablicy jest albo ustalony z góry (tablice statyczne) mo e się zmieniać w trakcie wykonywania programu (tablice dynamiczne). Odpowiednikiem tablicy w matematyce jest macierz. Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element mo na usunąć oraz dodać w dowolnym miejscu. Pierwszy i ostatni element listy nazywamy końcami listy. Lista jednokierunkowa - komórki zawierają tylko wskaźniki do kolejnej komórki. Lista dwukierunkowa - komórki zawierają tak e wskaźnik do poprzednika. Szczególne przypadki listy stos pobrać, odczytać i wstawić element mo na tylko na końcu listy kolejka pobrać i odczytać element mo na tylko na początku listy, a dodać na końcu. Stos LIFO, Last In, First Out; ostatni na wejściu, pierwszy na wyjściu struktura liniowo uporządkowanych danych, jedynie ostatni element, zwany wierzchołkiem, jest w danym momencie dostępny. W wierzchołku odbywa się dołączanie nowych elementów, równie jedynie wierzchołek mo na usunąć. Przeciwieństwem stosu LIFO jest kolejka, bufor typu FIFO (ang. First In, First Out; pierwszy na wejściu, pierwszy na wyjściu), Definicje algorytmu reguła przekształcania wyra eń matematycznych przez przetwarzanie tych samych działań na kolejno otrzymywanych wynikach działań poprzednich dokładny przepis wykonania szeregu operacji w celu rozwiązania określonego zagadnienia, a mo e być wykorzystany do rozwiązania całej grupy problemów nale ących do określonej klasy. Algorytm zawiera opis danych wejściowych, wyjściowych, działań i scenariusza wykonania tych działań, zrealizowany za pomocą: • instrukcji sterujących i wyra eń, • typów danych. Podejście strukturalne Algorytmy + struktury danych = programy Podział algorytmu na operacje realizowane za pomocą odrębnych procedur Dane i procedury nie są ze sobą ściśle związane. Podejście obiektowe Obiekty elementy łączące stan (czyli dane) i zachowanie (czyli procedury, tu: metody). Algorytm wyra ony jest jako zbiór obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań. Klasa to w programowaniu obiektowym częściowa lub całkowita definicja obiektów, bądź te zbiór wszystkich obiektów mających wspólną strukturę i zachowanie. Obiekt Jest egzemplarzem dane klasy Ma stan pamiętany w polach Ma określony zbiór operacji (metod) Jest odró nialny od innych obiektów Hermetyzacja (enkapsulacja) ochrona przed bezpośrednim dostępem do danych zawartych w obiekcie. Do danych umieszczonych w obiektach danej klasy nale y się odwołać jedynie za pośrednictwem metod tej klasy. Dostęp do składowych klasy mo na ograniczać specyfikatorami dostępu: private, protected, public Dziedziczenie Utworzenie nowej klasy na podstawie ju istniejącej, poprzez dodanie nowych pól i metod, lub zmianę implementacji ju istniejących metod. związek między elementem ogólnym (zwanym nadklasą lub przodkiem) a pewnym specyficznym jego rodzajem (zwanym podklasą lub potomkiem). Polimorfizm Jeśli obiekt nale y do pewnej klasy K, to nale y równie do wszystkich nadklas klasy K SCILAB Program przeznaczony do obliczeń numerycznych. Program darmowy Komercyjny odpowiednik: Matlab Wymaga opanowania zasad macierzowego zapisu wyra eń. Zawiera wiele wbudowanych procedur numerycznych. Posiada tak e swój interpreter oraz język programowania wysokiego poziomu. Wprowadzanie macierzy Średnik rozdziela poszczególne wiersze. Cała lista elementów macierzy jest zawarta w nawiasach kwadratowych,Sumowanie elementów macierzy w wierszach Instrukcja: sum(S,'c') Sumowanie elementów macierzy w kolumnach Instrukcja: sum(S,'r') Przekątna główna Instrukcja: diag(S) Elementy macierzy Element macierzy S le ący w wierszu i oraz kolumnie j jest oznaczany jako S(i, j) Instrukcja obliczająca sumę elementów w czwartej kolumnie: Rozszerzanie macierzy Instrukcje: temp = S; Operator dwukropka Instrukcja 1:10 Wynik Wybór fragmentu macierzy Instrukcja S(1,1:4) Zmienne Nie jest wymagane deklarowanie zmiennych. Je eli u ywany nowej nazwy zmiennej nowa zmienna jest automatycznie tworzona i alokowana w pamięci. Je eli zmienna o danej nazwie istnieje, modyfikowana jest zawartość tej zmiennej. Operatory + * / ^ ` () dodawanie odejmowanie mno enie dzielenie potęgowanie transpozycja kolejność wykonywania działań Generowanie macierzy zeros(3,3) ans = ! 0. 0. 0. ! ! 0. 0. 0. ! ! 0. 0. 0. ! 4*ones(3,3) ans = ! 4. 4. 4. ! ! 4. 4. 4. ! ! 4. 4. 4. ! rand(4,4,'normal') ans = ! ! ! ! 1.4739763 .2546697 .8529775 - .6834217 .7223316 .8145126 .6380837 - .1884803 - 1.0327357 - .9239258 2.7266682 - 1.7086773 .0698768 - 1.3772844 - .1728369 - .6019869 ! ! ! ! Pliki SCI Pliki tekstowe o rozszerzeniu SCI Przykład: // this is comment line // sci-file to plot sine wave time = 0:.01:20; plot(sin(time)); Zapis do pliku My_prog.sci Uruchomienie: exec('E:\Scilab-2.6\work\My_prog.sci') Łączenie macierzy a = [ 1 2 3 ]; b = [ 4 5 6]; c = [ 7 8 9]; d= [ a b c] d = ! 1. 2. 3. 4. 5. 6. 7. 8. 9. !8 Usuwanie wierszy lub kolumn s = [ 1 2 3 4; 5 6 7 8; 9 10 11 12 ] s = ! 1. 2. 3. 4. ! ! 5. 6. 7. 8. ! ! 9. 10. 11. 12. ! s(:,2) =[ ] s = ! 1. ! 5. ! 9. 3. 7. 11. 4. ! 8. ! 12. ! Stałe specjalne %i %pi %e %eps %nan %inf %t %f Jednostka urojona: %i^2 = -1 PI = 3.1415927 ..... Liczba Eulera e = 2.7182818 Stała określająca precyzję maszyny not a number - wartość, która nie jest liczbą Nieskończoność Prawda - stała typu logicznego Fałsz - stała typu logicznego %f = ~%t. Macierze łańcuchów znakowych Podstawianie wartości ss = ! z ! !0 w+v ! ! z*y-x*(w+v) ! x=1;y=2;z=3;w=4;v=5; evstr(ss) ans = ! 3. ! 0. 9. ! - 3. ! Wielomian definiowany przez pierwiastki p = poly([1 2],'s') p = 2 2 - 3s + s Wielomian definiowany przez współczynniki q=poly([1 2],'s','c') q = 1 + 2s Macierze typu logicznego Sprawdzanie warunku [ 3,3] == [3,4] ans = ! T F ! Operacje logiczne A = [%t %f %t A = ! T F T F ! B = ! F T F T ! %f], B = [%f %t %f %t] A|B // logical OR ans = ! T T T T ! A&B // logical AND ans = ! F F F F ! Operatory logiczne & i | lub ~ nie Listy ls = list(2,%i,'f',ones(3,3)) ls = ls(1) 2. ls(2) i ls(3) f ls(4) ! 1. 1. 1. ! ! 1. 1. 1. ! ! 1. 1. 1. ! Funkcje Definicja funkcji deff('[out] = dB(inp)',' out = 10*log10(inp)`) Wywołanie funkcji dB(10) Wynik ans = 10. Operatory porównania == ~= >= <= > < Equal to Not equal to Greater than or equal to Less than or equal to Greater than Less than Instrukcje sterujące if - instrukcja warunkowa select - instrukcja wyboru Pętle: for while break - instrukcja przerwania Instrukcja warunkowa IF if warunek1 then ciag instrukcji wykonywanych gdy spelniony jest warunek1 elseif warunek2 then ciag instrukcji wykonywanych gdy spelniony jest warunek2 ... elseif warunekN then ciag instrukcji wykonywanych gdy spelniony jest warunekN else ciag instrukcji wykonywanych gdy nie jest spelniony zaden z warunków od 1 do N end Instrukcja warunkowa IF if x>0 then, y=-x, else, y=x, end T x>0 N y = -x y=x Instrukcja warunkowa IF if modulo(num,2) == 0 disp(`Liczba jest parzysta'); elseif modulo(num,2) ~=0 disp(`Liczba jest nieparzysta'); else disp(`Niewłaściwa liczba'); end Instrukcja wyboru SELECT select zmienna_testjaca case wyrazenie_1 ciag instrukcji wykonywany gdy zmienna_testujaca równa jest wyrazeniu_1 ... case wyrazenieN ciag instrukcji wykonywany gdy zmienna_testujaca rowna jest wyrazeniu_N else ciag instrukcji wykonywany gdy zmienna_testujaca nie jest równa zadnemu z wyrazen od 1 do N end Instrukcja wyboru SELECT select case case else end num 1 y = 'przypadek 1' 2 y = 'przypadek 2' y = 'inne przypadki' N num = 1 T y = `przypadek 1' N num = 2 T y = `inne przypadki' y = `przypadek 2' Instrukcja wyboru SELECT select modulo(num,2) case 0 disp(`Liczba jest parzysta'); case 1 disp(`Liczba jest nieparzysta'); else disp(`Niewłaściwa liczba'); end Pętla FOR for i = i_start : i_krok : i koniec instrukcja1 instrukcja2 ........... instrukcjan end Pętla FOR y=0; for i=1:4, y=y+v(i), end i=1 y = y + v(i) i = i +1 i <= 4 Pętla FOR v=[1 -1 1 -1] y=0; for k=v, y=y+k, end Pętla FOR //Program to generate Bipolar signal +1 / -1 mat = rand(1,10,'normal'); binary =zeros(size(mat)); for count = 1:1:length(mat) if mat(count) >= 0 binary(count) =1; else binary(count) =-1; end end Pętla WHILE while warunek instrukcja_1 ............. instrukcja_N end Pętla WHILE x=1 ; while x<14, x=2*x, end x=1 x=2*x x < 14 Pętla WHILE mat = rand(1,10,'normal'); binary =zeros(size(mat)); count = 1; while( count <= length(mat)) if mat(count) >= 0 binary(count) =1; else binary(count) =-1; end count =count+1; end Instrukcja BREAK mat = rand(1,10,'normal'); binary =zeros(size(mat)); count = 1; while( count <= length(mat)) if mat(count) >= 0 binary(count) =1; else binary(count) =-1; end count =count+1; // break condition if count == 5 break; end end