Przegląd języków programowania
|
|
- Seweryna Pawlak
- 5 lat temu
- Przeglądów:
Transkrypt
1 Przegląd języków programowania Dariusz Chrobak czerwca 017
2 Spis treści 1 Linux 1.1 Instalacja na nośniku pamięci USB Knoppix LinuxMint/Ubuntu Przydatne programy i polecenia powłoki systemowej Skrypty powłoki bash Zadania Język Tcl 16.1 Podstawowe polecenia Wejście wyjście programu Przykładowy program mnożenie macierzy Zadania Język C Struktura programu
3 Rozdział 1 Linux 1.1 Instalacja na nośniku pamięci USB Celem jest instalacja systemu operacyjnego Linux na nośniku pamięci USB (pendrive), tak by było możliwe trwałe zapisywanie zmian dokonywanych przez użytkownika. Zostaną przedstawione dwie możliwości związane z dystrybucjami: Knoppix, LinuxMint Knoppix Ze strony pobieramy obraz ISO aktualnej wersji systemu operacyjnego, który następnie nagrywamy na płytę DVD. Restartujemy komputer ładując Knoppix a z płyty DVD. Na pulpicie widać ikonę programu flash-knoppix tworzącego obraz systemu Knoppix w pamięci USB wraz z dodatkową partycją (tzw. overlay) przeznaczoną do trwałego przechowywania danych użytkownika. Należy uruchomić ten program i postępować zgodnie ze wskazówkami pojawiającymi się w kolejnych okienkach LinuxMint/Ubuntu Inny sprawdzony sposób utworzenia bootowalnej pamięci USB z partycją umożliwiającą przechowywanie danych użytkownika wykorzystuje dystrybucję LinuxMint (linuxmint.com) lub Ubuntu ( oraz program mkusb. Pobieramy obraz ISO np. LinuxMint-Xfce i nagrywamy na płytę DVD. Xfce to lekkie środowisko graficzne (desktop environment) dla systemów uniksowych. Uruchamiamy system operacyjny z płyty DVD i aby zainstalować program mkusb musimy najpierw dodać nowe repozytorium. Otwieramy terminal i wykonujemy poniższe polecenia: > sudo add - apt - repository universe > sudo add -apt - repository ppa : mkusb / ppa > sudo apt - get update Teraz instalujemy program mkusb (poniżej trzy powiązane ze sobą programy): > sudo apt - get install mkusb mkusb - nox usb - pack - efi i uruchamiamy go poleceniem: > mkusb
4 ROZDZIAŁ 1. LINUX 3 Następnie wybieramy opcję d (tryb graficzny) i postępujemy zgodnie ze wskazówkami pojawiającymi się w kolejnych okienkach. Przydatne linki: help.ubuntu.com/community/mkusb calvin.me/create-persistent-ubuntu live-usb-even-boots-ram 1. Przydatne programy i polecenia powłoki systemowej Powłoka systemowa (shell) jest programem pośredniczącym między użytkownikiem i systemem operacyjnym. Powłoka przyjmuje polecenia użytkownika i wyprowadza wynik ich działania. W większości systemów linuksowych otwarcie terminala uruchamia tekstową powłokę systemową bash (Bourne-Again Shell). Polecenia systemu operacyjnego lub inne programy uruchamiamy wpisując ich nazwy w wierszu poleceń, rozpoczynającego się od znaku $: użytkownik@ komputer ~/ Desktop $ 1. Pliki i katalogi: pwd Podaje ścieżkę do bieżącego katalogu. ls ls -l ls -la Wyświetla zawartość bieżącego katalogu. cd katalog cd.. cd ~ cd / Zmienia katalog (katalog=/scieżka/dostępu/do/katalogu). mkdir katalog Tworzy katalog. touch plik Zmienia datę dostępu do pliku lub datę jego ostatniej modyfikacji; tworzy plik kiedy ten nie istnieje. rm plik rm -r katalog rmdir katalog Usuwa pliki i katalogi.
5 ROZDZIAŁ 1. LINUX 4 cp plik1 plik cp plik katalog Kopiuje pliki i katalogi. mv plik1 plik mv plik katalog Przenoszenie lub zmiana nazwy plików i katalogów. cat plik Wyświetla zawartość pliku. less plik Wyświetla zawartość pliku. Umożliwia np. wyszukiwanie znaków. grep wzorzec plik Znajduje wiersze pliku pasujące do wzorca. nano plik Uruchamia prosty, tekstowy edytor plików.. Użytkownicy: whoami Podaje nazwę użytkownika. adduser użytkownik [ grupa ] Dodaje nowego użytkownika. Nawias kwadratowy oznacza argument opcjonalny. addgroup grupa Tworzy nową grupę. passwd [ użytkownik ] Zmiana hasła. users Wyświetla użytkowników systemu. 3. Prawa dostępu: chmod OGA plik Modyfikuje prawa do pliku. Pola O,G i A przyjmują wartości będące sumą liczb (r+w+x) odpowiadających prawom: do odczytu (r=4), do zapisu (w=) i do uruchomienia (x=1). Pole O dotyczy praw właściciela pliku, pole G dotyczy praw grupy użytkowników, do których należy właściciel pliku, a pole A dotyczy wszystkich użytkowników systemu.
6 ROZDZIAŁ 1. LINUX 5 chown właściciel [: grupa ] plik chown -R właściciel [: grupa ] katalog Zmienia właściciela i/lub grupę pliku. chgrp grupa plik chgrp -R grupa ścieżka 4. Procesy: Zmienia właściciela i/lub grupę pliku. ps ps -e Pokazuje procesy uruchomione przez użytkownika lub wszystkie procesy (-e). kill PID Zabija proces o identyfikatorze PID. polecenie & 5. Pomoc: Uruchamia polecenie w tle. man program Wyświetla o ile istnieje plik pomocy podręcznej dla programu. 6. Przekierowania i potoki poleceń: Standardowa komunikacja uruchomionego programu z otoczeniem odbywa się poprzez kanały: wejściowy (0), wyjściowy (1) i błędów (). Możliwe jest przekierowanie standardowego kanału do pliku: polecenie < plik Standardowe wejście to plik. polecenie > plik Przekierowanie standardowego kanału wyjścia do pliku. Zawartość pliku jest przedtem kasowana. polecenie >> plik Przekierowanie standardowego kanału wyjścia do pliku. końcu pliku. Dane są dopisywane na polecenie1 polecenie Kanał wyjściowy programu można łączyć z kanałem wejściowym innego programu.
7 ROZDZIAŁ 1. LINUX Skrypty powłoki bash Instrukcje programowania powłoki bash można umieścić w pliku (skrypcie) i po ustawieniu odpowiednich uprawnień, skrypt można uruchomić tak jak każdy inny program. W pierwszym wierszu skryptu umieszczamy odwołanie do programu, który będzie interpretował (wykonywał) instrukcje umieszczone w kolejnych wierszach: 3 # To jest komentarz 4 5 # Polecenie echo wyprowadza łańcuch znaków na standardowe wyjscie. 6 echo Pierwszy skrypt 7 echo " Pierwszy skrypt " 8 echo Pierwszy skrypt Zmienną powłoki bash definiujemy w następujący sposób: 3 a= 4 5 b =" Wartość zmiennej a: $a" 6 echo $b 7 8 b= Wartość zmiennej a: $a 9 echo $b echo " Ala ma kota " > plik. txt 1 c=$( cat plik. txt ) 13 echo $c Argumenty wywołania skryptu:./ skrypt [ arg1 [ arg [... argn ]]] można w nim wykorzystać, ponieważ są one wartościami predefiniowanych stałych: $0 : nazwa skryptu $1 - $9 : pierwsze 9 argumentów $# : liczba argumentów $@ : wszystkie argumenty $? : status wyjścia ostatnio wykonanego skryptu $$ : identyfikator bieżącego procesu $USER : nazwa użytkownika, który wywołał skrypt $HOSTNAME : nazwa komputera, na którym uruchomiono skrypt $SECONDS : liczba sekund od chwili wywołania skryptu $RANDOM : zwraca liczbę losową z zakresu $LINENO : zwraca bieżący wiersz skryptu
8 ROZDZIAŁ 1. LINUX 7 Zakres zmiennej: 3 z1 =1 4 export z = 5 6 echo $z1 7 echo $z 8 9 # Uruchomienie procesu pochodnego, terminala. 10 xterm 11 1 # W nowo otwartym oknie wykonaj polecenia : 13 # echo $z1 14 # echo $z Wejście użytkownika: 3 echo " Podaj nazwę :" 4 read x 5 echo " Twoja nazwa to: $x" inny sposób: 3 read -p " Podaj nazwę użytkownika :" x 4 read - sp " Podaj hasło :" y 5 6 echo 7 echo " Twoja nazwa to: $x" 8 echo " Twoja nazwa to: $y" jeszcze inny sposób: 3 # plik dane. txt : 4 # Ryszard Skórka # Jan Kowalski # Tomasz Adamski cat / dev / stdin sort -k 3,4 Wyrażenia arytmetyczne: instrukcja let:
9 ROZDZIAŁ 1. LINUX 8 let a =5+4 ; echo $a let " a = 5 + 4" ; echo $a let a ++ ; echo $a let " a = 4 * 5" ; echo $a z=3 let " a = $z + 30" ; echo $a instrukcja expr: expr expr "5 + 4" expr 5+4 expr 5 \* $1 expr 11 % a=$( expr 10-3 ) ; echo $a instrukcja $((...)): a=$(( )) ; echo $a a=$ ((3+5)) ; echo $a b=$(( a + 3 )) ; echo $b b=$(( $a + 4 )) ; echo $b b=$[ a + 3 ] ; echo $b b=$[ $a + 4 ] ; echo $b (( b++ )) ; echo $b (( b += 3 )) ; echo $b a=$(( 4 * 5 )) ; echo $a długość zmiennej: a= Hello World ; echo ${# a} b =4953 ; echo ${#b} liczby zmiennopozycyjne i kalkulator bc:
10 ROZDZIAŁ 1. LINUX 9 echo " scale =6; /3" bc -l Testy: W praktyce często stosuje się polecenie testujące: test wyrażenie lub [ wyrażenie ], które zwraca wartość logiczną: prawda (0) lub fałsz (1). Wyrażenie wyrażenie buduje się w oparciu o zasady przedstawione w pomocy podręcznej: man test. mkdir touch praca a. txt test -f a. txt ; echo $? # Czy a. txt jest plikiem regularnym? Wynik : 0 test -e a. txt ; echo $? # Czy a. txt istnieje? Wynik : 0 test -d a. txt ; echo $? # Czy a. txt jest katalogiem? Wynik : 1 test -f praca ; echo $? # Wynik : 1 test -e praca ; echo $? # Wynik : 0 test -d praca ; echo $? # Wynik : 0 [ -d praca ] ; echo $? # Wynik : 0 Instrukcja for: for zmienna in wartości ; do... done Przykład: 3 for a in ala ma kota ; do 4 echo " Drukuję plik : $a" 5 done 6 7 for a in $( ls ) ; do 8 echo " Drukuję plik : $a" 9 done Instrukcja while: while warunek ; do... done Przykład:
11 ROZDZIAŁ 1. LINUX 10 3 a=0 4 while [ $a - le 0 ] ; do 5 a=$(( a +=1 )) 6 echo " a = $a" 7 done 3 read -p " Podaj hasło : " -s haslo 4 echo 5 6 while [ " $haslo "!= " sekret " ] ; do 7 read -p " Niepoprawne hasło. Podaj hasło : " -s haslo 8 echo 9 done echo " Twoje hasło : sekret " Instrukcja until: until warunek ; do... done Przykład: 3 a=0 4 until [ $a - gt 0 ] ; do 5 a=$(( a +=1 )) 6 echo " a = $a" 7 done 3 read -p " Podaj hasło : " -s haslo 4 echo 5 6 until [ " $haslo " = " sekret " ] ; do 7 read -p " Niepoprawne hasło. Podaj hasło : " -s haslo 8 echo 9 done echo " Twoje hasło : sekret " Wykonywanie pętli przerywa instrukcja break. Aby przejść do następnej iteracji należy wydać polecenie continue.
12 ROZDZIAŁ 1. LINUX 11 Pętle w stylu języka C: for (( n=1 ; n <=10 ; n++ )) ; do... done ((n =1)) while ((n <=10)) ; do... ((n ++)) done ((n =1)) until ((n >10)) ; do... ((n=n +1)) done Instrukcje warunkowa if: if warunek ; then... elif warunek ; then... else... fi Przykład: 3 a=$1 4 if [ "$a" = 1 ] ; then 5 echo " Wprowadzono : 1" 6 elif [ "$a" = ] ; then 7 echo " Wprowadzono : " 8 else 9 echo " Nie wprowadzono liczb : 1, " 10 fi Instrukcje warunkowa case: case slowo in wzorzec1 )... instrukcje... ;; wzorzec )... instrukcje... ;;... *)... instrukcje... esac
13 ROZDZIAŁ 1. LINUX 1 Jeżeli slowo pasuje do któregoś ze wzorców, to wtedy wykonywane są odpowiednie instrukcje. Jeżeli slowo nie pasuje do któregoś ze wzorców, to wtedy wykonywane są instrukcje należące do przypadku *). Wzorzec może być listą wzorców oddzielonych znakiem. Wzorce tworzone są według następujących reguł: * - pasuje do dowolnego ciągu znaków? - pasuje do dowolnego pojedynczego znaku [...] - pasuje do jednego z podanych (...) znaków?( lista_ wzorców ) - pasuje do zera lub jednego wystapienia wzorca *( lista_ wzorców ) - pasuje do zera lub więcej wystapień wzorca +( lista_ wzorców ) - pasuje do jednego lub więcej wystapień lista_ wzorców ) - pasuje do jednego wystapienia wzorca!( lista_ wzorców ) - pasuje do wszystkiego chyba, że wystąpi wzorzec lista_ wzorców - zawiera wzorce oddzielone znakiem Przykład: 3 echo -n " Podaj liczbe [1,1]: " 4 read liczba 5 6 case " $liczba " in 7 "1") echo " Styczen " ;; 8 "") echo " Luty " ;; 9 "3") echo " Marzec " ;; 10 "4") echo " Kwiecien " ;; 11 "5") echo " Maj " ;; 1 "6") echo " Czerwiec " ;; 13 "7") echo " Lipiec " ;; 14 "8") echo " Sierpien " ;; 15 "9") echo " Wrzesien " ;; 16 "10") echo " Pazdziernik " ;; 17 "11") echo " Listopad " ;; 18 "1") echo " Grudzien " ;; 19 *) echo " Liczba poza zakresem." 0 esac Tablice: Tablice to zmienne, które przechowują różne wartości pod tą samą nazwą. konkretnej wartości wymaga użycia indeksu. # deklaracja tablicy 5 elementowej tablica =(1 3 9 " ala ma" kota ) Odwołanie do for i in $( seq 0 4 ) ; do echo ${ tablica [i]} done Ciekawe polecenie to: seq [start] [krok] stop, pozwalające generować sekwencje liczb całkowitych od start do stop co krok. Inny sposób deklaracji tablicy:
14 ROZDZIAŁ 1. LINUX 13 tablica [0]=1 tablica [1]=3 tablica []=9 tablica [3]=" ala tablica [4]= kota ma" for i in $( seq 0 4 ) ; do echo ${ tablica [i]} done Dostęp do wszystkich elementów tablicy: echo ${ tablica [*]} echo ${ tablica [@]} Liczba elementów tablicy: echo ${# tablica [*]} echo ${# tablica [@]} Proste menu i instrukcja select: 3 # Wybieramy 1,, 3 lub PS3 =" Wybierz opcję : " # Przetestuj skrypt bez tego wiersza 6 select opt in X Y Z Koniec ; do 7 if [ " $opt " = "X" ] ; then 8 echo " Wybrano $opt ( $REPLY )" 9 elif [ " $opt " = "Y" ] ; then 10 echo " Wybrano $opt ( $REPLY )" 11 elif [ " $opt " = "Z" ] ; then 1 echo " Wybrano $opt ( $REPLY )" 13 elif [ " $opt " = " Koniec " ] ; then 14 break 15 else 16 echo " Wybierz : 1,..., 4" 17 fi 18 done Funkcje: Funkcje to fragmenty kodu, do których odwołujemy się poprzez nazwę funkcji. # Deklaracja funkcji function nazwa_ funkcji {... instrukcje... }
15 ROZDZIAŁ 1. LINUX 14 nazwa_ funkcji () {... instrukcje... } # Wywołanie funkcji nazwa_ funkcji arg1 arg... Do funkcji można przekazać wartości argumentów: arg1, arg,..., uzyskując do nich dostęp tak jak w przypadku argumentów wywołania skryptu: $1, $,... #!/ bin / bash iloczyn () { a=$1 b=$ echo $(( a*b )) } wynik =$( iloczyn 5 ) echo $wynik W powyższym skrypcie zademonstrowano sposób jak funkcja może zwrócić wyliczoną wartość i jak przypisać ją innej zmiennej. Aby przerwać wykonywanie funkcji należy użyć instrukcji return kod_wyjścia, gdzie kod_wyjścia może być wartością zwracaną przez funkcję, jednak ma to sens o ile spodziewamy się, że 0<=kod_wyjścia<=55. Zmienne występujące wewnątrz funkcji mogą być lokalne, o ile ich deklaracja zostanie poprzedzona słowem local. Odczyt pliku: #!/ bin / bash echo " Podaj nazwe pliku do wyswietlenia :" read plik if [! -r $plik ]; then echo " Nie moge czytac z pliku : $plik " exit 1 fi cat $plik while read linia do echo $linia done Inny sposób: #!/ bin / bash
16 ROZDZIAŁ 1. LINUX 15 echo " Podaj nazwe pliku do wyswietlenia :" read plik if [! -r $plik ]; then echo " Nie moge czytac z pliku : $plik " exit 1 fi while read linia do echo $linia done < $plik 1.4 Zadania 1. Napisz skrypt, który oblicza wartość N! i następnie wyświetla odpowiedni komunikat, np. 4! = 4.. Napisz skrypt, który usuwa wszystkie pliki w zadanym katalogu (parametr wywołania skryptu), poza plikami wykonywalnymi. 3. Napisz skrypt pobierający trzy argumenty. Pierwsze dwa powinny być nazwami istniejących plików tekstowych (polecenie file). Trzeci argument powinien być nazwą nieistniejącego pliku. Jeżeli te warunki są spełnione, to zawartość dwóch pierwszych plików powinna być zapisana w trzecim pliku, który należy wcześniej utworzyć. 4. Napisz skrypt, który zapyta o ścieżkę do katalogu, a następnie zarchiwizuje (polecenie tar) jego zawartość do pliku o nazwie podanej przez użytkownika. 5. Napisz skrypt, który zapyta użytkownika o ścieżkę do katalogu, a następnie obliczy (polecenie wc) ilość wierszy i ilość znaków w każdym z plików tekstowych znajdujących się w wybranym katalogu.
17 Rozdział Język Tcl Więcej wiadomości o języku Tcl można znaleźć na stronie: Podstawowe polecenia Język Tcl (Tool Command Language) jest językiem interpretowanym. Interpreter języka Tcl to program tclsh. Plik źródłowy (skrypt) prostego programu może mieć postać: 3 puts " Pierwszy program " 4 puts " Pierwszy "; puts " program " 5 6 # komentarz 7 8 puts " Pierwszy \ 9 program " Komentarze rozpoczynamy znakiem #. Polecenia oddzielamy znakiem nowego wiersza lub średnikiem. Polecenie można kontynuować w następnym wierszu, o ile pierwsza część polecenia zostanie zakończona znakiem \. Zmienne proste: Zmienną definiujemy korzystając z polecenia set określając nazwę zmiennej i przypisując jej pewną wartość. Polecenie set zwraca wartość zmiennej. Nie jest konieczne deklarowanie typu zmiennej. 3 set x 10 4 set lan " Wartość x =" 5 6 puts $x 7 puts " Wartość x= $x" 8 puts " $lan$x " 9 puts { Wartość x= $x} 16
18 ROZDZIAŁ. JĘZYK TCL 17 Do wartości zmiennej odwołujemy się poprzedzając jej nazwę znakiem $. Łańcuch znaków może by zawarty wewnątrz nawiasów klamrowych {...} lub przy użyciu cudzysłowu.... Różnicę w stosowaniu wymienionych form prezentuje powyższy przykład. Umieszczenie odwołania do wartości zmiennej wewnątrz... spowoduje podstawienie aktualnej wartości zmiennej, natomiast umieszczenie odwołania do wartości zmiennej wewnątrz {...} nie spowoduje podstawienia wartości zmiennej. Mówimy o cytowaniu łańcucha znaków z podstawieniem lub dosłownie. Nawiasy kwadratowe [...] służą do cytowania poleceń, np: 3 puts [ set x 10] Zmienne tablicowe: Definicję zmiennej tablicowej i sposób odwoływania się do niej wyjaśni przykład: 3 set x (0) 10 4 set x (1) 11 5 set x () 1 6 set x (3) set i puts $x () 11 puts $x($i) Listy: Lista zawiera elementy oddzielone spacjami i ujęte w nawiasy klamrowe lub cudzysłów: 3 set lista { a b cd 11.0 {1 3}} 4 puts $lista Szereg operacji na listach można wykonać stosując następujące polecenia: 3 # polecenie list tworzy listę 4 set lista [ list a b cd 11.0 {1 3}]; puts $lista 5 6 # ilość elementów w liście 7 puts [ llenght $lista ] 8 9 # pobranie elementu listy 10 puts [ lindex $lista 0] 11 puts [ lindex $lista end -]
19 ROZDZIAŁ. JĘZYK TCL 18 1 puts [ lindex $lista end ] # sortowanie elementów listy 15 puts [ lsort - increasing $lista ] 16 puts [ lsort - decreasing $lista ] # dodawanie elementu na koniec listy 19 puts [ lappend lista { ala ma kota }] 0 1 # zamiana elementu listy puts [ lset lista 1 { ala ma kota }] 3 4 # inne plecenia : linsert, lsearch, lrange, lreplace Łańcuchy znaków: Łańcuch znaków to ciąg znaków ujęty w nawiasy klamrowe lub cudzysłów. Operacje na łańcuchach znaków wykonujemy przy pomocy polecenia string. 3 set str " Ala ma kota, kot ma robota." 4 5 puts [ string length $str ] 6 puts [ string reverse $str ] 7 puts [ string toupper $str ] 8 puts [ string tolower $str ] 9 puts [ string index $str ] 10 puts [ string first a $str ] 11 puts [ string first x $str ] 1 puts [ string range $str 1 10] #... Wyrażenia matematyczne: Operatory dodawania, odejmowania, mnożenia i dzielenia (+, -, *, /) są takie jak zwykle. Potęgowanie wykonuje się przy pomocy funkcji pow(3,), co odpowiada działaniu 3 = 9. Aby obliczyć wartość wyrażenia matematycznego należy użyć polecenia expr. 3 set x [ expr *]; puts $x 4 set x [ expr /3]; puts $x 5 set x [ expr.0/3]; puts $x 6 set x [ expr./3]; puts $x 7 set x [ expr /3.0]; puts $x 8 set x [ expr /3,]; puts $x 9 set x [ expr * pow (,3)]; puts $x
20 ROZDZIAŁ. JĘZYK TCL 19 Dokumentacja języka Tcl zawiera informacje o innych funkcjach matematycznych (trygonometryczne, logarytmiczne, wykładnicze,...) i sposobie ich użycia. Wyrażenia logiczne: Wyrażenia zawierające operatory porównania (<, >, <=, >=, ==) generują jedną z dwóch wartości: true i false. Prawdzie logicznej odpowiadają liczby różne od zera. Zero odpowiada fałszowi. 3 puts [ expr 1 >] 4 puts [ expr 1 <] Operatory logiczne and i or są reprezentowane przez: && i. Znakiem negacji logicznej jest!. Wyrażenia logiczne można umieszczać w nawiasach okrągłych (...). Instrukcja warunkowa if: Znaczenie instrukcji warunkowej jest takie jak w innych językach programowania. Poniżej znajdują się przykłady jej użycia: 3 if { true } { puts Alamakota } 4 if { false } { puts Alamakota } 5 6 set x 17 7 set y 15 8 if {$x > $y} { 9 puts " X jest większe od Y" 10 } elseif { $x == $y} { 11 puts " X jest równe Y" 1 } else { 13 puts " X nie jest większe od Y" 14 } Klauzul elseif może być więcej niż jedna. Pętla for: Poniższy program definiuje dwa wektory (tablice) i oblicza ich iloczyn skalarny: 3 set MAX 10 4 for { set i 0} {$i < $MAX } { incr i} { 5 set a($i) [ expr $i] 6 set b($i) [ expr $i *] 7 } 8 9 for { set i 0} {$i < $MAX } { incr i} { 10 set c($i) [ expr $a($i )* $b($i )]
21 ROZDZIAŁ. JĘZYK TCL 0 11 } 1 13 set sum 0 14 for { set i 0} {$i < $MAX } { incr i} { 15 set sum [ expr $sum +$c($i )] 16 } puts $sum Pętla while: Podobnie jak wyżej: 3 set MAX 10 4 set i 0 5 while {$i < $MAX } { 6 set a($i) [ expr $i] 7 set b($i) [ expr $i *] 8 incr i 9 } set i 0 1 while { $i < $MAX } { 13 set c($i) [ expr $a($i )* $b($i )] 14 incr i 15 } set sum 0 18 set i 0 19 while { $i < $MAX } { 0 set sum [ expr $sum +$c($i )] 1 incr i } 3 4 puts $sum Procedury: Procedurę definiuje polecenie proc. Do procedury można przekazać wartości jej argumentów. procedura może zwrócić wartość za pośrednictwem polecenia return. 3 proc suma { var } { 4 return [ expr $var +0] 5 } 6 7 set a 8 puts [ suma $a] 9 puts $a
22 ROZDZIAŁ. JĘZYK TCL 1 Jak widać wykonanie procedury suma nie powoduje zmiany wartości zmiennej a, ponieważ każda zmienna pojawiająca się w skrypcie Tcl ma określony zakres związany z poziomem wywołania procedury. Aby procedura mogła uzyskać dostęp do zmiennej zdefiniowanej na jednym z wyższych poziomów oraz aby mogła zmodyfikować jej wartość należy użyć polecenia upvar. 3 proc suma {a} { 4 upvar $a aa 5 set aa [ expr $aa +0] 6 } 7 8 set a 9 suma a 10 puts $a 3 proc iloczyn { a b} { 4 upvar $a aa 5 upvar $b bb 6 7 set sum 0 8 for { set i 0} {$i < 10} { incr i} { 9 set sum [ expr $sum + $aa ($i )* $bb ($i )] 10 } 11 return $sum 1 } for { set i 0} {$i < 10} { incr i} { 15 set a($i) [ expr $i] 16 } for { set i 0} {$i < 10} { incr i} { 19 set b($i) [ expr $i *] 0 } 1 puts [ iloczyn a b]. Wejście wyjście programu Program Tcl można uruchomić przekazując do niego listę wartości: 3 # oczekujemy dwóch wartości 4 if { $argc!= } { puts " Niepoprawna ilość argumentów."; exit }
23 ROZDZIAŁ. JĘZYK TCL 5 6 # wartości przekazane do skryptu przypisujemy zmiennym x i y 7 set x [ lindex $argv 0] 8 set y [ lindex $argv 1] 9 10 puts " Argumenty wywołania programu :" 11 puts $x 1 puts $y Rozmowa ze skryptem jest możliwa w trakcie jego wykonywania: 3 puts " Podaj liczbę :" 4 gets stdin liczba 5 6 puts stdout " Wprowadzono liczbę : $liczba " Polecenie gets pobiera dane ze standardowego wejścia stdin, a polecenie puts wyprowadza wartość zmiennej x na standardowe wyjście stdout. Identyfikator stdout można pominąć..3 Przykładowy program mnożenie macierzy 3 puts " ====================================================" 4 puts " Macierz A:" puts " Podaj liczbe wierszy :"; gets stdin wa 5 puts " Podaj liczbe kolumn :"; gets stdin ka 6 puts "" 7 puts " Macierz B:" 8 puts " Podaj liczbe wierszy :"; gets stdin wb 9 puts " Podaj liczbe kolumn :"; gets stdin kb 10 puts " ====================================================" 11 1 puts "" if { $ka!= $wb } { 15 puts "!!! Liczba kolumn macierzy A różna od liczby wierszy macierzy B!!!" 16 exit 17 } 18 if { $ka == $wb } { 19 puts " Macierz C=A* B ma wymiar : $wa x $kb " 0 } 1 puts " Elementy macierzy A:" 3 set fmt " scan \ $wiersz " 4 for { set i 1} { $i <= $ka } { incr i} { set fmt [ string cat $fmt % f] } 5 set fmt [ string cat $fmt " "]
24 ROZDZIAŁ. JĘZYK TCL 3 6 for { set i 1} {$i <= $ka } { incr i} { set fmt [ string cat $fmt "A(\$i,$i) "] } 7 for { set i 1} {$i <= $wa } { incr i} { 8 puts " wiersz $i :"; gets stdin wiersz 9 if {[ eval $fmt ]!= $ka } { 30 puts "!!! Nieprawidłowa liczba kolumn!!!" 31 exit 3 } 33 } puts "" puts " Elementy macierzy B:" 38 set fmt " scan \ $wiersz " 39 for { set i 1} { $i <= $kb } { incr i} { set fmt [ string cat $fmt % f] } 40 set fmt [ string cat $fmt " "] 41 for { set i 1} {$i <= $kb } { incr i} { set fmt [ string cat $fmt "B(\$i,$i) "] } 4 for { set i 1} {$i <= $wb } { incr i} { 43 puts " wiersz $i :"; gets stdin wiersz 44 if {[ eval $fmt ]!= $kb } { 45 puts "!!! Nieprawidłowa liczba kolumn!!!" 46 exit 47 } 48 } for { set i 1} {$i <= $wa } { incr i} { 51 for { set j 1} {$j <= $kb } { incr j} { 5 set C($i,$j) for { set k 1} {$k <= $ka } { incr k} { set C($i,$j) [ expr $C($i,$j )+ $A($i,$k )* $B( 54 } 55 } puts "" puts " Macierz C=A* B:" 60 for { set i 1} {$i <= $wa } { incr i} { 61 set str "" 6 for { set j 1} {$j <= $kb } { incr j} { 63 set str [ string cat $str "$C($i,$j) "] 64 } 65 puts $str 66 }.4 Zadania Napisz skrypty Tcl realizujące zadania z poprzedniego rozdziału.
25 Rozdział 3 Język C 3.1 Struktura programu Kod programu napisanego w języku C umieszczamy w pliku o rozszerzeniu.c. Przykładowy plik prg.c może wyglądać następująco: 1 /* Komentarz wielowierszowy 3 Plik prg.c 4 */ 5 6 // Komentarz jednowierszowy 7 8 # include < stdio.h > // Dyrektywy preprocesora 9 10 void czytaj (); // Deklaracje funkcji 11 void sortuj (); 1 void pisz (); int main () // Funkcja main () 15 { 16 czytaj (); 17 sortuj (); 18 pisz (); 19 0 return 0; 1 } 3 void czytaj () { printf (" czytaj ()/ n ")} // Definicje funkcji 4 void sortuj () { printf (" czytaj ()/ n ")} 5 void pisz () { printf (" czytaj ()/ n ")} 4
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:
Bardziej szczegółowoAdministracja 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
Bardziej szczegółowoWstę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ć
Bardziej szczegółowoBash - 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:
Bardziej szczegółowo1 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
Bardziej szczegółowoBASH - LINIA POLECEŃ. Bioinformatyka 2018/2019
BASH - LINIA POLECEŃ Bioinformatyka 2018/2019 PODSTAWOWE DEFINICJE Linux system operacyjny, które oferuje kompletne środowisko programistyczne Powłoka interfejs wiersza poleceń zapewniający komunikację
Bardziej szczegółowoPRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE
PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE Magda Mielczarek Pracownia Informatyczna 2015/2016 1 Podstawowe definicje Linux system operacyjny, które oferuje kompletne środowisko programistyczne
Bardziej szczegółowoPowłoka (shell) Powłoka ksh
Powłoka (shell) Powłoka - interface między użytkownikiem a systemem operacyjnym. Funkcje: interpreter poleceń użytkownika język programowania poleceń Najczęściej stosowane powłoki: Bourne a sh Korna ksh
Bardziej szczegółowoWprowadzenie do programowania w powłoce
Wprowadzenie do programowania w powłoce mgr inż. Maciej Lasota m.lasota@tu.kielce.pl Katedra Informatyki, Politechnika Świętokrzyska w Kielcach 22 lutego 2012 Powłoka systemowa Powłoka systemowa Podstawowym
Bardziej szczegółowoTemat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.
Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego. Czas realizacji zajęć: 135 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Zmienne śrowiskowe oraz ich eksportowanie, argumenty
Bardziej szczegółowoSystem 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
Bardziej szczegółowoPodstawy informatyki
Podstawy informatyki WYKŁAD nr 02 Fizyka Techniczna, WFT PP Michał Hermanowicz Zakład Fizyki Obliczeniowej, Instytut Fizyki, Politechnika Poznańska Rok akademicki 2018/2019 M. Hermanowicz (IF PP) Podstawy
Bardziej szczegółowoInterpreter poleceń oraz zmienne środowiskowe
Temat zajęć Zakres materiału Skrypty powłoki Tworzenie i uruchamianie skryptów powłoki bash Interpreter poleceń oraz zmienne środowiskowe Interpreter poleceń nazywany inaczej także powłoką systemową pośredniczy
Bardziej szczegółowoZmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.
Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoTechnologie Informacyjne - Linux 3
Technologie Informacyjne - 3 Instytut Matematyki Uniwersytet Gdański Tryby plików i uprawnienia Każdy z plików uniksowych posiada zbiór uprawnień określajacych, czy możemy dany plik odczytać (r), zapisać
Bardziej szczegółowoPOPULARNE 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
Bardziej szczegółowoSkrypty powłoki w systemie Linux
Skrypty powłoki w systemie Linux Wykonywanie codziennych czynności w systemie operacyjnym jest męczące, gdy za każdym razem trzeba wpisywać te same zestawy komend. Znacznie wygodniej byłoby zapisać je
Bardziej szczegółowoBASH - WPROWADZENIE Bioinformatyka 4
BASH - WPROWADZENIE Bioinformatyka 4 DLACZEGO BASH? Praca na klastrach obliczeniowych Brak GUI Środowisko programistyczne Szybkie przetwarzanie danych Pisanie własnych skryptów W praktyce przetwarzanie
Bardziej szczegółowoSkrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012
Skrypty BASH a Systemy Operacyjne 2 Mateusz Hołenko 4 października 2012 Plan zajęć O skryptach słów kilka... Powłoka, wiersz poleceń Obsługa powłoki bash Składnia języka skryptowego bash a Zadania Mateusz
Bardziej szczegółowoPowł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
Bardziej szczegółowoProgramowanie skryptów powłoki
1 Programowanie skryptów powłoki 1. Wprowadzenie Skrypty są to programy pisane w języku programowania powłoki (np. bash) mogące wykonać zadania nie stępne dla zwykłych poleceń są zapisywane w pliku tekstowym.
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoSystemy operacyjne. Programowanie w shellu: BASH. Wydział Inżynierii Metali i Informatyki Przemysłowej
Systemy operacyjne Programowanie w shellu: BASH dr inż. Andrzej Opaliński pawilon B5/p.406 tel. (+48)12 617 46 37 e-mail: andrzej.opalinski@agh.edu.pl Wydział Inżynierii Metali i Informatyki Przemysłowej
Bardziej szczegółowoWstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania
Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Przemysław Kobylański Wprowadzenie Każdy program w C musi zawierać przynajmniej funkcję o nazwie main(): Aby możliwe
Bardziej szczegółowoSystem 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
Bardziej szczegółowoSkrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać
MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty
Bardziej szczegółowoOpis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].
ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoPowłoka bash. Kurs systemu Unix 1
Powłoka bash Kurs systemu Unix 1 Skrypty powłoki Skrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: #!/usr/local/bin/bash # taki sobie skrypt lub podobną. Polecenie: sekwencja napisów, odzielonych
Bardziej szczegółowoŚrodowisko programisty Zestaw 7
Bash, zmienne i instrukcje warunkowe Zmienne możemy traktować jak etykiety, które przechowują ciągi znaków. Definiujemy je przy pomocy znaku = bez spacji po obu jego stronach: dog="azor" Do zmiennych w
Bardziej szczegółowoskrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: pierwsza linia określa powłokę, w której wykonywany jest skrypt; druga to komentarz
Ćwiczenie 6 Skrypty powłoki - programowanie w powłoce bash 1. Cel ćwiczenia Celem ćwiczenia jest poznanie możliwości powłoki bash od strony programistycznej. System UNIX (Linux) pozwala tworzyć skrypty,
Bardziej szczegółowoUwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Bardziej szczegółowoPRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE
PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE M.Mielczarek Pracownia Informatyczna 2017/2018 1 PRACOWNIA INFORMATYCZNA PROWADZĄCY: Dr Magda Mielczarek (biolog) Katedra
Bardziej szczegółowoPracownia Komputerowa wykład III
Pracownia Komputerowa wykład III dr Magdalena Posiadała-Zezula dr Jan Suffczyński 1 Powłoki - rodzaje! W Linux ie mamy kilka powłok do wyboru:! sh : Bourne Shell, oryginalna powłoka systemu unix! csh :
Bardziej szczegółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowoPowłoka interpreter poleceń systemu UNIX
SOE - Systemy Operacyjne Wykład 4 Powłoka interpreter poleceń systemu UNIX dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Powłoka Interpreter poleceń, powłoka (ang. shell)
Bardziej szczegółowoPODSTAWY INFORMATYKI
PODSTAWY INFORMATYKI Operatory i && polecenie1 polecenie2 polecenie1 && polecenie2 Operator OR ( ) spowoduje wykonanie polecenia2 tylko wtedy, gdy polecenie1 zakończy się niepowodzeniem. Operator AND (
Bardziej szczegółowoWprowadzenie do Scilab: podstawy języka Scilab
Wprowadzenie do Scilab: podstawy języka Scilab Magdalena Deckert, Izabela Szczęch, Barbara Wołyńska, Bartłomiej Prędki Politechnika Poznańska, Instytut Informatyki Narzędzia Informatyki Narzędzia Informatyki
Bardziej szczegółowoSystem operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix
Wydział Mechatroniki i Budowy Maszyn Specjalność: Automatyka i Robotyka Rok II Semestr IV 1. Logowanie w systemie Unix. System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Do zalogowania
Bardziej szczegółowoProgramowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Bardziej szczegółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowoĆwiczenie nr 14: System Linux
Ćwiczenie nr 14: System Linux Barbara Łukawska, Adam Krechowicz, Tomasz Michno Czym jest Linux? Słowo Linux może oznaczać zarówno jądro systemowe Linux, jak i całą rodzinę systemów operacyjnych, które
Bardziej szczegółowoArgumenty wywołania programu, operacje na plikach
Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoJĘ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
Bardziej szczegółowoPrzekierowanie 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
Bardziej szczegółowoLaboratorium Ubuntu Linux.
Przedmiot: Systemy operacyjne Laboratorium Ubuntu Linux. Programowanie w powłoce bash. Opracował: Krzysztof Ropiak 1. Programowanie w powłoce bash. 1.1. Wprowadzenie W jakim celu programować w powłoce
Bardziej szczegółowoSystemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier
Systemy operacyjne Instrukcja laboratoryjna Ćwiczenie 1: Polecenia systemu UNIX/LINUX Opracował: dr inż. Piotr Szpryngier Olsztyn 2009 1 Wprowadzenie. Cel zajęć praktycznych. Wymagania stawiane studentom
Bardziej szczegółowo4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Bardziej szczegółowoOperatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie
Linux Polecenia Opracował: Andrzej Nowak Operatory zmiany sposobu przypisania standardowych strumieni >,> Przykłady: 2> plik przypisuje standardowe wyjście błędów do pliku, 1>&2 przypisanie standardowe
Bardziej szczegółowoKatedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.
Bardziej szczegółowo2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
Bardziej szczegółowoWstę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
Bardziej szczegółowoznajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Bardziej szczegółowopico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt
Skrypty powłoki Często wykonujemy powtarzający się zestaw poleceń Wygodniej jest zapisać je w pliku i poddać interpretacji przez powłokę systemu, niż wpisywać je za każdym razem z klawiatury Pliki tekstowe,
Bardziej szczegółowoJęzyki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Bardziej szczegółowoLekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;
Do wyświetlania tekstu służy instrukcja echo echo Hello world ; PHP język ze słabą kontrolą typów. W języku php w przeciwieństwie do c++ nie musimy podawać typu zmiennej podczas jej deklaracji. Tworzenie
Bardziej szczegółowoSystemy operacyjne Programowanie w języku powłoki sh
Systemy operacyjne Programowanie w języku powłoki sh [2] Programowanie w języku powłoki sh Powłoka, interpreter poleceń angshell jest programem uruchamianym standardowo po otwarciu sesji użytkownika przez
Bardziej szczegółowoZnaki globalne w Linuxie
Znaki globalne w Linuxie * reprezentuje jeden lub wiele znaków (wild-card character)? reprezentuje dokładnie jeden znak (wild-card character) [abcde] reprezentuje dokładnie jeden znak z wymienionych [a-e]
Bardziej szczegółowoW języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja
Pętle W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. Instrukcja for ma następującą postać: for (w1;w2;w3) instrukcja w1, w2, w3 są wyrażeniami Schemat blokowy
Bardziej szczegółowoPodstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16
M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16
Bardziej szczegółowoLaboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
Bardziej szczegółowoPętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
Bardziej szczegółowoSieci 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
Bardziej szczegółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
Bardziej szczegółowoW pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)
Ćwiczenie 2 Cel ćwiczenia: Poznanie mechanizmów wejścia/wyjścia, zapoznanie się ze sposobami wyświetlania plików tekstowych i wyszukiwania informacji, podstawowe operacje na plikach tekstowych, zmienne
Bardziej szczegółowoPrzykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!
Scilab jest środowiskiem programistycznym i numerycznym dostępnym za darmo z INRIA (Institut Nationale de Recherche en Informatique et Automatique). Jest programem podobnym do MATLABa oraz jego darmowego
Bardziej szczegółowo12. Skrypty w Linux - funkcje, instrukcje sterujące i obliczenia arytmetyczne
12. Skrypty w Linux - funkcje, instrukcje sterujące i obliczenia arytmetyczne 12.1. Funkcje Funkcje są to podprogramy, dzięki czemu często wykorzystywane instrukcje można zgrupować w jeden blok, zamiast
Bardziej szczegółowoPodstawy Programowania.
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png O mnie... dr inż. Łukasz Graczykowski Zakład Fizyki Jądrowej Wydział Fizyki Politechniki Warszawskiej lgraczyk@if.pw.edu.pl www.if.pw.edu.pl/~lgraczyk/wiki
Bardziej szczegółowoSystemy operacyjne 11
Systemy operacyjne 11 Z Wikipedii, wolnej encyklopedii. Spis treści 1 Warunki w instrukcjach sterujących 2 Instrukcje sterujące 2.1 Instrukcja warunkowa if 2.2 Instrukcja case 2.3 Pętla for 2.4 Pętla select
Bardziej szczegółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowoNaukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem
Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego
Bardziej szczegółowoSystemy operacyjne / Programowanie w języku powłoki sh str.1/19
Systemy Operacyjne Programowanie w języku powłoki sh dr inż. Tomasz Jordan Kruk T.Kruk@ia.pw.edu.pl Instytut Automatyki i Informatyki Stosowanej Politechnika Warszawska Systemy operacyjne / Programowanie
Bardziej szczegółowoPracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA
Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA 1 Organizacja zajęć ½ semestru mgr Magda Mielczarek Katedra Genetyki, pokój nr 14 e-mail: magda.mielczarek@up.wroc.pl tel: 71-320-57-51 Slajdy
Bardziej szczegółowoArchitektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX
Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX Materiały: www.staff.amu.edu.pl/~evert/asi.php W razie nieobecności proszę o zapoznanie się z materiałem z ćwiczeń w domu Zaliczenie
Bardziej szczegółowoTemat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Bardziej szczegółowoKomentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)
Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak
Bardziej szczegółowoLinux: System Plików
Linux: System Plików Systemy Operacyjne Mateusz Hołenko 3 marca 2013 Plan zajęć Wszystko jest plikiem Obsługa systemu plików Prawa dostępu Wyszukiwanie Mateusz Hołenko Linux: System Plików [2/24] Wszystko
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2014 1 / 38 Przypomnienie Programowanie imperatywne Program
Bardziej szczegółowoArchitektura systemów informatycznych. Powłoka systemowa Architektura procesora
Architektura systemów informatycznych Powłoka systemowa Architektura procesora Powłoki systemowe Powłoka tekstowa Powłoka, nazywana inaczej shellem, odpowiada za wykonywanie poleceń wpisywanych przez użytkownika
Bardziej szczegółowoStrona1. Linux. Skrypty powłoki
Strona1 Linux Skrypty powłoki Strona2 Spis treści. Spis treści.... 2 Wprowadzenie.... 3 Polecenie echo, znaki cytowania oraz komentarze.... 3 Operatory arytmetyczne.... 4 Deniowanie zmiennych w skryptach
Bardziej szczegółowoMETODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR
Bardziej szczegółowoWarsztaty 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
Bardziej szczegółowoZajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:
Bardziej szczegółowoLibreOffice Calc VBA
LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć
Bardziej szczegółowoMatlab Składnia + podstawy programowania
Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe
Bardziej szczegółowoProgramowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!
Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)
Bardziej szczegółowoSystemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak
Systemy operacyjne System operacyjny Linux - wstęp Anna Wojak 1 1 Wstęp Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku przez K.Thompsona i D.Ritchie Jest to
Bardziej szczegółowoTworzenie skryptu: Skrypty powłoki
Skrypty powłoki Często wykonujemy powtarzający się zestaw poleceń Wygodniej jest zapisać je w pliku i poddać interpretacji przez powłokę systemu, niż wpisywać je za każdym razem z klawiatury Pliki tekstowe,
Bardziej szczegółowoWstęp do Programowania Lista 1
Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.
Bardziej szczegółowoPODSTAWY INFORMATYKI 1 PRACOWNIA NR 6
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 TEMAT: Programowanie w języku C/C++: instrukcje iteracyjne for, while, do while Ogólna postać instrukcji for for (wyr1; wyr2; wyr3) Instrukcja for twory pętlę działającą
Bardziej szczegółowoWstęp do systemu Linux
M. Trzebiński Linux 1/8 Wstęp do systemu Linux Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński Linux
Bardziej szczegółowoTechnologie Informacyjne - Linux 2
Technologie Informacyjne - 2 Instytut Matematyki Uniwersytet Gdański Powłoka - polecenia pośredniczace Polecenie grep wypisuje z pliku lub strumienia wejściowego te wiersze, które sa zgodne z podanym wyrażeniem.
Bardziej szczegółowoLABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Bardziej szczegółowoPodstawy Programowania
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke O mnie... dr inż. Małgorzata Janik Zakład Fizyki
Bardziej szczegółowoPrzetwarzanie sygnałów
Spis treści Przetwarzanie sygnałów Ćwiczenie 1 Wprowadzenie do programu Octave 1 Operatory 1 1.1 Operatory arytmetyczne...................... 1 1.2 Operatory relacji.......................... 1 1.3 Operatory
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowo