wyrażenie
Transkrypt
wyrażenie
Technologia informacyjna PWSW Wykład 5 MS EXCEL MS Access Inżynieria programowania Arkusz kalkulacyjny - jego cel i zastosowania Tworzenie tabel danych i rozwiązywanie problemów przy pomocy analizy wielu danych: Możliwość obliczeń i analiz: - matematycznych - finansowo-księgowych - inżynierskich, projektowych - statystycznych Tworzenie list danych, odszukiwanie (selekcja), porządkowanie (sortowanie) i analiza danych w listach Cechy • • • • • • • wzrokowy dostęp do wielu danych, dynamiczne śledzenie obliczeń przy wariantach zestawów danych, wspomaganie tworzenia formuł i wykresów – kreatory, wykorzystanie możliwości graficznych interfejsu WINDOWS, wymiana danych z innymi aplikacjami, tworzenie tabel przestawnych (łatwe śledzenie danych) oraz skoroszytów utworzonych z list (baz danych), praca łatwa i intuicyjna. Struktura dokumentu (skoroszytu - zeszytu): Grupa arkuszy (standardowo 3) W każdym arkuszu sieć komórek adresowanych kolumny A, B, C, D,.....Z, AA, AB, AC....IV - 256 kolumn wiersze 1 do 65 536 razem 16 777 216= 8*224 razy N-arkuszy w skoroszycie W pliku może być wiele arkuszy w EXCEL-u 2007(2010) 214 kolumn – ponad 16 000 od A do XFD 220 wierszy – ponad milion Czyli 234 komórek w jednym arkuszu –ponad 17 miliardów! Stany komórek • • • stan pasywny stan aktywności – jedna wskazana komórka (grubsza ramka) - wybór dla wpisania treści komórki stan edycji (z kursorem tekstowym) Wprowadzenie w stan edycji: • podwójne kliknięcie w komórkę • klawisz F2 • klawisz Backspace Elementy ekranu MENU – podobne jak MS WORD, Ważny element: Formatuj komórki... Najlepiej z menu kontekstowego NARZĘDZIA: znane z programu MS Word narzędzia, wiele innych, np. sortowanie, pozycje dziesiętne itp. inne paski narzędziowe aktywizowane operacją: Widok - Paski narzędzi - np. rysowanie, zarządzanie bazą danych PASEK FORMUŁY • pole adresowe – zawiera adres komórki aktywnej lub nazwę naturalną komórki bądź zakresu • pole wartości (formuły) • inicjacja formuły fx ARKUSZ ROBOCZY + operacje Wstawianie nowych arkuszy: • Wstaw.. z menu Komórki na Narzędziach głównych • Element zakładek na dole ekranu • Menu kontekstowe zakładki Zmiana nazwy arkuszy: • podwójne kliknięcie w zakładkę, • menu kontekstowe zakładki arkusza • przyciski przewijania zakładek Nawigacja techniki podobne jak w Wordzie Myszka: obsługa pasków przewijania + kliknięcie myszką w komórkę Klawiatura: strzałki nawigacji TAB ENTER PgDn, PgUp CTRL+⇒ ⇒ CTRL+⇓ ⇓ CTRL+Home CTRL+End prostokątnego o 1 komórkę 1 komórka w prawo 1 komórka w dół o stronę ostatnia kolumna ostatni wiersz do pierwszej komórki A1 ostatnia komórka użytego obszaru Zaznaczanie: Cele zaznaczania: • • • • • wspólne formatowanie zakresu – obramowania, wyrównania, sposobu wyświetlania danych, w celu usunięcia, skopiowania, przesunięcia, w celu wypełnienia danymi seryjnymi, wskazanie danych do obliczeń, wykresu itp., automatyczne wpisanie zakresu do treści formuły. deseni, czcionki, Zaznaczanie myszką: • przeciągnięcie zakresu (prostokątnego – zawsze jedna komórka aktywna) • • • • CTRL+ALT+przeciaganie - obszary niespójne wiersze – nagłówek wiersza kolumny – nagłówek kolumn CAŁY ARKUSZ – POLE PRZECIĘCIA NAGŁÓWKÓW KOLUMN I WIERSZY lub CTRL+A Zaznaczanie klawiaturą ….SHIFT + klawisze nawigacyjne Zaznaczanie myszką+klawiatura: kliknięcie w komórkę a następnie kliknięcie w inną komórkę z trzymanym klawiszem SHIFT (obydwie komórki stanowią przeciwległe – po przekątnej) narożniki prostokątnego obszaru. Możliwe jest również zaznaczenie fragmentu tekstu komórki w celu zmiany czcionki – wcześniej należy wypełnioną komórkę wprowadzić w stan edycji a następnie zaznaczyć myszką (przeciągnięcie) lub klawiaturą (SHIFT+→ →, SHIFT+← ←) Kopiowanie i przenoszenie: • • • • • • myszka przeciąganie za krawędź komórki aktywnej lub zaznaczonego zakresu – przeniesienie to samo z klawiszem CTRL – kopiowanie to samo z klawiszem SHIFT – przeniesienie z wstawieniem między komórki z użyciem schowka wklejanie także specjalne (menu podręczne) – Wklej specjalnie... określamy precyzyjnie co? (np. transpozycja) Modyfikacja struktury arkusza Narzędzia główne – Komórki/Edycja Wstawianie nowych: • komórek • wierszy • kolumn Usuwanie: • komórek - z przesunięciem w lewo lub w górę • wierszy zaznaczenie wiersza (wierszy) • kolumn zaznaczenie kolumny (kolumn) • zawartości – zaznaczenie i Delete (lub Backspace – pozostawienie w stanie edycji) • zawartości i formatowania – Wyczyść Scalanie: •narzędzie Scal i wyśrodkuj (dla zaznaczonego prostokątnego obszaru) – jedyna możliwość „zakłócenia” równomiernej struktury arkusza, •usunięcie scalenia – ponowne kliknięcie Narzędzia główne – Style/Wyrównanie/Format Szerokość i wysokość wierszy i kolumn: • przeciąganie granic nagłówków (także zaznaczonej grupy wierszy lub kolumn) • z menu kontekstowego Format wiersz (kolumna) – po zaznaczeniu - Wysokość (Szerokość); uwaga: wysokość w punktach czcionki, szerokość w liczbie cyfr standardowej czcionki • podwójne kliknięcie w granice nagłówków (Autodopasowanie) Kontur i wypełnienie: • menu Formatowanie • narzędzie czcionka/obramowanie (rozwijane) • narzędzie „Kolor wypełnienia” (rozwijane) • gotowe style – rozszerza formatowanie prostokątnego obszaru o niepuste sąsiadujące komórki. Format tekstu w komórce: • • • • • • • czcionka – krój, rozmiar, kolor (narzędzie rozwijane) wyrównanie pionowe i poziome menu Wyrównanie) orientacja (obrót tekstu) - menu Wyrównanie grafika (rysunki zewnętrzne, Clipart, WordArt, prymitywy z grafiki Office – pasek „Rysowanie”, autokształty – jak w MS WORD) wykresy, pola tekstowe, inne obiekty -równania w zapisie matematycznym – dawniej Microsoft Equation 3.0, - klipy, - dźwięki, - grafika Adresowanie komórek Adres: składa się z litery (lub dwóch liter) kolumny i liczby wiersza, bez spacji Przykładowo: A1, B17, AA45 • • • Odwołania do adresów: adres względny: A1, B5, F23 itd. adres bezwzględny: - względem wiersza i kolumny: $H$6, adres mieszany: - względem kolumny: $D5, $G34 itd. - względem wiersza: H$54, N$33 itd. litery w adresie mogą być duże lub małe Zakres komórek: A1:A5 B5:F5 C4:G10 od.. do (ciągły fragment kolumny A) od.. do (ciągły fragment wiersza 5) prostokątny wycinek arkusza nazwane komórki lub zakresy w polu adresu • możliwe jest też nazywanie komórek lub zakresów nazwami naturalnymi, wykonywane przez: • wpisanie nazwy aktywnej komórki lub zaznaczonego zakresu komórek w polu nazwy, • Menedżer nazw we wstążce Dane. • nazwy naturalne mają charakter adresów bezwzględnych. Użycie różnych typów adresowania w formułach obliczeniowych ma wpływ na sposób modyfikacji formuł przy ich kopiowaniu do innych komórek Typy danych, czyli co wpisywać do komórki Stałe tekstowe Tekstem jest wszystko, co nie stanowi prawidłowego zapisu liczby bądź formuły obliczeniowej, stałą logiczną Tekst standardowo wyrównywany do lewej krawędzi komórki. Wymuszenie aby liczba była traktowana jako tekst – poprzedzenie apostrofem, np. ’12, UWAGA: Dłuższy tekst nie dopasowuje szerokości kolumny lecz przykrywa sąsiednią kolumnę (o ile komórka po prawej jest pusta) lub jest częściowo niewidoczny (jeśli komórka po prawej nie jest pusta). Zmiana wysokości czcionki automatycznie zwiększa wysokość całego wiersza. Możliwe zawijanie wierszy: w menu Wyrównanie. Stałe liczbowe • całkowite: 56 -456 • dziesiętne: 0,567 -23,6 przecinek czy kropka dziesiętna – zależy od ustawień regionalnych w Panelu sterowania Windows, • naukowe (wykładnicze): 2,3e5 to 2,3 *105 -4,5E-34 to -4,5 *10-34 E [-]m[,n] [-]k e • procentowe : 34% • walutowe: 34,00 zł Prawidłowo wpisana liczba wyrównywana jest standardowo do prawej krawędzi komórki PRZYKŁADY: 5 -4,5 20% 2,34E-5 -4e7 Daty i czas (specjalne liczby) Notacja amerykańska Notacja polska 99-04-15 15-04-99 1999-04-15 15-04-1999 99-kwi-15 15-kwi-1999 1999-kwiecień-15 15-kwiecień-1999 Format według uznania ustawiany w Format – Komórki- zakładka Liczby Standardowy format daty– (skrócony lub pełny): w układzie określonym w Panelu Sterowania - Ustawienia Regionalne Niestandardowy format daty: symbole: d dd ddd dddd m mm mmm mmmm rr rrrr oraz separatory : - / i inne Np. dd-mm-rrrr-ddd 04-12-1999-Cz d:mmm:rr:dddd 4:gru:99:Czwartek UWAGA: Zmiany formatu (także liczby miejsc dziesiętnych) wyświetlanych liczb dokonujemy przez operację: FORMAT KOMÓRKI… – LICZBY wybierając kategorię i dokładność Zmianę liczby miejsc dziesiętnych (bez wpływu na pamiętaną liczbę miejsc dziesiętnych przez program) i niektóre formaty udostępniają narzędzia: • Dodaj (usuń) pozycję dziesiętną, • Zapis walutowy Inne narzędzia dla formatu liczb: • Zapis z odstępami: 1 000 000 000 000,00 • Zapis procentowy 0,57 ⇒ 57% STAŁE LOGICZNE PRAWDA FAŁSZ UWAGA NA PRAWIDŁOWY ZAPIS LICZBY • standardowe wyrównanie liczby do prawej krawędzi komórki • standardowe wyrównanie tekstu do lewej krawędzi komórki • standardowe wyrównanie wartości logicznej DO ŚRODKA komórki Wypełnianie serią danych Liczby •Narzędzia główne grupa Edycja - Wypełnienie... – Serie danych a następnie ustalenie parametrów (kierunek, krok, typ, zakres) •Wypełnienie dwóch kroków i przeciąganie narożnika zaznaczonego zakresu •Przeciąganie dolnego narożnika + CTRL Daty •myszka – ciągnięcie narożnika komórki z datą (krok – 1 dzień) •menu Edycja – Wypełnij... – Serie danych (wcześniej zaznaczenie zakresu) Domyślne: numer liczba∇ tekst tekstLiczba czas data nazwa dnia nazwa miesiąca o1 o 1 (∇ to spacja) o1 o godzinę o dzień o dzień o miesiąc FORMUŁY • formuła: przepis ustalenia wartości (liczbowej, tekstowej, logicznej) w komórce na podstawie wartości innych (!) komórek • prawidłowa formuła wyświetla w komórce obliczoną wartość formuły: zaczynamy zawsze od znaku równości = Operacje proste z zastosowaniem operatorów matematycznych: Kolejność wykonania: zmiana znaku − potęgowanie ^ multiplikatywne mnożenie * i dzielenie / dodawanie + i odejmowanie – Nawiasy ( ) okrągłe zmieniają hierarchię działań, która jest następująca: • operator jednoargumentowy (+ −) • operator potęgowania (^) • operatory multiplikatywne ( *, / ) • addytywne (+ − ) Definicja formuły: = wyrażenie Wyrażenie jest to powiązanie stałych, zmiennych (adresów, nazw) i funkcji przy pomocy operatorów arytmetycznych (rekurencja definicji) Definicja rekurencyjna wyrażenia wyrażenie = stała wyrażenie = zmienna (adres lub nazwa) wyrażenie = funkcja(wyrażenie) wyrażenie = wyrażenie operator wyrażenie oraz nawiasy okrągłe ( ) Przykłady: = 2,5*E1 = B15/3 = A1+C2 = B7-D5 = - C5^4 (UWAGA! =-2^2 jaki wynik? = C5^(F3*3,23) = (C4-V56)/6 = (B7-D5)/(H10+D3) mnożenie wielomianów!!! = 2,8E7*H6 zapis wykładniczy liczby! = (x+G6+H7^3)/(F5-6,5E7) ułamek! Uwaga: 6,5E7 to 6,5*107 6,5*E7 to mnożenie 6,5 razy wartość z komórki E7 Funkcje wbudowane • • jednoargumentowe wieloargumentowe nazwa(argument1;argument2;...) np. suma(a1:a5;c8:d18) UWAGA: argumenty funkcji wieloargumentowych oddzielane średnikami ; Podstawowe funkcje funkcje matematyczne: trygonom.(argument w radianach) SIN(wyrażenie) sin(x) COS(wyrażenie) TAN(wyrażenie) trygonom. odwrotne ASIN(wyrażenie) ACOS(wyrażenie) zamiana stopni na radiany RADIANY(wyrażenie) zamiana radianów na stopnie logarytm o podstawie p logarytm dziesiętny logarytm naturalny Pierwiastek arytm. STOPNIE(wyrażenie) LOG(wyrażenie;p) LOG10(wyrażenie) LN (wyrażenie) PIERWIASTEK(wyrażenie) funkcja wykładnicza pierwiastek rzędu n zaokrąglenia zaokrągl. do najbl. wielokr. n zaokrąglenie (w dół) średnia ex liczba π wartość bezwzględna reszta z dzielenia x/d losowa z przedziału 0, 1 silnia POTĘGA(wyrażenie;wykładnik) POTĘGA(wyrażenie; 1/n) ZAOKR(wyrażenie; l_cyfr) ZAOKR.GÓRA(wyrażenie; l_cyfr) ZAOKR.DÓŁ(wyrażenie; l_cyfr) ZAOKR.W.GÓRĘ(wyrażenie; n) ZAOKR.W.DÓŁ(wyrażenie; n) ZAOKR.DO.CAŁK(wyrażenie; l_cyfr) ŚREDNIA(zakres) EXP(wyrażenie) PI() MODUŁ.LICZBY(wyrażenie) MOD(x;d) LOS () SILNIA(wyrażenie) Przykłady Adres B3 C3 D3 E3 F3 Nazwa x y z v Wartość 4,0 -2,7 8,1 3 Alfa Opis Stałe Adresy nazwy 1 ⇒ 1/a/b ab Formuła =5,6+2,13 =2*13/5,1 =B3+C3 =D3*E3 =5*B3 =C3-17 = -x = 3*x+1 Wynik formuły 7,73 5,0980392 1,3 4,54E-06 20 -19,7 -4 13 =B3*(C3-D3) =1/(C3+D3) =B3^3 =F3&E3 =x +y +z =SUMA(B3;D3;E3) =SUMA(B3:D3;g56:g100) =ILOCZYN(B3:D3) =ŚREDNIA(B3:D3) =MODUŁ.LICZBY(C3) =2* RADIANY(90) =PI()/2 =COS(B22) -43,2 0,1851852 64 Alfabet 9,4 9,4 9,4 -87,5 3,1 2,7 3,1415927 1,5707963 0,00 =SIN(B22) =RADIANY(90) Liczba Eulera e =EXP(1) =LOG10(X) =LN(a4) =LOG(X;4) =PIERWIASTEK(9) =ZAOKR(3,1459;3) =ZAOKR.GÓRA(3,14159;3) =ZAOKR.DÓŁ(3,14159;3) =ZAOKR.W.DÓŁ(3,14159;1,1) =ZAOKR.W.GÓRĘ(3,14159;1,1) =MIN(C3:E3) =POTĘGA(-3;3) =POTĘGA(8;1/3) =2/3,5*PIERWIASTEK(9) =3,5*SIN(B21/3) =SIN(RADIANY(30)) =LOG10(POTĘGA(X;1/3)) =2*3/3/2 1,00 1,5707963 2,7182818 0,60206 0 0,60206 3 3,14200 3,142 3,141 2,200 3,300 -2,7 -27 2 1,7142857 1,75 0,5 0,2006867 1 UWAGA UWAGA Pierwiastek rzędu n=3 = -v^2 = -(v^2) =(3+2)/(3+2) =(3+2)*(3+2) =B3*1,1E48 =POTĘGA(8;1/3) lub=8^(1/3) Wyrażenia =2*PIERWIASTEK(9)/3,5 =3,5*SIN(B21/3) Zagnieżdżanie =SIN(RADIANY(30)) =LOG10(POTĘGA(X;1/3)) 9 -9 1 25 4,4E+48 2 2 1,7142857 1,75 0,5 0,2006867 Przykłady wyrażeń: abc b a+ c a +b c sin 30o a +b ex+2 + y 1+ lnc sin2 x + cos2 x log10 y a bc =A1*A2*A3 =A1+A2/A3 =(A1+A2)/A3 =sin(30*pi()/180)/(A1+A2) lub …radiany(30)…. =(exp(A1+2)+A2)/(1+ln(A3)) =pierwiastek(sin(A1)^2+cos(A1)^2)/log10(A2) =A1/A2/A3 lub =A1/(A2*A3) UWAŻAĆ NA: -znak * - nawiasy – kolejność działań, pary nawiasów - funkcje zagnieżdżane = sin(log10(A1)) w razie trudności najpierw w jednej komórce obliczyć logarytm a potem sinus z tego wyniku - argument funkcji zawsze w nawiasie! – czyli po nazwie funkcji otwieramy nawias Funkcje czasu = DZIŚ() = TERAZ() = CZAS (gg;mm;ss) = DATA(rr; mm ;dd) Przykład: = DZIŚ() - DATA(1981;12;13) Jeśli komórce z tą formułą ustawimy format liczbowy ogólny, to rezultatem jest liczba dni dzieląca te daty Funkcje statystyczne = SUMA(zakres) = ŚREDNIA(zakres) = ODCH.STANDARDOWE(zakres) = MIN(zakres1;zakres2) = MAX (zakres) Inne grupy funkcji • • • • • finansowe logiczne tekstowe informacyjne inne • • • bezpośrednie wpisywanie do formuł (wyrażeń) kreator (lub menu fX) funkcje zagnieżdżane (pole nazwy przekształcone w rozwijane okno dostępu do ostatnio używanych funkcji oraz kreatora – Więcej funkcji…) KOPIOWANIE I PRZENOSZENIE DANYCH I FORMUŁ Jeśli przenosimy komórki z danymi do których odnoszą się formuły w innych komórkach to zmiana adresu jest w formułach automatycznie śledzona. Jeśli przenosimy komórkę z formułą to odwołania do adresów innych komórek nie zmieniają się. Przy kopiowaniu komórki z formułą: • jeżeli adresy odwołań są względne to następuje ich zmiana w proporcji do drogi przemieszczenia kopii względem oryginału, • jeżeli adresy odwołań są bezwzględne ich zmiana nie następuje • jeżeli adresy odwołań są mieszane to następuje ich zmiana w proporcji do drogi przemieszczenia kopii względem oryginału ale tylko względem współrzędnej względnej (tylko wiersza albo tylko kolumny) Odwołanie do komórki (zakresu komórek) innego arkusza: =’Arkusz’!adres Dokładność obliczeń i wizualizacja miejsc dziesiętnych dokładność obliczeń 1E-15 czyli 10-15 BŁĘDY W ARKUSZU składniowe (niepoprawne wyrażenie, brak nawiasów, zły zapis liczby, nieznana nazwa #NAZWA), zgłasza się „Pomoc”. #ADR! matematyczne (np. dzielenie przez zero, argument poza obszarem określoności funkcji), #LICZBA, #DZIEL/0 inne – np. za wąska kolumna ############ odwołanie cykliczne, formuła odnosi się do adresu samej siebie - nie wolno! Wykresy - kreator Typy •kolumnowe •liniowe •słupkowe •powierzchniowe (3-wymiarowe) •inne Wykresy funkcji 1 zmiennej x Tworzenie wykresów •utworzenie tabeli danych •zakres i krok dla zmiennej niezależnej (seria) •zapis serii dla zmiennej niezależnej, •funkcja dla pierwszej wartości zmiennej y •kopiowanie funkcji do pozostałych komórek •wybór typu wykresu •dane do wykresu y 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 1,1 1,2 1,3 0 0,09531 0,182322 0,262364 0,336472 0,405465 0,470004 0,530628 0,587787 0,641854 0,693147 0,741937 0,788457 0,832909 Pozostałe opcje wykresu (tytuły, osie, siatka, legenda) Korekta wykresu: • wielkość – zaczepy rozmiaru • parametry – z menu kontekstowego elementów wykresu (tło, obszar danych, wykres, osie itp.) Wykresy 2 zmiennych: x y y 1 2 3 4 x 1 1,2322 3,445 5,667 7,544 2 ... ... .... ... 3 4 f(x,y) Przed wywołaniem kreatora zaznaczamy cały obszar danych Sortowanie i filtrowanie (na wstędze Dane) całość Autofiltr część kolumn część wierszy fragment EXCEL - WSPOMAGANIE DECYZJI funkcje i narzędzia - użyteczne są: • relacje oraz funkcje logiczne - do wspomagania decyzji strukturyzowanych, szczególnie przydatne w sytuacjach, gdy trzeba sprawdzać, czy zawartości danych komórek arkusza spełniają określony warunek logiczny. • funkcje informacyjne, do testowania typu zawartości komórek, • narzędzia: Szukaj wyniku i Solver - do wspomagania decyzji strukturyzowanych oraz semi-strukturyzowanych Relacja jest połączeniem dwóch wyrażeń (numerycznych lub tekstowych) jednym z operatorów relacji (porównań): = równy > większy niż < mniejszy niż >= większy niż lub równy <= mniejszy niż lub równy <> różny (nierówny) Wyrażenie logiczne przyjmuje wartość logiczną PRAWDA lub FAŁSZ, zależną od tego, czy jest spełniona czy nie. Przykłady formuł z wyrażeniami logicznymi: =A1>0 =B5>=2*C8 =SUMA(A1:A5)<1E-8 =C8<>-5 Funkcje logiczne FAŁSZ - oznacza wartość logiczną fałszu (0 logiczne), PRAWDA - oznacza wartość logiczną prawdy (1 logiczna), NIE - odwraca wartość logiczną argumentu (negacja), LUB - suma logiczna (alternatywa) argumentów, ORAZ - iloczyn logiczny (koniunkcja) argumentów, JEŻELI - określa wybór, na podstawie testu logicznego, jednej z dwóch wartości. Funkcje FAŁSZ( ) oraz PRAWDA( ) są funkcjami bezargumentowymi, które oznaczają stałe logiczne, stosowane w wyrażeniach logicznych lub jako wartości wpisywane do komórek. Funkcja negacji NIE(wyr_logiczne) jest funkcją jednoargumentową, która neguje (odwraca) wartość swojego argumentu. Należy stosować funkcję NIE wtedy, gdy trzeba być pewnym, że dana wartość nie jest równa jakiejś szczególnej wartości. Przykład: NIE(FAŁSZ) jest równe PRAWDA, NIE(2+2=4) jest równe FAŁSZ Funkcja sumy logicznej LUB o postaci: LUB(wyrażenie_logiczne1; wyrażenie_logiczne2; ...) przyjmuje wartość logiczną PRAWDA, jeśli choć jeden argument ma wartość logiczną PRAWDA. Jeśli wszystkie argumenty mają wartość logiczną FAŁSZ, funkcja przyjmuje wartość logiczną FAŁSZ. Przykłady: LUB(1+1=2; 2+2=5) jest równe PRAWDA, LUB(A1:A3) jest równe PRAWDA, jeśli zakres A1:A3 zawiera wartości logiczne i przynajmniej jedna wartość wynosi PRAWDA. Funkcja iloczynu logicznego ORAZ o postaci: ORAZ(wyrażenie_logiczne1; wyrażenie_logiczne2; ...) przyjmuje wartość PRAWDA, jeśli wszystkie jej argumenty mają wartość PRAWDA. Wartością funkcji jest FAŁSZ, jeśli co najmniej jeden z argumentów ma wartość FAŁSZ. Przykłady: ORAZ(PRAWDA; FAŁSZ) jest równe FAŁSZ, ORAZ(2+2=4; 2+3=5) jest równe PRAWDA. Uwagi dotyczące funkcji LUB i ORAZ: • argumenty powinny być wyrażeniami logicznymi bądź adresami komórek, zawierających wyrażenia lub wartości logiczne. • jeśli którakolwiek z wartości składowych tabel lub komórek zawiera tekst, liczby lub jest pusta, wartości te są pomijane. • jeśli określony argument nie jest wartością logiczną, funkcja LUB przyjmuje wartość komunikatu o błędzie "#ARG!". Funkcja wyboru JEŻELI, o postaci: JEŻELI(wyrażenie_logiczne; wyrażenie_1; wyrażenie_2) pozwala na podjęcie decyzji wyboru jednej z dwóch alternatywnych wartości wyrażeń, na podstawie testu wartości wyrażenia logicznego. Argument wyrażenie_1 oznacza wartość jaką przyjmuje funkcja dla przypadku, gdy wartość wyrażenia logicznego jest równa PRAWDA. W przypadku, gdy wyrażenie logiczne przyjmuje wartość FAŁSZ wartością funkcji staje się wartość wyrażenie_2. Przykłady: =JEŻELI(A1>0;"dodatnia"; "ujemna lub zero") =JEŻELI(A1>0;A6; A7) teksty w cudzysłowie Funkcja JEŻELI jest szczególnie przydatna w zapisywaniu określonych reguł decyzyjnych. Można zagnieździć do siedmiu funkcji JEŻELI stosując je jako argumenty wyrażeń wyrażenie_1 i wyrazenie_2, w celu zapisania bardziej złożonych warunków. =jeżeli (A1<20;"młody";jeżeli(A1>70;"stary";"średni")) B A 1 2 3 4 5 23 12 3 49 89 średni młody młody średni stary Funkcje informacyjne Są przeznaczone do ustalania typu danych przechowywanych w komórce Grupa funkcji CZY - funkcje te przyjmują wartość PRAWDA, jeśli komórka-argument spełnia warunek. LICZ.PUSTE(zakres) CZY.PUSTA(adres) CZY.BŁĄD(adres) CZY.LICZBA(adres) CZY.LOGICZNA(adres) ile w zakresie komórek jest komórek pustych czy pusta komórka czy argument przyjmuje wartość błędu czy argument jest liczbą czy argument przyjmuje wartość logiczną SUMA.JEŻELI(zakres;kryterium) sumowanie komórek warunek: np.: =suma.jeżeli (A1:A10;”>5”) LICZ.JEŻELI(zakres;kryterium) spełniających ile komórek spełnia warunek: np.: =licz.jeżeli (A1:A10;”>5”) Wspomaganie decyzji ustrukturyzowanych Przykład: Sytuacja decyzyjna: Przekroczenie – gdy 14 dni od daty sprzedaży. =JEŻELI(data_b – data_sp <= 14; 0 ; (data_b – data_sp - 14) * stopa_dz*Wartość) to są nazwy innych komórek Narzędzie "Szukaj wyniku" Wyrażenie, które zawiera zmienną - adres lub nazwę innej komórki traktowaną jako zmienną decyzyjną. Celem jest znalezienie wartości zmiennej decyzyjnej, która spełnia wartość docelową wyrażenia (czyli rozwiązanie równania z jedną niewiadomą) Czynności: • identyfikacja problemu, • określenie zależności pomiędzy zmiennymi występującymi w problemie, • wprowadzenie do arkusza zależności w postaci wyrażeń (wzór może również zawierać funkcje standardowe), • uruchomienie narzędzia "Szukaj wyniku" • wskazanie komórki, zawierającej wzór określający poszukiwaną wartość oraz komórki stanowiącej zmienną decyzyjną problemu. • interpretacja wyniku. Przykład Komórka, której wartości poszukujemy Komórka, która powinna przyjąć wartość 400 000 zł Wielkość sprzedaży wpisujemy 1 oraz sporządzamy formułę przychodów =B1 *B2 Uruchamiamy narzędzie Szukaj wyniku - menu Narzędzia Office2007 na karcie Dane w grupie Narzędzia danych przycisk Analiza symulacji/Szukaj wyniku. WPROWADZENIE DO OBSŁUGI BAZ DANYCH MS ACCESS Pliki z rozszerzeniem *.mdb *accdb Możliwości: • tworzenie tabel, • projektowanie kwerend, • projektowanie formularzy, • projektowanie raportów itd. Tabele bazy danych Zbiór atrybutów, które są odpowiednikiem szczególnych, elementarnych cech opisywanego obiektu i które zwane są nazwami pól tabeli. Każdy atrybut (pole tabeli) ma określone właściwości, przede wszystkim typ danych. MS Access umożliwia ustalenie następujących typów: Typ tekst Przeznaczenie Uwagi dla pól zawierających ciągi standardowa długość 50 znaków, znaków alfanumerycznych maksymalnie 255 znaków (perso-nalia, nazwy, adresy, kody itp.) liczba dla danych numerycznych data/godzina dla daty i czasu walutowy autonumerowanie kwoty licznik – liczby całkowite, zwykle wykorzystywany jako klucz tabeli TAK/NIE np. zapłacił/nie zapłacił dla pól typu logicznego: Prawda/Fałsz, Wł./Wył. do przechowywania plików: dokumentów, obrazów, dźwięków odnośnik do innego pliku, adresu strony www albo adresu e-mail dłuższe ciągi znaków, np. długość pola do ok. 65000 znaków życiorys obiekt OLE hiperłącze nota (memo) liczba całkowita, liczba całkowita długa, liczby dziesiętne możliwy wybór formatu wyświetlania standardowo w złotych dla kolejnych rekordów automatycznie powiększany o 1 Jeśli jest to pole tekstowe określamy długość (maksymalną liczbę znaków) Dla pola liczbowego ustalamy typ liczby (liczba całkowita, liczba całkowita długa, dziesiętna itp.). Odpowiedni typ danych wymusza: - kontrolę poprawności wpisywanych danych, - pozwala wykorzystywać mechanizmy sortowania, filtracji i wyszukiwania danych. Po zaprojektowaniu tabeli wprowadzamy dane do tabeli. dane - rekord to pojedynczy wiersz danych w tabeli Przykład Podstawowe operacje na tabelach Klucz podstawowy i obcy - związki między tabelami Jeden z atrybutów, najczęściej sztucznie wprowadzony identyfikator (z reguły o typie danych Autonumerowanie), jest tzw. kluczem głównym (podstawowym), jednoznacznie identyfikującym rekord (pojedynczy wiersz danych) w tabeli. Kluczem podstawowym może być też pole informacyjne tabeli (np. numer telefonu w tabeli Książka telefoniczna). Wartości w polu klucza nie mogą się powtarzać, muszą być unikalne dla każdego rekordu danych. Dostawcy Towary Klucz podstawowy Klucz podstawowy nazwa nazwa adres cena telefon ilość NIP ID dostawcy – klucz obcy Tworzymy drugą tabelę Towary, której atrybutami są następujące dane: Nazwa Pola ID Towaru Nazwa Towaru Ilość Data zakupu Cena zakupu IDDostawcy Typ Rozmiar pola Autonumerowanie Text 20 Liczba Liczba całkowita Data/Godzina Walutowy Liczba Liczba klucz obcy całkowita długa Tabele Dostawcy i Towary połączone są związkiem jeden-do-wielu. Związek jeden-do-wielu oznacza, że: każdy towar ma jednego i tylko jednego dostawcę. każdy dostawca może dostarczać wiele towarów. Wymaga to umieszczenia w tabeli Towary pola IDdostawcy (klucza obcego), zawierającego wartości z pola klucza głównego tabeli Dostawcy. Jeśli klucz główny tabeli Dostawcy był typu Autonumerowanie, to klucz obcy powinien posiadać typ liczbowy o typie liczby całkowitej długiej. IDdostawcy jest kluczem głównym w tabeli Dostawcy i kluczem obcym w tabeli Towary. Mogą występować też związki jeden-do-jeden (1:1) i wiele-do-wielu (N:M) Jakie to związki? WYKŁADOWCY – PRZEDMIOTY WYKŁADY – SALE OSOBY – TELEFONY PRACOWNICY – STANOWISKA KIEROWNICY – BRYGADY PRACOWNICY – BIURKA TOWARY – KATEGORIE KSIĄŻKI - CZYTELNICY Jeśli związki są 1:1 to wszystkie dane w jednej tabeli Jeśli związek wiele do wielu to tworzymy nową tabelę: Książki – wypożyczenie – Czytelnicy Wówczas są dwa związki jeden do wielu – jakie? Książki Wypożyczenia ? Czytelnicy ? Relacje – związki między tabelami Relacje i więzy integralności pilnują poprawności – np. aby nie wolno było dla towaru wpisać numeru dostawcy, który nie istnieje, lub usunąć dostawcy, którego towary istnieją w tabeli towarów. Kwerendy – QBE – Query by Example Chcąc utworzyć kwerendę - zapytanie do bazy – należy wybrać obiekt Kwerendy i utworzyć nową kwerendę w widoku projektu. kryteria Chcąc wyświetlić dane z dwóch tabel należy dodać do kwerendy obie tabele – Dostawcy i Towary. Jeśli tabele zawierają identyczne nazwy pól – tu służą one do związania obu tabel – klucz główny i klucz obcy – to zostanie automatycznie wykonane sprzężenie. Następnie przeciągamy z tabel do kwerendy te pola, które nas interesują – tutaj Nazwa_Towaru i Cena z tabeli Towary i NazwaFirmy z tabeli Dostawcy. Teraz należy uruchomić kwerendę Tworzenie kryterium: like [Podaj literę:] &* Precyzyjniej kwerendy buduje się przy pomocy SQL – specjalny język zapytań – ale to już bardziej zaawansowany problem. ALGORYTMY Algorytm jest 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ęzyku zrozumiałym przez komputer Czynności służące do rozwiązania zadania: • analiza treści zadania • wykaz danych wejściowych; wiadomych i niewiadomych oraz relacji między nimi • sprawdzenie czy zadanie posiada jednoznaczne rozwiązanie • wybór metody rozwiązania zadania • opis czynności dla 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 Operacje wejścia wczytaj a,b,x Instrukcja wykonawcza (proces) blok operacyjny oblicz suma:=a+b Łącznik stronicowy 1 STOP i wyjścia pisz suma, wynik Blok decyzyjny TAK suma>0 ? NIE 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ów do przechowywania danych wejściowych, danych pośrednich i wyników • opis czynności jakie 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 zamiany wartoś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: 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 a:=b b:=pom drukuj a, b schemat blokowy zamiany wartości w dwóch zmiennych obiekt pomocniczy 3 1 A B 2 Przykład 2 – 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. Sprawdź czy wynik jest mniejszy od ε, jeśli tak, to przejdź do punktu 6, jeśli nie to kontynuuj 4. Podziel liczbę przez 2 5. Zwiększ licznik o 1 6. Wróć do punktu 3 6. Wyprowadź wartość licznika wczytaj liczba, ε licznik:=0 licznik:=licznik+1 liczba:=liczba/2 liczba< ε TAK drukuj licznik NIE A więc, aby tworzyć efektywne algorytmy i móc je aplikować programowo, potrzebne są następujące elementy: Spektrum obiektów programowych, 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 ekstremum na przykład wyznaczanie minimum dla zbioru elementów 1. Umieszczamy elementy w obiektach od x[1] do x[n] 2. Zmiennej pomocniczej min przypisujemy wartość 1-go elementu 3. Badamy kolejny element czy nie jest mniejszy od minimum, jeśli tak to ustalamy nowe minimum 4 Przechodzimy do badania kolejnego elementu i wracamy do punktu 3 az do wyczerpania liczby elementów Podstawy programowania Lata 1945 – 1954 – język maszynowy (Eniac, Mark I- USA) – niskiego poziomu 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 i dobrze 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 $/godz za 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 (Object Oriented Programming) – 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 informacji z 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 instrukcji w trakcie procesu wykonywania Przetwarzanie programu użytkowego Komunikaty o błędach wyniki EDYCJA postać źródłowa programu Kompilacja postać ładowalna parametry dane PROGRAMISTA Wykonanie Przykładowy język Javascript JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. JavaScript jest 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ę. Javascript jest ł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"> 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 to dwie różne zmienne mojaZmienna B11 styl "wielbłądzi" c_33 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 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; traktowany w całości instrukcja3; jako blok instrukcji instrukcja4; } </SCRIPT> 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); document to wbudowany obiekt w Javascript, a write (pisz) to jedna z jego funkcji (tzw. metoda) 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> 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) wartość bezwzględna liczby cos(wyrażenie) sin(wyrażenie) tan(liczba) funkcje trygonometryczne (argument w radianach!!!) ceil(liczba) zaokrąglenie do całkowitej w górę floor(liczba) zaokrąglenie do całkowitej w dół round(liczba) zaokrąglenie do najbliższej całkowitej exp(liczba) ex UWAGA!!! log(liczba) logarytm naturalny liczby ! pow(liczba1,liczba2) wartość liczby1 podniesionej do potęgi liczby2 random() wartość pseudolosowa z przedziału (0,1) – bez argumentu sqrt(liczba) 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:-0.7236067977499789 x1=(-b-pdelta)/2/a; //albo …/(2*a) x2:-0.276393202250021 x2=(-b+pdelta)/2/a; document.write('x1:'+x1+"<BR />"); 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ń y= sin x − 3 ( x − 3 )x zapis w skrypcie JavaScript 2 x −3 +4 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 x − 3 ( x − 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> 2 x −3 +4 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 instrukcja1 tylko wtedy, gdy warunek logiczny jest spełniony. Jeżeli zostanie użyty poszerzony wariant instrukcji if, to po spełnieniu warunku zostanie wykonany kod instrukcja1 lecz 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 Zagnieżdżanie 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 for powtarza instrukcje wnętrza pętli aż do momentu, kiedy testowany warunek staje się fałszywy. W JavaScript pętla for jest 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> można wykorzystywać licznik 0 1 2 3 4 5 6 7 8 9 10 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 />"); Koniec