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



Podobne dokumenty
Cw.12 JAVAScript w dokumentach HTML

JAVAScript w dokumentach HTML (1)

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

JAVAScript w dokumentach HTML - przypomnienie

Definicje. Algorytm to:

Informatyka MPDI 3 semestr

Programowanie w języku Python. Grażyna Koba

Algorytm. a programowanie -

1 Podstawy c++ w pigułce.

Programowanie w języku C++ Grażyna Koba

JAVAScript w dokumentach HTML (2)

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

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

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

1 Wprowadzenie do algorytmiki

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

Technologie informacyjne - wykład 12 -

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

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Rys.2.1. Drzewo modelu DOM [1]

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Języki programowania zasady ich tworzenia

Podstawy Programowania C++

Algorytmika i Programowanie VBA 1 - podstawy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

1 Podstawy c++ w pigułce.

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

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

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Programowanie komputerów

Podstawy programowania w języku C

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

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Programowanie obiektowe

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Wykład z Technologii Informacyjnych. Piotr Mika

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

Język ludzki kod maszynowy

Podstawy Programowania Algorytmy i programowanie

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

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Algorytmy od problemu do wyniku

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

Podstawy Programowania Podstawowa składnia języka C++

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

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

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

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

Pętla for. Wynik działania programu:

ALGORYTMY I PROGRAMY

Programowanie i techniki algorytmiczne

Algorytm. Algorytmy Marek Pudełko

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Zapis algorytmów: schematy blokowe i pseudokod 1

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

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?

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

Podstawy i języki programowania

Programowanie w Turbo Pascal

Funkcje i instrukcje języka JavaScript

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

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

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

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Język programowania PASCAL

Ćwiczenie 1. Wprowadzenie do programu Octave

Zapisywanie algorytmów w języku programowania

Warunki logiczne instrukcja if

Podstawy i języki programowania

4. Funkcje. Przykłady

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Języki skryptowe w programie Plans

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Algorytm. Krótka historia algorytmów

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

2.8. Algorytmy, schematy, programy

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

Języki i metodyka programowania

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Schematy blokowe. Algorytmy Marek Pudełko

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

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

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

ECDL Podstawy programowania Sylabus - wersja 1.0

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Algorytmy. dr Dariusz Banaś (UJK) Seminarium w ramach projektu Fascynujący Świat Nauki dla uczniów gimnazjów. wersja 0.9. Start.

Tablice (jedno i wielowymiarowe), łańcuchy znaków

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

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Paradygmaty programowania

Transkrypt:

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

ALGORYTMY Algorytmjest to sformalizowany ciąg logicznie powiązanych instrukcji (poleceń, rozkazów), których wykonanie pozwoli na przetworzenie informacji wejściowych (danych) w informacje wyjściowe (wyniki). Algorytm -rozwiązywanie "krok po kroku" dowolnego problemu.

Algorytm ma przeprowadzić system z pewnego stanu początkowego do pożądanego stanu końcowego. Badaniem algorytmów zajmuje się algorytmika.

Każdy algorytm komputerowy musi być wprowadzony do komputera w bardzo rygorystycznie zdefiniowanym języku - jednoznaczne instrukcje. Jeżeli dany algorytm da się wykonać na maszynie o dostępnej mocy obliczeniowej i pamięci oraz akceptowalnym czasie, to mówi się że jest to algorytm obliczalny. Algorytm przepis niezależny od implementacji (NARZĘDZIA) Program zastosowanie algorytmu w językuzrozumiałym przez komputer

Czynności służące do rozwiązania zadania: analizatreści zadania wykaz danychwejściowych; wiadomych i niewiadomych oraz relacji między nimi sprawdzenie czy zadanie posiada jednoznaczne rozwiązanie wybór metodyrozwiązania zadania opis czynnościdla wybranej metody rozwiązania sporządzenie i przedstawienie wyników rozwiązania zadania

Sposoby zapisu algorytmów Opis słowny-przedstawienie kolejnych czynności (akcji) na elementach (danych). Przykład:przepis kulinarny Schemat blokowy operacje na danych przedstawione graficznie w postaci elementarnych bloków.

ZASADY BUDOWY SCHEMATU BLOKOWEGO 1) Każda operacja jest umieszczona w bloku 2) Schemat ma tylko jeden blok "START" i przynajmniej jeden blok "STOP" 3) Bloki mają połączenia ukierunkowane 4) Z bloku wychodzi jedno połączenie; wyjątki -"STOP" (nie wychodzą żadne połączenia) -blok "warunkowy" ( wychodzą dwa połączenia opisane TAK i NIE) 5) W bloku "operacyjnym" odbywa się nadanie wartości (przypisanie) znak :=

Reguły graficzne tworzenia schematów blokowych Start Stop START STOP Operacje wejścia i wyjścia wczytaj a,b,x pisz suma, wynik Instrukcja wykonawcza (proces) blok operacyjny Blok decyzyjny oblicz suma:=a+b suma>0? TAK Łącznik stronicowy NIE 1

Klasy problemów algorytmy obliczeniowe (-np. całkowanie numeryczne, obliczanie funkcji z sumy wyrazów ciągu, wyznaczanie liczb pierwszych, zamiana systemów liczbowych itp.) algorytmy sortujące algorytmy wyszukujące algorytmy kompresji Metodyka algorytm "krok po kroku" algorytmy rekurencyjne algorytmy genetyczne algorytmy sztucznej inteligencji

Dla utworzenia algorytmu konieczne są: opis obiektówdo przechowywania danych wejściowych, danych pośrednich i wyników opis czynnościjakie należy wykonać z obiektami, co realizujemy przy pomocy instrukcji, które opisują: sposób działania kolejność ich wykonywania ewentualne warunki jakie muszą być spełnione opis wyników-zawiera sposób udostępnienia wyników rozwiązanego zadania

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

Rodzaje sieci działań: Proste(sekwencyjne) -kolejność realizacji poszczególnych operacji jest ściśle określona i żadna z nich nie może być pominięta ani powtórzona -nie używa się bloków warunkowych. Z rozwidleniem-zawiera w sobie wybór jednej z kilku możliwych dróg realizacji danego zadania, istnieje przynajmniej jeden blok warunkowy. Z pętlą, często w trakcie realizacji zadania konieczne jest powtórzenie niektórych operacji różniących się zestawem danych. Pętla obejmuje tę część bloków, która ma być powtarzana. Złożone- będące kombinacją powyższych sieci.

Przykład W algorytmach sortujących potrzebny jest mechanizm zamianywartości umieszczonych w dwóch zmiennych, jeśli są w niewłaściwej kolejności Algorytm wymaga zmiennej pomocniczej(jak do zamiany zawartości dwóch szklanek potrzebna jest trzecia szklanka) Opis słowny: Opis słowny: 1. Wczytaj dane do obiektów 1 i 2 2. Przepisz zawartość obiektu 1 do obiektu pomocniczego 3. Przepisz zawartość obiektu 2 do obiektu 1 4. Przepisz zawartość obiektu pomocniczego do obiektu 1 5. Wyprowadź wartości obiektów 1 i 2

wczytaj a,b pom:=a schemat blokowy zamiany wartości w dwóch zmiennych a:=b b:=pom drukuj a, b

obiekt pomocniczy 1 3 A 2 B

Przykład2 z blokiem decyzyjnym i pętlą Ile razy trzeba podzielić na pół daną liczbę, aby uzyskać wartość mniejszą od ε Opis słowny: 1. Wczytaj liczbę i ε 2. Ustal wartość licznika równą 0 3. Podziel liczbę przez 2 4. Zwiększ licznik o 1 5. Sprawdź czy wynik jest mniejszy od ε, jeśli tak, to przejdź do punktu 6, jeśli nie to wróć do punktu 3 6. Wyprowadź wartość licznika

wczytaj liczba, ε licznik:=0 schemat blokowy liczba:=liczba/2 licznik:=licznik+1 liczba< ε NIE TAK drukuj licznik czy algorytm jest poprawny??

wczytaj liczba, ε A może tak lepiej? licznik:=0 liczba:=liczba/2 licznik:=licznik+1 liczba< ε NIE TAK drukuj licznik

A może jeszcze inaczej? wczytaj liczba, ε Który z tych trzech algorytmów jest poprawny? licznik:=0 licznik:=licznik+1 liczba< ε NIE liczba:=liczba/2 TAK drukuj licznik Widzimy, że potrzebna jakaś ocena poprawności

A więc, aby tworzyć efektywne algorytmy i móc je aplikować programowo, potrzebne są następujące elementy: Spektrum obiektówprogramowych, możliwość ich odróżniania, klasyfikacja do typu, umieszczanie ich identyfikatorów (nazw) i wartości w pamięci Spektrum operacji(operatorów nadawania wartości, arytmetycznych, porównania) operacje na obiektach! Mechanizm sterowania co wykonać następnie po aktualnej operacji

Optymalny algorytm wyszukiwania indeksu najmniejszego elementu (czyli numeru elementu) 1. Umieszczamy elementy w obiektach od x[1] do x[n] 2. Zmiennej pomocniczej minprzypisujemy 1 3. Dla zmiennej iod 2 do n-1z krokiem co 2 wykonujemy: Zmiennej pomocniczej min_lokprzypisujemy indeks mniejszej liczby z pary x[i], x[i+1] (czyli przypiszemy i lub i+1) jeśli element x[min_lok] jest mniejszy (w sensie użytego operatora) od elementu x[min], to zmiennej minprzypisujemy wartość min_lok 4. Jeśli njest liczbą nieparzystą, to kończymy algorytm. Jeśli njest liczbą parzystą to wykonujemy: jeśli element x[n] jest mniejszy (w sensie użytego operatora) od elementu x[min], to zmiennej minprzypisujemy wartość ni kończymy algorytm

1 2 3 4 5 min_lok min_lok

Podstawy programowania Do 1954 roku język maszynowy(eniac, Mark I-USA) niskiego poziomu -dla Kodowanie instrukcji procesora w postaci ciągu liczb dwójkowych (elementarny rozkaz i dane) - pracochłonność (same liczby, długie algorytmy działań takich jak dodawanie i mnożenie) np. rzymskie - trudność śledzenia błędów

lata 50-te -zastąpienie kodów liczbowych operacji nazwami mnemotechnicznymi np. mnożenie MPY (multiply) język symboliczny - assembler ASSEMBLER także program tłumaczący na kod maszynowy (wewnętrzny) DISSASSEMBLER tłumaczenie odwrotne Cechy Assemblera - wąski zbiór rozkazów, prymitywna architektura ówczesnych komputerów, - brak rejestrów (pamięci pomocniczych), - brak operacji zmiennoprzecinkowych

1954 języki tzw. wysokiego poziomu (kod maszynowy i assembler to niski poziom bliższy procesorowi) Zapis operacji w sposób łatwiejszy, zrozumiały idobrze kontrolowany przez programistę Po stworzeniu kodu programu w języku następuje proces translacji (tłumaczenia, kompilacji) na język wewnętrzny komputera.

Problemy: - zrozumiałość - jednoznaczność - skuteczność tłumaczenia Języki wysokiego poziomu po etapie początkowym stały się maszynowo niezależne z powodu wielu wersji translatorów (programów kompilujących) Kompilator(ang. compiler) to program służący do 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 jest to tłumaczenie z języka wysokiego poziomu (łatwiejszego dla programisty) ma język wewnętrzny procesora. Proces ten nazywany jest kompilacją.

Języki wysokiego poziomu COBOL dla przedsiębiorstw, język prawie naturalny (ang) MULTIPLY mnożenie, ADD dodawanie, czy dobrze?? Do dziś specjaliści potrzebni (w USA 500 $/godzza zmiany daty w 2000) W kolejnych latach - obfitość języków programowania BASIC, LOGO prostota, interpretacja w odróżnieniu od kompilacji, tłumaczenie na bieżąco każdej instrukcji a nie programu w całości PASCAL, C, C+, C++ -języki strukturalne z elementami tzw. programowania obiektowego OOP(ObjectOrientedProgramming) języki zorientowane obiektowo (PROLOG, Visual Basic, Delphi, Java, C#)

OBIEKTY- dane dana (nazwa danej, wartość danej) deklaracje, definicje - opisy obiektów instrukcje - czynności na obiektach Program -algorytm zapisany w języku programowania

Podprogram-wyodrębniona część programu (ze względu na czytelność lub wielokrotne użycie) posiadająca wyodrębnioną nazwęi sposób wymiany informacjiz pozostałymi jego częściami

Deklaracja podprogramu- opis podprogramu Instrukcja wywołania podprogramu wykonanie, zastosowanie podprogramu wewnątrz programu głównego lub innego podprogramu Kod źródłowy-tekst programu w języku programowania (plik tekstowy pas) Kompilacja- tłumaczenie (w całości) kodu źródłowego na wykonywaną postać binarną, ładowalną (plik exe) odrębny proces Interpretacja tłumaczenie kolejnych instrukcjiw trakcie procesu wykonywania

Przetwarzanie programu użytkowego Komunikaty o błędach wyniki postać postać EDYCJA źródłowa Kompilacja ładowalna Wykonanie programu parametry PROGRAMISTA dane

Przykładowy język Javascript JavaScriptjest to interpretowany, zorientowany obiektowo, skryptowy język programowania. JavaScriptjest oddzielnym językiem (nie jest uproszczoną wersją Javy). 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ę. Javascriptjest łatwy w nauce i pozwala na pewne zdynamizowanie stron internetowych. 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"> <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 %= x%=5 odpowiada x=x%5 (reszta z dzielenia) + konkatenacja (łączenie 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 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 ==!=(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)

Operatory logiczne koniunkcja (i) && alternatywa (lub) negacja! true && false dajefalse!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 = wyrażenie; Po lewej stronie znaku = tylko nazwa zmiennej!!! Po prawej stronie znaku = 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 Przykłady: x=5; alfa= 3*x; b15=(3-x)+2/alfa;

Instrukcja wypisania na ekranie document.write(element); documentto wbudowany obiekt w Javascript, a write(pisz) to jedna z jego funkcji (tzw. metoda) Przykład identyfikator obiektu i identyfikator jego metody oddzielamy kropką <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> Jak widzimy można wysyłać znaczniki (do pozycjonowania, formatowania itp.)

Obiekt Math(uwaga! z dużą literą M) Wbudowany obiekt Math zawiera wartości matematyczne, jako właściwości (ang. property) i 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

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); </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 />"); x1:-0.7236067977499789 x2:-0.276393202250021 document.write('x2:'+x2+"<br />"); </SCRIPT> 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>

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

Instrukcja warunkowa if...else Instrukcja if powoduje wykonanie kodu źródłowego instrukcja1tylko wtedy, gdy warunek logiczny jest spełniony. Jeżeli zostanie użyty poszerzony wariant instrukcji if, to po spełnieniu warunku zostanie wykonany kod instrukcja1lecz w przeciwnym wypadku zostanie wykonany kod instrukcja2. if(warunek) { kod wykonywany jeżeli warunek spełniony } else { kod wykonywany jeżeli warunek nie spełniony } opcjonalnie czyli można opuścić-wówczas przy niespełnionym warunku nic nie jest wykonywane

Prosty przykład dla instrukcji warunkowej <HTML><HEAD></HEAD><BODY> <SCRIPT LANGUAGE="JavaScript"> x=5; //przypisujemy wartość zmiennej if(x>0) document.write("tak"); // warunkowo else document.write("nie"); </SCRIPT> </BODY></HTML> tak

Najogólniejsza postać instrukcji warunkowej jeśli mamy kilka warunków if(warunek1) { kod wykonywany jeżeli warunek spełniony } else if(warunek2){ instrukcje wykonywane jeżeli warunek2 spełniony } else if(warunek3){ instrukcje wykonywane jeżeli warunek2 spełniony } else{ instrukcje wykonywane jeżeli warunki powyższe niespełnione }

Przykład badania kilku warunków: <HTML><HEAD></HEAD><BODY> <SCRIPT LANGUAGE="JavaScript"> x=math.round(math.random()*10);//losowanie l. całk. od 0 do 10 if (x<5){ document.write("mniejsze od 5"); } else if ((x>=5)&&(x<=8)){// koniunkcja document.write("w przedziale [5, 8]"); } else if ((x>8)&&(x<10)){// inny przedział document.write("w przedziale (8,10) więc tylko 9"); } else{//pozostałe document.write("pozostało tylko 10"); } document.write("<br />Sprawdzam :",x); </SCRIPT> </BODY></HTML>

Instrukcja iteracyjna - "pętla" for (dla) Instrukcja wykorzystywana do wielokrotnego wykonania pewnego zestawu instrukcji. Pętla forpowtarza instrukcje wnętrza pętli aż do momentu, kiedy testowany warunek staje się fałszywy. W JavaScriptpętla forjest podobna do pętli w Java i C.

Pętla for posiada następującą składnię: for( inicjalizacja licznika; test_logiczny; inkrementacja ) instrukcja; lub for( inicjalizacja licznika; test_logiczny; inkrementacja ) { instrukcja1; instrukcja2; w klamrach {} instrukcje wewnętrzne... jeśli jest ich więcej niż jedna }

Przykład dla iteracji for <HTML> <HEAD></HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript"> for (i=0; i<11; i++) { document.write(i+"<br/>"); } </SCRIPT> </BODY></HTML> 0 1 2 3 4 5 6 7 8 9 10 można wykorzystywać licznik

Przykład <SCRIPT LANGUAGE="JavaScript"> for (i=0; i<91; i++) { document.write(i+" "+Math.sin(i*Math.PI/180)+"<BR />"); } </SCRIPT> metoda write może też być wieloargumentowa (argumenty oddzielane plusami lub przecinkami) document.write(i," ",Math.sin(i*Math.PI/180),"<BR />");

Przykład pętli zagnieżdżanej <SCRIPT LANGUAGE="JavaScript"> for (i=1; i<=3; i++) for (k=1; k<=4; k++) document.write(i+" "+k+"<br />"); </SCRIPT> jedna spacja dla każdego kroku pętli zewnętrznej wykonywana jest pętla wewnętrzna, czyli instrukcja wykona się 3*4=12 razy 11 12 13 14 21 22 23 24 31 3 2 33 34 wykorzystuje się np. w tablicach dwuwymiarowych

Pętla while while (warunek) { instrukcje } 1 Wykonuje iterację (powtarza instrukcje) gdy warunek spełniony, gdy nie, to 3 przechodzi dalej. Sprawdzenie warunku odbywa się przed wykonaniem instrukcji. 6 10 n = 0; x = 0; while( n < 10 ) { n++; //zwiększ n o 1 x += n; // zwiększ x o n document.write(x+"<br />"); } 15 21 28 36 45 55