Metody i języki programowania TH3I5XOJFVAAVLX35JJ2WAXIFRN4BIWYQ4REYMI


METODY I JĘZYKI PROGRAMOWANIA

ODPOWIEDZI

1.Co to jest dokument hipertekstowy? Jakie znasz przykłady takich dokumentów

Dokument hipertekstowy jest normalnym tekstem, z tym że niektóre słowa (bądź wyrażenia) stanowią odsyłacz (link) do innego dokumentu lub innego miejsca w bieżącym pliku. Słowa takie są z reguły prezentowane jako podkreślone, dodatkowo mogą być prezentowane w innym kolorze. Hipertekst występuje najczęściej na stronach WWW albo w systemach pomocy programów systemu Windows. Występuje on również w publikacjach multimedialnych

Dokument hipertekstowy to taki, który pozwala na "przezroczysty" dostęp do odległych zasobów. Chodzi o to, że jego części mogą być "położone" daleko od niego samego (np. obrazki, aplety). Przykładem takich dokumentów są przede wszystkim napisane za pomocą HTML-a wszechobecne strony WWW. Łącznik hipertekstowy, odsyłacz, odnośnik (angielskie link), element hipertekstu pełniący funkcję odsyłacza książkowego, tj. proponujący czytelnikowi przejście do innego miejsca hipertekstu. Systemy hipertekstowe zapamiętują drogę, którą wybiera użytkownik w hipertekście, umożliwiając łatwe wycofywanie się do punktu wyjścia.

Przykłady dokumentów to np: plik Html, plik Chm

2.Co oznaczają skróty:

a. WWW

World Wide Web, najpopularniejsza z dostępnych usług w sieci Internet, powstała w 1991. Zbiór dokumentów stworzonych najczęściej, choć niekoniecznie, za pomocą języka HTML i odnoszących się do siebie nawzajem dzięki tzw. odnośnikom. Pomimo że dokumenty te są umieszczone na różnych komputerach w odległych od siebie geograficznie miejscach, wspólny system nazw oparty na tzw. URL umożliwia stworzenie w ramach danego dokumentu odnośnika do niemal każdego innego, dostępnego w sieci Internet.Wielką popularność WWW zawdzięcza niezwykłej łatwości obsługi, tworzenia i utrzymywania odpowiednich dokumentów, a także atrakcyjnej stronie graficznej.

Strony WWW można odwiedzać za pomocą programu - przeglądarki WWW (np. Internet Explorer albo Netscape Navgator). Do przeglądania WWW używany jest protokół HTTP

b. HTTP

HyperText Transfer Protokol, protokół sieciowy umożliwiający przeglądanie stron WWW. Strony te muszą być umieszczone na komputerze, który pełni funkcje servera stron WWW. Klientem jest komputer, na którym jest uruchomiona przeglądarka WWW i wybrany w niej został adres strony na serwerze.

c.FTP

File Transfer Protocol, protokół umożliwiający przesyłanie plików poprzez sieć Internet. Aby możliwe było przesyłanie plików za pomocą tego protokołu, jeden komputer musi pełnić rolę serwera FTP. Teraz na drugim użytkownik może uruchomić programklienta FTP, za pomocą którego loguje się do serwera. Teraz możliwe jest już przesyłanie plików w dwie strony. Użytkownik nie zawsze jednak ma dostęp do wszystkich plików na serwerze, zależy to od uprawnień, jakie mu przysługują. Popularną usługą jest także anonimowe FTP. Użytkownik może się zalogować do komputera, na którym nie ma żadnych praw dostępu. Jako nazwę użytkownika podaje “anonymous”, hasłem zaś jest jego adres e-mail. Użytkownik ma wtedy możliwość korzystania z wybranych zasobów serwera.

d.HTML

HyperText Markup Language, specjalny język służący do opisu strony oraz odniesień z poszczególnych jej elementów do innych dokumentów. Język ten powstał na potrzeby internetowej usługi WWW. Umożliwia umieszczenie na stronie tekstu zdefiniowanych dyrektyw co do sposobu jego prezentacji, wyróżnienia pewnych jego elementów edytorskich jak akapity, nagłówki itp. Pozwala także umieszczać bezpośrednio na opisywanych stronach grafikę, a w najnowszych wersjach również inne typy dokumentów. Pewne zdefiniowane przez autora strony elementy (np. fragmenty tekstu) mogą dodatkowo wskazywać na inne dokumenty. Wskazanie takie odbywa się przez zdefiniowanie tzw. URL jednoznacznie określającego dokument w obrębie odpowiedniej przestrzeni (np. w lokalnej kartotece lub w sieci Internet). Technikę tą określa się mianem hipertextu. Strony napisane tym języku są interpretowane przez przeglądarkę WWW taką jak np. Netscape Navigator lub Internet Explorer.

Pliki zawierające strony napisane w języku HTML charakteryzują się rozszerzeniem “.html” bądź “.htm”.

e. IP

Internet protocol -Adres IP, cztery bajty określające komputer w Internecie. Każdy podłączony do sieci komputer musi mieć unikalny i niezmienny adres IP. Adres ten zapisuje się jako cztery liczby z zakresu 0 do 255 oddzielone kropkami, np. 149.164.34.17 (każda liczba oznacza jeden bajt). Użytkownik sieci nie musi pamiętać takiego adresu, dzięki systemowi DNS (z języka angielskiego Domain Name Server). Pakiet IP, datagram IP (angielskie IP packet, IP datagram), podstawowa jednostka informacji przesyłanej w sieci Internet. Pakiet IP zawiera m. in. adresy internetowe nadawcy i odbiory komunikatu oraz blok danych. Łączna długość pakietu IP nie przekracza 64 KB.

f. CSS

Cascade Style Sheet (Kaskadowy arkusz stylu) Mechanizm pozwalający przypisywać style elementom definiowanym przy pomocy języków opisu dokumentu - przede wszystkim HTML i XML. Technika CSS pozwala na realizację i łatwą modyfikację bardzo złożonych stron WWW, w przypadku których późniejsza zmiana istniejącego formatu byłaby wyjątkowo czaso- i pracochłonna.

g. JS

Java Script Pierwotnie znany pod nazwa LiveScript, dopóki Sun Microsystems nie opublikował języka Java. Po wprowadzeniu Javy Netscape i Sun Microsystems porozumiały się i przemianowały LiveScript na JavaScript. JavaScript jest językiem który wspomaga tworzenie stron zrobionych w języku HTML. Jest to język skryptowy co oznacza iż program napisany w tym języku nie musi być poddany procesowi kompilacji. Program napisany w JavaScript wykonywany jest przez interpreter komend, którym jest przeglądarka internetowa. Js jest to również rozszerzenie zewnętrznego pliku Java Script (nazwa.js)

h.DOM

Document Obiect Model (Obiektowy model dokumentu)

Interfejs programowy (API) dla dokumentów HTML - mechanizm pozwalający na dostęp do obiektów strony WWW, głównie przy pomocy języków skryptowych. DOM stanowi podstawę działania dynamicznego HTML wprowadzając obiektową hierarchię elementów występujących w dokumencie HTML. Dzięki temu każda z części dokumentu może zostać poddana modyfikacji - zaplanowanej wcześniej lub będącej odpowiedzią na określone działanie użytkownika. Ponieważ "aranżacja" strony WWW wykonywana jest już po pobraniu całego kodu przez przeglądarkę (client-side), swoją dynamikę zachowuje ona również po odłączeniu od sieci. DOM umożliwia także zarządzanie właściwościami dokumentu (np. kolor tła i odnośników, tytuł), uzyskiwanie informacji o systemie użytkownika oglądającego stronę (liczba kolorów, rozdzielczość ekranu, lokalna data i godzina) oraz o przeglądarce (producent, numer wersji). Mechanizm dostępny jest jedynie w nowszych wersjach (4.0 i wyższych) przeglądarek Internet Explorer oraz Netscape Navigator.

i.IDE

Integrated Develompent Environment(Zintegrowane środowisko), zespolone środowisko rozwojowe; połączenie w jedną funkcjonalną całość programów używanych do wytwarzania oprogramowania: edytora,kompilatora, konsolidatora, zazwyczaj realizowane w formie środowiska okienkowego; Wizualne narzędzie tworzenia programów, umożliwiające napisanie kodu źródłowego, skompilowanie go oraz odszukanie i usuwanie błędów.

j. RAD

Rapid Aplication Development (szybkie programowanie aplikacji), termin komercyjny określający możliwości pakietu oprogramowania działającego w graficznym środowisku okienkowym, służącego do zestawiania aplikacji, w szczególności - ich interfejsów, z modułów wybieranych z bibliotek udostępnianych w postaci drzew tematycznych. W zależności od wybranego elementu pakiet RAD wytwarza fragmenty kodu (np. W języku C++) wraz z odpowiednimi wywołaniami. Szczegóły odbiegające od standardu uzupełnia ręcznie programista. Aplikacje wytworzone w środowiskach RAD są z reguły słabo przenośne i zajmują dużo pamięci, jednak możliwość automatycznego oprogramowania ich najżmudniejszych elementów (interfejs graficzny) oraz ułatwiony kontakt ze standardowymi bazami danych powoduje, że programowanie RAD staje się coraz popularniejsze.

k.API

Aplication Programming Interface(Interfejs programistyczny aplikacji), Zbiór funkcji dostarczonych przez twórcę biblioteki w celu umożliwienia programiście wykonania określonych działań. Polecenia dzięki którym użytkownik ma dostęp do funkcji systemu operacyjnego, takich jak na przykład tworzenie interfejsu graficznego. Za pomocą API programista może również otrzymywać informacje o systemie, a także kontaktować się z urządzeniami peryferyjnymi.

l.AWT

Abstract Windwing Toolkit (Abstrakcyjny zestaw narzędzi okien)Zestaw modułów graficznego interfejsu użytkownika JAVY dostarczonych przez firmę SUN wraz pakietem JDK 1.1 (w JDK 1.2 zastępuje go biblioteka SWING).

m.GUI

Graphics User Interface (Graficzny interfejs użytkownika)Łącze między człowiekiem a komputerem, na przykład WINDOWS, MacOS, X-Window, korzystające z grafiki wysokiej rozdzielczości, graficznego urządzenia wskazującego, takiego jak mysz i zbioru ekranowych elementów sterujących za pomocą których użytkownik może wykonywać działania.

GUI sposób na komunikację systemu operacyjnego z użytkownikiem. Początkowo systemy operacyjne miały interfejs tekstowy, to znaczy że praca w systemie polegała na wpisywaniu z klawiatury odpowiednich komend. Interfejs taki jest jednak stosunkowo trudny w obsłudze, stąd nowoczesne systemy operacyjne komunikują się za pomocą interfejsu graficznego, na który składają się okna, ikony, przyciski i tym podobne elementy, które obsługuje się za pomocą myszy i klawiatury.

3.Jakie rodzaje komputerów występują w sieci Internet?

-serwer (ang. serwer od serce `służyć, dostarczać, obsługiwać') indor. komputer centralny lub program umożliwiający dostęp do jakiejś usługi innym programom lub komputerom połączonym z nim w sieci.

Sieć komputerowa (angielskie computer network), układ komputerów i urządzeń końcowych (np. drukarka) połączonych między sobą szeregowymi łączami komunikacyjnymi, umożliwiającymi wymianę komunikatów między poszczególnymi stanowiskami. Sieć komputerowa zapewnia bezpieczny dostęp użytkowników do wspólnych zasobów takich jak dane lub urządzenia peryferyjne.

Dostęp komputera do sieci komputerowej odbywa się za pośrednictwem interfejsu sieciowego. Niektóre z komputerów działających w sieci mogą pełnić specjalne funkcje, np. bram, mostów lub ruterów, inne po prostu korzystają z udogodnień tworzonych przez sieć, np. dzielenia zasobów.

W zależności od odległości między komputerami rozróżnia się sieci lokalne, miejskie i rozległe. Szybkości przesyłania danych w sieciach wahają się w granicach od 56 Kb/s (i mniejszych - w przypadku zagęszczenia) do megabitów na sekundę (sieci ATM).

Początki sieci komputerowej sięgają połowy lat sześćdziesiątych XX w. (sieć ARPANET).

Sieci komputerowe mają olbrzymie znaczenie na każdym szczeblu komunikacji: od wymiany informacji między dwoma sąsiednimi biurkami w sali giełdy, poprzez skomputeryzowane usługi telefoniczne, radiowe i telewizyjne, aż po globalną, wielofunkcyjną sieć Internet łączącą dziesiątki milionów użytkowników na całym świecie.

3.Jakie rodzaje komputerów występują w sieci Internet?

W Internecie występują dwa rodzaje komputerów (pod względem udziału w sieci), są to serwer i klienty. Serwer to komputer (choć tak naprawdę serwer to oprogramowanie), który udostępnia innym komputerom (procesom) jakieś usługi, np. www, ftp, POP3 itp. Klienty -to komputery korzystające z usług innych komputerów (serwerów), z reguły nie dostarczające żadnych usług. Niewykluczone jest oczywiście, żeby jedna maszyna była jednocześnie klientem jakieś usługi i serwerem innych. Typowym przykładem takich komputerów są serwery PROXY (pośredniczące), które są jednocześnie klientami i serwerami dla tych samych usług. (to oczywiście wolne rozumienie, ale doskonale przybliża problem; ;-))

4.Czym różni się server od hosta?

Serwer, komputer lub program umożliwiający dostęp do pewnej usługi innym programom bądź komputerom zwanym klientami (tzw. architektura klient-serwer).

Do typowych przykładów należą: serwery plików umożliwiające dostęp innym komputerom w sieci do jakiegoś dysku, serwery usług internetowych - komputery podłączone do sieci Internet, których zadaniem jest udostępnianie różnych usług użytkownikom pracującym przy terminalach. Serwer powinien być zdolny do obsłużenia wielu żądań jednocześnie, w związku z tym powinien posiadać odpowiednio szybki procesor, dużą ilość pamięci operacyjnej i miejsca na dyskach twardych, serwery OLE, tzn. programy lub biblioteki umożliwiające innym programom używającym tej technologii dostęp do jakiegoś typu funkcjonalności za pomocą tzw. interfejsów.

Host-Komputer włączony do sieci połączeniem stałym, posiadający stały adres, udostępniający swoje usługi użytkownikom łączącym się ze swoich komputerów. Powszechną praktyką jest współistnienie na jednym hoście wielu usług, np. WWW, FTP i telnetu. Komputer lokalny użytkownika nazywany jest wtedy zdalnym terminalem (ang. remote terminal).

Każdy komputer podłączony do Internetu lub innej sieci używającej protokołu TCP/IP i posiadający unikalny adres IP. Jeżeli użytkownik łączy się z Internetem dzwoniąc do swojego dostawcy usług internetowych, jego komputer otrzymuje dynamiczny adres IP i na czas trwania połączenia staje się hostem. W tym znaczeniu "host" jest po prostu dowolną maszyną uczestniczącą w wymianie danych przez sieć.

W publikacjach angielskojęzycznych jako czasownik "to host" - dostarczać infrastrukturę dla usług komputerowych. Przykładowo wyrażenia "to host Web server" lub "hosted by" mogą odnosić się do firmy zapewniającej sprzęt, oprogramowanie oraz połączenie dla czyjejś witryny WWW.

Komputer sieciowy, komputer macierzysty, host, węzeł, komputer obliczeniowy, komputer abonencki (angielskie network computer, host, node, site), komputer lub procesor podłączony do sieci, nie pełniący w niej wyróżnionych zadań.

Klient-serwer, jeden ze sposobów współdziałania programów komputerowych. Jeden z programów jest serwerem, to znaczy pracuje ciągle (bądź jest uruchomiony w jakimś okresie czasu) i czeka na żądania. Program kliencki natomiast, jest uruchamiany przez użytkownika i łączy się z serwerem (loguje się do serwera). Na polecenie klienta serwer wykonuje określone usługi. Programy klienta i serwera mogą działać na jednym komputerze, z reguły jednak wykorzystuje się ten sposób w sieci Internet. W ten sposób używa się na przykład e-mail, FTP albo WWW.

4.Czym rożni się "serwer" od "hosta"?

Serwer to - jak opisałem w pytaniu 3 - komputer dostarczający jakichś usług. Host natomiast to każda maszyna biorąca udział w ruchu sieciowym. Wynika z tego, ze każdy serwerem jest hostem (to kurde oczywiste), ale nie każdy host jest serwerem.

5.Podaj przykład adresu IP. Ile bajtów zajmuje on w pamięci?

- patrz punkt 2e !!!

6.Wymień co najmniej dwie przeglądarki internetowe?

Internet Explorer, Netscape Communicator, Opera, Grass Hooper, HyBrowser, Mozilla, Konqueror, Galeon, Lynx, Links, Amaya (W3C), Ariadna

7. Jakie dwa rodzaje symboli występują w języku HTML?

W HTML rozróżniamy dwa rodzaje symboli: zwykły test (wyświetlany później na stronie), oraz znaczniki tworzące komendę dzięki której możemy m.in wyświetlić ten test.

8.Podaj przykład znacznika języka HTML z dwoma parametrami

Oto w postaci listy definicyjnej kilka z nich:

<body bgcolor="#ffcc66" fontcolor="#00000">

Podane parametry są odpowiedzialne za nadanie koloru "podłoża" strony oraz koloru liter standardowego tekstu.

<td width="460" height="56">

Podane parametry ustawiają odpowiednio: szerokość i wysokość tabeli.

9.Podaj 3 przykłady elementów formularza (ankiety) WWW

POLE TEKSTOWE:

<input TYPE="text" SIZE="45" NAME="email" >

LISTA ROZWIJANA:

<select NAME="adresy" size="1">

<option VALUE>-- Wybierz -- </option>

<option VALUE="adres1@ onet.pl"> adres1@ onet.pl </option>

<option VALUE="adres2@go2.pl"> adres2@go2.pl </option>

<option VALUE="adres3@wp.pl"> adres3@wp.pl </option>

</select>

PRZYCISKI WYŚLIJ i WYCZYŚĆ:

<input TYPE="submit" Value=”WYSLIJ”>

<input TYPE="reset" VALUE="Wyczyść">

10.Do czego służą kaskadowe arkusze stylów?

CSS ( punkt 2f ) - umożliwia przypisanie dowolnemu elementowi dokumentu HTML (np. akapitowi, komórce tabeli, poziomej linii) określonego stylu. Przeniesienie opisów formatowania elementów do arkuszy stylów i pozostawienie w dokumencie wyłącznie "czystych" znaczników HTML (bez ustawiania wartości atrybutów) pozwala oddzielić strukturę dokumentu i jego treść od formy przekazu. Sam kod HTML staje się przez to mniejszy i bardziej przejrzysty a witryny ładują się znacznie szybciej. Style pozwalają kontrolować takie atrybuty jak:

.. i wiele innych. Co istotne, style pozwalają uzyskać znacznie więcej niż oferuje zwykły HTML. Umiejętne ich stosowanie pozwala całkowicie odmienić wygląd strony.

Prawidłowo napisany dokument łączący HTML i CSS powinien być także czytelny w starszych przeglądarkach, które nie interpretują arkuszy stylów. Będzie jedynie pozbawiony określonych w nich efektów formatowania.

11.Podaj definicje(oraz jeśli to możliwe, przykłady)pojęć:

a. interpretacja programu - wykonywanie kodu programu "na bieżąco" (teraz to już tylko tak się nazywa, kluczowe języki interpretowane - PERL, PHP4 - najpierw są sprawdzane składniowo, potem kompilowane do kodu pośredniego i dopiero potem wykonywane) przez interpreter języka, w którym program został napisany (PERL, PYTHON, PHP, Tcl/Tk i inne...) interpretator, translator przekładający instrukcje programu na kod pośredni, który następnie interpretuje przy każdym ich wykonaniu. Ponieważ interpreter nie tworzy przekładu w kodzie maszynowym, lecz wykonuje instrukcje, tłumacząc je na bieżąco za każdym razem, wykonanie programu znacznie się wydłuża. Interpreter nie zmusza z kolei do oczekiwania na wykonanie kompilacji po każdej zmianie programu. Typowymi interpreterami są systemy programowania Basic, Java, Perl;

b. kompilacja programu - to jest zamiana napisanego przez programistę kodu do tzw. kodu obiektowego, który potem może zostać przekształcony do postaci wykonywalnej poprzez połączenie

z bibliotekami systemowymi za pomocą konsolidatora . Kompilacja (angielskie compiling), nie całkiem odpowiedni, lecz powszechnie przyjęty termin określający proces tłumaczenia programu z postaci źródłowej na kod wynikowy. Obejmując fazy analizy leksykalnej, składniowej i generowania kodu, kompilacja nie musi przekształcać programu źródłowego w wykonywalny kod maszynowy komputera. Produktem kompilacji jest najczęściej kod z adresami względnymi, obliczonymi z osobna dla każdego skompilowanego modułu. Podczas łączenia modułów (które bardziej zasługiwałoby na miano “kompilacji”, lecz nie jest to przyjęte) następuje ostateczne przeliczenie adresów względem wspólnej bazy i doprowadzenie przetłumaczonego programu do postaci ładowalnej.

c. debugging ( `odrobaczanie, odpluskwianie,')odnajdywanie błędów w programach komputerowych, wyszukiwanie błędów w działającym programie; wyszukiwanie błędów w kodzie źródłowym programu, który "nie chce się skompilowac" nie są debuggingiem; debugging polega na śledzeniu za pomocą specjalnych narzędzie (debugerów, tracerów) zawartości zmiennych programu itp...

d. język wysokiego poziomu (angielskie high-level language), język programowania, zazwyczaj o budowie blokowej, spełniający wymagania programowania strukturalnego, programowania z użyciem obiektów lub nawet programowania obiektowego. Typowymi i najczęściej używanymi językami wysokiego poziomu są języki: C i C++,Smalltalk,Java,Pascal i Lisp, lecz również języki specjalizowane, np. Język SQL służący do formułowania zapytań do baz danych lub edukacyjny języl Logo. Istnieje wiele modyfikacji języków starszej generacji, np. Basica, które po unowocześnieniu spełniają w zupełności kryteria języków wysokiego poziomu. Cechą znamienną dla nich jest możliwość bezpieczniejszego programowania, tj. programowania mniej podatnego na błędy, i wynikająca z tego możliwość opracowywania większych programów (powyżej 10 000 wierszy kodu).

Język wysokiego poziomu to język programowania pozwalający na wysoki stopień abstrakcji podczas projektowania i kodowania programów, aby oderwać programiste od ciągłego "uważania" na sprzętowe ograniczenia.

e. język niskiego poziomu (angielskie low-level language), język programowania, w którym środki strukturalizacji kodu są ograniczone do co najwyżej podprogramów i makroinstrukcji. Do języków niskiego poziomu zalicza się języki adresów symbolicznych , czyli asamblery. Poziom języków programowania nie określa jego jakości, lecz rodzaj zastosowań. Język niskiego poziomu to taki, który jest ściśle związany ze sprzętem, na którym wykonywane będa pisane programy; wsród wad takich jezyków należy wymienic duzy stopień skomplikowania przy projektowaniu i kodowaniu programów oraz dużą trudność w nauczeniu się takiego języka, poza tym przeniesienie napisanego programu na inną platformę (sprzętową lub systemową) jest bardzo trudne, a często wręcz niemożlie. Języki niskiego poziomu nazywane są ASSEMBLERAMI i są ścisle związane z danym procesorem lub systemem operacyjnym

f. assembler (ang. assemble `gromadzić')podstawowy, symboliczny język programowania komputerowego, język poleceń mikroprocesora; także program interpretujący tę symboliczną reprezentację języka programowania jest to język niskiego poziomu, wykorzystujący instrukcje procesora. Program napisany w asemblerze jest tłumaczony na (binarny) kod maszynowy. Program w asemblerze jest bardzo efektywny w porównaniu do programów napisanych w innych językach, jednakże jego tworzenie jest stosunkowo trudne.

g. język imperatywny (angielskie imperative language), język w którym program jest pojmowany jako ciąg wykonywanych po sobie instrukcji. Programista używający języka imperatywnego osiąga zamierzony efekt przez manipulowanie wartościami zmiennych. Przykładami języków imperatywnych są Pascal i C.

h. język deklaratywny - np. język HTML służący do opisu sposobu formatowania fragmentów dokumentu (elementów dokumentu), tak aby wyświetlane za pomaca przeglądarki WWW zachowały nadany format niezależnie od producenta komputera, systemu operacyjnego i samej przeglądarki.

i. język trzeciej generacji

3GL - (ang. 3rd generation language - język trzeciej generacji) Grupa języków programowania trzeciej generacji. Zalicza się do nich m.in. C, Pascal, Fortran, Algol, Cobol.

j. język czwartej generacji

4GL - (ang. 4rd generation language - język czwartej generacji) Grupa języków programowania czwartej generacji. Pozwalają one używać krótkich instrukcji, które w językach trzeciej generacji zajmowałyby setki razy więcej instrukcji. Jest coraz więcej języków czwartej generacji (typu 4GL), których cechą jest całkowite odcięcie się od maszynowej postaci danych i programu. Służą one głównie do programowania baz danych; trudno zresztą nazwać je językami, gdyż w rzeczywistości sam język stanowi tylko jedno z narzędzi do tworzenia i zarządzania oprogramowaniem. Znanym przykładem będzie tutaj SQL - język, którego odmiany służą do tworzenia aplikacji dla takich baz danych, jak Informix czy dBase. Także Delphi - rozszerzenie języka Pascal o programowanie obiektowe i elementy zbliżone do struktur SQL, dzieło firmy Borland - musi zostać zaliczony do tej grupy.

12.Jakie znasz rodzaje operatorów w JavaScript?

Operatory np.: przypisania, logiczne, arytmetyczne, bitowe, relacji, porównania, dekrementacji,

Przykłady:

Operatory przypisania

Symbol

Składnia

Opis

%=

x%=y

Wykonuje przypisanie x=x%y

*=

x*=y

Wykonuje przypisanie x=x*y

/=

x/=y

Wykonuje przypisanie x=x/y

+=

x+=y

Wykonuje przypisanie x=x+y

-=

x-=y

Wykonuje przypisanie x=x-y

=

x=y

Przypisuje wartość y do zmiennej x

Przypisania bitowe

Symbol

Składnia

Opis

<=

x<=y

Wykonuje przypisanie x=x<y

^=

x^=y

Wykonuje przypisanie x=x^y

|=

x|=y

Wykonuje przypisanie x=x|y

<<=

x<<=y

Wykonuje przypisanie x=x<<Y

>>=

x>>=y

Wykonuje przypisanie x=x>>y

>>>=

x>>>==y

Wykonuje przypisanie x=x>>>y

Operatory porównania

Symbol

Składnia

Opis

!=

x!=y

Zwraca true, jeśli zmienne nie są równe.

<

x<y

Zwraca true, jeśli pierwsza zmienna jest mniejsza niż druga.

<=

x<=y

Zwraca true, jeśli pierwsza zmienna jest mniejsza niż druga lub jej równa.

==

x==y

Zwraca true, jeśli zmienne są równe.

>

x>y

Zwraca true, jeśli pierwsza zmienna jest większa niż druga.

>=

x>=y

Zwraca true, jeśli pierwsza zmienna jest większa niż druga lub jej równa.

Operator dekrementacji

Symbol

Składnia

Opis

--

x--

Zmniejsza wartość zmiennej o 1.

Operator inkrementacji

Symbol

Składnia

Opis

++

x++

Zwiększa wartość zmiennej o 1.

Operatory logiczne

Symbol

Składnia

Opis

!

!x

Ten operator logiczny neguje wyrażenie.

<<

x<<y

Operator logiczny AND zwraca true, jeśli obie zmienne są prawdziwe (true).

||

x||y

Operator logiczny OR zwraca true, jeśli co najmniej jedna ze zmiennych jest prawdziwa (true).

Operatory arytmetyczne

Symbol

Składnia

Opis

-

x-y

Wykonuje operację odejmowania.

-

-x

Wykonuje negację zmiennej.

%

x%y

Zwraca resztę z dzielenia pierwszej zmiennej przez drugą (dzielenie modulo).

*

x*y

Wykonuje operację mnożenia.

/

x/y

Wykonuje operację dzielenia.

?:

x?:y

Sprawdza prawdziwość warunku.

+

x+y

Wykonuje operację dodawania.

Operator łańcuchowy (konkatenacji)

Symbol

Składnia

Opis

+

"text1"+ "text2"

Łączy dwa ciągi znaków w jeden.

13.Jakie znasz typy danych w JavaScript?

W JavaScript dostępne są trzy podstawowe typy danych:

liczbowy - liczby zmiennoprzecinkowe (np. 3.1425 lub 314E-2)

liczby całkowite

liczby ósemkowe (np. 079)

liczby szesnastkowe (np. 0XFF lub 0xFF)

łańcuchy tekstowe - definiowany w cudzysłowiach (np. "Hello JAVASCRIPT" )

wartości logiczne - przyjmują dwie wartości true (prawda) i false (fałsz)

14. Co to są zdarzenia na stronie WWW?

Zdarzenia na stronie są albo automatycznym (zaprogramowanym działaniem) lecz najczęściej są efektem działalności użytkownika, przykładowo klikniecie w jakiś link czy gif powoduje jakiś skutek np. wyświetlenie textu,obrazka, podstrony. Dzięki zdarzeniom usługę WWW nazwać można - interaktywną.

15.Zdefiniuj pojęcia:

a. klasa

klasa jest typem danych definiowanym przez programistę (użytkownika języka), składająca się ze zmiennych i funkcji operujących na tych zmiennych,; dla potrzeb programowania zorientowanego obiektowo przyjęło nazywać się je odpowiednio właściwościami klasy i metodami klasy.

b. klasa abstrakcyjna

klasa nie posiadająca do końca zdefiniowanych metod (interfejsów); klasy dziedziczące po tej klasie muszą zdefiniować metody zadeklarowane jako abstract w klasie abstrakcyjnej, w przeciwnym wypadku również będą uznawane za abstrakcyjne

c. pole klasy

zmienna wewnętrzna klasy, nazywana bywa polem, jednakże najczęściej mówimy o niej jako o jednej z właściwości klasy

d. pole obiektowe klasy

zmienna klasy, która jest obiektem innej klasy (klasy możemy tworzyć poprzez dziedziczenie i poprzez kompozycje - składanie z innych klas).

e. metoda (funkcja składowa)

funkcja wewnętrzna klasy służąca do operowania swoimi zmiennymi (bywa również nazywana interfejsem, choć nie do końca jest to prawidłowe)

f. pole statyczne klasy

zmienna klasy zdefiniowana jako static, należy do wszystkich obiektów (instancji) danej klasy i we wszystkich z nich ma tę sama wartość; zmienna ta jest inicjowana podczas tworzenia pierwszego obiektu danej klasy, bądź podczas pierwszego odwołania do jednej z metod tej klasy.

g. zmienna dynamiczna

zwykła zmienna mogąca podczas działania programu ulec zmianie (większość zmiennych programu tak właśnie się zachowuje)

h. zmienna automatyczna

automatic variable - lokalna zmienna dynamiczna

Bóg jeden raczy wiedzieć co miał na myśli p. Niewiadomski zadając to pytanie ;-)))

i. konstruktor

jedna z metod klasy wyróżniająca się brakiem zwracanego typu i możliwością publicznego do niej dostępu; konstruktor zawsze ma taką samą nazwę jak klasa, w której się znajduje; konstruktor wywoływany jest automatycznie podczas tworzenia obiektu

PRZYKŁAD:

public class MojaKlasa {

public int liczbaJeden;

public int liczbaDwa;

public MojaKlasa(){ // to jest konstruktor

this.liczbaJeden = 2;

this.liczbaDwa = 3;

}

}

16.Co oznaczają w informatyce terminy:

a. biblioteka (angielskie library), zbiór podzespołów programowych (procedur, funkcji, struktur danych, deklaracji klas) zawczasu opracowany i przetestowany, służący osobom programującym do budowania nowych programów i systemów. Biblioteki są przechowywane w plikach dyskowych, najczęściej w postaci skompilowanej, przeglądanych przez konsolidatory podczas łączenia modułów programu. Istnieją też biblioteki, których elementy są dołączane do programu podczas jego działania. Biblioteki dzielą się pod względem użyteczności na ogólne, wspierające wykonywanie programu, i specjalistyczne, np. numeryczne lub graficzne. Znajomość bibliotek i umiejętność korzystania z nich są nieodzowne w pracy programisty zawodowego. Przeciętna biblioteka zawiera kilkaset obiektów bibliotecznych . Bibloteka to zestaw funkcji (w programowaniu proceduralnym) lub klas (w programowaniu obiektowym) służącym rozwiązywaniu jakiegoś wspólnego typu problemów; biblioteki zastoswań sieciowych, wyświetlania grafiki itp (biblioteki JAVY to m.in.: AWT, JFC..., biblioteki C++ Microsoftu to MFC, linkusowe biblioteki interfeju użytkownika - Gtk, Qt, ncurses)

b. komponent

element (klasa) większej aplikacji, często interfejsu graficznego, dla GUI komponentem mogą być przyciski, pola tekstowe, itp, JAVA pozwala na stosowanie nowego podejścia do technologii komponentów poprzez stosowanie JavaBeans

c. dziedziczenie

technika programowania obiektowego polegająca na rozszerzaniu właściwości jakiejś klasy przez budowanie na jaj bazie innej, która przejmuje wszystkie (poza określonymi jako private) właściwości i metody klasy bazowej; C++ pozwala na wielokrotne dziedziczenie (wielu klas jednocześnie) JAVA zaś tylko na pojedyncze

d. zawieranie obiektów

sytuacja, w której tworzenie nowych klas polega nie na obudowywaniu klas już istniejących, lecz składaniu nowych z istniejących (technika zwana kompozycją, częściej stosowana niż dziedziczenia)

17.Podaj trzy przykłady typów zmiennych w języku JAVA.

- boolean, - int, - double, - char, - byte, - short, - long, - foat

18.Co to jest aplet?

-Aplet to program (najczęściej niewielki) umieszczany na stronach WWW. Do uruchomienia apletu niezbędna jest przeglądarka internetowa (np. Netscape Navigator albo Internet Explorer). W odróżnieniu od aplikacji systemowej, aplet nie ma możliwości wpływania na stan systemu (np. zapisywania danych na dysku itp). Ma to na celu zwiększenie bezpieczeństwa korzystania ze stron internetowych zawierających aplety. Aplet to niewielki program wbudowany w inną aplikację. W Internecie najczęściej można spotkać się z apletami pisanymi w języku Java.

-Aplikacja, program, realizujący jakieś zadania. Jest on uruchamiany bezpośrednio w środowisku systemu operacyjnego (w przeciwieństwie do apletu). Aplikacja przeznaczona jest do uruchomienia w konkretnym systemie operacyjnym (np. DOS, Windows czy Linux).

19. Co to jest aplikacja konsoli?

Aplikacja konsoli to taki program, który nie posiada graficznego interfejsu do komunikacji z użytkownikiem i jedyna metoda interakcji z nim jest systemowa linia poleceń. Systemy operacyjne MacOS nie maja czegoś takiego jak konsola systemowa w związku z czym wszystkie pisane dla nich programy musza posiadać interfejs graficzny.

20.Kiedy powstał język JAVA? Kiedy stał się standardem i co to znaczy?

- Język wprowadzony w 1995 roku przez Sun Microsystems, obiektowy język programowania niezależny od platformy sprzętowej i systemowej.

Program napisany w Javie może być wykonywany bez powtórnej kompilacji zarówno na komputerze PC pracującym pod kontrolą Windows, na Macintoshu, jak również na maszynie uniksowej. Działa na każdej maszynie, w której zainstalowano specjalne oprogramowanie, tzw. wirtualną maszynę Javy, do której należy zadanie stworzenia w danym systemie środowiska dla programów Javy. Niezależność od platformy, czytelność i prostota, niewielka objętość generowanego kodu, bezpieczeństwo oraz łatwość przyswajania podstaw języka sprawiły, że Java w krótkim czasie zyskała status lingua franca przemysłu komputerowego.

21.Co to znaczy, że JAVA jest niezależna od sprzętu? jakie znasz języki programowania, które są zależne od sprzętu?

Programy napisane w języku JAVA nie są uruchamiane na naszej fizycznej maszynie, lecz na pseudokomputerze, który jest tworzony w trakcie startu JVM (wirtualnej maszyny JAVY patrz punkt 22). JVM jest zaimplementowana dla większości obecnych na rynku platform (nawet dla tych egzotycznych) co pozwala uruchomić je na wielu rożnych komputerach. Aplikacje JAVY uruchamiane na JVM zawsze wyglądają i działają tak samo (poza pewnymi wyjątkami związanymi z biblioteka AWT). Języki programowania, które są zależne od sprzętu generują z reguły znacznie szybszy kod maszynowy, a to dlatego, ze jest on dostosowany dla jednego konkretnego systemu operacyjnego lub architektury sprzętowej. Językami tymi są np. C/C++, Pascal, ObjectPascal, Assemblery itd..

22.Co jest Wirtualna Maszyna JAVY?

- Uniwersalne środowisko, w którym działają programy napisane w Javie.

Dowolny program napisany w języku Java kompilowany jest do postaci pośredniej, tzw. kodu bajtowego (ang. byte code) przeznaczonego dla teoretycznej maszyny. Instrukcje kodu bajtowego interpretowane są przez wirtualną maszynę Javy działającą pod kontrolą dowolnego systemu operacyjnego. Jej zadaniem jest dostosowanie poleceń programu do specyfiki danej platformy oraz uruchomienie kodu bajtowego Javy.

23.Wyjaśnij pojęcia:

a. programowanie liniowe

sposób (paradygmat) programowania, polegający na takim projektowaniu programów, w którym jego przebieg jest znany z góry, przebieg programu wygląda liniowo, a wszelkie jego zmiany dokonywane są za pomocą instrukcji go to.

b. programowanie proceduralne

nieco inny paradygmat programowania pozwalający już definiować własne podprogramy (nazywane tu podprogramami, procedurami lub funkcjami), które wywoływane są z programu głównego i często zwracają do niego jakieś wartości

c. programowanie z ukrywaniem danych

dane dostarczane do programu ukryte są pod postacią zmiennych, do których bezpośredniego dostępu nie mają części programu, które nie powinny go mieć

d. programowanie obiektowe

pełna realizacji pomysłu z programowaniem z ukrywaniem danych, dane ukryte są pod postacią większych ich zestawów oraz dodatkowo funkcji (tu zwanych metodami), które mają na nich operować. Zakres widoczności zmiennych ustalony jest podczas ich deklaracji za pomocą jednego z kilku słów kluczowych (public, private, lub protected bywa również friendly). Programy buduje się z obiektów, które należą do jednej ze zdefiniowanych wcześniej klas.

e. programowanie zorientowane obiektowo

programowanie pozwalające na stosowanie wszystkich ułatwień związanych z programowaniem obiektowym, jednocześnie nie uniemożliwiając programowania w stylu obiektowym. ( w ten sposób został zaprojektowany język C++)

f. programowanie ogólne

programowanie polega na pisaniu programów, które mają za zadanie samodzielnie badać pewne właściwości i zachowywać się we wcześniej ustalony przez programistę sposób. przykładem może być program, który zamiast programisty przeszukuje tekst i zamienia w nim wszystkie wystąpienia wyrazu Kowalski na Wiśniewski. (Do tego konkretnego celu najlepiej nadaje się PERL, SED, bądź AWK, również inne, ale nieco mniej...)

24.Objaśnij terminy:

a. reusability

ponownie wykorzystywalny - dotyczy to możliwości ponownego wykorzystywania raz napisanego kodu, pozwala na to w bardzo dużym stopniu - programowanie obiektowe (C++, JAVA, Smalltalk)

b. programowanie komponentowe

programowanie komponentowe to taki sposób, który pozwala na wielokrotne wykorzystywanie nagranego kodu, komponent (klasa) może zostać zastosowana w wielu programach, które potrzebują podobnej użyteczności. W Javie pozwala na to zaimplementowanie w języku technologi JAVABeans

c. programowanie zdarzeniowe

sposób programowania związany z zachodzącymi w programie zdarzeniami (kliknięcie myszka na przycisku, otwarcie aplikacji, zamknięcie aplikacji, przesuniecie wskaźnika myszki nad aplikacją...). początkowo zaimplementowany w systemie MacOS, w którym taki sposób całkowicie zdominał sposób myślenia programistów. Od tego czasu programowanie zdarzeniowe związane jest z GUI oraz częściowo z WWW (JavaScript I obsługa zdarzeń)

25.Napisz w języku JAVA lub JavaScript przykłady:

a. deklaracji dowolnej funkcji

Funkcje możemy deklarować podając ich implementację, zarówno w JavaScripcie, jak i Javie

JavaScript

function MM_preloadImages(){

//tu zawiera się działanie funkcji

var d=document;

if(d.images) {

if(!d.MM_p)

d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments;

for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0) {

d.MM_p[j]=new Image;

d.MM_p[j++].src=a[i];

}

}

}

JAVA

public void pokazCzasZmiany(CzasZmiany c){ }

b. definicji tej funkcji

W JavaScripcie funkcje z reguły są od razu opisywane (definiowane), w Javie często zdarza się, że obie te czynności rozbijane są na deklarację (w klasach abstrakcyjnych bądź interfejsach) i definicję (w klasach dziedziczących). Poniżej przykład definicji funkcji zadeklarowanej w poprzednim punkcie.

public void pokazCzasZmiany(CzasZmiany c){

//tu możemy zrobic cos z dostarczonym do funkcji obiektem

//klasy CzasZmiany wewnątrz niej dostępnym jako zmienna c

private double czas;

czas = c.jakasFunkcjaZKlasyCzasZmiany();

czas+=12.01;

return czas;

}

c. dziedziczenia

W JavaScripcie niemożliwe jest dziedziczenie, gdyż nie ma (póki co) możliwości definiowania własnych klas, obiekty zaś są zdefiniowane w bezpośrednio w języku. W JAVIE wygląda to tak, jak w większości języków obiektowych:

class CzasZmiany extends Czas extends Zmiany {

//tu deklarujemy właściwości klasy wraz z zasięgiem

//najczęściej widoczność ta jest ograniczona , a dostęp

//do nich jest poprzez metody klasy

protected double czas;

protected int zmiany;

//a tu metody klasy

setCzas(double c) {

this.czas = c;

}

getCzas(){

return this.czas;

}

setZmiany(int z) {

this.zmiany = z;

}

getZmiany() {

return this.z;

}

}

d. definicji tej funkcji

W JavaScripcie funkcje z reguły sąod razu opisywane (definiowane), w JAVI-e często zdarza się, że obie te czynności rozbijane na deklarację (w klasach abstrakcyjnych bądź interfejsach) i definicję (w klasach dziedziczących). Poniżej przykład definicji funkcji zadeklarowanej w poprzednim punkcie.

public void pokazCzasZmiany(CzasZmiany c){

//tu możemy zrobic cos z dostarczonym do funkcji obiektem

//klasy CzasZmiany wewnątrz niej dostępnym jako zmienna c

private double czas;

czas = c.jakasFunkcjaZKlasyCzasZmiany();

czas+=12.01;

return czas;

}

26.Napisz przykład dowolnej klasy publicznej w języku JAVA.

Przykład 1.

public class MojaKlasa {

protected int liczbaJeden;

protected float liczbaDwa;

public int getJeden(){ return liczbaJeden; }

public float getDwa(){ return liczbaDwa;}

public void setJeden(int li){ this.liczbaJeden = li; }

public void setDwa(float li){ this.liczbaDwa = li; }

}

Przykład 2.

- a to nieco inna, która jest rozszerzeniem poprzedniej

public class MojaLepszaKlasa extends MojaKlasa {

private int liczbaTrzy;

private float liczbaCztery;

public int getTrzy(){ return liczbaTrzy; }

public float getCztery(){ return liczbaCztery;}

public void setTrzy(int li){ this.liczbaTrzy = li; }

public void setCztery(float li){ this.liczbaCztery = li; }

}

9

1



Wyszukiwarka

Podobne podstrony:
JS 15 Metody w JavaScript, Programowanie, instrukcje - teoria
Hubert Bielacki Sprawozdanie.2, ElektronikaITelekomunikacjaWAT, Semestr 1, Metodyka i technika progr
31 Jezyki programowania
wyklad5.cpp, JAVA jest językiem programowania obiektowego
Języki programowania zaliczenie wykłady Języki programowania3
Języki programowania zaliczenie wykłady Wykład 5
Języki programowania wykłady
Algorytmy i jezyki programowania(4)
4 jezyki programowania 3
jezyki programowania
Języki programowania i ich klasyfikacja
zestawy-labC++-kolokwium 2 2006-2007, Politechnika Śląska MT MiBM, Semestr III, Języki programowania
OPRACOWANIE 3 rok + moje, MECHATRONIKA, IV Semestr, Języki programowania

więcej podobnych podstron