Laboratorium programistyczne Python: Napisy i wyrażenia regularne
|
|
- Barbara Wróbel
- 6 lat temu
- Przeglądów:
Transkrypt
1 Laboratorium programistyczne Python: Napisy i wyrażenia regularne Projekt Matematyka dla ciekawych świata Robert Paciorek Napisy Do tej pory używaliśmy zmiennych do przechowywania liczb i operowania na nich. Zmienne mogą również jako wartości przyjmować litery, słowa, a nawet całe zdania: x = 'A' a, b, c = 'Ala', "ma", " kota i psa" d = """... a co ma... "kotek "?""" print (x, a[2]) print (c[1], c[-1], c[-3]) print (a + b) print (3 * a) print (a + " " + b + c + d) A a o a p Alama AlaAlaAla Ala ma kota i psa... a co ma... "kotek "? Zwróć uwagę na następujące rzeczy: Napisy muszą być otoczone pojedynczymi apostrofami lub podwójnym cudzysłowami (nie ma znaczenia, którą wersję wybierzemy), w przypadku napisów wieloliniowych używamy trzykrotnie apostrofu lub cudzysłowowa na początku i końcu napisu. Nie przypisane do żadnej zmiennej napisy wieloliniowe mogą być stosowane jako komentarze wieloliniowe. Przy użyciu liczby w nawiasie kwadratowym możemy poznać poszczególne litery napisu (numeracja rozpoczyna się od 0). Ujemny indeks oznacza odliczanie liter od końca napisu: ostatnia litera napisu c to c[-1], przedostatnia to c[-2], itd. Przy użyciu znaku dodawania możemy sklejać (konkatenować) napisy. Przy użyciu znaku gwiazdki możemy mnożyć napisy (czyli sklejać same ze sobą). Innymi przydatnymi operacjami na napisach jest sprawdzanie długości napisu poleceniem len() oraz wycinanie podnapisu przy użyciu nawiasów kwadratowych z dwukropkiem w sposób analogiczny do wyboru podlisty: tekst = ' ' dlugosc = len ( tekst) print ( dlugosc, tekst [2:5], tekst [3:], tekst [:3]) print (tekst [::-1], tekst [1::2], tekst [:: -3]) print (tekst [:: -1][::3], tekst [::3][:: -1])
2 W powyższym przykładzie: komenda tekst[2:5] zwraca podnapis od znaku nr 2 (włącznie) do znaku nr 5 (wyłącznie), komenda tekst[3:] zwraca podnapis od znaku nr 3 (włącznie) do końca, komenda tekst[:3] zwraca podnapis od początku do znaku nr 3 (wyłącznie). komenda tekst[::-1] zwraca napis od tyłu, komenda tekst[1::2] zwraca co drugi znak od znaku nr 1, komenda tekst[::-3] zwraca co 3 znak z napisu od tyłu (warto zauważyć że nie zawsze jest to równoważne wypisaniu napisu złożonego z co 3 znaku od tyłu). 1.1 Napis jako lista Zapewnet (przy wybieraniu znaków i podnapisów) zauważyłeś już pewne podobieństwo napisów do list. W Pythonie napisy mogą być traktowane jako lista, a dokładniej listą liter. Oznacza to, że po napisie można przejść przy użyciu pętli for, tak samo jak przechodziliśmy po liście liczb: for l in 'Abc': print ('litera ', end = ' ') print (l) litera A litera b litera c Modyfikowalność napisów Python pozwala odwoływać się do poszczególnych znaków w napisie jak do elementów listy, jednak nie pozwala na ich modyfikowanie: s = " abcdefgh" s[2] = "X" print (s) Traceback (most recent call last): File "python", line 2, in <module> TypeError: 'str' object does not support item assignment Zwróć uwagę na komunikat błędu, który został wyświetlony, podaje on informacji o tym co wywołało błąd (opis błędu) i w której linii programu on wystąpił. Czytanie ze zrozumieniem komunikatów o błędach ułatwia naprawianie niedziałającego programu. Jeżeli zachodzi potrzeba modyfikowania napisu konkretnych znaków w napisie możemy użyć poznanej wcześniej metody uzyskiwania podnapisów: s = " abcdefgh" s = s[:2] + "X" + s[3:5] + s[6:] print (s) abxdegh Powyższy przykład w miejsce znaku nr 2 wstawia napis X oraz usuwa znak nr 5 z napisu. Przy konieczności modyfikacji znak po znaku możemy użyć iteracji po napisie i budować nowy napis znak po znaku: s, ns = "abcdefgh", "" for z in s: i f z in "cf": ns = ns + "X" else : ns = ns + z print (ns) abxdexgh 2
3 Jako narzędzie do modyfikowania napisów mogą służyć także poznane wcześniej listy. W tym celu można skorzystać np. z listy złożonej z liter oryginalnego napisu: s = " abcdefgh" l = l i s t (s) l[2] = "X" del (l[5]) s = "".join(l) print (s) abxdegh Zadanie Napisz funkcję, która dla danej listy słów wypisze każde słowo z listy wspak. Np. dla listy ['Ala', 'ma', 'kota'] funkcja powinna wypisać: ala am atok Zadanie Napisz funkcję wyiksuj(napis), która wypisze dany napis, zastępując każdą małą literę polskiego alfabetu małą literą x i każdą wielką literę polskiego alfabetu wielką literą X, natomiast resztę znaków pozostawi bez zmian. Np. dla napisu 'Python (default, Dec 2015, 13:05:11)' program powinien wypisać: Xxxxxx (xxxxxxx, Xxx 2015, 13:05:11) Zadanie Napisz funkcję, która dla danej listy słów wypisze w kolejnych wierszach ich skróty w postaci <pierwsza litera>-<ostatnia litera> (<dlugosc slowa>). Np. dla listy ['Interdyscyplinarne', 'Centrum', 'Modelowania'] powinna wypisać: I-e (18) C-m (7) M-a (11) Wskazówka: wynik funkcji len() mierzącej długość napisu jest liczbą. Do rozwiązania tego zadania może Ci się przydać konwersja tej liczby na napis (aby dało się ją skleić z innymi napisami), z użyciem funkcji str() Zadanie Napisz funkcję, która dla danej listy słów wypisze każde słowo z listy powtarzając każdą małą literę dwukrotnie. Np. dla ['Ala', 'ma', 'kota', 'i PSA'] funkcja powinna wypisać: Allaa mmaa kkoottaa ii PSA 1.2 Kodowania znaków Python używa Unicode dla obsługi napisów, jednak przed przekazaniem napisu do świata zewnętrznego konieczne może być zastosowanie konwersji do określonej postaci bytowej (zastosowanie odpowiedniego kodowania). Służy do tego metoda encode() np.: 3
4 a = "aąbcć... " inutf7 = a. encode('utf7') inutf8 = a. encode () # lub a. encode(' utf8 ') print ("'" + a + "' w UTF7 to: " + str (inutf7) + ", w UTF8: " + str (inutf8 )) Zmienne typu bytes oprócz przekazania na zewnątrz (np. zapisu do pliku lub wysłania przez sieć) mogą zostać także m.in. zdekodowane do napisu z użyciem metody decode() lub poddane dalszej konwersji np. kodowaniu base64: print (" zdekodowany UTF7: " + inutf7. decode('utf7')) import codecs b64 = codecs.encode(inutf8, 'base64 ') print (" napis w UTF8 po zakodowaniu base64 to: " + s t r ( b64)) W powyższym przykładzie należy zwrócić uwagę na instrukcję import, która służy do załączania bibliotek pythonowych do naszego programu. W tym wypadku załączamy fragment standardowej biblioteki Pythona o nazwie codecs. Base64 jest jednym z kodowań pozwalających na zapis danych binarnych w postaci ograniczonego zbioru znaków drukowalnych, co pozwala m.in. na osadzanie danych binarnych (np. obrazki) w plikach tekstowych (np. dokumenty html, pliki źródłowe programów) Konwersja pomiędzy znakiem a jego numerem Możliwe jest także konwertowanie pomiędzy liczbowym numerem znaku Unicode, a napisem go reprezentującym i w drugą stronę służą do tego odpowiednio funkcje chr() i ord(). W ramach napisów można też użyć \unnnn, gdzie NNNN jest (czterocyfrowym) numerem znaku lub po prostu umieścić dany znak w pliku kodowanym UTF8 1. print (chr(0 x221e) + " == \ u221e == ") print (hex(ord(" ")), hex(ord("\u221e")), hex(ord(chr(0 x221e ))) ) Zadanie Napisz program dekodujący napis kodowany w UTF8 zakodowany przy pomocy base64 mający postać: b'uhl0ag9uigplc3qgzmfqbnkg8j+yjg==\n'. Wskazówka: dane wejściowe funkcji decode() muszą być typu bytes, można to uzyskać poprzedzając napis prefiksem b, tak jak powyżej. 1.3 Wyrażenia regularne W przetwarzaniu napisów bardzo często stosowane są wyrażenia regularne służące do dopasowywania napisów do wzorca który opisują, wyszukiwaniu/zastępowaniu tego wzorca. Do typowej, podstawowej składni wyrażeń regularnych zalicza się m.in. następujące operatory:. - dowolny znak [a-z] - znak z zakresu [^a-z] - znak z poza zakresu (aby mieć zakres z ^ należy dać go nie na początku) ^ - początek napisu/linii $ - koniec napisu/linii 1 Użyty w przykładzie symbol nieskończoności można uzyskać na standardowej polskiej klawiaturze pod Linuxem przy pomocy kombinacji AltGr + Shift + M 4
5 * - dowolna ilość powtórzeń? - 0 lub jedno powtórzenie + - jedno lub więcej powtórzeń {n,m} - od n do m powtórzeń () - pod-wyrażenie (może być używane dla operatorów powtórzeń, a także dla referencji wstecznych) Python umożliwia korzystanie z wyrażeń regularnych za pomocą modułu re: import re y = "aa bb cc bb ff bb ee" x = "aa bb cc dd ff gg ee" i f re.match(".*[dz]", y): print ("y zawiera d lub z") x zawiera d lub z y zawiera dwa razy to samo aa XX XX bb ff bb ee aa XX XX XX ff XX ee aa X cc bb ff X ee ff cc bb ff i f i f i f re.match(".*[dz]", x): print ("x zawiera d lub z") re.match(".* ([a-z]{2}).* \\1", y): print ("y zawiera dwa razy to samo") re.match(".* ([a-z]{2}).* \\1", x): print ("x zawiera dwa razy to samo") # zastępowanie print (re.sub('[bc]+', "XX", y, 2)) print (re.sub('[bc]+', "XX", y)) # zachłanność print (re.sub('bb (.*) bb', "X \\1 X", y)) print (re.sub('.*bb (.*) bb.*', "\\1", y)) print (re.sub('.*?bb (.*) bb.*', "\\1", y)) Zwróć uwagę na: Działanie funkcji match, która dopasowuje wyrażenie do początku napisu (czyli tak jakby zaczynało się od ^). Odwołania wsteczne do pod-wyrażeń (fragmentów ujętych w nawiasy) postaci \\x, gdzie x jest numerem pod-wyrażenia. Zachłanność (greedy) wyrażeń regularnych: w pierwszym wypadku bb (.*) bb dopasowało najdłuższy możliwy fragment, czyli cc bb ff, w drugim przypadku gdy zostało poprzedzone.* dopasowało tylko ff, gdyż.* dopasowało najdłuższy możliwy fragment czyli aa bb cc, w trzecim wypadku bb (.*) bb mogło i dopasowało najdłuższy możliwy fragment, czyli cc bb ff, gdyż było poprzedzone niezachłanną odmianą dopasowania dowolnego napisu, czyli:.*?. Po każdym z operatorów powtórzeń (.? + {n,m}) możemy dodać pytajnik (.??? +? {n,m}?) aby wskazać że ma on dopasowywać najmniejszy możliwy fragment, czyli ma działać nie zachłannie. 5
6 Zadanie Napisz funkcję która sprawdzi z użyciem wyrażeń regularnych czy dany napis jest słowem (tzn. nie zawiera spacji). Zadanie Napisz funkcję która sprawdzi z użyciem wyrażeń regularnych czy dany napis jest liczbą (tzn. jest złożony z cyfr i kropki, a na początku może wystąpić + albo -). Zadanie Napisz funkcję która sprawdzi z użyciem wyrażeń regularnych czy dany napis kończy się xyz. Zadanie Jak wiemy język złożony ze słów postaci aa..aabb..bbaa..bb (gdzie ilość liter a przed ciągiem liter b jest równa ilości liter a po tym ciągu) nie jest regularny. Jednak programistyczne wyrażenia regularne są rozszerzone w stosunku co do tych spotykanych w matematyce i umożliwiają opis takiego języka. Napisz funkcję, korzystającą z dopasowywania wyrażeń regularnych, która będzie sprawdzała czy podane słowo należy do tego języka. 1.4 Zadania dodatkowe Zadanie Zapoznaj się z dokumentacją klasy odpowiedzialnej za napisy (str), zwróć szczególną uwagę na metody split, find, replace. Korzystając z metod klasy str napisz funkcję parse która dla napisu będącego jej argumentem wykona zamianę wszystkich ciągów XY na spację oraz dokona rozbicia napisu złożonego z pól rozdzielanych dwukropkiem na listę napisów odpowiadających poszczególnym polom. Funkcja powinna działać w następujący sposób: > l = parse("ala:maxykota:i inne:zwierzeta") > print (l) ['Ala', 'ma kota', 'i inne', 'zwierzeta '] Zadanie Napisz funkcję tostr(liczba, podstawa), która konwertuje podaną liczbę do reprezentacji napisowej w systemie o podanej podstawie. Wskazówka: do testowania poprawności działania możesz użyć funkcji int(napis, podstawa), możemy przyjąć że podstawa jest mniejsza od 37 tak aby starczyło liter alfabetu łacińskiego. 6
7 Zadanie Na poprzednich zajęciach mogłeś spotkać się z zadaniem polegającym na rysowaniu trójkąta z iksów, takiego jak poniżej: X XX XXX XXXX XXXXX XXXXXX XXXXXXX Zmodyfikuj rozwiązanie tego zadania?? tak aby wypisać taki trójkąt na ekranie, korzystając tylko z jednej pętli (oraz bez rekurencji). 2 Głębiej w Pythona (cz. 3) 2.1 Pliki Do tej pory wszystkie dane, z których korzystały nasze programy, wprowadzaliśmy bezpośrednio do kodu programu. W realnych zastosowaniach bardzo często użyteczniejsze jest korzystanie z danych zapisanych w osobnych plikach Zapisywanie tekstu do pliku Zapis do pliku tekstowego możemy zrealizować w sposób następujący: plik = open('dane. txt', 'wt', encoding ='utf8') plik.write("teskt1\n") plik.write("teskt2\nteskt3") plik.close () Jak to działa? Polecenie z pierwszej linijki otwiera plik dane.txt i zapewnia dostęp do niego poprzez zmienną plik. Opcja 'w' oznacza, że plik jest otwarty do zapisu (od angielskiego write). Opcja 't' oznacza, że plik traktowany jako plik tekstowy 2. Argument encoding pozwala na określenie kodowania użytego do zapisu pliku tekstowego, jest on opcjonalny i gdy nie zostanie podany kodowanie pliku zależne jest od ustawień systemowych. Druga i trzecia komenda zapisuje podany jako argument tekst do pliku dane.txt (zwróć uwagę na wstawianie nowej linii przy pomocy '\n') Ostatnie polecenie zamyka dostęp do pliku dane.txt. Po uruchomieniu powyższego kodu powinien zostać utworzony plik dane.txt, zawierający 3 linie tekstu. Jeżeli plik taki wcześniej istniał zostanie on nadpisany Wczytywanie tekstu z pliku plik = open('dane. txt', 'rt', encoding ='utf8') for linia in plik: print (linia, end="") plik.close () 2 Tekst możemy zapisywać także do plików otwieranych jako binarne, w takim wypadku argument funkcji write musi mieć typ bytes a nie str, czyli być jawnie zakodowany w jakimś standardzie. 7
8 Zauważ, że została używa opcja 'r' do otwarcia pliki co oznacza otwarcie do odczytu. Jeżeli chcemy wczytać cały plik do zmiennej napisowej możemy, zamiast pętli czytającej kolejne linie, użyć metody read(): plik = open('dane. txt', 'rt', encoding ='utf8') napis = plik. read() plik.close () 2.2 Zmienna, obiekt i referencja W Pythonie każda zmienna jest nazwą wskazującą na jakiś obiekt w pamięci. Podobnie każdy element listy czy słownika wskazuje na jakiś obiekt 3. Na jeden obiekt może wskazywać wiele zmiennych i/lub elementów innych obiektów (takich jak listy czy słowniki). Jeżeli zmienna nie ma na co wskazywać (np. został do niej przypisany wynik funkcji, która nie zwraca wartości) wskazuje na obiekt None (typu NoneType). Zatem na wszystkie zmienne pythonowe możemy patrzeć jak na referencje do obiektów istniejących gdzieś w pamięci. Do uzyskania identyfikatora obiektu związanego z daną nazwą, lub elementem innego obiektu służy funkcja id (w przypadku standardowej implementacji Pythona jest to po prostu adres w pamięci) Usuwanie i czas życia zmiennych Instrukcja del, której używaliśmy już do usuwania elementów z listy lub słownika może być wykorzystana także do usuwania innych zmiennych. Należy jednak pamiętać iż w Pythonie usunięcie zmiennej nie wiąże się z natychmiastowym zwolnieniem zajmowanej przez nią pamięci z kilku powodów: na pojedynczy obiekt może wskazywać kilka zmiennych to Python decyduje o tym kiedy zwalniać / ponownie użyć pamięć pozostałą po obiektach na które nie wskazuje już żadna nazwa Kopiowanie obiektów Python w momencie przypisania wartości jednej zmiennej do innej nie tworzy kopii obiektu na który wskazuje zmienna, zamiast tego przypisuje referencję do istniejącego obiektu. Jest to szczególnie zauważalne w obiektach, które mogą być wewnętrznie modyfikowalne (takich jak listy czy słowniki) 4 : a = [1, 2, 3] b = a print (a, b, "\n", hex( id (a)), hex( id (b))) a[1] = 0 print (a, b, "\n", hex( id (a)), hex( id (b))) del a print (b, "\n", hex( id (b))) [1, 2, 3] [1, 2, 3] 0 x7f50d76b2bc8 0 x7f50d76b2bc8 [1, 0, 3] [1, 0, 3] 0 x7f50d76b2bc8 0 x7f50d76b2bc8 [1, 0, 3] 0 x7f50d76b2bc8 Jak widać a i b posiadają taki sam identyfikator obiektu zwracany przez funkcję id, modyfikacja a[1] wpłynęła na zawartość b, natomiast usunięcie a nie ma wpływu na b (usunęliśmy tylko jedną z dwóch referencji na wspólny obiekt). Jeżeli chcemy uzyskać kopię listy lub słownika musimy skorzystać z metody copy() odpowiedniego obiektu: 3 Zasadniczo wszystkie definiowane przez nas zmienne czy funkcje są elementem słownika związanego z danym kontekstem. Do słowników tych można uzyskać dostęp poprzez funkcje globals() (słownik zawierający elementy zdeklarowane w kontekście globalnym) i locals() (słownik zawierający elementy zadeklarowane w kontekście lokalnym). 4 Zauważ że jedyną możliwością modyfikacji liczby czy napisu jest przypisanie wartości wyrażenia do zmiennej, a dla list czy słowników możemy je modyfikować bez operacji przypisania całej listy czy słownika do nowej czy tej samej zmiennej. 8
9 a = [1, 2, 3] b = a.copy() b[1] = "X" print (a, b, "\n", hex( id (a)), hex( id (b))) [1, 2, 3] [1, 'X', 3] 0 x7f50d76b2bc8 0 x7f50d57a7088 Zauważ że tak utworzone b ma inny identyfikator obiektu niż a. Należy mieć także na uwadze że nawet argumenty funkcji przekazywane są jako referencje na obiekty a nie kopie obiektów, natomiast dopiero operacja przypisania nowej wartości do zmiennej związanej z argumentem powoduje że zaczyna ona wskazywać na nowo utworzony (w wyniku wyrażenia po prawej stronie znaku równości) obiekt Dla jeszcze bardziej dociekliwych Osobom jeszcze bardziej dociekliwym w temacie wnętrzności Pythona możemy polecić lekturę artykułu omawiającego te zagadnienia oraz samodzielne eksperymenty. 2.3 Klasy i struktury Inną metodą grupowania zmiennych i funkcji jest definiowanie własnych klas: c l a s s NazwaKlasy: # pola składowe a, d = 0, " ala ma kota" # metody składowe def wypisz( self): print (self.a + self.b) # metody statyczna def info (): print ("INFO") # konstruktor (z jednym argumentem) def init (self, x = 1): # i kolejny sposób na utworzenie pola składowego klasy self.b = 13 * x Warto zauważyć jawny argument metod składowych klasy w postaci obiektu tej klasy. Możliwe jest także dziedziczenie po jednej lub kilku klasach bazowych, w tym celu definicje klasy rozpoczynamy: c l a s s NazwaKlasy(Bazowa1, Bazowa2 ): Tworzenie obiektu klasy i używanie go: k = NazwaKlasy () k.a = 67 k.wypisz () 80 Obiekty można rozszerzać o nowe składowe i funkcje: k.c = k.a + 10 print (k.c) 77 W ten sposób można też tworzyć całe struktury: 9
10 c l a s s Pusta (): pass x = Pusta () x.a = 3 x.b = 4 Od strony implementacyjnej są one trzymane w słowniku związanym z danym obiektem o nazwie dict. Spróbuj wypisać zawartość x. dict oraz k. dict. Do metod klasy możemy odwoływać się także z podaniem nazwy klasy a nie obiektu, w takim wypadku jeżeli nie są to metody statyczne należy przekazać jako argument obiekt danej klasy lub go udający 5 : NazwaKlasy. info() NazwaKlasy. wypisz(k) NazwaKlasy. wypisz(x) INFO 80 7 Matematyka dla Ciekawych Świata, Kopiowanie, modyfikowanie i redystrybucja dozwolone pod warunkiem zachowania informacji o autorach. Opracowano w oparciu o materiały autorstwa Łukasza Mazurka dla VII i VIII edycji MDCŚ. 5 Wystarczy żeby taki obiekt miał metody i składowe używane przez dana metodę, nie musi to być obiekt tej klasy. 10
Laboratorium kryptograficzne dla licealistów 1
Laboratorium kryptograficzne dla licealistów 1 Projekt Matematyka dla ciekawych świata Łukasz Mazurek 23.03.2017 1 Praca z Pythonem Na zajęciach będziemy programować w języku Python w wersji 3. Pythona
Laboratorium programistyczne: wprowadzenie do programowania w Pythonie
Laboratorium programistyczne: wprowadzenie do programowania w Pythonie 1 Praca z Pythonem Projekt Matematyka dla ciekawych świata Robert Paciorek, Łukasz Mazurek 2018-04-05 Na zajęciach będziemy programować
Podstawy programowania. Python wykład 6
Podstawy programowania Python wykład 6 Funkcja wbudowana chr() Wywołanie funkcji chr() z argumentem m zwraca łańcuch znaków reprezentujący znak, którego punktem kodowym w Unicode jest liczba całkowita
Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)
Sed edytor strumieniowy,sed wczytuje bieżący wiersz pliku do wewnętrznego bufora celem manipulowania tekstem. Wynik jest wysyłany na standardowe wyjście. Oryginalny plik nie jest nigdy zmieniany. Jeżeli
Spis treści. Funkcje. 1 Funkcje 1.1 Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie 7
Spis treści 1 Funkcje 1.1 Zadanie 1 1.2 Zadanie 2 1.3 Zadanie 3 1.4 Zadanie 4 1.5 Zadanie 5 1.6 Zadanie 6 1.7 Zadanie 7 Funkcje Przy programowaniu często zdarza się, że pewne czynności chcemy wykonywać
Laboratorium kryptograficzne dla licealistów 1
Laboratorium kryptograficzne dla licealistów 1 Projekt Matematyka dla ciekawych świata Łukasz Mazurek 28.04.2016 1 Praca z Pythonem Na zajęciach będziemy programować w języku Python w wersji 3. Pythona
Laboratorium kryptograficzne dla gimnazjalistów 1
Laboratorium kryptograficzne dla gimnazjalistów Projekt Matematyka dla ciekawych świata Łukasz Mazurek 3.03.206 Praca z Pythonem Na zajęciach będziemy programować w języku Python w wersji 3. Pythona można
Uwagi 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
Języki i metody programowania
Języki i metody programowania Wykład 4 dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie hab. Andrzeja Zbrzezngo Podstawy języka Python
Języki formalne i automaty Ćwiczenia 6
Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended
Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.
Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać
Programowanie 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
Laboratorium kryptograficzne dla licealistów 2
Laboratorium kryptograficzne dla licealistów 2 Projekt Matematyka dla ciekawych świata Łukasz Mazurek 30.03.2017 1 Szyfr Cezara Uwaga We wszystkich zadaniach dotyczących szyfrowania (o ile nie powiedziano
Wykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Trochę o plikach wsadowych (Windows)
Trochę o plikach wsadowych (Windows) Zmienne środowiskowe Zmienną środowiskową można ustawić na stałe w systemie (Panel sterowania->system- >Zaawansowane ustawienia systemu->zmienne środowiskowe) lub też
Tablice (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
2. Ł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,
Język Python. Język Python 1/35
Język Python Język Python 1/35 Język Python 2/35 Wstęp Uruchamianie interpretera python Skrypty wykonywalne #!/usr/bin/python #!/usr/bin/env python lub #!/usr/bin/python3 #!/usr/bin/env python3 chmod +x
Podstawy 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
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.
Nazwa 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
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,
Rozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania
1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych
Typy danych, cd. Łańcuchy znaków
Typy danych, cd. Łańcuchy znaków Typ danych string, jest rozumiany jako łańcuch znaków - liter, cyfr i symboli. Stringi definiuje się w podwójnych lub pojedyńczych cudzysłowach. typ_ kawy = " latte " typ_herbaty
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.
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
Podstawy 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
Python 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
Bash - wprowadzenie. Bash - wprowadzenie 1/39
Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:
Podstawy programowania w Pythonie
Podstawy programowania w Pythonie Wykład 6 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 21 listopada 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania
Ćwiczenie: JavaScript Cookies (3x45 minut)
Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.
1 Powtórzenie wiadomości
1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy
Spis treści. Dekoratory. 1 Dekoratory 1.1 Zadanie Zadanie Zadanie Zadanie 4
Spis treści 1 Dekoratory 1.1 Zadanie 1 1.2 Zadanie 2 1.3 Zadanie 3 1.4 Zadanie 4 Dekoratory Dekoratory w Pythonie służą do zastępowania zdefiniowanych przez nas funkcji przez funkcje (lub inne obiekty)
Python jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:
W pierwszym kroku nauczymy się uruchamiać w Pythonie tradycyjny* program ". Dzięki temu nauczysz się pisać w języku Python, a także zapisywać i uruchamiać swoje pythonowe programy. *Jest taka tradycja,
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
Lab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:
Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:
XML i nowoczesne technologie zarządzania treścią 2007/08
Zadanie 3 Poprawkowe XML i nowoczesne technologie zarządzania treścią 2007/08 Wprowadzenie Należy napisać program w Javie, który czytając w trybie SAX plik z listą operacji, wykonuje zadane operacje na
Systemy 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
Laboratorium kryptograficzne dla licealistów 3
Laboratorium kryptograficzne dla licealistów 3 Projekt Matematyka dla ciekawych świata Łukasz Mazurek 19.05.2016 1 Wczytywanie danych z pliku Do tej pory wszystkie dane, z których korzystały nasze programy,
Po 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
TEMAT : System operacyjny MS DOS pliki wsadowe
Temat : Pliki wsadowe w MS-DOS Każdy system operacyjny ma możliwość przetwarzania wsadowego. Zamiast wielokrotnie wpisywać z klawiatury ciągi poleceń można zapisać je w pliku wsadowych (batch). Po uruchomieniu
Zakład Systemów Rozproszonych
Zakład Systemów Rozproszonych Politechnika Rzeszowska Moduł 5: Wybrane programy użytkowe Edytor Vi Edytor Vi uruchamiany jest w oknie terminala. Przy jego pomocy możemy dokonywać następujących operacji:
Podstawy 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
Laboratorium kryptograficzne dla licealistów 3
Laboratorium kryptograficzne dla licealistów 3 Projekt Matematyka dla ciekawych świata Łukasz Mazurek 06.04.2017 1 Wczytywanie danych z pliku Do tej pory wszystkie dane, z których korzystały nasze programy,
Laboratorium 6: Ciągi znaków. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski
Laboratorium 6: Ciągi znaków mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 17 listopada 2016 1. Wprowadzenie Instrukcja poświęcona jest zmiennym, które służą do przechowywania
Zmienne, 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
Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.
Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:
Pomorski Czarodziej 2016 Zadania. Kategoria C
Pomorski Czarodziej 2016 Zadania. Kategoria C Poniżej znajduje się 5 zadań. Za poprawne rozwiązanie każdego z nich możesz otrzymać 10 punktów. Jeżeli otrzymasz za zadanie maksymalną liczbę punktów, możesz
Język Python (2) Język Python (2) 1/36
Język Python (2) Język Python (2) 1/36 Język Python (2) 2/36 Podstawy funkcji Pojęcia podstawowe Instrukcja def tworzy obiekt funkcji i przypisuje go do nazwy Instrukcja return przekazuje obiekt wynikowy
Listy, krotki, słowniki, funkcje
Listy, krotki, słowniki, funkcje Listy Lista jest najbardziej elastycznym typem obiektu uporządkowanej kolekcji. Może zawierać różne typy danych - liczby, łańcuchy znaków, a nawet inne listy. Tworzy się
TEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):
1. SYSTEMY LICZBOWE UŻYWANE W TECHNICE KOMPUTEROWEJ System liczenia - sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Do zapisu
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()
Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,
Język C++ zajęcia nr 2
Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator
utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,
Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Naukę 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
1. Wypisywanie danych
1. Wypisywanie danych Przykłady 1.1. Napisz program, który wypisze na ekran słowa Hello, world!. 1 // Przyklad 1: Hello, world! 3 using namespace std; 5 int main() { 6 cout
Kurs rozszerzony języka Python
Wykład 2. 13 października 2017 Plan wykładu Klasy i obiekty 1 Klasy i obiekty 2 3 4 Plan wykładu Klasy i obiekty 1 Klasy i obiekty 2 3 4 Deklaracja klasy Klasy i obiekty Przykłady class Figura: Pierwsza
Wstęp do Informatyki dla bioinformatyków
Wstęp do Informatyki dla bioinformatyków Wykład 12 - Programowanie w BASHu Trochę bardziej zaawansowane Bartek Wilczyński 25.1.2016 Organizacyjne Bardzo proszę o wypełnienie ankiet w USOS Szczególnie zależy
Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.
Nazwa implementacji: Nauka języka C wyrażenia warunkowe if- Autor: Piotr Fiorek Opis implementacji: Poznanie struktury oraz zastosowania wyrażeń warunkowych if- w języku C. W programie realizującym jakiś
Zasady programowania Dokumentacja
Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności
Wykład PASCAL - Pliki tekstowe
Podstawy programowania Wykład PASCAL - Pliki tekstowe 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą,
Laboratorium 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
Podstawy 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:
Laboratorium 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
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Język C, tablice i funkcje (laboratorium, EE1-DI)
Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Wstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki
Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,
Pytania dla języka Python
XIV OIJ, zawody I stopnia, tura testowa 16 września 2019 1 stycznia 2020 Poniżej znajdują się pytania testowe z zawodów I stopnia XIV Olimpiady Informatycznej Juniorów () na teście wiedzy (do rozwiązania
while(wyrażenie) instrukcja
emat zajęć: Operatory i instrukcje w języku C - 2 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Do wykonywania cyklicznych obliczeń w języku C stosuje się instrukcje cyklu (pętli).
Wykład 5: Klasy cz. 3
Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu
Wprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/
Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.
Podstawy programowania Wykład PASCAL Zmienne wskaźnikowe i dynamiczne 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje zmiennych Zmienne dzielą się na statyczne i dynamiczne. Zmienna
Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python
Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za
Wstęp do informatyki 2011/2012. Wyrażenia regularne (sed)
Wstęp do informatyki 2011/2012 Wyrażenia regularne (sed) Sed sed [OPCJE] polecenia [plik_wejściowy]... sed [OPCJE] -f skrypt_z_poleceniami_seda [plik_wejściowy]... Edytor strumieniowy stosowany do przetwarzania
Wykł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
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
W dowolnym momencie można zmienić typ wskaźnika.
c++ Wskaźniki mają jeszcze jedną przydatną cechę. W dowolnym momencie można zmienić typ wskaźnika. Robi się to za pomocą operatora rzutowania. Najpierw zdefiniujemy sobie wsk_uniwersalny mogący pokazywać
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności
Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim
Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji).
Dekoratory są w miarę ezoteryczną cechą Pythona w przeciwieństwie do funkcji, klas czy iteratorów nie są powszechną cechą języków programowania. Niemniej, warto je omówić mimo wszystko, gdyż są niezwykle
lekcja 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
Python dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring
Python dla początkujących Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring Wstęp Stworzony w latach 90 przez Guido van Rossum Nazwa pochodzi od
Warsztaty dla nauczycieli
WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Laboratorium kryptograficzne dla licealistów 4
Laboratorium kryptograficzne dla licealistów 4 Projekt Matematyka dla ciekawych świata Łukasz Mazurek 20.04.2017 1 Poszukiwanie klucza Szyfr Cezara udało nam się złamać już kilkukrotnie. Za każdym razem
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,
Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix
Wydział Zarządzania i Modelowania Komputerowego Specjalność: Informatyka Stosowana Rok III Semestr V 1. Logowanie w systemie Unix. Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu