1. Zmienne Skalary
|
|
- Marcin Niewiadomski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Podstawy języka PHP 1. Zmienne 1.1. Skalary 1.2. Tablice 1.3. Operatory arytmetyczne 1.4. Operatory przypisania 1.5. Operatory warunkowe i porównania 1.6. Pętle 1.7. Dodatkowe informacje o tablicach tablice asocjacyjne 1.8. Tablice wielowymiarowe 1
2 1. Zmienne Pojęcie zmiennej znasz już z innych języków programowania (np. JAVA). Przypomnijmy je jednak zmienna w programie komputerowym to wielkość przybierająca wartości przypisane przez algorytm wykonania programu. Mówiąc językiem potocznym zmienna jest podręcznym schowkiem, w którym programy komputerowe przechowują różne wartości potrzebne do poprawnego działania. W nowoczesnych językach programowania liczba zmiennych jest ograniczona jedynie wielkością pamięci komputera. Wszystkie zmienne programu są rozróżniane przez swoje nazwy. Dodatkowo języki kompilowane, takie jak JAVA czy C++, wymagają, aby programista z góry zadeklarował, jakiego typu wartości będą przechowywane w poszczególnych zmiennych. W językach tych typ zmiennej nie ulega zmianie przez cały czas wykonania programu. W PHP korzystanie ze zmiennych zostało maksymalnie uproszczone. Nie przywiązuje się tu żadnej wagi do tego, jaki rodzaj danych zawiera zmienna. Możesz używać zmiennej do przechowywania dowolnej wartości, a PHP sam zadba o poprawne jej wykorzystanie Skalary Perl rozróżnia dwa podstawowe typy danych: skalary i tablice. Skalary służą do przechowywania pojedynczych elementów. Listy związane są ze zbiorami elementów, takich jak tablice. Nie trzeba ich w żaden specjalny sposób deklarować. Do utworzenia zmiennej skalarnej służy znak dolara ("$"), po którym następuje nazwa zmiennej. Musi ona zaczynać się literą lub znakiem podkreślenia i może zawierać dowolną liczbę liter, cyfr i podkreśleń. Odróżniane są duże i małe litery ($Abc i $abc są więc rozróżniane). PHP obecnie obsługuje następujące typy zmiennych skalarnych: boolean typ logiczny, integer liczba całkowita, double liczba rzeczywista, string tekst. Oto kilka przykładów przypisania wartości do skalarów: $liczba = 8; 2
3 przypisuje zmiennej $liczba liczbę całkowitą 8. Jak widać znak równości, podobnie jak w innych językach, oznacza operację przypisania wartości do zmiennej. $liczba = 3.456; przypisuje zmiennej $liczba liczbę zmiennoprzecinkową (kropka oddziela część całkowitą od ułamkowej). $liczba = 2e-5; przypisuje zmiennej $liczba liczbę w postaci wykładniczej. $liczbaosemkowa = 016; przypisuje zmiennej $liczba liczbę zapisaną ósemkowo (zero na początku). $liczbaszesnastkowa = 0x3c; przypisuje zmiennej $liczba liczbę zapisaną szesnastkowo (0x na początku). Zwróć uwagę, że dowolny język programowania jest językiem międzynarodowym, dlatego nazwy zmiennych nie powinny zawierać ani białych znaków (spacja, tabulacja), ani polskich znaków diakrytycznych. Poza liczbami zmienne mogą przechowywać także dowolne ciągi znaków (łańcuchy). Oto kilka przykładów tego typu zmiennych: $lancuch = "Dowolny łańcuch znaków"; przypisuje zmiennej $lancuch ciąg znaków ujęty w cudzysłowy po prawej stronie znaku równości. Jeżeli chcemy w tekście umieścić cudzysłów, należy poprzedzić go znakiem "\". To samo dotyczy znaku "$". W celu umieszczenia wewnątrz tekstu znaku "\" należy napisać "\\". Aby umieścić w tekście znak nowej linii, można użyć sekwencji "\n". Wewnątrz tekstu można też użyć zdefiniowanych wcześniej zmiennych: $a=3; $b="jakaś wartość"; $c="$a, $b"; 3
4 Zmienna $c będzie miała wartość "3, Jakaś wartość". $lancuch = 'Dowolny łańcuch znaków'; Ta linia programu pozornie wygląda identycznie jak poprzednia, dotycząca zmiennej $lancuch. Zwróć jednak uwagę, że w miejscu cudzysłowów pojawiły się apostrofy. Różnicę zobaczymy na przykładzie. Utwórz w głównym katalogu serwera (htdocs) plik o nazwie wyplata.php i następującej treści: <html> <head> <title>wyplata</title> </head> <body> <?php $napis = "Oto moja wyplata"; $wyplata = "5 zl"; $interpretowany = "Otrzymalem $wyplata \n"; echo $interpretowany; $doslowny = 'Otrzymalem $wyplata'; echo $doslowny;?> </body> </html> Teraz, korzystając z przeglądarki internetowej, otwórz wcześniej utworzony plik, podając jego adres, czyli Okno przeglądarki powinno zawierać informacje jak na poniższym rysunku. 4
5 Czy widzisz już różnicę między cudzysłowami i apostrofami? Prześledźmy dokładnie program. Zaczynamy od linii następującej po znaczniku <?php, czyli od początku kodu PHP. W linii pierwszej przypisujemy zmiennej $napis ciąg znaków "Oto moja wyplata". Druga linia to przypisanie zmiennej $wyplata ciągu znaków "5 zl". W trzeciej, zmiennej $interpretowany przypisujemy ciąg znaków "Otrzymalem $wyplata \n". Czwarta linia wywołuje funkcję echo, w celu wypisania na ekranie zawartości zmiennej $interpretowany. Na ekranie pojawia się więc napis: Otrzymalem 5 zl. Zastanów się chwilę nad tą linią, mamy w niej aż dwa nowe elementy języka. Po pierwsze, argumentem funkcji echo wcale nie musi być ciąg znaków zapisany wprost po słowie echo, może nim być również nazwa zmiennej. W takim przypadku na ekranie pojawi się zawartość tej zmiennej. Po drugie, zwróć uwagę na sposób, w jaki PHP traktuje zawartość zmiennej $interpretowany. Przechowuje ona ciąg znaków, w którym umieszczono nazwę innej zmiennej ($wyplata). Na ekranie nie pojawiła się nazwa tej zmiennej, lecz jej zawartość! Zupełnie inaczej sytuacja przedstawia się w liniach piątej i szóstej. Podobnie jak poprzednio, zmienna $doslowny przechowuje ciąg znaków zawierający nazwę zmiennej $wyplata. Tym razem jednak wywołanie funkcji echo $doslowny w linii szóstej, spowoduje wypisanie zawartości zmiennej $dosłowny bez podstawiania wartości zmiennej $wyplata. Przyczyną różnicy w działaniu obu instrukcji echo jest różnica funkcjonalności między cudzysłowami i apostrofami. Łańcuch znakowy otoczony apostrofami jest zawsze 5
6 przetwarzany (np. drukowany) bez jakichkolwiek zmian. Łańcuch otoczony cudzysłowami jest za każdym razem interpretowany, co oznacza, że wszystkie nazwy występujących w nim zmiennych są zastępowane ich wartościami. Pozostaje jeszcze wyjaśnić, po co w ciągu znaków zmiennej $interpretowany wstawiono dziwny symbol "\n". Jest to uniwersalny znak końca linii. Gdyby go nie było, oba napisy zostałyby wydrukowane w jednej linii, jeden za drugim (sprawdź to samodzielnie, modyfikując program). Znak specjalny "\n" musi także zostać poprawnie zinterpretowany, będzie on funkcjonował prawidłowo jedynie w łańcuchach otoczonych cudzysłowami Tablice PHP pozwala na grupowanie skalarów. Tablica jest rozbudowanym typem zmiennej skalarnej, która potrafi przechowywać wiele wartości. Są one przechowywane w bardzo zwartej formie. Każdy element ma swój indeks, co oznacza, że poszczególne elementy tablicy są ponumerowane. Pierwszy element ma indeks 0, drugi 1 i tak dalej. Należy zauważyć, że każdy element tablicy jest wartością skalarną (pojedynczą wartością). Identyfikator zmiennej tablicowej składa się z trzech części: znaku $, nazwy oraz pary nawiasów kwadratowych [ ] zawierających indeks elementu tablicy. Nazwa tablicy podlega identycznym ograniczeniom, co nazwa skalara. Aby stworzyć tablicę, wystarczy przypisać wartość któremuś z jej pól: $tablica[0]="wartość pola 0"; $tablica[1]="wartość pola 1"; $tablica[2]="wartość pola 2"; $tablica[3]="wartość pola 3"; $tablica[4]="wartość pola 4"; Jako indeksu można użyć innej zmiennej, np.: $indeks=5; $tablica[$indeks]=100; Można też definiować tablice za pomocą operatora = array('styczeń', 'luty', 'marzec', 'kwiecień'); 6
7 definiuje tablicę zawierającą cztery łańcuchy =array(); definiuje tablicę = array(3.25, 'wtorek', $zmienna, 3+5, 1024); definiuje tablicę zawierającą pięć elementów o różnych typach. Pierwszy element jest liczbą zmiennoprzecinkową, drugi łańcuchem znaków, trzeci wartością skalara $zmienna, czwarty wynikiem działania 3 + 5, piąty liczbą całkowitą. Zwróć uwagę na to, że tablice działają zupełnie podobnie jak w języku Perl. Języki, takie jak JAVA czy C++ wymagają, aby wszystkie elementy tablicy były tego samego typu, zadeklarowanego w programie przed pierwszym użyciem i niezmiennego do końca działania aplikacji. W PHP tablic (podobnie jak skalarów) nie trzeba deklarować ani definiować. Pierwsze użycie zmiennej jest równoznaczne z automatyczną deklaracją i definicją. W PHP wprowadzono jeszcze jedno udoskonalenie. Można wstawić element do tablicy, nie martwiąc się w ogóle numerem indeksu. Następujący zapis: $tablica[]=999; doda do tablicy o nazwie $tablica element o wartości 999 i indeksie o jeden większym od najwyższego indeksu używanego do tej pory w tej tablicy. Dotychczasowe wpisy do $tablica wskazują, że nowo nadanym indeksem będzie liczba 6. Programiści Perla bardzo zazdroszczą tego mechanizmu. Przyjrzyjmy się teraz sposobowi korzystania z wartości zapisanych w tablicach. Każda z nich ma swój adres, zwany indeksem. Indeksy są liczbami całkowitymi i rozpoczynają się od zera. To bardzo ważne pierwszy element tablicy ma indeks zero, a więc piąty będzie miał indeks 4. Oto przykład poleceń programu, pozwalający na odczyt wybranego elementu tablicy: $zmienna = $rozne[1]; przypisuje do skalara $zmienna, wartość zapamiętaną pod indeksem jeden w tablicy rozne. 7
8 Tablice w PHP, podobnie jak tablice w Perlu, mają jeszcze jedną zaletę. Programista może w sposób zupełnie dowolny i całkowicie według własnego uznania przyznawać indeksy do poszczególnych elementów tablic. Nie ma konieczności ciągłej numeracji indeksów ani wcześniejszego deklarowania rozmiarów tablic. I tak na przykład poniższy kod: $liczby = array(2, 18, 9, 16); $liczby[10] = 15; $liczby[100] = 20; początkowo deklaruje czteroelementową tablicę liczby, po czym dodaje do niej dwa elementy o indeksach 10 i 100. W efekcie powstaje sześcio-, a nie jak wynikałoby z numeracji indeksów stuelementowa tablica. Warto w tym miejscu zadać pytanie, jak zachowa się program w PHP przy próbie odczytu wartości z nieistniejącego elementu. Sprawdźmy to na przykładzie: <html> <head> <title>tablice</title> </head> <body> <?php $liczby = array(2, 18, 9, 16); $liczby[10] = 15; $liczby[100] = 20; echo $liczby[10]; echo "<BR>"; echo $liczby[222]; echo "<BR>"; echo $liczby[100];?> </body> </html> W czwartej linii program (przypomnijmy, że linie programu liczymy dopiero od wystąpienia znacznika <?php ) wyświetla na ekranie wartość elementu tablicy o indeksie 10. W linii piątej przechodzi do nowej linii, aby liczby nie były drukowane jedna za drugą. Zwróć uwagę, że zamiast znaku \n zastosowano zwykły znacznik <BR>. Jak widać PHP 8
9 doskonale radzi sobie z takimi sytuacjami. W szóstej drukuje element tablicy o nieistniejącym wcześniej indeksie 222. Kolejne linie to ponownie przejście do nowej linii i wydruk elementu o indeksie 100. Każdy z poznanych dotychczas języków deklaratywnych, takich jak JAVA czy C++ w linii szóstej wyświetliłby błąd, polegający na przekroczeniu rozmiaru tablicy. A co na to PHP? Podobnie jak Perl wyświetli po prostu wartość pustą. Dlaczego tak się stało? Wyjaśnienie jest bardzo proste. Wiesz już, że zmiennych w języku PHP, podobnie jak w Perl, nie trzeba inicjować przed użyciem. W rzeczywistości pierwsze użycie nazwy zmiennej jest jej automatyczną deklaracją. W momencie deklaracji zmienna zostaje zainicjowana wartością pustą (NULL). Tak też stało się w naszym przykładzie. Element tablicy $liczby[222] został zainicjowany w momencie odczytania tego zapisu przez interpreter, a następnie pusta wartość została przekazana do funkcji drukującej echo(). Efekt już znasz na ekranie pojawiła się pusta linia. Jak widzisz, tablice są proste w zastosowaniu i bardzo wygodne. Nie musisz nic deklarować, podajesz nazwę i stosujesz je praktycznie bez ograniczeń. Praktycznie, gdyż istnieje jedno ograniczenie, za które PHP, tak jak Perl, jest krytykowany: tablice w PHP są jednowymiarowe! Istnieją rozwiązania pozwalające na tworzenie bardziej zaawansowanych struktur (tablice złożone z tablic), ale ich zastosowanie nie jest już tak proste i oczywiste. Nie przywiązujmy jednak zbyt wielkiej wagi do tego ograniczenia. W 95% programów, które chciałbyś napisać w PHP, nie będzie Ci ono w ogóle przeszkadzać. 9
10 1.3. Operatory arytmetyczne Podstawowymi operacjami wykonywanymi w prawie każdym programie są operacje arytmetyczne. W PHP operatory arytmetyczne są identyczne z operatorami stosowanymi w innych językach oprogramowania, dlatego też ograniczę się jedynie do ich wymienienia w treści przykładu. Aby zapoznać się z operatorami, przeanalizuj i uruchom następujący kod: <html> <head> <title>operatory</title> </head> <body> <?php echo "OPERATORY ARYTMETYCZNE<BR>"; $a = 20; $b = 6; echo "zmienna a = $a, "; echo "zmienna b = $b <BR>"; echo "Dodawanie: $a + $b = "; echo $a + $b; echo "<BR>"; echo "Odejmowanie: $a - $b = "; echo $a - $b; echo "<BR>"; echo "Mnozenie: $a * $b = "; echo $a * $b; echo "<BR>"; echo "Dzielenie: $a / $b = "; echo $a / $b; echo "<BR>"; echo "Modulo (reszta z dzielenia): $a % $b = "; echo $a % $b; echo "<BR>"; $a = $a.$b; echo $a;?> </body> </html> 10
11 W programie zostały wykorzystane jedynie wiadomości omawiane na wcześniejszych stronach kursu, nie powinieneś mieć więc żadnych problemów z jego przeanalizowaniem. Zwróć jedynie uwagę na różnicę między znakami "/" i "\". Pierwszy jest operatorem dzielenia, drugi definiuje następujący po nim znak jako znak specjalny (np. \n koniec linii) Operatory przypisania Dobrym uzupełnieniem operatorów arytmetycznych są operatory przypisania. Przedstawię je w postaci tabeli: Operator Przykład Opis Zwykły zapis = $a = 5 przyporządkuj prawą $a = 5 stronę lewej stronie += $a += 5 dodaj prawą stronę do lewej strony -= $a -= 6 odejmij prawą stronę od lewej strony *= $a *= 7 pomnóż lewą stronę przez prawą stronę /= $a /= 8 podziel lewą stronę przez prawą stronę %= $a %= 9 przyporządkuj lewej stronie resztę z dzielenia lewej strony przez prawą.= $a.= 10 przyporządkuj lewej $a = $a + 5 $a = $a - 6 $a = $a * 7 $a = $a / 8 $a = $a % 9 $a = $a.10 stronie wynik połączenia łańcuchów prawej i lewej strony Wpisz do swojego edytora następujący program, zapisz w głównym katalogu serwera (HTDOCS) jako plik o nazwie przypisanie.php, a następnie, korzystając z przeglądarki internetowej, otwórz wcześniej utworzony plik, podając jego adres, czyli 11
12 <html> <head> <title>przypisanie</title> </head> <body> <?php echo "OPERATORY Przpisania<BR>"; $a = 20; $b = 6; echo "zmienna a = $a, "; echo "zmienna b = $b <BR>"; echo 'Dodawanie: $a += $b '; $a += $b; echo $a."<br>"; $a = 20; $b = 6; echo 'Odejmowanie: $a -= $b '; $a -= $b; echo $a."<br>"; $a = 20; $b = 6; echo 'Mnozenie: $a *= $b '; $a *= $b; echo $a."<br>"; $a = 20; $b = 6; echo 'Dzielenie: $a / $b = '; $a /= $b; echo $a."<br>"; $a = 20; $b = 6; echo 'Modulo (reszta z dzielenia): $a %= $b '; $a %= $b; echo $a."<br>"; $a = 20; $b = 6; echo 'Konkatenacja: $a.= $b '; $a.=$b; echo $a;?> </body> </html> Jeżeli wszystko wykonałeś prawidłowo, powinieneś osiągnąć następujący efekt: 12
13 Warto zapamiętać i dobrze zrozumieć te operatory. Programiści wszelkich języków skryptowych, a więc także PHP często ich używają, podobnie jak operatorów inkrementacji i dekrementacji. Ich działanie znasz z pewnością z JAVY lub Perla, dlatego zamieszczona tu zostanie tylko krótka tabelka przypominająca ich działanie: ++$a zwiększ $a o 1 i zwróć wartość $a++ zwróć wartość, po czym zwiększ $a o 1 --$a zmniejsz $a o 1 i zwróć wartość $a-- zwróć wartość, po czym zmniejsz $a o 1 Powróćmy na chwilę do programu prezentującego operatory przypisania. Występują w niej instrukcje: echo $a."<br>"; Kropka w powyższym zapisie oznacza oczywiście połączenie łańcuchów. Warto jednak podkreślić, że funkcja echo pozwala na pracę z wieloma argumentami oddzielonymi przecinkami. Powyższą linię można więc zapisać w sposób następujący: echo $a, "<BR>"; W programie można dostrzec jeszcze jedną nowość. Popatrz na linię: 13
14 $a = 20; $b = 6; Powstała ona przez połączenie dwóch linii. Często przyzwyczajamy się, że średnik powinien być ostatnim znakiem linii, podczas gdy powinien on być zawsze ostatnim znakiem instrukcji! Krótsze instrukcje warto grupować w jednej linii, oddzielając je właśnie średnikami Operatory warunkowe i porównania Jednym z podstawowych elementów działania algorytmu każdego programu komputerowego jest ustalanie zależności między dwiema wartościami. Operatory warunkowe znasz już zapewne z innych języków programowania. Najprostszym operatorem warunkowym jest if, przeprowadzający test na prawdziwość jakiegoś wyrażenia. Zanim przedstawię przykład, kilka słów o testowaniu wyrażeń. Warto poruszyć ten temat, gdyż PHP jest pod tym względem bardzo wdzięcznym narzędziem. Testowanie dwóch wartości oparte jest na tzw. operatorach porównania. Wymieniłem je wszystkie w tabeli: Przykład Nazwa Opis $a == $b Równy TRUE jeśli $a jest równe $b $a === Identyczny TRUE jeśli $a jest równe $b, i obydwa operandy są tego $b samego typu (tylko w PHP 4) $a!= $b Różny TRUE jeśli $a nie jest równy $b $a <> $b Różny TRUE jeśli $a nie jest równy $b $a!== Nie identyczny TRUE jeśli $a nie jest równy $b, lub nie są tego samego typu $b (tylko w PHP 4) $a < $b Mniejszy niż TRUE jeśli $a jest mniejszy od $b $a > $b Większy niż TRUE jeśli $a jest większy od $b $a <= $b Mniejszy lub równy $a >= $b Większy lub równy TRUE jeśli $a jest mniejszy lub równy $b TRUE jeśli $a jest większy lub równy $b 14
15 Wszystkie przedstawione w tabeli operatory są dwuargumentowe, a ich działanie jest doskonale znane. Jest jeszcze jeden operator, tym razem trzyargumentowy, jest to operator "?:", działający tak jak w C i wielu innych językach. Oto jego składnia: (expr1)? (expr2) : (expr3); Wartością zwracaną przez operator (wyrażenie) jest expr2, jeśli expr1 jest równe TRUE lub expr3, jeśli expr1 jest równe FALSE. Powróćmy jednak do operatorów warunkowych, przedstawię kilka przykładów. Na początek najprostszy if: <html> <head> <title>if</title> </head> <body> <?php # wprowadzanie wartosci zmiennych $a = 100; $b= 10; #sprawdzanie zaleznosci pomiedzy wprowadzonymi liczbami if ($a == $b) { #ta instrukcja zostanie wykonana gdy wartosci liczbowe $a i #$b sa równe print " $a i $b sa rowne\n"; elseif ($a > $b) { #ta instrukcja zostanie wykonana gdy wartosc liczbowa $a #jest wieksza od wartosci liczbowej $b print " $a jest wieksze od $b \n"; else { #ta instrukcja zostanie wykonana gdy wartość liczbowa $a #jest mniejsza od wartości liczbowej $b print " $a jest mniejsze od $b \n"; 15
16 ?> </body> </html> Uruchom ten program, zmieniając wartości liczb przypisanych do zmiennych $a i $b. Wszystko zachowuje się zgodnie z oczekiwaniami. W tekście umieszczono komentarze ułatwiające zrozumienie kodu. Konstrukcja if-else działa podobnie jak w innych językach. W programie pojawiła się jednak nowość, popatrz na polecenie: print " $a i $b sa rowne\n"; Zamiast omawianej dotychczas instrukcji echo, zastosowałem instrukcję print, znaną wszystkim programującym w Perlu. Okazuje się jednak, że program działa prawidłowo. To wyraźny ukłon w kierunku wymiany programów pomiędzy technologiami. Najczęściej stosowaną instrukcją w programowaniu internetowym jest wysyłanie ciągów znakowych do przeglądarki, a do tego służy właśnie echo i print. Dla większości programistów różnica pomiędzy tymi instrukcjami nie istnieje, echo jest prawdopodobnie trochę szybsza. Poza jedną różnicą (w Perlu opcję warunkową zapisujemy elsif, a w PHP elseif) powyższy program można więc uruchomić zarówno w Perlu, jak i w PHP. Operatory porównania nie są w testach warunkowych obowiązkowe. Zapis ($a) jest całkowicie poprawny w PHP i oznacza sprawdzenie, czy zmienna $a istnieje, czy ma zdefiniowaną wartość i czy ta wartość nie jest łańcuchem pustym ani zerem. Ważne: warto zapamiętać, że w PHP każda forma danych skalarnych, posiadająca zdefiniowaną wartość różną od zera i łańcucha pustego, jest uważana za prawdę. Pozostałe operatory warunkowe tworzą już struktury zwane pętlami, przyjrzyjmy się im dokładnie Pętle while Podstawowym zadaniem pętli jest wielokrotne wykonywanie bloków instrukcji. Najpopularniejsza z instrukcji wykonujących pętle to while. Działanie while polega na wykonywaniu bloku instrukcji tak długo, jak długo wyrażenie testujące (przypomnijmy 16
17 to ten tekst w nawiasach okrągłych bezpośrednio za poleceniem while) zwraca prawdę. Wyrażenie testujące jest sprawdzane zawsze przed wykonaniem pierwszego polecenia bloku (przed aktywowaniem pętli). Dla lepszego zrozumienia działania pętli uruchom poniższy program dwa razy: pierwszy dokładnie taki, jak na ekranie, drugi zmieniając wartość początkową $b na 10. <html> <head> <title>przypisanie</title> </head> <body> <?php $a = 10; $b= 20; echo "<BR> wprowadzono liczby $a i $b<br>"; while ($a > $b) { echo " $a jest większe od $b <BR>"; ++$b; echo " $a jest równe $b <BR>";?> </body> </html> Przedstawiony przykład ilustruje co prawda funkcjonowanie pętli while, ma jednak dosyć poważną wadę (uwidacznia się ona przy uruchomieniu ze zmienioną wartością $b). Nie jest mianowicie odporny na wprowadzenie przez użytkownika wartości zmiennej $b większej od wartości zmiennej $a. Uruchomienie go na przykład z wartościami $a = 10 i $b = 20 generuje zastanawiający wynik: 17
18 Spróbuj samodzielnie usunąć omówioną wadę. Zmodyfikuj przedstawiony program tak, aby zawsze prawidłowo wyświetlał komunikat o wyniku porównania dwóch liczb. Dla wykonania tego zadania skorzystaj z omówionego na początku tego rozdziału operatora if-else. Warto także zapamiętać zasadę: między nawiasami klamrowymi { każdej instrukcji, np. pętli while, możemy umieścić dowolnie długi ciąg instrukcji języka PHP. Ta zasada obowiązuje w dowolnym miejscu programu. do-while Pętla do-while zachowuje się bardzo podobnie do pętli while, z wyjątkiem tego, że wartość wyrażenia logicznego sprawdzana jest na końcu iteracji, a nie na początku. Wynikającą z tego główną różnicą jest to, że pierwsza iteracja w pętli do-while na pewno zostanie wykonana (gdyż wyrażenie logiczne będzie sprawdzone dopiero na koniec iteracji). Natomiast w pętli while, gdzie wyrażenie logiczne jest sprawdzane na początku iteracji, może dojść do sytuacji, że pętla w ogóle nie zostanie wykonana, jeśli to wyrażenie będzie miało wartość FALSE od początku. Pętla do-while ma tylko jeden rodzaj składni: $i = 0; do { print $i; while ($i>0); Powyższa pętla zostanie wykonana tylko raz, gdyż po pierwszej iteracji wartość wyrażenia logicznego wynosić będzie FALSE ($i nie jest większe od 0) i pętla zostanie zakończona. 18
19 for Pętla for jest najczęściej używana w przypadku, gdy musimy wykonać fragment kodu określoną liczbę razy. Daje ona możliwość określenia liczby iteracji pętli. Jej partia warunkowa jest bardziej złożona od pętli while i składa się z trzech części. for (ustawienie licznika pętli; sprawdzenie licznika pętli; zwiększenie lub zmniejszenie licznika pętli) { wykonaj blok instrukcji W pętli for wprowadzono koncepcję licznika pętli. Jest to zmienna używana do zliczania liczby przebiegów pętli (liczba iteracji), wykorzystywana do przerwania wykonywania pętli, gdy jej wartość przekroczy założoną liczbę. Trzecia część wyrażenia warunkowego zapewnia zmianę wartości licznika pętli przy każdym przebiegu pętli. Te trzy części pozwalają na tworzenie dosyć skomplikowanych warunków i pętli. Żadna z części warunku nie jest obowiązkowa, co zilustrują poniższe przykłady (celem oszczędności miejsca, pominięta została część kodu obejmująca znaczniki HTML). Przykład 1 pętla for z trzema argumentami for ($i = 1; $i <= 10; $i++) { echo $i; Przykład 2 pętla for bez warunku sprawdzającego for ($i = 1;;$i++) { if ($i > 10) { break; print $i; W przykładzie tym pojawiła się nowa instrukcja: break. Po jej napotkaniu program wychodzi z bieżącej pętli. Należało ją zastosować, gdyż pominięto warunek sprawdzający, a pętla bez tego warunku jest przecież pętlą nieskończoną. Oprócz instrukcji break, w języku PHP istnieje bardzo podobna w działaniu instrukcja continue. Po napotkaniu tej instrukcji program przechodzi wprost do zamykającej klamry i pętla jest kontynuowana. Instrukcja ta nie powoduje więc całkowitego opuszczenia pętli, a jedynie przejście do kolejnej iteracji. 19
20 Przykład 3 pętla, w której pominięto wszystkie argumenty $i = 1; for (;;) { if ($i > 10) { break; print $i; $i++; Zwróć uwagę, że przy pomijaniu któregokolwiek z argumentów pętli for należy zachować odpowiednią liczbę średników oddzielających! Przykład 4 pętla, w której instrukcja wykonująca znajduje się w argumencie trzecim for ($i = 1; $i <= 10; print $i, $i++); Jak widać, każdy z argumentów może zawierać kilka instrukcji, muszą one być pooddzielane przecinkami. Można teraz podać bardziej ogólną definicję składni tej pętli. Oto ona: for (wyrażenie1; wyrażenie2; wyrażenie3) {instrukcje Wyrażenie1 jest wykonywane tylko raz, na początku pętli. Po czym na początku każdej nowej iteracji obliczana jest wartość logiczna wyrażenia wyrażenie2. Jeśli wynikiem obliczenia jest TRUE, to pętla kontynuuje i następuje wykonanie instrukcji umieszczonych w pętli. Jeśli jednak wyrażenie ma wartość FALSE, to wykonanie pętli zostaje przerwane. Na końcu każdej iteracji zostaje wykonane wyrażenie Dodatkowe informacje o tablicach tablice asocjacyjne Zanim omówię kolejne struktury pętli, warto poświęcić trochę czasu na zapoznanie się z dodatkowymi możliwościami tablic. Poznasz teraz specjalny typ tablic, tzw. tablice asocjacyjne. Zostały one zaprojektowane dla łatwiejszego przetwarzania danych 20
21 tekstowych. Ich cechą charakterystyczną jest zastąpienie tradycyjnych indeksów liczbowych łańcuchami znakowymi. Dzięki tablicom asocjacyjnym można wykorzystywać w programie listy zawierające pary wartości "klucz" "wartość". Mówiąc inaczej: tablica asocjacyjna jest niczym innym, jak specyficznym rodzajem tablicy, w którym zamiast indeksu, który określał poszczególne elementy, użyty jest identyfikator tekstowy, zwany kluczem. Podstawowa konstrukcja definiująca tablicę asocjacyjną wygląda następująco: array( klucz => wartość, klucz => wartość,...) Przykładowa definicja tablicy może wyglądać następująco: $asocjacja = array( 1 => 'jeden', 2 => 'dwa', 3 => 'trzy' ); W języku PERL nazwy skalarów rozpoczynają się od znaku $, nazwy tablic natomiast tablic asocjacyjnych od %. W PHP nie ma takiego rozróżnienia, wszystkie nazwy rozpoczynają się od znaku "$", a rozróżnienie następuje po typie indeksu (czy jest to liczba, czy ciąg znaków). Co ciekawe, reprezentacja tablic w PHP pozwala na dowolne mieszanie typów indeksów. Zilustruję to przykładem: $a = array( 'kolor' => 'żółty', 'stolica' => 'warszawa', 'uczelnia' => 'uniwersytet', 'nazwa' => 'jabłko', 4 // kluczem będzie 0 ); // znaczy dokładnie to samo, co to: $a['kolor'] = 'żółty'; $a['stolica'] = 'warszawa'; $a['uczelnia'] = 'uniwersytet'; $a['nazwa'] = 'jabłko'; $a[] = 4; // kluczem będzie 0 Można też zwykłe tablice zapisywać w konwencji tablic asocjacyjnych. $b[] = 'a'; $b[] = 'b'; $b[] = 'c'; 21
22 // znaczy to samo co: array( 0 => 'a', 1 => 'b', 2 => 'c' ), // albo prościej: array('a', 'b', 'c') 1.8. Tablice wielowymiarowe Na początku omawiania tablic przedstawiałem ich jednowymiarowość jako często podkreślaną wadę języka. Zobaczmy więc, jak sobie radzić z implementacją tablic wielowymiarowych. Elementy tablicy mogą być danymi dowolnego typu. Oprócz liczb i łańcuchów w elementach tablicy można umieszczać inne tablice. Tablice zawarte w innych tablicach są też zwane tablicami wielowymiarowymi. Wyobraźmy sobie tabelę 10 na 10. Tworzy ona 100 pól, z których każde może mieć swoją wartość. Jednym ze sposobów reprezentacji takiej struktury w kodzie jest tablica dwuwymiarowa: dziesięcioelementowa tablica, której każdy element jest dziesięcioelementową tablicą innymi słowy dziesięć kolumn i dziesięć wierszy. Aby wskazać pojedynczy element, należy w nawiasach kwadratowych podać pierwszy wymiar (wiersz), a następnie w kolejnych nawiasach kwadratowych podać drugi wymiar (kolumnę). Wskazanie 3 wiersza i 7 kolumny można zapisać jako $jakastablica[3][7]. Oto przykład obrazujący fakt, że tablice wielowymiarowe są po prostu tablicami tablic. $miasta = array("wielkopolska"=>array( "Poznań", "Piła", "Jarocin" ), "Śląsk"=>array( "Katowice", "Chorzów" ) ); print($miasta["wielkopolska"][1]); Jak widać nie jest to jednak tak skomplikowane, jak pierwotnie wyglądało. 22
23 foreach Dokładna analiza ostatniej linii przedstawionego przed chwilą programu pozwala zauważyć, że nie znamy do tej pory mechanizmu, pozwalającego w łatwy sposób wyświetlić wszystkie elementy tablicy. Można to oczywiście wykonać za pomocą pętli for, ale w przypadku tablic o nieciągłych indeksach uzyskalibyśmy bardzo dużo wartości pustych. Z tego właśnie powodu twórcy języka Perl zaprojektowali specjalny operator pętli, wykonującej się automatycznie dla wszystkich elementów tablicy podanej jako argument. Nosi on nazwę foreach. Istnieją dwie składnie tej konstrukcji, przy czym druga jest mniej ważnym, lecz użytecznym rozszerzeniem pierwszej: foreach(wyrażenie_tablicowe as $wartość) wyrażenie foreach(wyrażenie_tablicowe as $klucz => $wartość) wyrażenie Pierwsza odmiana iteruje wewnątrz tablicy podanej w wyrażenie_tablicowe. Przy każdej iteracji, wartość aktualnego elementu tablicy jest przypisywana do zmiennej $wartość, a wewnętrzny wskaźnik tablicy jest przesuwany o jeden (więc w następnej iteracji przypisany zostanie kolejny element tablicy). Druga odmiana działa tak samo jak pierwsza, przy czym klucz aktualnego elementu tablicy zostanie przypisany do zmiennej $klucz w każdej iteracji. Pozwala to na łatwą obsługę tablic asocjacyjnych. Możemy teraz zmodyfikować nasz program dotyczący tablic wielowymiarowych tak, aby wyświetlał wszystkie wartości tablicy. Oto zmodyfikowana wersja: <html> <head> <title>foreach</title> </head> <body> <?php $miasta = array("wielkopolska"=>array( "Poznań", "Piła", "Jarocin" ), "Slask"=>array( "Katowice", "Chorzów" 23
24 ) ); foreach ($miasta as $klucz=>$region){ foreach ($region as $miasto){ echo $klucz,"---",$miasto,"<br>";?> </body> </html> Zastosowano w nim dwie pętle foreach. Pierwsza wykonuje się dla wszystkich wartości tablicy $miasta. Pobiera więc ona wartości Wielkopolska i Slask. Druga, wewnętrzna pętla, operuje na tablicach wewnętrznych, zawierających nazwy miast. Jeżeli wszystko przepisałeś prawidłowo, w oknie przeglądarki powinien wyświetlić się następujący obraz: I jeszcze dwa przykłady ilustrujące działanie pętli foreach: Przykład 1 tablica liczbowa $a = array (1, 2, 3, 17); foreach ($a as $v) { print "Aktualna wartość \$a: $v.\n"; 24
25 Przykład 2 tablica asocjacyjna $a = array ( "jeden" => 1, "dwa" => 2, "trzy" => 3, "siedemnaście" => 17 ); foreach($a as $k => $v) { print "\$a[$k] => $v.\n"; switch Alternatywą dla omówionej wcześniej struktury if-elseif-else jest instrukcja switch, która działa na zasadzie porównywania pojedynczego wyrażenia do szeregu możliwych jego wartości. Aby wyjaśnić działanie tej instrukcji, zaprezentuję dwa przykłady. Pierwszy z nich to klasyczna konstrukcja if-else, drugi to równoważna instrukcja switch. Przykład 1 if ($i == 0) { print "i jest równe 0"; elseif ($i == 1) { print "i jest równe 1"; elseif ($i == 2) { print "i jest równe 2"; Przykład 2 switch ($i) { case 0: print "i jest równe 0"; break; case 1: print "i jest równe 1"; break; case 2: 25
26 print "i jest równe 2"; break; Instrukcja switch jest wykonywana linia po linii. Na początku żaden fragment kodu nie jest wykonywany. Dopiero kiedy zostaje odnalezione wyrażenie case, którego wartość odpowiada wyrażeniu przy instrukcji switch, PHP rozpoczyna wykonywanie kodu od miejsca, gdzie znajduje się ta instrukcja case. PHP wykonuje instrukcje aż do momentu, kiedy blok switch się skończy lub do momentu znalezienia instrukcji break. Ważne: jeśli nie napiszesz instrukcji break na końcu instrukcji w danym wyrażeniu case, to PHP będzie wykonywać dalej instrukcje z następnego wyrażenia case. Po etykiecie case mogą nie występować żadne instrukcje, co oznacza po prostu, że sterowanie zostaje przekazane do następnej etykiety case. Na przykład: switch ($i) { case 0: case 1: case 2: print "i jest mniejsze od 3, ale nie jest ujemne"; break; case 3: print "i jest równe 3"; Switch posiada też specjalną etykietę, tzw. etykietę warunku domyślnego default. Etykieta ta dotyczy sytuacji, w której wyrażenie nie pasowało do wartości przy innych etykietach typu case. W instrukcji switch ta etykieta powinna być ostatnia z listy. Na przykład: switch ($i) { case 0: print "i jest równe 0"; break; case 1: 26
27 print "i jest równe 1"; break; case 2: print "i jest równe 2"; break; default: print "i jest różne od 0, 1 i 2"; 27
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowoDynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia
Dynamiczne przetwarzanie stron dr Beata Kuźmińska-Sołśnia KLIENT Witaj INTERNET SERWER Plik HTML Witaj wyświetlanie przez przeglądarkę Witaj! Serwer WWW komputer
Bardziej szczegółowoLaboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
Bardziej szczegółowoPo uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Bardziej szczegółowoUwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Bardziej szczegółowoInformacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania
Bardziej szczegółowoWskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Bardziej szczegółowoNiezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.
Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą
Bardziej szczegółowoCw.12 JAVAScript w dokumentach HTML
Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane
Bardziej szczegółowo2. Łańcuchy tekstowe w PHP
2. Łańcuchy tekstowe w PHP 2.1 Apostrofy i cudzysłowy Łańcuch tekstowy w języku PHP to ciąg znaków ograniczony apostrofami (') lub cudzysłowami ("). Te znaki ograniczające nie powinny być traktowane wymiennie,
Bardziej szczegółowoOpis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].
ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości
Bardziej szczegółowoPętle. Dodał Administrator niedziela, 14 marzec :27
Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać
Bardziej szczegółowoProgramowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoByć może jesteś doświadczonym programistą, biegle programujesz w Javie,
Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,
Bardziej szczegółowoJAVAScript w dokumentach HTML (1)
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript
Bardziej szczegółowoStałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można
Bardziej szczegółowoSerwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt
Serwer WWW Apache http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Katalog który ma być serwowany Moduły, które mają zostać uruchomione na serwerze m.in. PHP, mod_rewrite Wirtualne
Bardziej szczegółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowoLABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Bardziej szczegółowodo drukowania tekstu służy funkcja echo <?php echo "hello world!";?> jeżeli użyjemy jej kilka razy: <?php
S t r o n a 1 Podstawy PHP 1. stwórz plik tekstowy o nazwie index.php Zawartość pliku musi mieć postać: Znaczniki kodu php: Przykładowy kod typu "hello world!" Wpisz powyższy kod do plkiku index.php Skopiuj
Bardziej szczegółowoOczywiście plik musi mieć rozszerzenie *.php
Oczywiście plik musi mieć rozszerzenie *.php Znaczniki PHP komunikują serwerowi gdzie rozpoczyna się i kończy kod PHP. Tekst między nimi jest interpretowany jako kod PHP, natomiast poza nimi jako kod HTML.
Bardziej szczegółowoPython wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA
Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Bardziej szczegółowoJAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.
IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript
Bardziej szczegółowoPHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Bardziej szczegółowoUmieszczanie kodu. kod skryptu
PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona
Bardziej szczegółowoTablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
Bardziej szczegółowoWidoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
Bardziej szczegółowoJAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
Bardziej szczegółowoPodstawy programowania w języku C
Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu
Bardziej szczegółowoOperacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.
Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach
Bardziej szczegółowoPętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pętle for, while, do... while, foreach Jeszcze o operatorach... Skrócone operatory arytmetyczne przykład x +=
Bardziej szczegółowoNaukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem
Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego
Bardziej szczegółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
Bardziej szczegółowoKomentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)
Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak
Bardziej szczegółowoznajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Bardziej szczegółowoPodstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini
Bardziej szczegółowoPodstawy programowania w C++
Podstawy programowania w C++ Liczby w jaki sposób komputery je widzą? Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Czy wiesz, jak komputery wykonują
Bardziej szczegółowoLibreOffice Calc VBA
LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć
Bardziej szczegółowoJak napisać program obliczający pola powierzchni różnych figur płaskich?
Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy
Bardziej szczegółowoW przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby
Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie
Bardziej szczegółowoWykład 2 Składnia języka C# (cz. 1)
Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu
Bardziej szczegółowoOdczyt danych z klawiatury Operatory w Javie
Odczyt danych z klawiatury Operatory w Javie Operatory W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje
Bardziej szczegółowoLekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;
Do wyświetlania tekstu służy instrukcja echo echo Hello world ; PHP język ze słabą kontrolą typów. W języku php w przeciwieństwie do c++ nie musimy podawać typu zmiennej podczas jej deklaracji. Tworzenie
Bardziej szczegółowoInstrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Bardziej szczegółowoNarzędzia informatyczne w językoznawstwie
Narzędzia informatyczne w językoznawstwie Perl - Struktury kontrolne i zmienne Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 28. listopada 2007 Marcin Junczys-Dowmunt
Bardziej szczegółowoPersonal Home Page PHP: Hypertext Preprocessor
Języki, które już znacie Wykład9PodstawyPHP,str1 język polski język angielski język C język preprocesora C język bash-a język HTML kolejny język: PHP Język PHP Wykład9PodstawyPHP,str2 Personal Home Page
Bardziej szczegółowo4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Bardziej szczegółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowo7. Pętle for. Przykłady
. Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i
Bardziej szczegółowoStałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );
Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft ); Dobrą praktyką jest używanie wielkich liter jako nazw stałych. Nie jest
Bardziej szczegółowoAPLIKACJE INTERNETOWE 5 PHP W P R O W A D Z E N I E D O P R O G R A M O W A N I A
APLIKACJE INTERNETOWE 5 PHP W P R O W A D Z E N I E D O P R O G R A M O W A N I A PLAN PREZENTACJI Absolutne podstawy PHP w HTML-u Pierwszy skrypt Błędy Kończenie instrukcji Komentarze Zmienne Podstawy
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 3 - operatory oraz instrukcje warunkowe i wyboru mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 19 października 2018 1 / 35 mgr inż. Krzysztof
Bardziej szczegółowoPodstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Bardziej szczegółowoJAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź
JAVASCRIPT PODSTAWY materiały dydaktyczne dla uczniów słuchaczy opracowanie: 2004-2007 by Arkadiusz Gawełek, Łódź 1. Czym jest JavaScript JavaScript tak naprawdę narodził się w firmie Netscape jako LiveScript,
Bardziej szczegółowoInformatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Bardziej szczegółowoStruktura pliku projektu Console Application
Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku
Bardziej szczegółowoInstrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.
Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania
Bardziej szczegółowoW języku C/C++ pomiędzy wskaźnikami a tablicami istnieje bardzo ścisły związek. Do onumerowania elementów w tablicy służą tzw. INDEKSY.
LEKCJA 12. Wskaźniki i tablice w C i C++. W czasie tej lekcji: 1. Dowiesz się więcej o zastosowaniu wskaźników. 2. Zrozumiesz, co mają wspólnego wskaźniki i tablice w języku C/C++. WSKAŹNIKI I TABLICE
Bardziej szczegółowoNazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek
Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for
Bardziej szczegółowoProgramowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoSystemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017
Systemy operacyjne Laboratorium 9 Perl wyrażenia regularne Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Temat obejmuje wykorzystanie wyrażeń regularnych w perlu. Wyrażenia same w sobie są w zasadzie
Bardziej szczegółowoMETODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i
Bardziej szczegółowoNapisy w PHP. Drukowanie napisów instrukcją echo
Napisy w PHP. Drukowanie napisów instrukcją echo 1. Ćwiczenia do samodzielnego wykonania Wszystkie poniższe ćwiczenia należy samodzielnie wykonać wpisując w edytorze bez stosowania techniki kopiuj-wklej.
Bardziej szczegółowoZMIENNE. Podstawy PHP
ZMIENNE Podstawy PHP zmienna - to obiekt w programowaniu, który przechowuje różnego rodzaju dane niezbędne do działania programu. Zmienna podczas działania programu może zmieniad swoje wartości (jak wskazuje
Bardziej szczegółowoJęzyki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Bardziej szczegółowoZmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Bardziej szczegółowoTABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.
Złożone typy danych - TABLICE TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych. * Może przechowywać dowolny typ danych, typ
Bardziej szczegółowoWprowadzenie do Scilab: podstawy języka Scilab
Wprowadzenie do Scilab: podstawy języka Scilab Magdalena Deckert, Izabela Szczęch, Barbara Wołyńska, Bartłomiej Prędki Politechnika Poznańska, Instytut Informatyki Narzędzia Informatyki Narzędzia Informatyki
Bardziej szczegółowoWyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w
Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal
Bardziej szczegółowoLaboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski
Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje
Bardziej szczegółowoPrzetwarzanie sygnałów
Spis treści Przetwarzanie sygnałów Ćwiczenie 1 Wprowadzenie do programu Octave 1 Operatory 1 1.1 Operatory arytmetyczne...................... 1 1.2 Operatory relacji.......................... 1 1.3 Operatory
Bardziej szczegółowoNależy ściągnąć oprogramowanie Apache na platformę
Programowanie Internetowe Język PHP - wprowadzenie 1. Instalacja Oracle+Apache+PHP Instalacja Apache, PHP, Oracle Programy i ich lokalizacja Oracle Database 10g Express Edition10.2 http://www.oracle.com/technology/products/database/
Bardziej szczegółowoStrona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
Bardziej szczegółowo1. Wprowadzenie do języka PHP
1. Wprowadzenie do języka PHP Język PHP jest generalnie w swojej składni podobny do języka C, chociaż występuje tu szereg różnic. 1.1. Zmienne W PHP nazwy zmiennych poprzedzamy znakiem dolara ($). Nie
Bardziej szczegółowoKażde wykonanie bloku instrukcji nazywamy pojedynczym przebiegiem lub iteracją pętli.
Część XIII C++ Czym jest pętla? Pętla jest blokiem instrukcji, które wykonywane są w kółko (czyli po wykonaniu ostatniej instrukcji z bloku komputer wykonuje ponownie pierwszą instrukcję, później drugą
Bardziej szczegółowoLaboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH
Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach
Bardziej szczegółowoPowtórka algorytmów. Wprowadzenie do języka Java.
Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy
Bardziej szczegółowoTablice cz. I Tablice jednowymiarowe, proste operacje na tablicach
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach Tablice Powiedzmy, że chcemy zapamiętać w programie
Bardziej szczegółowolekcja 8a Gry komputerowe MasterMind
lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych
Bardziej szczegółowoJak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest
Pętle Pętla to pewien fragment kodu, który jest wykonywany wielokrotnie. Wyobraź sobie taką sytuację. Piszesz program do szyfrowania danych. Dane są szyfrowane kolejno bajt po bajcie. Załóżmy, że plik
Bardziej szczegółowoKrótki kurs JavaScript
Krótki kurs JavaScript Java Script jest językiem wbudowanym w przeglądarkę. Gdy ma się podstawy nabyte w innych językach programowania jest dość łatwy do opanowania. JavaScript jest stosowany do powiększania
Bardziej szczegółowoOgólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:
Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak: accept - typy zawartości MIME akceptowane przez serwer (opcjonalny) accept-charset - zestaw znaków akceptowanych
Bardziej szczegółowoPodstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 3
Programowanie komputerowe Zajęcia 3 Instrukcje przypisania Poza zwykłą instrukcją przypisania, powodującą ustawienie wartości zmiennej na podane wyrażenie, istnieje wiele innych, np. += dodaj, a+=b jest
Bardziej szczegółowoPrzedrostkowa i przyrostkowa inkrementacja i dekrementacja
Część VIII C++ Przedrostkowa i przyrostkowa inkrementacja i dekrementacja W poprzednim ćwiczeniu operatory inkrementacji i dekrementacji występowały w wersji przyrostkowej. Istnieje inny sposób zapisu
Bardziej szczegółowoJAVAScript w dokumentach HTML - przypomnienie
Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w
Bardziej szczegółowofor (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
Bardziej szczegółowoBazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /
Bardziej szczegółowoTablice. Jones Stygar na tropie zmiennych
Tablice Jones Stygar na tropie zmiennych Czym jest tablica? Obecnie praktycznie wszystkie języki programowania obsługują tablice. W matematyce odpowiednikiem tablicy jednowymiarowej jest ciąg (lub wektor),
Bardziej szczegółowo