1) Napisz program przy użyciu pętli for, który wyświetli liczby od 1 do 10 a obok niej jej kwadrat.2) Napisz program który prosi o wpisanie wartości podstawy i wpisuje ją do zmiennej a, prosi o wpisanie wartości wykładnika i wpisuje ją do zmiennej b po czym potęguje a do b i wyświetla wynik. Po wyświetleniu program powinien zapytać czy zakończyć pracę. Po wpisaniu "t" program
Liczby pierwsze | Liczby złożone | Najszybsza metoda znajdowania liczb pierwszych od 1 do 100. Jak w Javascript mógłbym znaleźć liczby pierwsze z przedziału od 0 do 100? Myślałem o tym i nie wiem, jak je znaleźć. myślałem o zrobieniu x% x, ale znalazłem z tym oczywisty problem. to, co mam do tej pory: ale niestety jest to najgorszy kod wszechczasów. var prime = function (){ var num; for (num = 0; num znajdź lepszą (i wygraj nagrodę za odkrycie nowej pierwszej :)) 2 wydaje się działać nawet, gdy n = 10 000 000, nie jestem pewien, co to jest „małe” haha 1 @devonJS, gdy n = 10 000 000, zatrzymałoby się przy pierwszej iteracji, ponieważ jest podzielne przez 2, bardzo szybko byłoby dowiedzieć się, że 10 000 000 nie jest liczbą pierwszą. Mimo to może znaleźć 2 147 483 647 dość szybko i 67 280 421 310 721 bez większych problemów, chociaż wydaje się, że nie radzi sobie w Chrome z 170 141 183460 469 231731 687 303715884 105 727 po prostu dlatego, że% 2 na tej liczbie będzie równe 0. Oto pokaz na żywo tego skryptu: Najpierw utwórz funkcję, która sprawdzi, czy pojedyncza liczba jest liczbą pierwszą, czy nie. Jeśli chcesz rozszerzyć obiekt Number, możesz, ale zdecydowałem, że kod będzie tak prosty, jak to tylko możliwe. function isPrime(num) { if(num =j && i%j == 0) { ++counter; } } if(counter == 1) { primeNumbers = primeNumbers + i + ' '; } } ... Ta odpowiedź zadziałała dla mnie i jest o wiele prostsza niż inne odpowiedzi, które widziałem. Nie jestem pewien, jak możemy się różnić j i ja, ponieważ oboje obracają się w tym samym czasie. Czy mógłbyś to wyjaśnić, dziękuję? Odpowiedź Luchiana daje link do standardowej techniki znajdowania liczb pierwszych. Mniej wydajnym, ale prostszym podejściem jest przekształcenie istniejącego kodu w zagnieżdżoną pętlę. Zauważ, że dzielisz przez 2, 3, 4, 5, 6 i tak dalej ... i zamień to w pętlę. Biorąc pod uwagę, że jest to praca domowa i biorąc pod uwagę, że celem zadania domowego jest pomoc w nauce podstawowego programowania, rozwiązanie, które jest proste, poprawne, ale nieco nieefektywne, powinno wystarczyć. Używając rekurencji w połączeniu z regułą pierwiastka kwadratowego stąd, sprawdza, czy liczba jest liczbą pierwszą, czy nie: function isPrime(num){ // An integer is prime if it is not divisible by any prime less than or equal to its square root var squareRoot = parseInt( var primeCountUp = function(divisor){ if(divisor > squareRoot) { // got to a point where the divisor is greater than // the square root, therefore it is prime return true; } else if(num % divisor === 0) { // found a result that divides evenly, NOT prime return false; } else { // keep counting return primeCountUp(++divisor); } }; // start @ 2 because everything is divisible by 1 return primeCountUp(2); } Oto najszybszy sposób obliczania liczb pierwszych w JavaScript na podstawie poprzedniej wartości pierwszej. function nextPrime(value) { if (value > 2) { var i, q; do { i = 3; value += 2; q = while (i 2) { var i, q; do { i = 3; value += 2; q = while (i var n=prompt('Enter User Value') var x=1; if(n==0 || n==1) x=0; for(i=2;i Sito Eratostenesa. trochę wygląda, ale jest proste i działa! function count_prime(arg) { arg = typeof arg !== 'undefined' ? arg : 20; //default value var list = [2] var list2 = [0,1] var real_prime = [] counter = 2 while (counter Array( => n%m); To da 9,25 i więcej liczb niebędących liczbami pierwszymi jako liczby pierwsze, sprawdź Tak, zapomniałem zwiększyć limit wyszukiwania ( (n) +1). Dzięki za test Lista utworzona przy użyciu nowych funkcji ES6, zwłaszcza z generatorem. Przejdź do zrobionego w języku katalońskim na zajęcia z moimi uczniami. Mam nadzieję, że uznasz to za przydatne. function* Primer(max) { const infinite = !max && max !== 0; const re = /^.?$|^(..+?)\1+$/; let current = 1; while (infinite || max-- ) { if(! == true) yield current; current++ }; }; let [...list] = Primer(100); Oto bardzo prosty sposób obliczania liczb pierwszych między podanym zakresem (od 1 do ograniczenia). Proste rozwiązanie: public static void getAllPrimeNumbers(int limit) { prime number from 1 to ' + limit); for(int number=2; numberi+2); for (var i = 0; i x); // return non 0 values } = `${getPrimes(100).join(', ')}`; // for fun, this fantasist regexp way (very inefficient): // (_,i)=>i).filter(n => n>1&&!/^(oo+)\1+$/.test('o'.repeat(n)) Niedawno wymyśliłem jednoliniowe rozwiązanie, które zapewnia dokładnie to dla wyzwania JS na Scrimba (poniżej). ES6 + const getPrimes=num=>Array(num-1).fill().map((e,i)=>2+i).filter((e,i,a)=> function getPrimes(num){return ','.repeat(num).slice(0,-1).split(',').map(function(e,i){return i+1}).filter(function(e){return e>1}).filter(function(x){return ','.repeat(x).slice(0,-1).split(',').map(function(f,j){return j}).filter(function(e){return e>1}).every(function(e){return x%e!==0})})}; Oto wyjaśniona logika: Najpierw funkcja buduje tablicę wszystkich liczb prowadzących do żądanej liczby (w tym przypadku 100) za pośrednictwem .repeat() funkcji, używając żądanej liczby (100) jako argumentu repeatera, a następnie mapując tablicę na indeksy + 1, aby uzyskać zakres liczb od 0 do tej liczby (0-100). Trochę rozszczepiania strun i łączenia magii, która tu się dzieje. Z przyjemnością wyjaśnię ten krok dalej, jeśli chcesz. Wykluczamy 0 i 1 z tablicy, ponieważ nie powinny być testowane pod kątem liczby pierwszej, aby nie dawały fałszywie dodatniego wyniku. Żadne nie są pierwsze. Robimy to za pomocą .filter() tylko dla liczb> 1 (≥ 2). Teraz filtrujemy naszą nową tablicę wszystkich liczb całkowitych od 2 do żądanej liczby (100) tylko pod kątem liczb pierwszych. Aby odfiltrować tylko liczby pierwsze, używamy tej samej magii od naszego pierwszego kroku. Używamy .filter() i .repeat() jeszcze raz, aby utworzyć nową tablicę od 2 do każdy wartość z naszej nowej tablicy liczb. Dla nowej tablicy każdej wartości sprawdzamy, czy którakolwiek z liczb ≥ 2 i .every() metoda sparowana z operatorem modulo % aby sprawdzić, czy ta liczba ma resztę po podzieleniu przez którąkolwiek z tych wartości między 2 a sobą. Jeśli każda wartość ma resztę (x%e!==0), warunek jest spełniony dla wszystkich wartości od 2 do tej liczby (ale nie wliczając tej liczby, tj .: [2,99]) i możemy powiedzieć, że liczba jest pierwsza. Funkcje filtrujące zwracają wszystkie liczby pierwsze do najwyższego wyniku, zwracając w ten sposób listę wartości pierwszych między 2 a wartością przekazaną. Na przykład, używając jednej z tych funkcji, które dodałem powyżej, zwraca: getPrimes(100); // => [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97] 1 Cholera! Dokładnie takiego podejścia szukałem. Dzięki za udostępnienie. 1 @ultrageek pewnie! Ponadto zoptymalizowałem moje rozwiązanie ES6 +, aby korzystać z fill() funkcja, a nie moje nieco zepsute rozwiązanie z powtarzającymi się przecinkami. Zaktualizowano! Najpierw zmień swój kod wewnętrzny na inną pętlę (for i while), dzięki czemu można powtórzyć ten sam kod dla różnych wartości. Bardziej szczegółowo dla twojego problemu, jeśli chcesz wiedzieć, czy dany n jest liczbą pierwszą, musisz ją podzielić dla wszystkich wartości od 2 do sqrt (n). Jeśli którykolwiek z modułów ma wartość 0, nie jest liczbą pierwszą. Jeśli chcesz znaleźć wszystkie liczby pierwsze, możesz to przyspieszyć i sprawdzić n tylko przez podzielenie przez poprzednio znalezione liczby pierwsze. Innym sposobem na przyspieszenie tego procesu jest fakt, że oprócz 2 i 3 wszystkie liczby pierwsze są 6*k plus lub mniej 1. W rzeczywistości jest między 2 a sqrt (n). Tak masz rację. Jeśli liczba większa niż sqrt (n) jest dzielnikiem noznacza to, że iloraz jest mniejszy niż sqrt (n), więc zostałby już znaleziony. Korygowanie. Byłoby dobrze, gdybyś użył któregokolwiek z algorytmów gazillionów, które zostaną ci przedstawione w tym wątku, aby nauczyć się zapamiętywać niektóre z nich. Zobacz pytanie do wywiadu: Jaki jest najszybszy sposób na rekurencyjne generowanie liczb pierwszych? Użyj następującej funkcji, aby znaleźć liczby pierwsze: function primeNumbers() { var p var n = var d var x var prime var displayAll = 2 + ' ' for (p = 3; p divisor) { if ( 2) > n) { return true; } if (n % divisor == 0 || > n) { return false; } else { divisor++; } } return true; } function getPrimeNumbers(range) { for (var i = 3; i <= range; i+=2) { if (isPrime(i)) { } } fillContent(primeNumbers); } getPrimeNumbers(11); })(); }; 1 2 Dalej
Wszystkie liczby idealne mają bardzo precyzyjną formę, co oznacza, że liczby parzyste także się nimi określa. Wyniki liczb doskonałych parzystych są bardzo łatwe do udowodnienia, choć jedyna parzysta liczba idealna: x3+1 to 28, co oznacza, że liczba 28 jest liczbą parzystą idealną będącą sumą dwóch sześcianów liczb
Pętla for jest chyba najczęściej stosowaną pętlą w JS. Składnia pętli for: for(inicjalizacja; warunek_wyjścia; wyrażenie_modyfikujące){ wykowywane intrukcje; } Opis poszczególnych elementów: inicjalizacja – instrukcja wykonywana tylko raz na samym początku pętli. Zwykle używa się jej do przypisania wartości początkowej do zmiennej, która np. będzie zwiększana po każdym obiegu pętli. Zmienna taka zwykle nazywana jest licznikiem pętli warunek_wyjścia – dowolny warunek, który będzie sprawdzany przed każdym obiegiem pętli, także tym pierwszym. W momencie, gdy warunek zwróci false wykonywanie pętli zostanie przerwane, wyrażenie_modyfikujące – instrukcja, która będzie wykonywana po każdym obiegu pętli. Zwykle jej zadaniem jest zwiększenie wartości zmiennej pełniącej rolę licznika pętli. Przykład pętli for, która wypisze kolejne cyfry od 0 do 9 for (i = 0; i < 10; ++i){ } Każdy z trzech elementów znajdujących się wewnątrz okrągłych nawiasów pętli for może być bardziej skomplikowanym wyrażeniem, np.: for (n = inicjuj(); czy_kontynuowac(n); n = wylicz_nastepny(n)) wykonaj_fukcje(n); Można również napisać pętlę, która posiada kilka liczników lub inaczej mówiąc wykonuje kilka instrukcji. Można to zrobić w częściach inicjalizacja i wyrażenie_modyfikujące, poprzez rozdzielenie wyrażeń za pomocą przecinka. Aby zrobić coś takiego w części warunek_wyjścia należy zastosować operatory logiczne for(i = 0, j = 1; i < 10; ++i, j+=4) + j); Pętle można zagnieżdżać. Przykład wypisze wszystkie iloczyny liczb od 0 do 9 for (i = 0; i < 10; ++i) for (j=0; j < 10; ++j) * j); Wszystkie elementy pętli for, czyli inicjalizacja, warunek_wyjścia i wyrażenie_modyfikujące są opcjonalne i można je pominąć. Należy jednak pozostawić średniki. Przykład pętli poniżej jest prawidłowy: for( ; ; ) Jest to tak zwana pętla nieskończona. Będzie się ona wykonywać w nieskończoność, albo do zamknięcia okna, karty przeglądarki. Rzadko się stosuje taki rodzaj pętli. Nowoczesne przeglądarki posiadają zabezpieczenie przed długo działającymi skryptami i po jakimś czasie zadają pytanie czy przerwać skrypt. Takie pętle jak pisałem wcześniej rzadko się stosuje, ale nadal z takiej pętli można wyjść „od środka”. Pętla sama się nie zakończy ale możemy ją przerwać stosując instrukcję break. Kolejny przykład pokazuje jej użycie. Zauważcie, że w pętli nie ma części warunku_wyjścia. for(i = 0; ; ++i){ if (i == 10) break; i ); } Pętla powyżej zakończy się w chwili jak zmienna i osiągnie wartość 10. Inne instrukcje, które powodują wyjście z pętli to return (powrót z funkcji) i throw (rzucenie wyjątku). Kolejną instrukcją, którą należy znać to continue. Wykonanie tej instrukcji powoduje, że pętla od razu wykonuje część wyrażenie_modyfikujące i rozpoczyna kolejną iterację, czyli przejście. W ten sposób można na przykład wyświetlić tylko liczby parzyste. for (i = 0; i < 100; ++i){ if (i % 2 != 0) continue; i ) } Pętla for/in. Pętla ta służy do łatwego wyliczania kolejnych elementów tablic i właściwości obiektów. Składnia: for (zmienna in tablica_lub_obiekt){ instrukcja_1; instrukcja_2; } Przykład wypisania zawartości tablicy przy użyciu pętli for/in: tablica = Array( 'a', 'b', 'c', 'd' ); for (n in tablica) { } Zadania. Przy użyciu instrukcji i pętli wyświetlić w przeglądarce: linię składającą się z ośmiu znaków #: ######## trójkąt o dolnej podstawie pięciu #: # ## ### #### ##### prostokąt zbudowany ze znaków # o wymiarach 3 x 7: ####### ####### ####### odwróconą choinkę ze znaków # o górnej podstawie 9 ######### ####### ##### ### # choinkę ze znaków # o podstawie 9 # ### ##### ####### ######### Zadanie: zrobić tabliczkę mnożenia używając tabeli w HTML 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100
Dodając dwie liczby nieparzyste, otrzymujemy liczbę parzystą. Na przykład 15 + 11 = 26. Właściwości odejmowania. Odejmując dwie liczby parzyste, otrzymujemy liczbę parzystą. Na przykład 32 – 6 = 26. Kiedy odejmujesz liczbę parzystą od nieparzystej, wynikiem jest liczba nieparzysta. Na przykład 37 – 4 = 33.
2,4,6,8,10, //sumacyfr = 2112,14,16,18,20, //suma cyfr = 21 + 5 = 21 + 1 * 522,24,26,28,30, //suma cyfr = 21 + 5 + 5 = 21 + 2*5...92,94,96,98,100 //suma cyfr = 21 + 5 * 9 - 9suma cyfr = 21 * 10 + 5 * (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9) - 9 == 210 + 5 * 45 - 9 = 210 + 225 - 9 = 435 - 9 = 426drugi sposob:ta liczba to:2468 1012141618 2022242628 30 ... 9092949698 100przy czym wstawilem przerwy miedzy grupami 2-8, 10-18, 20-28 itdzatem wystepuja tam cyfry:2,4,6,8 - wystepuja w kazdej z dziesieciu 10 grup, jako cyfry jednostek1, 2, 3, 4, 5, 6, 7, 8, 9 - po 5 w kazgej grupie jako cyfry dziesiateki ostatecznie 1+0+0 z setki na koncu, czyli:10 * (2+4+6+8) + 5 * (1+2+3+4+5+6+7+8+9) + 1 = 10 * 20 + 5 * 45 + 1 = 200 + 225 + 1 = 426
Liczby parzyste. Tu jesteś matematyka.wiki > Liczby > Rodzaje liczb > Liczby parzyste. Liczby parzyste to takie liczby całkowite, które dają się podzielić przez dwa bez reszty. Ogólny wzór na liczbę parzystą jest następujący: 2k dla k ∈ C 2 k dla k ∈ C. Przykładami liczb parzystych są: −50, −12, −2, 0, 6, 10, 18, 48, 100
Co to jest Javascript? JS jest to interpretowany skryptowy język programowania wykonywany po stronie klienta. Czy są jakieś zasady programowania w dobrym stylu? Co to znaczy programować w dobrym stylu? Oczywiście, że są takie zasady. Wiąże się to z pracą w zespole. Wtedy wiele osób ogląda nasz kod źródłowy / skrypt. Czasem jak otwieramy nasz stary kod to łatwiej będzie się nam odnaleźć jak będą komentarze, wcięcia, niż jakby ich nie było. Kilka zasad programowania w dobrym stylu: każdą instrukcję piszemy w oddzielnym wierszu, dla czytelności kodu stosujemy wcięcia, stosujemy komentarze, używamy zrozumiałych nazw zmiennych, używamy notacji camelCase lub innej notacji, Składnia języka JS: każdą instrukcję oddzielamy średnikiem [ ; ], komentarze mogą składać się z jednej linii lub wielu linii [ // ] [/* */ ], wielkość liter w nazwach zmiennych ma znaczenie, Co to jest JavaScript? JavaScript to skryptowy język programowania wykonywany przez przeglądarkę po stronie klienta. Co można robić za pomocą JS? Za pomocą JS możemy: zmieniać dynamicznie wygląd wybranych elementów (wielkość tekstu, kolor, tło itp.) wykonać walidację formularzy wypełnianych przez użytkowników, ale nie zwalnia nas to z obowiązku walidacji wysłanych danych po stronie serwera. Jak sami wiecie są różni użytkownicy Internetu i na pewno znajdzie się bardzo wielu, którzy będą chcieli „sprawdzić” Waszą stronę wysyłać żądania poprzez AJAX (Asynchronous JavaScript and XML). Jest to technika tworzenia aplikacji internetowych, w której interakcja użytkownika z serwerem odbywa się bez przeładowywania całego dokumentu. Miejsca umieszczania skryptów w dokumencie HTML: w sekcji dokumentu HTML, w jakimkolwiek miejscu dokumentu HTML, na końcu dokumentu HTML. Sposoby umieszczania skryptów JS w HTML: używając znacznika , a cały skrypt znajduje się bezpośrednio w dokumencie HTML, (skrypt osadzony):np.: ... importując kod skryptu z zewnętrznego pliku .js:np.: ... atrybut type jest wymagany w HTML 4, ale opcjonalny w HTML 5 Instrukcją odpowiedzialną za wyświetlenie tekstu na stronie w javascript jest instrukcja Żeby wyświetlić tekst na stronie należy go umieścić w nawiasach okrągłych i w cudzysłowie: do wyświetlenia"); Na końcu każdej instrukcji należy umieścić średnik. Instrukcja mówi przeglądarce, żeby wykonała metodę write na obiekcie document. Obiekt document reprezentuje aktualną stronę. Przykład: Wpisz po znaczniku body taki skrypt i sprawdź działanie: skrypt"); Instrukcja pozwala również na wyświetlanie wartości liczbowych: Można również łączyć ze sobą kilka ciągów znaków z wartościami liczbowymi: jest pierwszy ciąg znaków " + 120 + "to jest drugi ciąg znaków"); Ćwiczenie: Proszę o wpisanie takiego skryptu i przeanalizowanie jego działania: Kowalski: "); - " + 31 + " lat"); - " + + " m"); - " + + " kg"); Typy danych w JS: W JS jest kilka typów danych i można na nich wykonywać operacje: liczby (Number), ciągi znaków (String), wartości logiczne (Boolean), obiekty (Object), tablice (Array), typy specjalne: Null, Undefined. Każdy z tych typów można przypisać do zmiennej. typ liczbowy – w porównaniu z innymi językami programowania nie uwzględnia on podziału na liczby całkowite i zmiennoprzecinkowe. Umożliwia wprowadzanie liczb w postaci dziesiętnej (np. 16), ósemkowej (np. 020) lub szesnastkowej (np. 0xF) dozwolona jest również notacja wykładnicza w postaci gdzie X stanowi część całkowitą, Y część dziesiętną, z Z jest wykładnikiem potęgi liczby 10 (np. Wartość dziesiętna Wartość ósemkowa Wartość szesnastkowa Notacja wykładnicza 1 01 0x1 8 010 0x8 123 0173 0x78 1024 02000 0x400 ciągi znaków (typ łańcuchowy) – to dowolne ciągi znaków. Należy umieścić je w cudzysłowie lub w apostrofach. W ciągach znaków mogą również wystąpić znaki specjalne np.: Sekwencja znaków Znaczenie \b Backspace \n Nowy wiersz \r Powrót karetki \f Nowa strona \" Cudzysłów \' Apostrof \\ Lewy ukośnik (backslash) Przykład zastosowania sekwencji znaków. Ciąg znaków do wyświetlenia Zapis w JS Trzeba wejść do katalogu C:\Windows\System "Trzeba wejść do katalogu C:\\Windows\\System" style="color:black;background:yellow" "style=\"color:black;background:yellow\" \/\/ "\\\/\\\/" Łańcuchy znaków to obiekty typu String. Na tych obiektach możemy wywoływać różne metody. W tabeli zawarte są najczęściej używane: Metoda Wywołanie Wynik Opis text = "Ala ma kota"; length 11 Zwraca długość ciągu w znakach charAt() m Zwraca znak na danej pozycji] charCodeAt 109 Zwraca kod ASCII znaku na podanej pozycji toUpperCase() ALA MA KOTA Zamienia wszystkie litery na wielkie toLowerCase() ala ma kota Zamienia wszystkie litery na małe indexOf() 7 Podaje pozycję szukanego tekstu. Jeżeli nie ma tekstu zwracana jest -1 lastIndexOf() 10 Podobnie do wcześniejszej metody, ale zwraca index ostatniego wystąpienia encodeUrl() Ala%20ma%20kota W niektórych przypadkach niepożądane jest stosowanie niektórych znaków: , spacja - # _ & % [ ] & ; : ? ' ( ) ~ | ` !. Z tej racji należy je w jakiś sposób zakodować. decodeUrl Ala ma kota Odkodowanie łańcucha znaków zakodowanego poprzednią metodą. substr() kota Pobiera część ciągu znaków. Długość tego ciągu znaków wyznacza drugi parametr. Brak drugiego parametru oznacza pobranie ciągu znaków do samego końca. substring() Ala Metoda podobna do poprzedniej. Różnica polega na tym, że drugi parametr określa pozycję znaku w ciągu. Jeżeli drugi parametr będzie większy, metoda zamieni miejscami te dwa parametry. slice() Ala Metoda bardzo podobna do poprzedniej. Zwraca ciąg znaków z podanego ciągu. split() ',2) Array('Ala', 'ma') Zwraca tablicę ciągów znaków podzieloną wg pierwszego parametru (spacji). Drugi parametr określa ile ma być elementów w tablicy. Nie podanie drugiego parametru zwróci w tym przypadku wszystkie wyrazy. replace() Ola ma kota Zamienia pierwsze wystąpienie szukanego ciągu i zamienia go na ciąg podany w drugim parametrze. Aby zamienić wszystkie wystąpienia danego ciągu należy skorzystać z wyrażeń regularnych Typ logiczny może przyjmować jedną z dwóch dostępnych wartości: true oraz false. Jest stosowany głównie przy budowaniu wyrażeń logicznych lub do porównywania danych. Typ obiektowy służy do reprezentacji obiektów. Najczęściej wykorzystuje się obiekty wbudowane oraz udostępniane przez przeglądarkę, ale nic nie stoi na przeszkodzie, aby stworzyć własny typ obiektowy. Typ tablicowy. Tablice w JS obsługiwane są przez klasę Array. Obiekt tej klasy, czyli tablicę, możemy tworzyć na trzy sposoby: var tabl = new Array(); //pusta tablica var tabl = new Array(10); //utworzenie tablicy 10 elem. var tabl = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); //utworzenie tablicy z podaniem elementów, które mają się w niej znaleźć. Możemy również utworzyć tablicę stosując nawiasy kwadratowe: var tabl = [ ]; var tabl = [ 10 ]; var tabl = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; Aby pobrać wartość pierwszego elementu tablicy należy posłużyć się składnią: tabl[0]. W nawiasy kwadratowe wpisujemy indeks elementu, który chcemy pobrać. Indeksy numerowane są od zera. Są również tablice wielowymiarowe i asocjacyjne. Typy specjalne dzielą się na dwa rodzaje: null – określa wartość pustą, undefined – określa wartość niezdefiniowaną. Można go przypisać do zmiennej bezpośrednio lub przyjmuje go zmienna, która nie została zainicjowana – nie przypisano do niej żadnej wartości. Co to jest zmienna? Zmienna jest to element programu pozwalający na przechowywanie danych różnych typów. W JavaScript nie wymaga się podania typu zmiennej podczas jej deklaracji. Ponadto typ zmiennej może ulec modyfikacji podczas wykonywania skryptu np. zmienne typu łańcuchowego (String) możemy przypisać wartość logiczną (Boolean). Jak się deklaruje (ustawia) zmienne? Deklaracja zmiennej odbywa się przez nadanie jej jednoznacznej nazwy, przez którą jest identyfikowana. Przed nazwą należy wprowadzić instrukcję var (variable – zmienna). Zasady w nazewnictwie zmiennych: nazwa zmiennej musi zaczynać się od litery, lub od znaku podkreślenia [ _ ], w nazwie można używać cyfr, np.: zmienna1, zmienna2 wielkość znaków w nazwie ma znaczenie, (zmienna i ZMIEnna to dwie różne zmienne) nazwa zmiennej nie może być słowem kluczowym np.: function, var, alert, w nazwach zmiennych nie używamy polskich liter np.: ą, ć, ę, nazwa zmiennej nie może zawierać spacji. Skrypt pokazujący jak zachowują się zmienne. var zmienna_a = 3; zmienna_a = true; zmienna_a = "Ala ma kota"; Do czego wykorzystywane są operatory arytmetyczne? Operatory arytmetyczne wykorzystywane są do wykonywania operacji matematycznych na zmiennych (i nie tylko zmiennych). Operator Składnia Opis + x + y Operacja dodawania - X - y Operacja odejmowania - - x Zmienia wartość zmiennej z wartości ujemnej na wartość dodatnią i odwrotnie. Zamiast tego operatora można wykonać -1*x % X % y Zwraca resztę z dzielenia pierwszej zmiennej przez drugą. Dzielenie modulo np.: 4 % 3 = 1 * X * y Wykonuje operację mnożenia / X / y Wykonuje operację dzielenia Skrypt pokazujący działanie operatorów arytmetycznych: var a = 4; var b = 3; = " + a +""); = " + b +""); + b = " +(a + b) +""); – b = " +(a - b) +""); * b = " +(a * b) +""); / b = " +(a / b) +""); % b = " +(a % b) +""); Operator łańcuchowy pozwala na łączenie dwóch ciągów znaków w jeden. Stosuje się w tym celu „+”, przykład: "text1" + "tekst2" //wynik działania text1tekst2 Operatory bitowe związane są z wykonywaniem operacji na bitach. Na odpowiednich bitach zmiennych wykonywane są operacji algebry logicznej. Najpowszechniej chyba spotykanym przypadkiem stosowania wartości bitowych są wszelkiego rodzaju systemy uprawnień. Operator Składnia Opis & X & y Wykonuje operację bitową AND, która zwraca 1 jeśli oba bity wynoszą 1. ^ X ^ y Wykonuje operację bitową XOR, która zwraca 1, jeśli jeden z bitów, ale nie oba jednocześnie, wynosi 1. | X | y Wykonuje operację bitową OR, która zwraca 1, jeśli jeden z bitów wynosi jeden > X >> y Wykonuje przesunięcie bitów w prawo o podaną liczbę usuwając nadmiarowe bity z prawej strony. X >> 1 równoznaczne jest z podzieleniem liczby X przez 2 bez reszty ~ ~x Bitowe NOT. Odwraca bit podanego argumentu. Operatory bitowe traktują swoje argumenty jako zbiory 32 bitów, a nie jak liczby dziesiętne, szesnastkowe, czy ósemkowe. Na przykład binarny zapis liczby dziesiętnej 9 to 1001. Operatory bitowe dokonują swoich operacji na takich właśnie reprezentacjach dwójkowych, ale zwracają standardowe wartości liczbowe JavaScript. Operator Działanie (x = 15; y = 9) & x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 & 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 | x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 ^ x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 > 2 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 >>2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 Operatory przypisania. Symbol Składnia Opis = X = y Przypisuje wartość y do zmiennej Y += X += y Wykonuje przypisanie X = X + y -= X -= y Wykonuje przypisanie X = X - y *= X *= y Wykonuje przypisanie X = X * y /= X /= y Wykonuje przypisanie X = X / y %= X %= y Wykonuje przypisanie X = X % y ^= X ^= y Wykonuje przypisanie X = X ^ y // alternatywa rozłączna bitów (xor) |= X |= y Wykonuje przypisanie X = X | y //suma logiczna bitów (or) &= X &= y Wykonuje przypisanie X = X & y //iloczyn logiczny bitów (and) >= X >>= y Wykonuje przypisanie X = X >> y //przesunięcie bitów w prawo o y >>>= X >>>=y Wykonuje przypisanie X = X >>> y //przesunięcie bitów w prawo o y Operatory inkrementacji i dekrementacji Symbol Składnia Opis ++ X++ Postinkrementacja (zwraca wartość i zwiększa wartość X o 1) ++ ++X Preinkrementacja (zwiększa wartość X o 1 i zwraca wartość) -- X-- Postdekrementacja (zwraca wartość i zmniejsza wartość X o 1) -- --X Predekrementacja (zmniejsza wartość X o 1 i zwraca wartość) Operatory porównania – wykorzystuje się je do porównania dwóch argumentów. W wyniku podawana jest wartość true, jeżeli zależność jest prawdziwa lub wartość false, jeżeli warunek nie został spełniony. Symbol Składnia Opis != X != y Zwraca true, jeżeli zmienne nie są równe X > y Zwraca true, jeżeli X jest większe od y >= X >= y Zwraca true, jeżeli X jest większe lub równe y === X === y Zwraca true, jeżeli X jest równe y i są tego samego typu !== X !== y Zwraca true, jeżeli X jest różne od y albo są różnych typów Operatory logiczne Symbol Składnia Opis ! !x Operator neguje wyrażenie && X && y Operator logiczny AND zwraca true jeżeli oba wyrażenia są prawdziwe || X || y Operator logiczny OR zwraca true, jeżeli przynajmniej jedno wyrażenie jest prawdziwe Instrukcja warunkowa określa, który z fragmentów programu zostanie wykonany w zależności od spełnienia określonych warunków. Ogólna postać instrukcji warunkowej. if (warunek) { instrukcje; } Instrukcja warunkowa z blokiem else if (warunek) { instrukcje; }else{ inne_instrukcje; } Instrukcja przetwarzania warunkowego pozwala na łatwa i szybkie zastąpienie bloku if..else. Można powiedzieć, że stanowi jego skróconą wersję. Jeżeli wynikiem działania warunku jest wartość true, to zostanie wykonana pierwsza instrukcja. Jeżeli warunek nie zostanie spełniony i przyjmie wartość false, zostanie wykonana instrukcja_2 (warunek) ? {instrukcja_1}:{instrukcja_2} Prosty skrypt pokazujący działanie instrukcji przetwarzania warunkowego: var x = prompt("Podaj liczbę", ""); x = (x%2==0) ? "parzysta" : "nieparzysta"; to liczba " + x); Czasem się zdarzy, że trzeba byłoby kilkukrotnie sprawdzać warunek czy zmienna przyjmuje odpowiednią wartość. Na przykład weźmy, że w zależności od wartości zmiennej x będziemy wykonywać inne operacje. Dla instrukcji warunkowej if wyglądałoby to mniej więcej tak: if (x==0){ instrukcja_1; } if (x==1){ instrukcja_2; } if (x==2){ instrukcja_3; } Jak sami widzicie nie wygląda to zbyt elegancko. Z pomocą przychodzi nam konstrukcja switch. Powyższe instrukcje if można zamienić na: switch (x){ case 0 : instrukcja_1;break; case 1 : instrukcja_2;break; case 2 : instrukcja_3; } W konstrukcji switch można dopisać blok default. Wykonuje się on wtedy, kiedy żaden warunek nie jest spełniony: switch (x){ case 0 : instrukcja_1;break; case 1 : instrukcja_2;break; case 2 : instrukcja_3;break; default: instrukcja_4; } Instrukcja break odpowiedzialna jest za wyjście z konstrukcji switch po znalezieniu opcji. Jeżeli nie byłoby break instrukcje następujące po znalezionej opcji wykonałyby się jedna po drugiej. Na ostatniej opcji nie jest wymagana instrukcja break. Czasem zachodzi potrzeba, żeby sprawdzić warunek w sekcji else. Robi się to poprzez konstrukcję if (x){ instrukcja_1; } else if(y>0){ instrukcja_2; } Pętla for jest chyba najczęściej stosowaną pętlą w JS. Składnia pętli for: for(inicjalizacja; warunek_wyjścia; wyrażenie_modyfikujące){ wykowywane intrukcje; } Opis poszczególnych elementów: inicjalizacja – instrukcja wykonywana tylko raz na samym początku pętli. Zwykle używa się jej do przypisania wartości początkowej do zmiennej, która np. będzie zwiększana po każdym obiegu pętli. Zmienna taka zwykle nazywana jest licznikiem pętli warunek_wyjścia – dowolny warunek, który będzie sprawdzany przed każdym obiegiem pętli, także tym pierwszym. W momencie, gdy warunek zwróci false wykonywanie pętli zostanie przerwane, wyrażenie_modyfikujące – instrukcja, która będzie wykonywana po każdym obiegu pętli. Zwykle jej zadaniem jest zwiększenie wartości zmiennej pełniącej rolę licznika pętli. Przykład pętli for, która wypisze kolejne cyfry od 0 do 9 for (i = 0; i var x = 1; while (x Oczywiście w pętli tej można również użyć instrukcji break i continue. Zasada działania tych instrukcji jest taka sama jak w pętli for. Zadania do wykonania Wypisać wszystkie dzielniki liczby 912 używając pętli while. Policzyć sumę wszystkich liczb od 1 do 100 używając pętli while. 12. Pętla do ... while 13. Funkcje 15. Obiekty wbudowane 16. Własne obiekty
| Ιскա ያкреմիξը | Οվоዩо ጴаβቢ |
|---|
| Нε фግፋу իժин | Ечիሁ упቱቄεт |
| ቾሉձեклዟгел ибагխցօй | Իշ иዣጡπежоծ |
| Бሹղ ибравем | ዐгл нтисևսуд |
| Эзиτачግпዘв м իξиςаቩο | Քасυ զዕςиψастիռ мաтвο |
Zbiór D tworzą wszystkie liczby naturalne, które przy dzieleniu przez 3 dają resztę 2. Podaj: a) najmniejszy trzycyfrowy element zbioru D, b) największy czterocyfrowy element zbioru D, c) przykładowe trzy liczby parzyste należące do tego zbioru. Wypisz wszystkie elementy zbiorów A i B, które są zbiorami skończonymi.
Untitled a guest Oct 26th, 2015 300 Never Not a member of Pastebin yet? Sign Up, it unlocks many cool features! Pętle Zadanie 1 (1p) Napisz program wyświetlający wszystkie parzyste liczby z przedziału od 0 do 100. Zadanie 2 (1p) Dana jest następująca pętla: int s = 0 ; for ( int i = 1 ; i <= 10 ; i++) s = s + i; Zmodyfikuj powyższy kod aby wykorzystywał pętle while. Zadanie 3 (1p) Dane są dwie tablice zadeklarowane jak następuje: int[] tab1 = {3, 2, 1, 4, 6}; int[] tab2 = {1, 2, 4, 3, 4, 5}; Utwórz program wypisujący te elementy z tablicy tab1, które wystąpiły w tab2. Jeżeli jakiś element wystąpił więcej niż raz wypisz liczbę jego wystąpień. Zadanie 4 (1p) Napisz program wyświetlający tabliczkę mnożenia w zakresie do 100. 1 2 3 4 . . . 2 4 6 8 . . . 3 6 9 12 . . . 4 8 12 16 . . . . . . Zadanie 5 (1p) Napisz program, który wyrysuje na konsoli klepsydrę o podstawie składającej się przynajmniej z 8 symboli. Poniżej przykład klepsydry dla 5 symboli w podstawie. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * RAW Paste Data Copied
2 - liczby parzyste, 4 - liczby parzyste, 6 - liczby parzyste, 8 - liczby parzyste, 10 - liczby parzyste, 12 - liczby parzyste, 14 - liczby parzyste, 20 - liczby parzyste, 22 - liczby parzyste, 30 - liczby parzyste, 28 - liczby parzyste, 18 - liczby parzyste, 32 - liczby parzyste, 52 - liczby parzyste, 46 - liczby parzyste, 100 - liczby parzyste, 356 - liczby parzyste, 658 - liczby parzyste
Cześć, Jestem tu nowy i niestety nie znalazłem żadnych podpowiedzi poprzez wyszukiwarkę. Pytanie moje może okazać się banalne, ale uczę się JS'a dopiero od kilku dni a mam pewne zadanie i kompletnie nie wiem jak się do tego zabrać (poniżej treść zadania). Samo wypisanie liczb nie będzie specjalnie trudne ale jak dołożyć do tego opis "parzysta" "nieparzysta"? Czy ktoś mógłby jakoś nakierować? Bardzo proszę o język zrozumiały dla raczkującego laika. W pliku napisz program, który na podstawie wartości zmiennej np. var n = 5; wypisuje wszystkie liczby od zera do n. Przy każdej liczbie program ma napisać, czy liczba jest parzysta czy nie. Np.: 0 – parzysta 1 – nieparzysta 2 – parzysta 3 – nieparzysta ... Podpowiedź: Jak sprawdzić czy liczba jest parzysta lub nieparzysta? Wystarczy podzielić ją modulo przez 2, jeżeli wynik to 0, wtedy liczba jest parzysta, w przeciwnym przypadku jest nieparzysta.
f94aH. 7z2ejcyaid.pages.dev/3787z2ejcyaid.pages.dev/2277z2ejcyaid.pages.dev/767z2ejcyaid.pages.dev/667z2ejcyaid.pages.dev/3667z2ejcyaid.pages.dev/267z2ejcyaid.pages.dev/1637z2ejcyaid.pages.dev/1027z2ejcyaid.pages.dev/148
liczby parzyste od 0 do 100 javascript