Środowisko programisty Zestaw 5
|
|
- Łukasz Kowal
- 8 lat temu
- Przeglądów:
Transkrypt
1 PCRE, czyli bogatsze wyrażenia regularne PCRE, czyli Perl Compatible Regular Expressions, to niezależna implementacja wyrażeń regularnych, inspirowana wyrażeniami regularnymi w języku Perl. Pierwotnie PCRE dostępne były jako biblioteka w języku C. Obecnie wyrażeń tych możemy używać nawet z poleceniem grep (opcja -P) i tak będziemy ich używać podczas naszych zajęć. Przewagę PCRE prezentujemy poprzez przykłady. Omawiając przykłady wprowadzimy składnię nowych funkcjonalności. Przykład. Napisz wyrażenie regularne dopasowujące się jedynie do siedmioliterowych wyrazów w słowniku scrabblisty w których występuje spójny podciąg myk. Używając standardowych wyrażeń regularnych można to zrobić tak: grep -E ^(myk....myk.....myk.....myk....myk)$ scrabble.txt Nie jest to w pełni satysfakcjonujące rozwiązanie i łatwo wyobrazić sobie zapytania w których długość wyrażenia do napisania osiąga rozmiar uniemożliwiający jego wygodne stosowanie. Oto alternatywne rozwiązanie używające PCRE: grep -P ^(?=.{7}$).*myk.* scrabble.txt Powyższe wyrażenie regularne używa jednego z wariantów lookarounds. Są to polecenia, które możemy wstawić do wyrażenia regularnego, powodujące, że blok przed (lub po) poleceniu może być dopasowany tylko wtedy gdy warunek w poleceniu jest spełniony. Oto lista wszystkich lookarounds z przykładami. (Zdecydowaliśmy się nie tłumaczyć nazw lookarounds na polski.) (i) lookahead after the match: \d+(?= złotych) Przykład dopasowania: 100 w ciągu 100 złotych (ii) lookahead before the match: (?=\d+ złotych)\d+ Przykład dopasowania: 100 w ciągu 100 złotych Zwróć uwagę, że funkcja dwu powyższych wyrażeń jest taka sama ale lookahead before the match jest mniej efektywny. (iii) negative lookahead after the match: \d+(?! złotych) Przykład dopasowania: 100 w ciągu 100 hrywien, ale nie w ciągu 100 złotych. Zastanów się, czy w ciągu 100 złotych coś zostanie dopasowane? (iv) lookbehind before the match (?<=czarny )kot Przykład dopasowania: kot w ciągu czarny kot (v) negative lookbehind before the match (?<!czarny )kot Przykład dopasowania: kot w ciągu mały kot Przykład. Napisz wyrażenie regularne dopasowujące się do linii zawierających dokładnie jedno wystąpienie ciągu kosmos. Strona 1/5
2 Gdyby chodziło o dokładnie jedno wystąpienie, powiedzmy, litery k to można by to zrobić przy pomocy następującego wyrażenia: ^[^k]*k[^k]*$ Jednak jeśli chodzi o dokładne wystąpienie ciągu kosmos, następujące wyrażenie jest jedną z najprostszych opcji: ^(?=.*kosmos)(?!.*kosmos.*kosmos).*$ Przykład. Napisz wyrażenie regularne, które dopasowuje się do tekstu pomiędzy znacznikami begin i end. Szczegółowy opis które fragmenty chcemy dopasować znajduje się w zadaniu programistycznym E na satori. Zacznijmy od bardzo naiwnego wyrażenia regularnego i spróbujmy je naprawiać krok po kroku. begin.*end Zauważmy najpierw, że wywołanie echo "aaa begin end end aaa" grep begin.*end dopasuje się do tekstu begin end end. Tymczasem w specyfikacji mamy, że blok wyróżniony (który chcemy dopasować) powinien być zamknięty pierwszym ciągiem end po rozpoczynającym ciągu begin. Błąd wynika z tego, że wyrażenia regularne są domyślnie interpretowane zachłannie. W PCRE możemy zmieniać to zachowanie. begin.*?end Znacznik? w sekwencji.*? interpretujemy, jako zmianę działania.* z dopasowywującego jak najdłuższy ciąg, na dopasowywujące jak najkrótszy ciąg pasujący do wyrażenia. Zatem interpreter w tym przypadku będzie szukać najkrótszego ciągu po którym następuje ciąg end. Oto zwięzły zestaw przykładów operujący podobnymi znacznikami: (i) A++, dopasowuje się zachłannie do jednego lub więcej A i sprawdza jedynie maksymalne dopasowanie nie próbując mniejszych; takie wyrażenie nazywamy zaborczym; (ii) A+, dopasowuje się zachłannie do jednego lub więcej A, zaczyna sprawdzanie od maksymalnego dopasowanie ale w razie niepowodzenia sprawdza też kolejno mniejsze dopasowania; (iii) A+. dopasuje się do AAA (ponieważ po dopasowaniu AAA nie ma kolejnego znaku, zostanie dopasowany ciąg AA, a ostatnie A potraktowane jako znak znajdujący się na końcu wzorca), natomiast A++. nie dopasuje się do AAA (nie zostanie sprawdzone dopasowanie mniejsze niż AAA). (iv) znacznik ++ najczęściej jest używany w sytuacji gdy mamy pewność, że jeśli jest dopasowanie to powinno być maksymalne. Na przykład kiedy chcemy dopasować Strona 2/5
3 liczbę, czyli ciąg cyfr i następujące po spacji słowo to efektywnie będzie użyć wyrażenia [0-9]++ [a-z]++; (v) znacznik ++ przydatny jest również, gdy chcemy zapamiętać maksymalne dopasowanie jako grupę do której później się odwołamy. Patrz przykład poniżej. (vi) A*+ działa analogicznie zaborczo, pozwala jednak dopasować się do zero lub więcej liter A Aby lepiej uzmysłowić działanie ++ przypomnijmy sobie przykład z negative lookahead after the match: \d+(?! złotych). Wzorzec ten nie dopasuje 100 w ciągu 100 złotych, ale dopasuje 10, ponieważ nie zabraniamy aby po dopasowaniu wystepował ciąg 0 złotych. Najprostszym i najbardziej eleganckim sposobem poprawienia tego wzorca jest użycie właśnie zaborczego modyfikatora: \d++(?! złotych). Wróćmy do przykładu ze znacznikami begin i end. Kolejnym zasadniczym problemem jest to, że obecne wyrażenie regularne nie wyszukuje bloków rozpiętych na więcej niż jednej linii. Tak naprawdę to wina zarówno polecenia grep, które przetwarza wejście linia po linii, niezależnie, jak i samego wyrażenia regularnego, w którym znak. nie dopasowuje się do znaku końca linii \n. W związku z powyższym możemy poprawić dwie rzeczy: (i) wywołać grep z opcją -z, dzięki czemu wejście dopasowywane będzie do wzorca w jednym przejściu, a nie linia po linii; (ii) wyrażenie regularne powinno być poprzedzone modyfikatorem (?s), dzięki czemu znak. będzie dopasowywać się także do znaku \n. Zatem poprawione wywołanie polecenia to: grep -Pz (?s)begin.*?end Następnym problemem do rozwiązania jest to, że wzorzec dopasowuje się do bloków wyróżnionych wraz ze znacznikami ograniczającymi. Jeśli chcemy mieć dopasowanie jedynie do znaków wewnątrz bloku to powinniśmy skorzystać z lookarounds. grep -Pz (?s)(?<=begin).*?(?=end) Musimy jeszcze obsłużyć sytuację, zgodnie z treścią zadania na satori, że ostatni blok może nie mieć znacznika końca end jeśli skończy się wraz z końcem wejścia. Wykorzystamy do tego \z dopasowywujący znak końca pliku/wejścia. Ostateczny kształt polecenia to: grep -Pz (?s)(?<=begin).*?(?=(end \z)) Przykład. Na wejściu otrzymujemy linie zawierające ciągi binarne (jedyne znaki w linii to 0 i 1). Mamy znaleźć wszystkie wystąpienia ciągu 11 takie że pierwsza jedynka jest na nieparzystym miejscu (pierwszy znak w linii jest na pierwszym miejscu). Oto pierwsza próba rozwiązania: Strona 3/5
4 grep -P (..)*?11 Wyrażenie dopasuje ciąg 11, ale dopasowane zostaje także wszystko przed 11. Dlatego kolejna próba rozwiązania będzie wyglądać tak: grep -P (..)*?\K11 Komenda \K powoduje, że ciąg który się dopasował do danego momentu do wzorca jest wymazany z dopasowania. Jak już wiemy, w wyrażeniach regularnych blok zaznaczony nawiasami okrągłymi zapamiętuje nam tekst dopasowany do bloku, do którego później możemy się odwołać poprzez \1,...,\9. Okazuje się, że w PCRE blok możemy również traktować jako funkcję, którą możemy wywołać w wyrażeniu regularnym. Przykład. Wyszukaj wszystkie palindromy w słowniku scrabblisty. Używając standardowych wyrażeń regularnych potrafiliśmy wyszukać palindromy określonej długości np. ^(.)(.).\2\1$ dopasowuje palindromy pięcioliterowe. W PCRE możemy łatwo wyszukać wszystkie palindromy: grep -P ^((.)(?1)?\2.?)$ Instrukcja (?1) powoduje wywołanie funkcji oznaczonej przez pierwszy blok. W tym przypadku jest to wywołanie rekurencyjne. Instrukcja (?R) powoduje wywołanie całego wyrażenia jako funkcji. Dlaczego następujące wyrażenie nie będzie działać dla palindromów? grep -P ^(.)(?R)?\1.?$ Przykład. Wyszukaj linie postaci a n b m a n dla 1 m n. ^(?=(a+))a*(a(?2)?b)\1$ Blokom możemy nadawać własne nazwy: (?<slowo>[a-z]+) (?&slowo) Powyżej zdefiniowaliśmy blok o nazwie słowo i wywołaliśmy go dalej w wyrażeniu jako funkcję. Powyższe wyrażenie dopasuje się np. do krowa pies. Funkcje można także pre-definiować przed rozpoczęciem właściwego wyrażenia regularnego: (?x) # włącza niewrażliwość wyrażenia na białe znaki (?(DEFINE) # początek bloku definiującego # definicja funkcji ilosc Strona 4/5
5 (?<ilosc>dużo kilka pięć) # definicja funkcji jaki (?<przymiotnik>niebieskich dużych interesujących) # defincja funkcji obiekty (?<obiekty>samochodów słoni problemów) # definicja funkcji rzeczownik_fraza (?<rzeczownik_fraza>(?&ilosc)\ (?&przymiotnik)\ (?&obiekty)) # definicja funkcji czynnosc (?<czynnosc>pożycz rozwiąż poskładaj) ) # koniec bloku definiującego (?&rzeczownik_fraza)\ (?&czynnosc)\ (?&rzeczownik_fraza) Niestety polecenie grep -P nie przyjmuje wzorców połamanych znakiem \n. To jest cały wzorzec musi być w jednej linii. Ponieważ pisanie złożonego wyrażenia z wieloma predefiniowanymi funkcjami jest nie do ogarnięcia w jednej linii proponujemy pisanie skryptu w pliku, a dopiero przed odpaleniem skryptu skasowanie wszystkich znaków złamania linii (albo prawie wszystkich, bo chcemy zachowac pierwszą linię skryptu #!/bin/bash nietkniętą). Oczywiście można to zrobić poleceniem sed, np. tak: sed 1! {:a $! {N; ba;}; s/\n//g;s/$/\n/} < kecim-liczby.sh > kecim-liczby-out.sh Strona 5/5
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
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
Skanowanie OCR w aplikacji Kancelaria Komornika. Instrukcja dla użytkownika
Skanowanie OCR w aplikacji Kancelaria Komornika Instrukcja dla użytkownika Spis treści 1. Zakładka Wyrażenia... 3 2. Zakładka Grupy wyrażeń... 5 3. Opcje Skanowania / OCR... 7 4. Rozpoznawanie Danych...
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
SED - Stream EDitor. edytor strumieniowy. Bogumił Konopka W-11/I-21 Politechnika Wrocławska
04.01.2010 SED - Stream EDitor edytor strumieniowy Bogumił Konopka W-11/I-21 Politechnika Wrocławska Jak działa sed? sed jest filtrem pobiera dane w postaci wierszy tekstu ze standardowego wejścia przetwarza
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
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
Wyrażenia regularne. Wyrażenia regularne 1/41
Wyrażenia regularne Wyrażenia regularne 1/41 Wyrażenia regularne 2/41 Po co wyrażenia regularne? Polecenie: $ grep est tekst.txt Zawartość tekst.txt To jest plik tekstowy. Testujemy narzędzie grep. Trzecia
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:
Spra r wd w za z nie e popra r wn w ości c danych c w w form r u m larz r a z ch c :
PROJEKTOWANIE STRON WWW LABORATORIUM 3. Wykorzystanie JavaScriptu i wyrażeń regularnych do sprawdzania poprawności danych w formularzach prowadzący dr ADRIAN HORZYK http://home.agh.edu.pl/~horzyk e-mail:
Nawigacja po długim dokumencie może być męcząca, dlatego warto poznać następujące skróty klawiszowe
Zestawienie wydatków rok 2015 1 Wstaw numerację stron. Aby to zrobić przejdź na zakładkę Wstawianie i w grupie Nagłówek i stopka wybierz Numer strony. Następnie określ pozycję numeru na stronie (na przykład
Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików.
Spis treści 1 Krótkie wprowadzenie do makefile'a 1.1 Typowa reguła programu make 1.2 Zmienne w pliku Makefile 1.3 Zmienne standardowe 1.4 Zmienne automatyczne 1.5 Więcej o regułach 1.5.1 Reguły z wzorcem
Wyrażenia regularne. Regular expressions. aka. Regexp
Regular expressions aka Regexp Historia: teoria automatów oraz teoria języków formalnych Stephen Cole Kleene (1909-1994) lata 50 badania nad zbiorami regularnymi oraz teorią rekursji język programowania
Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux
Przetwarzanie tekstu 2 Operacje na plikach tekstowych w systemie Linux filtry programy przetwarzajace pliki (w szczególności tekstowe) w taki sposób, że odczytuja dane (plik wejściowy) ze standardowego
Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt
Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt Zadanie: Utwórz szablon rysunkowy składający się z: - warstw - tabelki rysunkowej w postaci bloku (według wzoru poniżej)
znajdował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
Ćwiczenia nr 11. Translatory. Wprowadzenie teoretyczne
J.Nawrocki, M. Antczak, A. Hoffa, S. Wąsik Plik źródłowy: 08cw11-tr.doc; Data: 2009-01-15 09:47:00 Ćwiczenia nr 11 Translatory Wprowadzenie teoretyczne Wiele dokumentów wprowadzających do języków Lex oraz
Zmienne i stałe w PHP
Zmienne i stałe w PHP Zmienne Zmienne to konstrukcje programistyczne, które pozwalają na przechowywanie danych. Każda zmienna posiada swoją nazwę oraz typ. Nazwa to jednoznaczny identyfikator, dzięki któremu
Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.
Powłoka I Popularne implementacje W stylu sh (powłoki zdefiniowanej w POSIX) bash (najpopularniejsza) zsh ksh mksh W stylu csh csh tcsh 12 października 2018 1 / 16 Powłoka II Zachęta Komunikuje się z użytkownikiem
Podstawy Kompilatorów
Podstawy Kompilatorów Laboratorium 3 Uwaga: Do wykonania poniższych zadań związanych z implementacją niezbędny jest program LEX oraz kompilator. Dla środowiska Linux mogą to być: Darmowa wersja generatora
Wyrażenie wewnątrz nawiasów jest atomem (rozpatrujemy je jako całość).
Wyrażenia regularne pełnią istotną rolę w PHP. Umożliwiają one opisywanie i przetwarzanie długich ciągów znaków. Dzieje się to na zasadzie porównania danego ciągu znaków z określonym wzorem, ułożonym przez
Środowisko programisty Zestaw 4
sed uniwersalny edytor strumieniowy sed to edytor strumieniowy (stream editor) zawarty w systemach uniksowych, służący do przetwarzania plików tekstowych. Jego funkcjonalność można docenić już po kilku
1. Wyrażenia regularne. Symbole w wyrażeniach regularnych 1 :
1. Wyrażenia regularne Symbole w wyrażeniach regularnych 1 : Aby wyświetlić linie zawierające słowo Mouse z informacji dziennika zdarzeń jądra systemu, można użyć poniższego polecenia. dmesg wyświetla
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
Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.
Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje
JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA
JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA, który zawiera: zmienne, konstrukcje warunkowe i iteracyjne (IF-THEN-ELSE, CASE, DO WHILE, DO UNTIL), konfigurowane środowisko użytkownika. METAZNAKI zestaw
J ezyk AWK Kurs systemu UNIX
Język AWK Kurs systemu UNIX 1 AWK Opracowany w laboratoriach Bella w 1978 przez Aho, Weinbergera i Kernighana Język do przetwarzania plików tekstowych Kurs systemu UNIX 2 AWK: pierwsza odsłona! AWK jest
L E X. Generator analizatorów leksykalnych
L E X Generator analizatorów leksykalnych GENERATOR L E X Zadaniem generatora LEX jest wygenerowanie kodu źródłowego analizatora leksykalnego (domyślnie) w języku C; Kod źródłowy generowany jest przez
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
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ć
Być 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,
Skrypt 16. Ciągi: Opracowanie L6
Projekt Innowacyjny program nauczania matematyki dla liceów ogólnokształcących współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Skrypt 16 Ciągi: 1. Ciągi liczbowe.
Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych
rk Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych pojęć, prawdopodobnie zastanawiasz się, kiedy zaczniesz
Bioinformatyka. Program UGENE
Bioinformatyka Program UGENE www.michalbereta.pl UGENE jest darmowym programem do zadań bioinformatycznych. Można go pobrać ze strony http://ugene.net/. 1 1. Wczytanie rekordu z bazy ENA do programu UGENE
Definiowanie Kalendarza Przed rozpoczęciem planowania musimy zdefiniować kalendarz z terminami, kiedy mogą być planowane zajęcia.
Spis treści Planowanie wg kalendarzy szczególnych... 1 Definiowanie Kalendarza... 1 Planowanie zajęć... 2 Nie można dodać wszystkich zajęć ostrzeżenie... 3 Informacje dla planistów, informacje dla Studentów...
C++ Przeładowanie operatorów i wzorce w klasach
C++ i wzorce w klasach Andrzej Przybyszewski numer albumu: 89810 14 listopada 2009 Ogólnie Przeładowanie (przeciążanie) operatorów polega na nadaniu im nowych funkcji. Przeładowanie operatora dokonuje
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
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,
Zastanawiałeś się może, dlaczego Twój współpracownik,
Kurs Makra dla początkujących Wiadomości wstępne VBI/01 Piotr Dynia, specjalista ds. MS Office Czas, który poświęcisz na naukę tego zagadnienia, to 15 20 minut. Zastanawiałeś się może, dlaczego Twój współpracownik,
zaznaczymy na osi liczbowej w ten sposób:
1. Zagadnienia teoretyczne. 1.1. Przedział domknięty Przykład 1. Pisząc mamy na myśli wszystkie liczby rzeczywiste od -4 do 7, razem z -4 i 7. Jeśli napiszemy, będziemy mówić o zbiorze wszystkich liczb
INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
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
1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape
FIND http://www.cs.put.poznan.pl/akobusinska/downloads/find.pdf 1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape 2. Ogranicz wynik polecenia 1
Wyrażenia regularne w Perlu. Narzędzia informatyczne w językoznawstwie. Przykład bardziej sensowny perlowy minigrep.pl. Pierwsze przykłady
Wyrażenia regularne w Perlu Narzędzia informatyczne w językoznawstwie Perl - Wyrażenia regularne Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 16. styczeń
Ć W I C Z E N I A Z W Y K O R Z Y S T A N I E M E D Y T O R A T E K S T U. M i c r o s o f t
Ć W I C Z E N I A Z W Y K O R Z Y S T A N I E M E D Y T O R A T E K S T U M i c r o s o f t W o r d Doskonalisz się w zaawansowanych opcjach edytora tekstu. Realizując ćwiczenia, zdobędziesz umiejętność
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Zastosowanie filtrów w Linuksie
Zastosowanie filtrów w Linuksie grep poszukiwanie ciągu znaków w pliku cut selekcjonuje (znajduje) pojedyńcze znaki lub zony sort uporządkowanie, fuzja plików more wyświetlanie pliku strona po stronie
System operacyjny Linux
Paweł Rajba pawel.rajba@continet.pl http://kursy24.eu/ Zawartość modułu 6 Język bash Pierwszy skrypt Rozwinięcia parametryczne Bloki instrukcji Dwa przydatne polecenia Tablice Sprawdzanie warunków Instrukcje
Zadanie 1. Potęgi (14 pkt)
2 Egzamin maturalny z informatyki Zadanie 1. otęgi (14 pkt) W poniższej tabelce podane są wartości kolejnych potęg liczby 2: k 0 1 2 3 4 5 6 7 8 9 10 2 k 1 2 4 8 16 32 64 128 256 512 1024 Ciąg a=(a 0,
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
Lekcja 5 - PROGRAMOWANIE NOWICJUSZ
Lekcja 5 - PROGRAMOWANIE NOWICJUSZ 1 Programowanie i program według Baltiego Najpierw sprawdźmy jak program Baltie definiuje pojęcia programowania i programu: Programowanie jest najwyższym trybem Baltiego.
Programowanie dynamiczne
Programowanie dynamiczne Patryk Żywica 5 maja 2008 1 Spis treści 1 Problem wydawania reszty 3 1.1 Sformułowanie problemu...................... 3 1.2 Algorytm.............................. 3 1.2.1 Prosty
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
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ż
Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.
Bioinformatyka Ocena wiarygodności dopasowania sekwencji www.michalbereta.pl Załóżmy, że mamy dwie sekwencje, które chcemy dopasować i dodatkowo ocenić wiarygodność tego dopasowania. Interesujące nas pytanie
Systemy operacyjne 12
Systemy operacyjne 12 Z Wikipedii, wolnej encyklopedii. Spis treści 1 Program sed 1.1 Obsługa edytora sed 1.1.1 Składnia sed 1.1.2 Skrypty sed 1.1.3 Polecenia sed 1.1.3.1 zakresy wierszy 1.1.3.2 polecenia
8.2 Drukowanie arkusza kalkulacyjnego
przede wszystkim zastanów się, co chcesz pokazać na wykresie (te same dane można pokazać na różne sposoby, uwypuklając różne ich aspekty) zaznacz zakres danych jeszcze przed wywołaniem kreatora wykonaj
Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
6. Pętle while. Przykłady
6. Pętle while Przykłady 6.1. Napisz program, który, bez użycia rekurencji, wypisze na ekran liczby naturalne od pewnego danego n do 0 włącznie, w kolejności malejącej, po jednej liczbie na linię. Uwaga!
Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8
Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8 Podstawy programowania makr w Excelu 1 Aby rozpocząć pracę z makrami, należy
POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2
SKRYPTY Pracownia Informatyczna 2 PRACOWNIA INFORMATYCZNA 2017/2018 MAGDA MIELCZAREK PRACOWNIA INFORMATYCZNA 2017/2018 MAGDA MIELCZAREK 2 cal wyświetlenie kalendarza Składnia: cal 2017, cal Polecenie cal
Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr
Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe Czas realizacji zajęć: 180 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Strumienie standardowe i ich przekierowywanie,
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
Ć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.
Materiały wprowadzające. dr inż. Arkadiusz Chrobot
Materiały wprowadzające dr inż. Arkadiusz Chrobot 25 lutego 2019 Spis treści Wprowadzenie 1 1. ssh 1 2. scp 2 3. Linux Cross Reference 2 Wprowadzenie W tych materiałach wstępnych zawarte są krótkie opisy
Jak wykonać inwentaryzację (spis z natury) w rc sklep lub rc sklep mini.
Jak wykonać inwentaryzację (spis z natury) w rc sklep lub rc sklep mini. Inwentaryzację wykonujemy wtedy, kiedy chcemy dokładnie poznać fizyczny stan towarów na sklepie. Najczęściej jest to spowodowane
Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako
Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS
Zmiany funkcjonalne i lista obsłużonych zgłoszeń 2017.1.2 1. Wstęp W niniejszym dokumencie zostały opisane modyfikacje wprowadzone w wersji oraz 2017.1.2. Uwaga! Od wersji 2017.1 Comarch ERP Obieg dokumentów
MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH
MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH SPIS TREŚCI i EKRANÓW WSTĘP Ekran1: Wstęp. Logowanie Ekran2: Strona początkowa UDOSTEPNIONE MATERIAŁY Ekran3: Dostępne materiały Ekran4: Zawartość
System operacyjny Linux
Paweł Rajba pawel.rajba@continet.pl http://kursy24.eu/ Zawartość modułu 7 Język awk Wprowadzenie Schemat programu Konstrukcja wzorców Konstrukcja wyrażeń regularnych Struktury kontrolne Predefiniowane
Celem tego projektu jest stworzenie
Prosty kalkulator Celem tego projektu jest stworzenie prostego kalkulatora, w którym użytkownik będzie podawał dwie liczby oraz działanie, które chce wykonać. Aplikacja będzie zwracała wynik tej operacji.
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.
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
Adobe InDesign lab. 2 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Dokument wielostronicowy Książka Eksport do PDF... 7.
Spis treści: 1 Dokument wielostronicowy... 2 1.1 Książka... 2 1.2 Eksport do PDF... 7 strona 1 z 7 1 Dokument wielostronicowy Poniższa instrukcja zawiera przykład procedury projektowania dokumentów wielostronicowych
ApSIC Xbench: Szybki start wydanie 1 2008-2015 Mariusz Stępień http://mariuszstepien.net/ http://www.facebook.com/mariuszstepien.
ApSIC Xbench jest darmowym i niezwykle przydatnym programem w pracy tłumacza pisemnego korzystającego z narzędzi CAT. Otóż pozwala on przeszukiwać posiadane pamięci tłumaczeniowe (TM) można szukać pojedynczych
Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym
S t r o n a 1 Bożena Ignatowska Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym Wprowadzenie W artykule zostaną omówione zagadnienia związane z wykorzystaniem funkcji tekstowych w arkuszu
Utworzenie pliku. Dowiesz się:
Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle
Instrukcja numer 06 Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle Zadanie 06 Pętle w skryptach wiersza poleceń Zadanie omawia zagadnienia związane ze stosowaniem instrukcji
Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)
Wstęp do informatyki stęp do informatyki Polecenia (cz.2) Lista procesów top Pokaż listę procesów polecenie interaktywne Procesy Uruchamianie w tle. shell nie czeka na zakończenie procesu, można wydawać
Przekierowanie wejścia wyjścia:
Przekierowanie wejścia wyjścia: program ma trzy podstawowe strumienie wejścia-wyjścia - standardowe wejście - standardowe wyjście - standardowe wyjście diagnostyczne przekierowanie standardowego wyjścia
Informatyka I: Instrukcja 4.2
Informatyka I: Instrukcja 4.2 1 Wskaźniki i referencje - bezboleśnie Nauczyliśmy się do tej pory, że funkcje w języku C mogą zwracać wartość. Co jednak, gdybyśmy chcieli napisać funkcję, która rozwiąże
Wyszukiwanie i zamawianie artykułów za pośrednictwem strony internetowej
Wyszukiwanie i zamawianie artykułów za pośrednictwem strony internetowej OBSŁUGA SYSTEMU E-ZAMÓWIENIA W celu skorzystania z systemu e-zamówienia należy zalogować się na stronie internetowej www.motohurt.pl
Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:
Ciągi rekurencyjne Zadanie 1 Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: w dwóch przypadkach: dla i, oraz dla i. Wskazówka Należy poszukiwać rozwiązania w postaci, gdzie
Laboratorium z użyciem analizatora leksykalnego FLEX
Laboratorium z użyciem analizatora leksykalnego FLEX Analizator leksykalny FLEX jest narzędziem służącym do tworzenia programów rozpoznających wzorce. FLEX na podstawie pliku wejściowego, za pomocą reguł
29. Poprawność składniowa i strukturalna dokumentu XML
29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację
4. 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
Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.
Spis treści: 1 Podstawy pracy z aplikacją... 2 1.1 Układ strony... 2 strona 1 z 7 1 Podstawy pracy z aplikacją InDesign jest następcą starzejącego się PageMakera. Pod wieloma względami jest do niego bardzo
ETJ XML Edytor Tekstów Jednolitych XML
ETJ XML Edytor Tekstów Jednolitych XML Dokument zawiera szczegółowy opis tworzenia aktów zmieniających przy użyciu programu Edytor Tekstów Jednolitych XML www.abcpro.pl Spis treści Wprowadzenie... 3 Tworzenie
Podstawy użytkowania Linux a
Podstawy użytkowania Linux a Systemy Operacyjne Mateusz Hołenko 3 marca 2013 Plan zajęć Rozpoczynanie pracy z systemem Podstawowe polecenia Pomoc systemowa Interpreter poleceń Mateusz Hołenko Podstawy
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux SKRYPTY POWŁOKI mgr inż. Tomasz Borowiec SKRYPTY POWŁOKI - PODSTAWY W Linuksie skrypt jest plikiem tekstowym zawierającym polecenia systemowe
Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.
ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach
1 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki
Kaskadowe arkusze stylów (CSS)
Kaskadowe arkusze stylów (CSS) CSS (Cascading Style Sheets) jest to język opisujący sposób, w jaki przeglądarki mają wyświetlać zawartość odpowiednich elementów HTML. Kaskadowe arkusze stylów służą do
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
Rekurencja (rekursja)
Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)
OPCJE -A num, --after-context=num Wypisuje po pasujących liniach num linii następującego kontekstu.
GREP NAZWA grep, egrep, fgrep - wypisz linie pasujące do wzorca SKŁADNIA grep [opcje] wzorzec [plik...] grep [opcje] [-e wzorzec -f plik] [plik...] OPIS grep przeszukuje wskazane pliki wejściowe (lub standardowe
Podstawowe komendy. Ćwiczenie 1
Podstawowe komendy Program (język) komputerowy LOGO powstał w latach sześćdziesiątych w USA. Stworzył go Seymour Papert. Uczniowie bawiący się z LOGO wydają polecenia komendy, które wykonuje żółw pojawiający
Języki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków
Linux Filtr grep. Opracował: Arkadiusz Curulak WSIiE TWP w Olsztynie
Linux Filtr grep Opracował: Arkadiusz Curulak WSIiE TWP w Olsztynie Data aktualizacji : 17-06-2002 Pierwsza edycja : 01-06-2002 Spis treści Filtr grep: składnia... 2 Zadanie 1... 2 Zadanie 2... 3 Zadanie