Bash i algorytmy. Elwira Wachowicz. 20 lutego

Podobne dokumenty
Bash - wprowadzenie. Bash - wprowadzenie 1/39

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

System operacyjny Linux

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Podstawy JavaScript. Dawid Poªap. Dawid Poªap Technologia informacyjna Grudzie«, / 13

- wszystkie elementy - wszystkie elementy

Powłoka bash. Kurs systemu Unix 1

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Przekierowanie wejścia wyjścia:

Algorytm. a programowanie -

Przetwarzanie sygnaªów

Funkcje, wielomiany. Informacje pomocnicze

Sieci i systemy operacyjne I Ćwiczenie 3. Przekierowania strumieni we/wy. Filtry.

Ukªady równa«liniowych

1 Przygotował: mgr inż. Maciej Lasota

Pracownia Komputerowa wykład III

Powłoka (shell) Powłoka ksh

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Macierze i Wyznaczniki

Lab. 02: Algorytm Schrage

Wstęp do Informatyki dla bioinformatyków

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

Metody numeryczne i statystyka dla in»ynierów

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

Algebra Liniowa 2. Zadania do samodzielnych wicze«wydziaª Elektroniki, I rok Karina Olszak i Zbigniew Olszak

Algorytmy zwiazane z gramatykami bezkontekstowymi

1 Bª dy i arytmetyka zmiennopozycyjna

1 Metody iteracyjne rozwi zywania równania f(x)=0

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

Pierwsze spotkanie kóªka linuksowego

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.

BASH - WPROWADZENIE Bioinformatyka 4

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM ROZSZERZONY. S x 3x y. 1.5 Podanie odpowiedzi: Poszukiwane liczby to : 2, 6, 5.

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Środowisko programisty Zestaw 7

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Funkcje i tablice. Elwira Wachowicz. 23 maja 2013

1. Wprowadzenie do C/C++

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012

1. Wprowadzenie do C/C++

Programowanie wspóªbie»ne

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

System operacyjny Linux

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Architektura komputerów

2.8. Algorytmy, schematy, programy

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Materiaªy do Repetytorium z matematyki

Listy i operacje pytania

Zmienne środowiskowe: Ścieżka przeszukiwana komendą.

Matlab Składnia + podstawy programowania

Metody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, Dawid Rasaªa Metody numeryczne 1 / 9

Macierze i Wyznaczniki

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Programowanie skryptów powłoki

PODSTAWY INFORMATYKI

Lekcja 12 - POMOCNICY

Bazy danych. Andrzej Łachwa, UJ, /15

Matlab Składnia + podstawy programowania

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Metody dowodzenia twierdze«

Instrukcja SO powłoka BASH i skrypty powłoki Istotne jest zrozumienie działania narzędzia history powłoki BASH. Każde polecenie wprowadzone i

ALGORYTMIKA Wprowadzenie do algorytmów

Modele liniowe i mieszane na przykªadzie analizy danych biologicznych - Wykªad 1

ZADANIA ZAMKNI TE. W zadaniach od 1. do 20. wybierz i zaznacz na karcie odpowiedzi jedn poprawn odpowied.

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

14.Rozwiązywanie zadań tekstowych wykorzystujących równania i nierówności kwadratowe.

1 Przypomnienie wiadomo±ci ze szkoªy ±redniej. Rozwi zywanie prostych równa«i nierówno±ci

Systemy operacyjne. Programowanie w shellu: BASH. Wydział Inżynierii Metali i Informatyki Przemysłowej

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Informacje pomocnicze

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

Bash - instrukcje warunkowe, pętle i funkcje

Podstawy Informatyki. Algorytmy i ich poprawność

ZADANIA. Maciej Zakarczemny

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

Proste programy w C++ zadania

Technologie Informacyjne - Linux 3

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Warunki logiczne instrukcja if

Wykład z Technologii Informacyjnych. Piotr Mika

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Technologie Informacyjne

Lekcja 9 Liczby losowe, zmienne, staªe

Czas pracy 170 minut

Transkrypt:

Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16

Inne przydatne polecenia Polecenie Dziaªanie Przykªad echo Wy±wietla na standardowym wyj±ciu echo $zmienna more Wy±wietla plik dziel c go na ekrany more plik head Wy±wietla pocz tek pliku head -n 5 plik tail Wy±wietla koniec pliku tail -n 5 plik cut Wybieranie kolumn cut -f2,4 plik diff Wy±wietla ró»nic mi dzy plikami diff plik1 plik2 grep Szuka ci gu znaków w pliku grep tekst plik uniq Wybiera unikatowe wiersze uniq plik wc Zlicza liczb znaków, sªów lub wierszy wc -l plik sort Sortowanie plików sort plik paste Š czy pliki kolumnami paste plik1 plik2 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 2 / 16

Wyra»enia arytmetyczne Pi operacji arytmetycznych: dodawanie (+), odejmowanie (-), mno»enie (*), dzielenie (/), modulo reszta z dzielenia (%). $ expr 2 \* 3 $ expr 2 \* \( 7-1 \) $ a=5 $ a=`expr $a + 1` $ echo $a $ b=`expr $a % 3` Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 3 / 16

Uruchamianie plików Aby uruchomi skrypt: Sposób 1: $ bash plik argumenty Sposób 2: 1. Zmieniamy prawa dost pu do pliku: 2. Uruchamiamy plik: $./plik argumenty Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 4 / 16

Zmienne specjalne Zmienna Dziaªanie $# Liczba argumentów $0 Nazwa programu skryptowego $1,$2,... Argumenty przekazane do skryptu $* Rozwijane do $1 $2... $@ Rozwijane do $1 $2... $? Kod powrotu ostatniego polecenia Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 5 / 16

Kiedy pisa skrypt/program? Częstotliwość Raz Wiele razy Czynność Prosta Złożona Program Praca interaktywana Program Program Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 6 / 16

Polecenie test Warunek Zwraca -r plik Prawda, je±li plik istnieje i ma prawa do czytania -w plik Prawda, je±li plik istnieje i ma prawa do zapisu. -x plik Prawda, je±li plik istnieje i ma prawa do wykonywania. -f plik Prawda, je±li plik istnieje i jest zwykªym plikiem. -d plik Prawda, je±li plik istnieje i jest katalogiem. -s plik Prawda, je±li plik istnieje i ma rozmiar wi kszy od zera. s1 Prawda, je±li napis s1 nie jest pusty. n1 -eq n2 Prawda, je±li n1 i n2 s sobie równe. Zamiast równe, mo»e by : -ne (nie równe), -gt (wi ksza ni»), -ge (wi ksza lub równa), -lt (mniejsza), -le (mniejsza lub równa). Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 7 / 16

Konstrukcja if-then-else Przykªad: if czynność 1 czynność 2 if [ warunek testu ] then czynno± 1 else czynno± 2 fi if [ -r plik1 ] then cat plik1 else echo Wprowad¹ tekst do plik1 cat > plik1 fi Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 8 / 16

Konstrukcja for czynność 1 for for zmien in wart1, wart2,... do czynno± 1 done Przykªad: for f in *; do # * rozwija si do listy wszystkich plików/katalogów # znajduj cych si w bie» cym katalogu if [ -d "$f" ]; then echo "Katalog '$f'" elif [ -f "$f" ]; then echo "Plik '$f'" else echo "Inny typ '$f'" fi done Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 9 / 16

Konstrukcja while Przykªad: czynność 1 while while lista polece«do czynno± 1 done zm="" while [ "$zm"!= koniec ]; do echo -n "Wpisz co± (sªowo 'koniec' aby zako«czy ): " read zm echo "Wpisaªe± '$zm'" done Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 10 / 16

Algorytm (arab.): przepis na rozwi zanie danego zagadnienia matematycznego (np. algorytm obliczania pierwiastka równania kwadratowego); metoda post powania zawieraj ca wszystkie formuªy obliczeniowe, okre±laj ca kolejno± ich stosowania, warunki, przy których stosuje si t lub inn formuª, zasady przechodzenia od jednego etapu procesu obliczeniowego do nast pnego oraz informacje o rodzajach i wªasno±ciach odpowiednich obiektów matematycznych: liczb, wektorów, macierzy, a tak»e tablic, które s danymi pocz tkowymi zadania lub pojawiaj si podczas oblicze«; algorytmy s podstaw programów dla maszyn matematycznych. Encyklopedia PWN, 1973 r Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 11 / 16

Cechy algorytmu Algorytm: Szczegóªowy Jednoznaczny Powinien mie pocz tek i koniec Posiada zbiór danych wej±ciowych, dla których ko«czy si sukcesem. Efektywno± : proste operacje i realizacja w rozs dnym czasie. Daje oczekiwane rezultaty dla ró»nych danych wej±ciowych. Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 12 / 16

Obliczanie najwi kszego wspólnego dzielnika dwóch liczb Algorytm Euklidesa (IV w. p.n.e..) do obliczania najwi kszego wspólnego dzielnika (NWD) dwóch liczb naturalnych m i n (m > 0 i m n): Czynno± 1: sprawd¹, czy n = 0; je±li tak, to zako«cz szukanym NWD jest m; je±li nie, przejd¹ do czynno±ci 2. Czynno± 2: oblicz reszt z dzielenia m przez n, oznacz j przez r i przejd¹ do czynno±ci 1, ale z innymi liczbami: n teraz równym r i m równym poprzedniej warto±ci n. Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 13 / 16

Jak budowa algorytmy Wyznaczenie osi galnego i jednoznacznego celu. Podanie sposobu rozwi zania. Która z 3 liczb a, b i c jest najwi ksza? 1 We¹ liczby a i b. 2 a > b? Tak pkt. 3. Nie pkt. 4. 3 We¹ liczby a i c. a > c? Tak pkt. 5. Nie pkt. 7. 4 We¹ liczby b i c. b > c? Tak pkt. 6. Nie pkt. 7. 5 Najwi ksz liczb jest a. 6 Najwi ksz liczb jest b. 7 Najwi ksz liczb jest c. 1 a > b i a > c? Tak a najwi ksze. Nie pkt. 2. 2 b > c? Tak b najwi ksze. Nie c najwi ksze. Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 14 / 16

Jak zapisywa algorytmy Pierwiastki równania kwadratowego: 1 Czy a = 0? TAK pkt. 2. NIE pkt. 3. 2 Czy b = 0? TAK pkt. 2a. NIE pkt. 2b (a) Czy c = 0? TAK speªnione dla ka»dego x. STOP. NIE Niespeªnione dla»adnego x. STOP. (b) Oblicz x = c/b. STOP 3 Oblicz = b 2 4ac 4 Czy > 0? TAK pkt 4a. NIE pkt. 4b. (a) (b) Oblicz x 1 = ( b )/2a, x 2 = ( b + )/2a. STOP. Czy = 0? TAK Oblicz x = b/2a. STOP. NIE Równanie niespeªnione dla»adnego x. STOP. Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 15 / 16

Start Dane a,b,c TAK TAK TAK a=0 b=0 c=0 NIE NIE NIE Δ=b 2-4ac x=-c/b NIE NIE Δ>0 Δ=0 TAK TAK x 1 =(-b- Δ)/2a x=-b/2a Niespełnione dla żadnego x. Spełnione dla dowolnego x. x 2 =(-b+ Δ)/2a Stop Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 16 / 16