proponowany program wyk adu monograficznego
Download
Skip this Video
Download Presentation
Proponowany program wykładu monograficznego

Loading in 2 Seconds...

play fullscreen
1 / 27

Proponowany program wykładu monograficznego - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

Proponowany program wykładu monograficznego. Elementy programowania w językach skryptów w systemie UNIX. Posługiwanie się językiem awk i edytorem strumieniowym sed Praca na klastrach i superkomputerach w centrach obliczeniowych; systemy kolejkowania. Obliczenia równoległe.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Proponowany program wykładu monograficznego' - mandell


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
proponowany program wyk adu monograficznego
Proponowany program wykładu monograficznego
  • Elementy programowania w językach skryptów w systemie UNIX.
  • Posługiwanie się językiem awk i edytorem strumieniowym sed
  • Praca na klastrach i superkomputerach w centrach obliczeniowych; systemy kolejkowania.
  • Obliczenia równoległe.
  • Baza danych PDB i inne bazy danych cząsteczek.
  • Wizualizacja cząsteczek i wielkości z nimi związanych.
  • Programy obliczeniowe używane w chemii kwantowej oraz obliczeniach dynamiki dużych układów molekularnych.
slide2

Języki skryptów

Powłoka - Interpreter poleceń wydawanych przez użytkownika.

Powłoki w systemie UNIX:

slide3

Jakie powłoki są dostępne w systemie:

etoh:~> ls -l /bin/*sh*

lrwxrwxrwx 1 root root 4 Oct 6 2005 /bin/ash -> dash

-rwxr-xr-x 1 root root 625228 Dec 19 2004 /bin/bash

lrwxrwxrwx 1 root root 21 Oct 6 2005 /bin/csh -> /etc/alternatives/csh

-rwxr-xr-x 1 root root 83960 May 11 2005 /bin/dash

lrwxrwxrwx 1 root root 4 Oct 6 2005 /bin/rbash -> bash

lrwxrwxrwx 1 root root 4 Oct 6 2005 /bin/sh -> bash

-rwxr-xr-x 1 root root 302476 May 19 2004 /bin/tcsh

Sprawdzanie powłoki

etoh:~> env | grep SHELL

SHELL=/bin/tcsh

slide5

Skrypt: zbiór poleceń w języku powłoki zapisanych w pliku i wykonywanych zgodnie z sekwencją zapisu

Składnia (ogólnie):

#!powłoka opcje

polecenie1

#komentarz

polecenien

Przykład (csh)

#!/bin/csh -f

echo “Prosty skrypt”

echo –n “dzisiaj jest ”

date

#Podawanie aktualnego katalogu

echo “Jestesmy w katalogu ”$cwd

echo “Mamy tu nastepujace pliki”

#Listowanie plikow

ls -l

slide6

Parametry (argumenty) skryptu

Skrypt można wywoływać jak każde polecenie unixowe, np:

./skrypt.sh ala ma kota

Każdy parametr stojący za nazwą skryptu jest argumentem, który jest widziany we wnętrzu skryptu. Wewnątrz skryptu odwołujemy się do argumentów poprzez $1, $2, …, itd.

Argument zerowy ($0) jest nazwą skryptu

Liczba argumentów jest zakodowana w zmiennej $#argv

slide7

Podstawienie efektu wykonania polecenia pod zmienną

setzmienna = `polecenie`

np. set a = `echo Ala ma kota`

Arytmetyka

exprwyrażenie1 operator wyrażenie2

np.

expr 2 + 3

Podstawienie: jak przy podstawieniu efektu wykonania polecenia

set zmienna = `exprwyrażenie1 operator wyrażenie2`

np.

set x = `expr 2 ‘*’ 3`

slide8

Operatory w poleceniu expr

+ dodawanie

- odejmowanie

‘*’ albo \* mnożenie

‘/’ albo \/ dzielenie całkowite

% reszta z dzielenia

Uwaga! Polecenie expr umożliwia tylko arytmetykę całkowitą. Do arytmetyki rzeczywistej należy użyć języka awk albo kalkulatora bc wywoływanego z opcją –l.

slide9

Do grupowania poszczególnych części wyrażenia w poleceniuexpr służą nawiasy – tak jak w zwykłej arytmetyce. Nawias należy poprzedzić odwróconym ukośnikiem (backslashem)

Przykłady:

expr \( $a + $b \) \* $c

(wymuszanie dodawania przed mnożeniem)

set i = `expr $i - \( $i / 2 \) \* 2 `

(zmienna i będzie miała po tej operacji wartość równą reszcie z dzielenia całkowitego i przez 2)

slide10

Instrukcje, które są bardzo użyteczne w skryptach (można je wykonywać również “z ręki”)

slide12

Wyrażenia warunkowe:

Wyrażenia proste:

0 – fałsz; 1 – prawda.

Wyrażenia warunkowe dotyczące plików

-d plik : plik jest katalogiem -e plik : plik istnieje

-f plik : zwykły plik -g plik : plik należy do okr. grupy

-r plik : plik daje się czytać -s plik : plik zawiera jakieś dane

-w plik : plik jest dostęny do zapisu -z plik : plik jest pusty

-x plik jest wykonywalny

-L plik : plik jest linkiem (dowiązaniem) symbolicznym

slide13

Porównywanie (w przypadku csh wyrażeń numerycznych i tekstowych w przypadku sh tylko numerycznych)

slide14

Porównywanie tekstów w sh: polecenie test

test W1=W2 teksty są równe

test W1!=W2 teksty są różne

test –z W tekst ma długość zerową lub jest niezdefiniowany

test –n W tekst ma długość niezerową

slide17

Przykład skryptu csh z instrukcją case

Przykład skryptu bash z instrukcją case

slide20

Język awk

awk ‘{polecenia}END{polecenia}’ plik_albo_dane_z_STDIN

awk –f plik_z_poleceniami plik_albo_dane_z_STDIN

Polecenia przed słowem END dotyczą przetwarzania strumienia wejściowego linia po linii a polecenia po słowie END są wykonywane po wyczerpaniu strumienia wejściowego.

Przykład polecenia “z ręki” (sumowanie liczb kolejno wprowadzanych z klawiatury).

awk ‘{sum=sum+$1}END{print sum}’

slide21

Edytor strumieniowy sed

sed [opcje] –e ‘polecenia’ plik(i)

sed [opcje] –f plik_z_poleceniami plik(i)

slide22

Przykład zawartości pliku z poleceniami (różniczkowanie numeryczne funkcji):

{

x[NR]=$1

f[NR]=$2

}END{

n=NR

for (i=1;i<n;i++) p[i]=(f[i+1]-f[i])/(x[i+1]-x[i])

for (i=1;i<n-1;i++) b[i]=(p[i+1]-p[i])/(x[i+1]-x[i])

for (i=1;i<n-1;i++) print x[i],f[i],p[i],b[i]

}

slide23

Podstawowe pojęcia języka awk:

Pole: kolejny element linii strumienia danych. Pola są oddzielone odstępami jak w zwykłym tekście chyba, że zaspecyfikowano inny separator opcją –F. Pola są identyfikowane przez $1, $2,.... Symbol $0 oznacza całą linię.

NF: liczba pól w bieżącej linii strumienia danych

NR: liczba linii strumieni danych przeczytana dotychczas.

Zmienna: cokolwiek co się pojawia i zaczyna od litery oprócz słów kluczowych.

Słowo kluczowe: służy do konstrukcji poleceń awk

Składnia poleceń języka awk bardzo przypomina składnię języka C.

slide24

Instrukcje:

Podstawienie:

a=wyrażenie

Instrukcja warunkowa:

if (warunek1) {blok_instrukcji} else if (warunek2) {blok instrukcji} ... else {blok instrukcji}

Instrukcja pętli określonej:

for (zmienna=start;warunek zakończenia; zmienna++) {blok_instrukcji}

Instrukcja pętli z warunkiem:

while (warunek) {blok instrukcji}

slide25

Funkcje arytmetyczne w awk:

cos(x)exp(x)

int(x) część całkowita

log(x) logarytm naturalny

sin(x)

sqrt(x)

atan2(y,x) arctan(y/x)

rand() liczba losowa z przedziału <0,1)

srand(x) ustawianie ziarna liczby generatora liczb losowych

slide26

Funkcje łańcuchowe w awk:

gsub(r,s,t) zamienia wszystkie podlańcuchy odpowiadające wyrażeniu regularnemu r łańcucha t na wyrażenie s.index(s,t) podaje położenie podłańcucha t w łańcuchu s.

length(s) długość łańcucha s

match(s,r) podaje położenie wyrażenia regularnego r w łańcuhu s.

split(s,a,sep) dzieli łańcuch s na elementy przechowywane w tablicy a używając separatora sep.

sprintf(‘fmt’,expr) drukuje expr do łańcucha używając printf

sub(r,s,t) zamienia pierwszy podlańcuch odpowiadający wyrażeniu regularnemu r łańcucha t na wyrażenie s.

substr(s,p,n) wycina z łańcucha s podłańcuch o maksymalnej długości p, poczynając od pozycji n.

tolower(s) zmienia duże litery na małe

toupper(s) zmienia małe litery na duże

slide27

Literatura:

  • Unix i skrypty:
  • J.C.Armstrong, D. Taylor „Unix dla każdego”, Helion, Gliwice 2000
  • A.Southerton, E.C. Perkins, Jr. „Słownik poleceń systemu Unix i X”, WNT, Warszawa 1995
  • sed i awk:
  • 1. D. Dougerty, A. Robbins „sed i awk”, O’Reilly & Associates, 1997
ad