Programowanie obiektowe



Podobne dokumenty
JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Cw.12 JAVAScript w dokumentach HTML

Informatyka MPDI 3 semestr

JAVAScript w dokumentach HTML - przypomnienie

JAVAScript w dokumentach HTML (2)

Inżynieria Środowiska. Wykład 6 Inżynieria programowania

Programowanie obiektowe. Wykład 4

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Podstawy JavaScript ćwiczenia

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Podstawy Programowania Obiektowego

Funkcje i instrukcje języka JavaScript

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

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

Programowanie obiektowe - 1.

Język programowania. Andrzej Bobyk

JAVAScript tablice, przekazanie danych do funkcji, obiekty Date i window

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

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

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

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Języki skryptowe w programie Plans

Modelowanie i Programowanie Obiektowe

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

Podstawy programowania skrót z wykładów:

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

1 Podstawy c++ w pigułce.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Krótki kurs JavaScript

Programowanie obiektowe

Rys.2.1. Drzewo modelu DOM [1]

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

ZMIENNE. Podstawy PHP

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Język ludzki kod maszynowy

Umieszczanie kodu. kod skryptu

Wykład 8: klasy cz. 4

Podstawy Języka Java

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Technologie i usługi internetowe cz. 2

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

4. Funkcje. Przykłady

Definiowanie własnych klas

Tworzenie Stron Internetowych. odcinek 10

Autor: dr inż. Katarzyna Rudnik

Laboratorium 1 - Programowanie proceduralne i obiektowe

Zdarzenia Zdarzenia onload i onunload

Algorytmika i Programowanie VBA 1 - podstawy

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

XML extensible Markup Language. część 5

Pętle. Dodał Administrator niedziela, 14 marzec :27

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Informatyka 2MPDI. Wykład 4

Programowanie obiektowe

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Wykład 03 JavaScript. Michał Drabik

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

Programowanie w języku Python. Grażyna Koba

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Zajęcia 4 - Wprowadzenie do Javascript

Paweł Kurzawa, Delfina Kongo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Mechatronika PWSW. Informatyka. Wykład 2

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

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Programowanie obiektowe

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie obiektowe zastosowanie języka Java SE

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

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Dodawanie grafiki i obiektów

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

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

Bazy danych TERMINOLOGIA

Wprowadzenie do systemów informacyjnych

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

PHP: bloki kodu, tablice, obiekty i formularze

Powtórka algorytmów. Wprowadzenie do języka Java.

Podstawy programowania w języku C

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny

Bazy Danych i Usługi Sieciowe

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Transkrypt:

Programowanie obiektowe 15 godzin w. 30 godzin lab Wykład 1

Zakres 1. Wprowadzenie do programowania zorientowanego obiektowo. Definicja klasy. Instancje. Pola i metody. Dziedziczenie klas. Enkapsulacja. Polimorfizm. 2. Techniki obiektowe w JavaScript. Obiekt Math, Date, document. Dostęp do obiektów. Tworzenie i modyfikacja instancji. 3. Tworzenie nowych klas i instancji kreacja metod i ich wykorzystanie. 4. Wprowadzenie do programowania w środowisku Java (Eclipse, NetBeans). Konstruktory i destruktory, dziedziczenie. 5. Obiekty i klasy w Javie. Przykłady zastosowań.

Podstawowe cechy programowania obiektowego

Programowanie strukturalne (proceduralne) to koncepcja tradycyjna Główną jego składową są instrukcje działające na danych. Złożone programy korzystają z funkcji, procedur (także modułów) w celu uproszczenia zarządzania i kontroli nad programem, lecz nie zmienia to podstawowej koncepcji.

Wady programowania strukturalnego dane są powszechnie dostępne łatwo o błędy, sekwencyjność wykonywania programu, wszystkie sytuacje trzeba przewidywać i obsługiwać, konieczność testowania po każdej zmianie, wiele instrukcji, obszerny kod, trudność zrozumienia algorytmu służy do nauki programowania niewygodne nie przystaje do obecnych systemów operacyjnych obiektowych (komponentowych)

Przykład wykorzystania funkcji <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> function dodaj(s1,s2) { s3=s1+s2; alert(s3); } </SCRIPT> <BODY style="font-size:28px"> <SCRIPT LANGUAGE="JavaScript"> dodaj(-3, 1.5); dodaj(13,2.5); </SCRIPT> </BODY> //wykonanie funkcji //inne wykonanie funkcji //definicja funkcji

Zauważono Kryzys oprogramowania programowanie strukturalne utrudnia panowanie nad bardzo złożonymi systemami informatycznymi (SI) - rozwój sprzętu wyprzedzał techniki budowania SI. Potrzebne były metody zwiększające wydajność i systematyczność tworzenia SI, a następnie ich wydajność. Poza tym powstały interfejsy graficzne (Windows)! Korzenie technologii obiektowej lata 60-te, Nygaard i Dohl - Simula 1, Simula67 (1967).

OBIEKTOWOŚĆ filozofia tworzenia na podstawie rzeczywistych zjawisk otaczającego świata (nie tylko język programowania). Obiekty (świata rzeczywistego a także systemu operacyjnego komputera plik, ikona, przycisk, okno) mają swoje właściwości statyczne (nazwa, kolor itp.) a także zbiory operacji na nich czy przez nie wykonywanych.

Np. typ tablica ma swoje cechy atrybuty: wymiar rozmiar typ przechowywanych danych nie określa się jednak sposobów operacji na tablicach (np. dodawanie tablic), trzeba do tej operacji tworzyć własne kody lub korzystać z bibliotecznych procedur, których użycie wymaga szczegółowego zapoznania się z zestawem parametrów formalnych (sposób użycia).

Stworzono tzw. ADT abstrakcyjny typ danych nazwano modułem (język Modula) lub klasą (język Simula). Podążanie w kierunku naturalnego języka (zbliżenie do rzeczywistości), System reaguje na zdarzenia ( siły sprawcze ), efektem są procesy: o o o inicjacji przetwarzania parametrów obiektów przesyłu informacji między obiektami oddziaływania jednych obiektów na inne

PROGRAMOWANIE OOP (Object Oriented Programming) podstawowe pojęcia Programowanie zorientowane obiektowo (OOP Object Oriented Programming) umożliwia przedstawienie problemu w postaci logicznie powiązanych ze sobą struktur danych zwanych obiektami, wymieniających informacje między sobą. Obiektowość opiera się na koncepcyjnym (intuicyjnym) klasyfikowaniu rzeczywistości. Na świat składają się obiekty i procesy w nich zachodzące. Koncepcja (pojęcie) "klasy" KLASA= typ obiektowy=encja (entity) OBIEKT = reprezentacja w klasie = instancja

Podobnie jak typ zmiennej i zmienna typ liczbowy klasa człowiek x y z przedstawiciele typu A B C instancje w klasie

"Koncepcja (pojęcie) jest wyobrażeniem lub oznaczeniem stosowanym do rzeczy lub obiektów w naszej świadomości" (Martin) (Encja = byt pojęciowy, konceptualny) Przykład 1: Klasyfikacja obiektów materialne: osoba, samochód, robot, maszyna niematerialne (abstrakcyjne): firma, czas, role: pacjent, nauczyciel, relacyjne: małżeństwo, posiadanie zdarzeniowe: sprzedaż, wysłanie inne: zestaw, ikona, sygnał, proces

Łatwo zrozumieć pojęcia materialne, trudniej abstrakcyjne. Przenikanie i wzajemna zależność pojęć. Klasy: wyrób japoński, urządzenie do rejestracji obrazu, Obiekty: kamera SONY, magnetowid Panasonic magnetowid Toyota Celica

OBIEKTY egzemplarze typów obiektowych (TO), instancje w klasie Np. Samochód (TO) Toyota, Renault (obiekty) wyrób Renault (TO) Megane, Kangoo, Clio (obiekty) KLASA - zbiór obiektów przefiltrowanych przez definicję typu obiektowego - sklasyfikowanych do tego typu. Może być brak obiektów w klasie np. klasa: perpetuum mobile, klasa: samochód napędzany wodą

Typ obiektowy = klasa - jest to złożona struktura danych o określonej liczbie atrybutów. Atrybuty dzielimy na pola i metody. pola (fields) atrybuty (właściwości opisane wartościami dowolnych typów, także strukturalnych) Pole jest to zmienna, która może być różnego typu. metody (methods) procedury i funkcje wykonywane na polach. Metoda jest czynnością wykonywaną na obiekcie w postaci procedury lub funkcji. Metoda obiektu operuje na polach (danych) obiektu, przy ich pomocy mamy dostęp do pól.

Teoria programowania wprowadza pojęcie typu rekordowego Przykład definicji typu rekordowego: typ osoba =record { nazwisko : tekst imie: tekst wiek: liczba całkowita kolor_oczu: (niebieskie,czarne, piwne, zielone, brązowe); } itd.. //typ tzw. wyliczeniowy Znamy to z baz danych: Microsoft Access semestr 2.

Prosty typ obiektowy (klasa) mógłby na przykład być tak definiowany typ osoba = class { nazwisko : tekst waga: liczba całkowita funkcja jedz (kg) {waga=waga+kg/10} funkcja biegaj (km) } {waga=waga-km/10} Jak widzimy definicja klasy (typu obiektowego) zawiera dwie funkcje (metody).

Czyli. typ obiektowy to typ rekordowy poszerzony o metody (funkcje)

Dokładniej metoda jest to pewna funkcja mająca definicję w ramach typu obiektowego, jest integralnie przypisana do klasy. Wykorzystanie właściwości i metod jest kwalifikowane (przypisanie do egzemplarzy w klasie): definicja klasy Kot { właściwości metody } Maciuś, Mruczek Kot definicje Maciuś. sierść => szara; Mruczek.jedz Maciuś.miaucz akcje wyzwolone przez siły sprawcze: nadania wartości właściwościom, wykonanie metod

Hermetyzacja Własność polegająca na dostępie do pól jedynie przy użyciu metod nazywa się hermetyzacją. Ułatwia kontrolę poprawności złożonych programów.

Dziedziczenie Typ obiektowy może on być: niezależny, (zdefiniowany podobnie jak typ rekordowy) jako potomek istniejącego. Wtedy mówimy, że obiekt dziedziczy wszystkie elementy (pola i metody) swojego przodka lub jest typem potomnym. Obiekty potomne mogą mieć własnego potomka (lub wielu).

Przykładowo: klasa nadrzędna: człowiek klasa podrzędna: pracownik lub student (potomek klasy człowiek). Obiekt dziedziczy wszystkie elementy (pola i metody) swojego przodka lub jest typem potomnym posiada dodatkowe pola i metody Obiekty potomne mogą mieć własnego potomka (lub wielu). Przykładowo: robotnik, urzędnik potomkowie klasy pracownik

Wzajemne zależności obiektów układają się w drzewo hierarchii obiektów. Dziedziczność bezpośrednia przodek jest niezależny (sam nie ma przodka) Dziedziczność pośrednia przodek już dziedziczy (sam ma przodka)

Przykład: typ polozenie = class {//obiekt niezależny x: liczba całkowita; y: liczba całkowita; } typ punkt = class (polozenie){ //obiekt potomny widocznosc: typ logiczny (TAK/NIE); }

Przykład: typ { TPolozenie = class x: liczba całkowita; y: liczba całkowita; function przesun (dx, dy: liczba całkowita) { x:=x+dx; y:=y+dy; } } opis metody

Jeśli mamy zdefiniowany typ (klasę) Polozenie korzystać z obiektów (instancji w klasie) możemy p1, p2 obiekty typu (klasy) Polozenie //nadanie wartości polom (w zależności od ich typu) p1.x=100; p1.y = 30; //wykonanie metody p1.przesun(100,50); dostęp do pól (też metod) - zapis z kropką

Jeszcze jeden ważny aspekt zagnieżdżanie obiektów Obiekty mogą się składać się z obiektów składowych, czyli właściwości klasy mogą być też klasami, przykładowo: klasa Robot_humanoidalny { klasa Ręka [2] } {definicja} klasa Noga [2] {definicja} klasa Tułów {definicja} metody robota obiekty R1, R2:Robot_humanoidalny; pola klasy też typu obiektowego metody klasy Definicja Określenie przynależności obiektów do klasy R1.Reka. przesuń(kierunek, odległość) Przykładowa akcja

OOP - Object Oriented Programming stosuje się typ obiektowy - abstrakcyjne typy danych operacje programu dotyczą utworzonych w nim obiektów (instancji) zgodnie z definicją dane traktowane są jako rzecz istotniejsza - funkcje na drugim miejscu

Istota działań w programie: sterowane zdarzeniami (event_driven) zdarzenie jest zjawiskiem mającym związek z obiektem: - w interfejsie systemu (naciśnięcie klawisza, kliknięcie myszką, wybranie opcji menu) - w określonym momencie czasowym - w przypadku detekcji wystąpienia pewnego zjawiska, stanu, poziomu jakiejś wielkości - wyzwolone przez inny obiekt działania nie muszą być sekwencyjnie wykonywane - wystąpienie zdarzenia aktywizacja procedury obsługi (metody) - dalsze oczekiwanie na następne zdarzenie praktyczna realizacja wspomagana przez jakiś system operacyjny

Realizacja programowania obiektowego: - większość współczesnych języków: C++, Java, JavaScript, PHP, ObjectPascal, C#, nawet w środowiskach specjalizowanych: np. Matlab - w złożonych systemach, np. : sterowanie automatów, systemy czasu rzeczywistego - często specjalistyczne oprogramowanie, kodowanie danych i funkcji systemów obiektowych z wykorzystaniem języków niskiego poziomu (elementarne rozkazy procesora, assembler)

Javascript Przypomnienie zasad Może być osadzany w innych programach, na przykład w przeglądarce internetowej, aby, mając dostęp do obiektów otoczenia (np. modelu obiektowego przeglądarki internetowej - DOM), można sprawować nad tym otoczeniem kontrolę. Javascript jest łatwy w nauce i pozwala na pewne zdynamizowanie stron internetowych, a także zarządzanie włanymi, utworzonymi obiektami. Przeglądarki mogą pytać o zezwolenie na wykonanie skryptu.

Wstawienie skryptu do dokumentu HTML Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript umieszczane są między znacznikami <SCRIPT> i </SCRIPT>. <SCRIPT LANGUAGE="JavaScript"> treść skryptu </SCRIPT>

<HTML><HEAD></HEAD> <BODY> <P> To jest tekst 1</P> <SCRIPT LANGUAGE="JavaScript"> treść skryptu 1 </SCRIPT> <P> To jest tekst 2</P> <SCRIPT LANGUAGE="JavaScript"> treść skryptu 2 </SCRIPT> </BODY></HTML> Może istnieć wiele skryptów naprzemiennie z pozostałym kodem HTML

Aby tworzyć działające skrypty JavaScript wymagane są: - jakaś metoda wprowadzania i przechowania danych (liczb, tekstów) - jakieś instrukcje, które umożliwią obliczenia wyników - jakieś metody pokazania wyniku

Wykorzystanie skryptu Javascript w dokumencie HTML <HTML><HEAD></HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript"> // obiekt document i jego metoda write - wypisanie tekstu document.write ("To jest zwykły tekst"); // wysyłamy też znacznik HTML document.write ("<BR />"); //nadajemy wartość zmiennej x=5; //... i wyświetlamy jej wartość document.write("wartość zmiennej <I>x</I> : "+x); document.write ("<BR>To jest liczba PI:"+Math.PI); </SCRIPT> <P> a to już akapit poza skryptem</p> </BODY></HTML> właściwość obiektu

Kilka zasad pisania skryptów Komentarze Komentarz o kilku wierszach, /* treść komentarza */ Jednowierszowy komentarz // tekst Wykorzystywane są w celu: - opisy wyjaśniające - dezaktywowanie instrukcji (testy, błędy)

Identyfikatory Są to nazwy elementów (zmiennych, obiektów, funkcji) Zmienne służą do przechowania wartości określonego typu Jednym z podstawowych sposobów nadania wartości zmiennej jest instrukcja przypisania (nadania wartości) Ciąg liter, cyfr, znaków podkreślenia (nie wolno spacji!) Musi się zaczynać od litery Ważne duże i małe litery! (w odróżnieniu od innych języków) Przykłady identyfikatorów dla zmiennych: x alfa Alfa mojazmienna B11 c_33 to dwie różne zmienne styl "wielbłądzi"

Operatory Arytmetyczne: + - * / %(reszta z dzielenia) Przypisania: = += x+=5 odpowiada x=x+5, = x =5 odpowiada x=x 5, *= x*=5 odpowiada x=x*5, /= x/=5 odpowiada x=x/5, ++ inkrementacja zwiększenie o 1 (x++ odpowiada x=x+1) -- dekrementacja zmniejszenie o 1 (x-- odpowiada x=x-1) %= reszta z dzielenia (x%=5 odpowiada x=x%5) operator + służy też do konkatenacji (łączenia tekstów) "Mateusz " + 'Kowalski' para " lub para '

Przykładowo: <SCRIPT LANGUAGE="JavaScript"> x = 7; //początkowo x ma wartość 7 x++; //zwiększamy o 1 x += 4; //dodajemy 4 (lub: x=x+4 ) x %= 10; //reszta z dzielenia z przez 10, a więc.. 2 //tu trzeba by wypisać wartość x na ekranie, zaraz się nauczymy </SCRIPT>

Operatory porównania wyrażenie operator wyrażenie ==!=(nierówne) <= < > >= Przykładowo: x==5 x>=3 a+b> 3*y jest to pytanie: czy jest spełnione? odpowiedź: tak lub nie (TRUE/FALSE) Porównania mogą być przypisane do zmiennej: z34 = 5<=6 (zmienna z34 będzie miała wartość true) Używane też w innych instrukcjach (np. warunkowej) o tym za chwilę

Operatory logiczne koniunkcja (i) && alternatywa (lub) negacja! true && false daje false!false daje true

Instrukcje wykonanie akcji! Instrukcje języka oddzielamy średnikami (jeśli zapisujemy w tym samym wierszu). Czasem blok kilku instrukcji otaczamy klamrami { } zazwyczaj we wnętrzu instrukcji warunkowych i iteracyjnych (np. if, for, while) o nich za chwilę <SCRIPT LANGUAGE="JavaScript"> instrukcja1; { instrukcja2; instrukcja3; instrukcja4; } </SCRIPT> traktowany w całości jako blok instrukcji

Typy instrukcji - przypisania (nadania wartości); - warunkowe - pętle - wykonania funkcji (metody obiektu)

Instrukcja przypisania zmienna operator_przypisania [wyrażenie]; Po lewej stronie operatora tylko nazwa zmiennej!!! inicjowanej (pierwszy raz definiowanej) lub istniejącej i przedefiniowywanej. Po prawej stronie operatora piszemy wyrażenie (bardzo podobne jak w Excelu), zawierające liczby, operatory, nawiasy okrągłe, funkcje metody obiektów, oraz zmienne o ZNANYCH WARTOŚCIACH Wyrażenie jest obliczane i jego wartość przechowana w zmiennej Wyrażenie jest opcjonalne (pomijamy w przypadku operatorów ++ i --) Przykłady: x=5; alfa= 3*x; b15=(3-x)+2.7/alfa; b15++; x+=4; stałe - liczby dziesiętne z KROPKĄ!!!

Oczywiście ważna jest kolejność instrukcji przypisania! a=5; a++; //to ma sens a++; //nieznane a a=5;

Instrukcja wypisania na ekranie document.write (element); document to wbudowany obiekt w JavaScript, a write (pisz) to jedna z jego metod identyfikator obiektu i identyfikator jego metody oddzielamy kropką Przykład <SCRIPT LANGUAGE="JavaScript"> document.write ("To jest zwykły tekst<br />"); x=5; //przypisujemy wartość zmiennej // wyświetlamy jej wartość document.write("wartość zmiennej <I>x</I> : "+x+"<br />"); napis="mateusz " + 'Kowalski'; document.write(napis); </SCRIPT> Można wysyłać do przeglądarki znaczniki HTML(dla pozycjonowania, formatowania itp.)

Inna metoda wyprowadzenia danych - wyświetlanie w dodatkowym okienku alert Metoda dla obiektu window, tworząca okienko dialogowe z napisem informacyjnym lub wartością numeryczną. <SCRIPT language="javascript"> raz=2; alert("witaj!"); alert("witaj "+raz+"-gi raz"); </SCRIPT> dokładniej window.alert, ale domyślny obiekt to window

Obiekt Math (uwaga! duża litera M) Wbudowany obiekt Math zawiera wartości matematyczne, jako właściwości (ang. property) i funkcje standardowe jako metody (ang. method). Są tutaj przechowywane pewne stałe matematyczne: Math.property lub gotowe funkcje Math.method gdzie property lub method jest jednym z podanych niżej elementów.

property (właściwości) E e - stała Eulera, która wynosi ok. 2.718 PI wartość liczby π, czyli ok. 3.14159 document.write(math.e);

method (metody) abs(wyrażenie) cos(wyrażenie) sin(wyrażenie) tan(liczba) ceil(liczba) floor(liczba) round(liczba) exp(liczba) wartość bezwzględna liczby funkcje trygonometryczne (argument w radianach!!!) zaokrąglenie do całkowitej w górę zaokrąglenie do całkowitej w dół zaokrąglenie do najbliższej całkowitej e x UWAGA!!! log(liczba) logarytm naturalny liczby! pow(liczba1,liczba2) random() sqrt(liczba) wartość liczby1 podniesionej do potęgi liczby2 wartość pseudolosowa z przedziału (0,1) bez argumentu pierwiastek kwadratowy liczby

Przykłady: <SCRIPT LANGUAGE="JavaScript"> document.write(math.sin(4*math.pi/180)+"<br />"); </SCRIPT> lub wykorzystując zmienną: <SCRIPT LANGUAGE="JavaScript"> wynik=math.sin(3*math.pi/180); document.write(wynik); //można też alert ("Wynik=:"+wynik); //w dodatkowym oknie </SCRIPT>

Sekwencja obliczeń: <SCRIPT LANGUAGE="JavaScript"> //Pierwiastki równania kwadratowego a=5; b=5; c=1; delta=b*b-4*a*c; pdelta=math.sqrt(delta); x1=(-b-pdelta)/2/a; //albo /(2*a) x2=(-b+pdelta)/2/a; document.write('x1:'+x1+"<br />"); document.write('x2:'+x2+"<br />"); </SCRIPT> x1:-0.7236067977499789 x2:-0.276393202250021 Oczywiście gdy delta będzie ujemne, to błąd! NaN nieokreślone Jak przeciwdziałać? Instrukcja badania warunku if (test, sprawdzenie!)

Przykład pisania wyrażeń zapis w skrypcie JavaScript y = sin 2 x x 3 3 ( x + 4 3 ) x x=math.pi; //musimy określić wartość x y= (Math.pow(Math.sin(x),2) - Math.pow((x-3)*x,1/3)) /(Math.abs(Math.pow(x,-3))+4); document.write(y); łatwo o błędy (dużo nawiasów!) Uwaga: wolno spacje, ale nie wewnątrz nazw wolno przenieść do następnego wiersza

jak sobie ułatwić? wprowadzać zmienne pomocnicze liczymy etapami. y = sin 2 x x 3 3 ( x + 4 3 ) x <SCRIPT language="javascript"> x=math.pi; //jak poprzednio L1= Math.pow(Math.sin(x),2); L2=Math.pow((x-3)*x,1/3); L= L1- L2;//licznik M= Math.abs(Math.pow(x,-3))+4; //mianownik y= L/M; //wynik document.write(y); </SCRIPT>

Debugging detekcja błędów kodu JavaScript Przykładowo: document.write("log(5)<br />"); document.write(math.log(5)/math.log(10)+"< br />"); W IExplorer Menu Narzędzia (narzędzia deweloperskie - F12) w oknie konsoli klikamy menu Skrypt Po odświeżeniu strony w konsoli pojawi się komunikat: SCRIPT5009: Brak definicji math