mgr inż. Wacław Libront * Bobowa 2017-2019

ZSO Bobowa, ul. Długoszowskich 1, 38-350 Bobowa, tel: 0183514009, fax: 0183530221, email: sekretariat@zsobobowa.eu, www: zsobobowa.eu

Lekcja 9

Wstęp do JavaScript

  1. Wstęp
  2. Podstawowe elementy programu
  3. Operatory logiczne
  4. Pętla iteracyjna FOR
  5. Pętla logiczna WHILE
  6. Zadania
  7. lekcja 9 - programowanie.sm

Wstęp

W praktyce inżynierskiej zdarza się, że nie mamy możliwości opisać zagadnienia w postaci jednego wyrażenia algebraicznego. Na przykład należy wybrać spośród kilku możliwości (np. wartości ujemne - jeden wzór, wartości dodatnie - drugi wzór), albo też wiele razy powtórzyć tę samą operację (np. dodawaj do poprzedniego wyrażenia).
Z pomocą przychodzi nam programowanie. Wydawać by się mogło, że jest programowanie, to zadanie niezmiernie trudne i skomplikowane. Jednak dla naszych celów będziemy stosować tylko niewielki wycinek ogromnych możliwości, jakie w sobie kryje program.
Opanowanie tych podstawowych elementów spowoduje, że różnorodne zadania, które będziemy rozwiązywać staną się bardziej zrozumiałe i łatwiejsze - osiągniemy zupełnie inny (wyższy) poziom logicznego rozumowania. A funkcje, które sami napiszemy będziemy mogli wykorzystać w dalszej pracy.

Podstawowe elementy programu
blok LINE - kilka instrukcji naszego programu wykonywanych w jednym ciągu
instrukcja warunkowa IF - rozgałęzienie ścieżki wykonywania naszego programu
instrukcja pętli FOR - powtarzamy instrukcję lub blok instrukcji określoną ilość razy
instrukcja pętli WHILE - powtarzamy instrukcję dopóki warunek jest prawdziwy.

ĆWICZENIE 1 - instrukcja warunkowa

Narysuj wykres funkcji określonej w następujący sposób:

• Wpisz: f ( x → : if TAB
Pojawi się schemat instrukcji warunkowej. Poszczególne pola wypełniamy jak na rysunku.

 

Operatory logiczne

Do porównywania różnych wartości służą operatory logiczne, zgrupowane na panelu Logika. Górny wiersz nie wymaga wyjaśnienia. W dolnym znajdują się operacje logiczne złożone omawiane na matematyce. W kolejności: zaprzeczenie, iloczyn logiczny (koniunkcja), suma logiczna (alternatywa) i mniej znana różnica symetryczna.

ĆWICZENIE 2 - część wspólna

Narysuj wykres funkcji określonej w następujący sposób:

Wystarczy poprawnie opisać jeden warunek, cała reszta należy do drugiego przedziału.
Zapis if (x > -1) ˄ (x < 1) oznacza, że warunek jest prawdziwy dla x-ów należących do przedziału otwartego od -1 do 1, czyli -1 < x < 1.


UWAGA - przedział rozłączny określamy za pomocą sumy logicznej, a iloczynem logicznym oznaczamy część wspólną.

ĆWICZENIE 3 - pierwiastki równania kwadratowego

Utwórz funkcję o nazwie PIER z trzema parametrami (a, b, c) – są to współczynniki równania kwadratowego. Funkcja ma zwracać wyliczone pierwiastki, gdy delta >=0 lub napis „brak pierwiastków, gdy delta <0.
Definiujemy funkcję o nazwie PIER z trzema parametrami a, b, c. W zmiennej DELTA wyliczamy deltę. Instrukcja warunkowa: jeżeli DELTA większa lub równa 0, to liczymy dwa pierwiastki (znak ±), w przeciwnym wypadku napis „brak pierwiastków”

ĆWICZENIE 4 - rozdziel

Utwórz funkcję o nazwie NIM z jednym parametrem, której zadaniem będzie rozdzielenie nazwiska i imienia podanego, jako parametr na dwa osobne wyrazy. Jeżeli w parametrze nie wystąpi znak odstępu, funkcja nie zwróci nic.
Tworzymy funkcję o nazwie NIM z parametrem „napis”
W zmiennej S pozycja spacji w napisie za pomocą funkcji FINDSTR
Jeżeli zmienna S jest równa -1(nie znalazło spacji) to wypisz pusty napis „”
W przeciwnym wypadku (znalazło spację) obliczamy długość tekstu w zmiennej D
Za pomocą układu równań tworzymy listę z dwoma fragmentami napisu.


Pętla FOR

ĆWICZENIE 5 - średnia ocen

Lista zawiera oceny ucznia z pewnego przedmiotu. Napisz funkcję o nazwie ŚRE, która za pomocą instrukcji FOR wylicz średnią ocen. Jako parametr podajemy listę z ocenami.
Aby wyliczyć średnią arytmetyczną musimy podsumować wszystkie oceny z listy i podzielić przez ich liczbę.
Przyjmujemy, że początkowa suma będzie wynosiła zero (ważne)!
Wyliczamy długość listy - ilość elementów.
W pętli FOR sumujemy wszystkie elementy listy: do sumy dodajemy kolejny element i znów zapisujemy w tej samej zmiennej (tak można)! Mówimy, że powiększamy zmienną suma o i-ty element listy
Przypisujemy do nazwy funkcji iloraz sumy przez ilość elementów.
Przykładowe wywołanie funkcji ŚRED z listą ocen OC i listą liczb parzystych 2..100

ĆWICZENIE 6 - maksymalna ocena

Utwórz funkcję o nazwie MAX, która wyszuka w liście podanej, jako parametr największą ocenę.
W zmiennej ILE wyliczamy ilość elementów listy.
W zmiennej M (ustawionej na zero) będziemy przechowywać maksymalną wartość.
W pętli FOR, gdzie I zmienia się od 1 do ILE
Sprawdzamy każdy element listy, czy nie jest większy od zmiennej M.
Jeżeli jest większy, to do zmiennej M zapisujemy ten element listy.
W przeciwnym razie nie robimy nic
Po zakończeniu pętli do nazwy funkcji wpisujemy wartość zmiennej M

ĆWICZENIE 7 - losowe oceny

Wypełnij listę losowymi ocenami
W pętli FOR wpisujemy do elementów listy losową liczbę - funkcja RANDOM.
Random(6) losuje liczby z przedziału 0..5, a random(6)+1 z przedziału 1..6.
Za każdym razem, gdy naciśniemy CTRL+F9 losowanie zostanie powtórzone

ĆWICZENIE 8 - arkusz ocen

Utwórz macierz o wymiarach 10x10 i wylosuj do wszystkich jej elementów oceny
Funkcja MATRIX definiuje pustą macierz same zera o wymiarach 10x10.
Podwójna pętla FOR wstawia losowe oceny do każdego elementu tablicy zgodnie z numerem indeksu.
Element tablicy Aij należy wpisać w następujący sposób:
• Wpisz: A [ i ; j
Nie można pominąć średnika, który jest niezbędny!

ĆWICZENIE 9 - ilość ocen

Policz wszystkie oceny z tablicy A
Tworzymy zerowy wektor OC na ilości poszczególnych ocen.
W elemencie pierwszym OC1 jedynki, OC2 dwójki itd.
ROWS i COLS podają nam ilość wierszy i kolumn tablicy
Podwójna pętla pobiera do zmiennej EL po kolei każdą ocenę tablicy.
Ocena jest jednocześnie indeksem z wektora OC.
Więc odpowiednią komórkę wektora OC (ocena) zwiększamy o jeden.

Pętla WHILE

Pętla FOR wykonywała się określoną, konkretną ilość razy. Pętla logiczna WHILE nie będzie miała narzuconej krotności. Za każdym razem sprawdzany jednak będzie warunek zakończenia. Gdy stanie się prawdziwy - pętla skończy działanie. Na przykład szukamy w tablicy pierwszego elementu większego od zera.

ĆWICZENIE 10 - losowe oceny

Wypełnij listę losowymi ocenami.
Zadanie z ćwiczenia 6 wykonamy za pomocą pętli WHILE. Najpierw ustawiamy zmienną I, która „steruje” warunkiem zakończenia pętli. Pętla kończy działanie, gdy zmienna sterująca I będzie większa od 8. Inaczej: pętla działa dopóki zmienna sterująca I jest mniejsza lub równa 8. W pętli wykonujmy dwie instrukcje: losową liczbę wpisujemy do kolejnego elementu wektora i zwiększamy zmienną sterującą I o jeden.

ĆWICZENIE 11 - na dwójkowe

Utwórz funkcję, która zamieni podaną liczbę na liczbę dwójkową.
Wynik otrzymamy w postaci łańcucha tekstowego.
Zmienna N początkowo jest pusta.
W pętli WHILE wykonujemy następujące operacje:
Wyciągamy resztę z dzielenia całkowitego liczby przez 2
Dzielimy liczbę przez 2, obcinamy jej część ułamkową
Na początek napisu N doklejamy resztę zamienioną na tekst.

Poniżej kilka przykładów

ĆWICZENIE 12 - sortowanie bąbelkowe

Napisz funkcję, która posortuje elementy w tablicy.
W tablicy T znajdują się nieuporządkowane liczby. Funkcja SORTUJ porządkuje je malejąco. Algorytm nazywamy sortowanie bąbelkowym.

   

Zmienna ILE zawiera liczbę elementów tablicy.
Pierwsza pętla pobiera element tablicy.
Druga pętla pobiera kolejno wszystkie następne do końca.
Jeżeli element z pierwszej pętli jest mniejszy niż element z pętli drugiej, to następuje zamiana elementów. W przeciwnym wypadku „nic nie rób”. Po zakończeniu działania drugiej pętli na pierwszym miejscy znajduje się już element największy.
Pętla pierwsza wskazuje teraz element następny, a pętla druga zaczyna wskazywać o jeden większy i cała procedura sprawdzania i zamiany się powtarza.
Za każdym razem na kolejne miejsce w tablicy trafia największa znaleziona liczba.

ZADANIA

• Narysuj wykresy funkcji:

   
• Utwórz funkcję o nazwie POLE z dwoma parametrami: a i b. Parametry są długościami boków prostokąta, a funkcja ma liczyć powierzchnię. Na przykład POLE(2,5) → 10
• Utwórz funkcję o nazwie OBWÓD z dwoma parametrami: a i b. Parametry są długościami boków prostokąta, a funkcja ma liczyć obwód. Na przykład OBWÓD(2;5) → 14
• Utwórz funkcję o nazwie SINUS z jednym parametrem. W parametrze podajemy kąt (w stopniach), a funkcja zwraca wartość sinusa tego kąta. Na przykład SINUS(90) → 1
• Do funkcji POLE i OBWÓD dopisz instrukcję, która będzie sprawdzać, czy nie podano liczby ujemnej. Jeśli tak, to zamieni ją automatycznie na dodatnią.
• Za pomocą pętli FOR utwórz tablicę zawierającą 10 kolejnych liczb parzystych (2 4 6 8 10 12 14 16 18 20)
• Za pomocą pętli FOR utwórz tablicę zawierającą 10 kolejnych liczb nieparzystych (1 3 5 7 9 11 13 15 17 19)
• Za pomocą pętli FOR utwórz tablicę zawierającą 10 kolejnych liczb podzielnych przez 3 (3 6 9 12 15…)
• Poprzednie trzy zadania wykonaj za pomocą pętli WHILE
• Napisz funkcję, która odwróci wszystkie litery podanego napisu (Wacek → kecaW)
• Napisz funkcję, która zamieni nazwisko i imię w podanym napisie (Wacław Libront → Libront Wacław)
• W tablicy dwuwymiarowej znajdują się oceny. Napisz 2 funkcję: pierwsza wyliczy średnie dla wszystkich wierszy, a druga dla wszystkich kolumn.