SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Podobne dokumenty
SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. ł ęść. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Wykład 4 Praca z obrazami część I

JAVAScript w dokumentach HTML (2)

Ćwiczenie: JavaScript Cookies (3x45 minut)

JAVAScript w dokumentach HTML - przypomnienie

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

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

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

Funkcje i instrukcje języka JavaScript

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Liczby losowe i pętla while w języku Python


opracował: Patryk Besler

Tablice. Jones Stygar na tropie zmiennych

Podstawy JavaScript ćwiczenia

Języki skryptowe w programie Plans

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

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

Cw.12 JAVAScript w dokumentach HTML

lekcja 8a Gry komputerowe MasterMind

PHP: bloki kodu, tablice, obiekty i formularze

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Podstawy programowania. Podstawy C# Tablice

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

1 Podstawy c++ w pigułce.

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

Programowanie w Turbo Pascal

Podstawy algorytmiki i programowania - wykład 4 C-struktury

Rys.2.1. Drzewo modelu DOM [1]

Wykład 5: Klasy cz. 3

Edytor tekstu MS Word 2010 PL. Edytor tekstu MS Word 2010 PL umożliwia wykonywanie działań matematycznych.

Wstęp do informatyki- wykład 9 Funkcje

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

Wykład 8: klasy cz. 4

Wykład 5: PHP: praca z bazą danych MySQL

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

Zajęcia 4 - Wprowadzenie do Javascript

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Przed zaimportowaniem danych należy odpowiednio skonfigurować sposób interpretacji danych z zakładki [Ustawienie pliku importu]

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

Wykład 03 JavaScript. Michał Drabik

Podstawy programowania. Wykład: 11. Trochę różnych przykładów. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

1. Przypisy, indeks i spisy.

Podstawy Programowania C++

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Wykład VI PASCAL procedury i funkcje przekazywanie parametrów,

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

UWAGA!!! Przed przystąpieniem do zamknięcia roku proszę zrobić kopie bezpieczeństwa

Wstęp do Programowania potok funkcyjny

Politechnika Warszawska. Wydział Chemiczny

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Ćwiczenie 1. Wprowadzenie do programu Octave

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Programowanie i struktury danych

Wstęp do informatyki- wykład 7

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

4. Funkcje. Przykłady

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Programowanie i techniki algorytmiczne

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Zakładka Obmiar jest dostępna dla pozycji kosztorysowej w dolnym panelu. Służy do obliczania ilości robót (patrz też p ).

Zdarzenia Zdarzenia onload i onunload

Programowanie w C++ Wykład 4. Katarzyna Grzelak. 19 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37

I. Interfejs użytkownika.

Podręcznik Użytkownika 360 Księgowość Projekty i centra kosztów

Wykład 3 Składnia języka C# (cz. 2)

Języki i techniki programowania Ćwiczenia 2

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Rozwiązywanie problemów z użyciem Solvera programu Excel

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

Zmienne i struktury dynamiczne

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada

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

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

do instrukcja while (wyrażenie);

Wykład III. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Rys.1. Technika zestawiania części za pomocą polecenia WSTAWIAJĄCE (insert)

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

Arkusz kalkulacyjny EXCEL

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Rys. 1. DuŜa liczba nazw zakresów. Rys. 2. Procedura usuwająca wszystkie nazwy w skoroszycie

OPROGRAMOWANIE DEFSIM2

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Wstęp do informatyki- wykład 11 Funkcje

Stosowanie, tworzenie i modyfikowanie stylów.

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Transkrypt:

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Wykład 3 1

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Przykład Bingo 2

Treść przykładu Jak wygląda karta do Bingo? Typowa karta składa się z kwadratów ułożonych w tabelę o wymiarach 5x5. Nagłówki kolumn oznaczane są literami B-l-N-G-O, a w pozostałych polach wpisywane są liczby z zakresu od I do 75. Na samym środku znajduje się pole puste, w które często wpisywane jest słowo Wolne. W poszczególnych kolumnach dopuszcza się liczby z określonego zakresu: kolumna B może zawierać liczby od I do 15; kolumna I może zawierać liczby od 16 do 30; kolumna N może zawierać liczby od 31 do 45; kolumna G może zawierać liczby od 46 do 60; kolumna O może zawierać liczby od 61 do 75. Przykład pochodzi z książki: Negrino Tom, Smith Dori, Po prostu JavaScriopt i Ajax, wydanie VI, Helion, Gliwice 2007. 3

Szkielet karty 4

Szkielet karty 5

Szkielet karty 6

Bingo v. 0.1 Math.floor funkcja zaokrąglająca w dół (obcina część po przecinku) Math.random losuje liczbę rzeczywistą z zakresu <0;1) Linia 7: identyfikator budowany jest z części square i kolejnego numeru. Otrzymujemy kolejno {square0; square1;square2...sguare23} 7

Bingo v. 0.15 - funkcje Linia 5: Funkcja setsquare() wywołana jest z parametrem i Linia 9: Definicja funkcji setsquare(thissquare) thissquerw parametr formalny 8

Bingo v. 0.19 wykrywanie obiektów Linia 4: metoda getelementbyid (wywołana w linii18) przyjmuje wartość TRUE jeżeli obiekt został znaleziony. 9

TABLICE var nazwa_tab=array(rozmiar_tablicy); np.: var tablica=array(10); tablice o niezdefiniowanej długości można tworzyć za pomocą konstruktora new np. var tab1=new Array(); var tab2=new Array("Rok","2000"); var tablica = new Array("wart1", "wart2", "wart3"); odwołania do elementów tablicy np.: tab2[0] numerowanie elementów tablicy od 0 10

TABLICE Chcemy ograniczyć zakres liczb losowych wpisywanych do konkretnej kolumny. Najprościej będzie to zrobić poprzez przypisanie do każdej kolumny osobnego numeru (B: 0, I: 1, N: 2, G: 3, O: 4) i odpowiednie obliczanie liczb, jakie mogą znaleźć się w danej kolumnie, za pomocą wzoru: (numer kolumny * 15)+ (liczba losowa z zakresu 1-15). 11

TABLICE Niestety, tabele HTML układane są w kolejności komórek, a nie w kolejności kolumn, co oznacza, że najpierw będziemy poprawiać zawartość pierwszego wiersza, następnie drugiego itd. Nie mamy możliwości poprawienia najpierw pierwszej kolumny, potem drugiej, trzeciej itd. Problem ten rozwiązać mona tworząc tablicę gdzie zapisany jest numer kolumny, do którego należy każda z interesujących nas komórek. 12

Bingo v. 0.2 13

Bingo v. 0.25 funkcja zwracająca wartość 14

Bingo v. 0.3 zabezpieczenie przed powtórzeniami 15

Bingo v. 0.3 zabezpieczenie przed powtórzeniami Jeżeli pozycja newnum w tablicy usednum ma wartość false (reprezentowana jest przez znak wykrzyknika (!) umieszczony przed wyrażeniem, który oznacza negację), to wpisujemy do niej wartość true, a do tabeli wpisujemy wylosowaną wcześniej liczbę. Jeżeli w pozycji tej jest już wartość true, to nie robimy nic, dzięki czemu na karcie nie będą pojawiały się duplikaty liczb, ale za to mogą wystąpić niewypełnione pola Dlaczego deklarowana tablica ma mieć 76 pozycji? Po prostu chcemy korzystać z wartości od 1 do 75. Jeżeli tablica zostałaby zainicjowana na 75 pozycji, to ich numeracja zaczynałaby się od 0, a kończyła na 74. Dzięki 76 pozycjom w tablicy możemy korzystać z indeksów o numerach od 1 do 75 i spokojnie ignorować pozycję zerową. Jeżeli wartości logiczne nie zostaną zainicjowane, to automatycznie otrzymają wartość fałszu. 16

Bingo v. 0.9 - pętla DO... WHILE 17

Bingo v. 0.9 - pętla DO... WHILE Instrukcja whi1e powoduje powtarzanie całego bloku do do czasu, aż wpisany w nawiasach warunek zwróci wartość false. W tym przypadku wykorzystujemy wartość newnum jako indeks w tablicy usernums[ ] aby w ten sposób sprawdzić, czy wylosowana liczba została już użyta. Jeżeli tak, to skrypt powraca na początek sekcji do i cały proces zaczyna się od początku. W końcu uda się nam wylosować liczbę, która jeszcze nie pojawiła się na karcie. W takiej sytuacji pętla zostanie zakończona, a w odpowiednim miejscu w tablicy usednums [ ] zapisana zostanie wartość true. Na koniec wylosowana liczba wpisywana jest we właściwe pole na karcie. 18

Bingo v. 1.0 19

Bingo v. 1.0 20

Bingo v. 1.0 Funkcja ta wykonuje trzy operacje: wszystkim pozycjom w tablicy usednums[ ] przypisuje wartość false (dzięki temu można ponownie losować liczby do karty); wywołuje funkcję newcard( ), która generuje nową kartę; zwraca wartość false, przez co przeglądarka nie będzie próbowała załadować strony zapisanej w atrybucie href klikniętego łącza. 21

Obsługa wielu przycisków 22

Obsługa wielu przycisków 23

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Literatura: Negrino Tom, Smith Dori, Po prostu JavaScriopt i Ajax, wydanie VI, Helion, Gliwice 2007. 24