Bioinformatyka: Wykład 4. R Elementy języka programowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Bioinformatyka: Wykład 4. R Elementy języka programowania"

Transkrypt

1 Bioinformatyka: Wykład 4 R Elementy języka programowania

2 Pytanie z poprzedniego wkładu podaj polecenie, które dla zbioru iris wyświetli podzbiór składający się z losowej próby wierszy, próba ma mieć liczebność 20 kolumn 1, 3 i 5.! podaj polecenie, które wygeneruje wykres zależności zmiennej Sepal.Width od zmiennej Petal.Length. Należy dodatkowo narysować obiekty kolorem zależnym od klasy (zmienna Species)

3 WEKTORY LOGICZNE > x10<-runif(10) > x10 [1] > x10>0.5 [1] FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE!! > x10>0.5 ->Mask > Mask [1] FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE > str(mask) logi [1:10] FALSE TRUE TRUE FALSE TRUE FALSE...

4 WEKTORY LOGICZNE > x10[mask] [1] > x10[x10>0.5] [1] ! > which(mask) [1] > which(x10>0.5) [1]

5 WEKTORY ZNAKOWE Pojedynczy napis jest typem podstawowym. Można utworzyć wektory z napisów. Pojedynczy napis NIE JEST wektorem znaków > napis<-"bioinformatyka" > napis [1] "Bioinformatyka" > napis2<c("b","i","o","i","n","f","o","r","m","a","t","y","k","a") > napis2 [1] "B" "i" "o" "i" "n" "f" "o" "r" "m" "a" "t" "y" "k" "a" > napis3<-c("bio","in","for","ma","ty","ka") > napis3 [1] "Bio" "in" "for" "ma" "ty" "ka"

6 WEKTORY ZNAKOWE Pojedynczy napis jest typem podstawowym. Można utworzyć wektory z napisów. Pojedynczy napis NIE JEST wektorem znaków > str(napis) chr "Bioinformatyka" > str(napis2) chr [1:14] "B" "i" "o" "i" "n" "f" "o" "r" "m" "a" "t" "y" "k" "a" > str(napis3) chr [1:6] "Bio" "in" "for" "ma" "ty" "ka" > napis2[3] [1] "o" > napis3[3] [1] "for" > napis[3] [1] NA

7 WEKTORY ZNAKOWE Sklejanie napisów > napis4<-c("b","io","inf","orma","tyka ") > napis4 [1] "B" "io" "inf" "orma" "tyka " > str(napis4) chr [1:5] "B" "io" "inf" "orma" "tyka! > napis2 [1] "B" "i" "o" "i" "n" "f" "o" "r" "m" "a" "t" "y" "k" "a" > paste(napis2,collapse="") [1] "Bioinformatyka" > paste(napis2,collapse=" ") [1] "B i o i n f o r m a t y k a" > paste(napis2,collapse="-") [1] "B-i-o-i-n-f-o-r-m-a-t-y-k-a"

8 WEKTORY ZNAKOWE Sklejanie napisów > AA<-c("a","aa","aaa","aaaa","aaaaa","aaaaaa") > BB<-c("b","bb") > paste(aa,bb) [1] "a b" "aa bb" "aaa b" "aaaa bb" [5] "aaaaa b" "aaaaaa bb" > paste(aa,bb,sep="-") [1] "a-b" "aa-bb" "aaa-b" [5] "aaaa-bb" "aaaaa-b" "aaaaaa-bb" > paste(aa,nb,sep="-",collapse=" ") [1] "a-b aa-bb aaa-b aaaa-bb aaaaa-b aaaaaa-bb" > paste(aa,bb,sep="-",collapse="") [1] "a-baa-bbaaa-baaaa-bbaaaaa-baaaaaa-bb"

9 WEKTORY ZNAKOWE Rozdzielanie napisów - wynik jest listą. > nchar("bioinformatyka") [1] 14 > getwd()-> MyPath > strsplit(mypath,"/") [[1]] [1] "" "Users" "rudnicki" "Documents""dydaktyka" "Bioinformatics" [7] "Białystok" > strsplit(mypath,"/")->mydirectories > nchar(mydirectories) [1] 83 > length(mydirectories) [1] 1 > unlist(mydirectories) [1] "" "Users" "rudnicki" "Documents" "dydaktyka" "Bioinformatics" [7] "Białystok" > nchar(unlist(mydirectories)) [1]

10 CZAS >> Sys.time() [1] " :23:11 CEST" > options(digits.secs=2) > Sys.time() [1] " :23:42.87 CEST"

11 CZAS Dwa sposoby reprezentacji czasu: Klasa POSIXct liczba sekund od początku epoki komputerowej Klasa POSIXlt lista pól określających czas

12 Pola klasy POSIXlt: sec 0 61: sekundy min 0 59: minuty hour 0 23: godziny mday 1 31: dzień miesiąca CZAS mon 0 11: liczba miesięcy, jaka upłynęła od pierwszego miesiąca w roku year lata od roku wday 0 6 dni tygodnia, zaczynające się w niedzielę yday 0 365: dzień roku. isdst flaga czasu letniego. 1 prawda, 0 - fałsz, ujemna jeśli nie wiadomo. zone strefa czasowa, domyślnie - czyli UTC gmtoff przesunięcie w sekundach względem GMT

13 CZAS Na zmiennych czasowych możemy prowadzić proste obliczenia przedziałów czasowych. Należy pamiętać, że czas nie jest w R zwykłą liczbą - ani całkowitą ani rzeczywistą > start.time<-sys.time() > end.time<-sys.time() > interval <- end.time-start.time > interval Time difference of secs > interval2 <- 2*interval > interval^2 Error in Ops.difftime(interval, 2) : '^' nie jest określone dla obiektów klasy "difftime"

14 CZAS Na zmiennych typu czasowego można wykonywać jedynie operację odejmowania. Wynikiem jest obiekt klasy przedział czasu > start.time<-sys.time() > end.time<-sys.time() > interval <- end.time-start.time > end.time.2<- Sys.time() > interval2 <- end.time.2-end.time > interval2 Time difference of mins > interval2-interval Time difference of secs > interval2-10*interval Time difference of secs > interval2*interval Error in `*.difftime`(interval2, interval) : oba argumenty operatora '*' nie mogą być obiektami klasy "difftime"

15 CZAS Na zmiennych typu czasowego można wykonywać jedynie operację odejmowania. Wynikiem jest obiekt klasy przedział czasu > interval2+interval Time difference of secs > start.time+end.time Error in `+.POSIXt`(start.time, end.time) : dwuargumentowy operator '+' nie jest określony dla obiektów klasy "POSIXt" Obiekty typu przedział czasu można dodawać i odejmować. Wynikiem jest obiekt klasy przedział czasu. Nie można dodawać do siebie obiektów klasy czas.

16 KONWERSJE TYPÓW as.posixlt() - Rzutowanie obiektu na typ POSIXlt. Jeżeli argument jest liczbą, to koniecznie trzeba podać punkt startu, od którego liczony jest czas > z <- as.posixlt(sys.time()) > z [1] " :12:30.37 CEST" > as.posixlt( ,tz="cet",origin=" :00:00") [1] " :25:55 CEST" > as.posixlt( ,tz="cet",origin=" :00:00") [1] " :34:05 CET"!

17 KONWERSJE TYPÓW unclass() - Rzutowanie obiektu specyficznego typu na typ podstawowy > zlt <- as.posixlt(sys.time()) > zct <- Sys.time() > zlt [1] " :12:30.37 CEST" > zct [1] " :12:39.48 CEST" > mode(zct) [1] "numeric" > unclass(zct) [1] > mode(zlt) [1] "list" > unclass(zlt)

18 KONWERSJE TYPÓW unclass() - Rzutowanie obiektu specyficznego typu na typ podstawowy > zlt <- as.posixlt(sys.time()) > zct <- Sys.time() > zlt [1] " :12:30.37 CEST" > zct [1] " :12:39.48 CEST" > mode(zct) [1] "numeric" > unclass(zct) [1] > mode(zlt) [1] "list" > unclass(zlt) $sec [1] $min [1] 56 $hour [1] 20 $mday [1] 5 $mon [1] 11 $year [1] 115 $wday [1] 6 $yday [1] 338 $isdst [1] 0 $zone [1] "CET" $gmtoff [1] 3600 attr(,"tzone") [1] "" "CET" "CEST"

19 KONWERSJE TYPÓW unlist() - rzutowanie listy na wektor > zlt <- as.posixlt(sys.time()) > zlt [1] " :12:39.48 CEST" > unlist(zlt) sec min hour mday " " "41" "22" "5" mon year wday yday "11" "115" "6" "338" isdst zone gmtoff "0" "CET" "3600"

20 PRIORYTET OPERATORÓW [ [[ - Indeksowanie - dostęp do pól, składowych ^ ** - potęgowanie operatory unarne : - generowanie sekwencji %coś% operatory specjalne * / - mnożenie, dzielenie dodawanie, odejmowanie ==!= < > <= >=! - negacja logiczna

21 PRIORYTET OPERATORÓW! - negacja logiczna & && iloczyn logiczny (wektorowy i skalarny)* - suma logiczna (wektorowo i skalarnie)* ~ - zależność w formule -> ->> przypisanie w prawo = <-? - przypisanie (z prawej w lewą) - przypisanie (z prawej w lewą) - pomoc! * operacje & oraz wykonujemy wektorowo, natomiast && oraz służą do tworzenia warunków w instrukcjach warunkowych if, ifelse, while.

22 DEFINIOWANIE FUNKCJI Funkcja jest definiowana przy pomocy słowa kluczowego function. Jest obiektem, który może być przypisywany na zmienną, może być argumentem innej funkcji, elementem listy, wektora itp. > AddNumbers <- function(a,b){ c <- a+b return(c) } > AddNumbers(3,5) [1] 5

23 DEFINIOWANIE FUNKCJI Funkcja jest definiowana przy pomocy słowa kluczowego function. Argumenty są przekazywane przez wartość Zmienne są lokalne i znikają po wykonaniu funkcji Każda funkcja zwraca wynik, wartością wyniku jest wartość ostatneiego wyrażenia w funkcji. Możemy (i należy dla jasności) użyć słowa kluczowego return Można zdefiniować anonimową funkcję w miejscu jej wykonania. > apply(myarray,2, function(x) sd(x)/mean(x) )

24 UNIKANIE PROSTYCH BŁĘDÓW Piszemy nawiasy przy wołaniu funkcji > ls function (name, pos = -1L, envir = as.environment(pos), all.names = FALSE, pattern, sorted = TRUE) { if (!missing(name)) { } } <bytecode: 0x7ff01017d7c0> <environment: namespace:base> > ls() [1] "AddNumbers" "ddz" "dz" "end.time" "end.time. 2" "interval" "interval2" "Iris" "iris.lm"

25 UNIKANIE PROSTYCH BŁĘDÓW Przy podawaniu ścieżek w Windows piszemy podwóje ukośniki (backslash) >! MyData<- read.csv( D:\\data\\MyLab\\example.csv )! ukośnik \ ma specjalne znaczenie (escape character) i dlatego do zapisania samego ukośnika musimy użyć dwóch

26 UNIKANIE PROSTYCH BŁĘDÓW Uważajmy na niepotrzebne spacje > x < -pi BŁĄD: nie znaleziono obiektu 'x' > x<-3.14 > x < -pi [1] FALSE > x <- pi > x [1]

27 UNIKANIE PROSTYCH BŁĘDÓW Uważajmy na komendy edytowane w wielu liniach! > x < ! >! x [1] 15 >! x < >! [1] 9 >! x [1] 6! Uważajmy na operatory = i ==! > x = > x ==

28 UNIKANIE PROSTYCH BŁĘDÓW Pamiętajmy jakie argumenty przyjmują funkcje > mean(3,4,5) #funkcja z jednym argumentem [1] 3 > mean(c(3,4,5)) #argument ma być wektorem [1] 4 > max(3,4,5) # funkcja przyjmuje wiele argumentów [1] 5 > max(1:3,2:4) [1] 4 > pmax(1:3,2:4) # funkcja liczy warunek wektorowo [1] > min(1:3,2:4) [1] 1 > pmin(1:3,2:4) [1] 1 2 3

29 KATALOG ROBOCZY Funkcje do wypisania i zmiany katalogu roboczego getwd() - GET Work Directory setwd() - SET Work Directory > getwd() [1] "/Users/rudnicki" > setwd("documents/dydaktyka/bioinformatics/") > getwd() [1] "/Users/rudnicki/Documents/dydaktyka/Bioinformatics" > setwd("/users/rudnicki/documents/dydaktyka/") > getwd() [1] "/Users/rudnicki/Documents/dydaktyka/"

30 OBSŁUGA PAKIETÓW Funkcje search() - wypisuje pakiety załadowane do pamięci library( LibName ) - ładuje pakiet o nazwie LibName, wywołana bez argumentu wypisuje zainstalowane pakiety require( LibName ) - ładuje bibliotekę o nazwie LibName jeśli jest potrzebna w skrypcie (generuje ostrzeżenie zamiast błędu jeśli biblioteki nie ma) detach(package:whatever) - usuwa pakiet whatever z przestrzeni roboczej sesji R install.packages( PackageName ) - instaluje bibliotekę o nazwie PackageName z serwera CRAN (użytkownik jest proszony o podanie serwera CRAN z listy)

31 OBSŁUGA PAKIETÓW > search() [1] ".GlobalEnv" "package:randomforest" "tools:rgui" [4] "package:stats" "package:graphics" "package:grdevices" [7] "package:utils" "package:datasets" "package:methods" [10] "Autoloads" "package:base" > library("boruta") Ładowanie wymaganego pakietu: rferns > search() [1] ".GlobalEnv" "package:boruta" "package:rferns" [4] "package:randomforest" "tools:rgui" "package:stats" [7] "package:graphics" "package:grdevices" "package:utils" [10] "package:datasets" "package:methods" "Autoloads" [13] "package:base" > detach(package:boruta) > detach(package:rferns) > search() [1] ".GlobalEnv" "package:randomforest" "tools:rgui" [4] "package:stats" "package:graphics" "package:grdevices" [7] "package:utils" "package:datasets" "package:methods" [10] "Autoloads" "package:base"

32 OBSŁUGA PAKIETÓW > install.packages("rferns") Installing package into /Users/rudnicki/Library/R/3.2/library (as lib is unspecified) --- Proszę wybrać serwer lustrzany CRAN do użycia w tej sesji --- Jest dostępna wersja binarna ale wersja ze źródłami jest późniejsza: binary source needs_compilation rferns TRUE Do you want to install from sources the package which needs compilation? y/n: y installing the source package rferns! próbowanie adresu URL ' Content type 'application/x-gzip' length bytes (18 KB) ================================================== downloaded 18 KB * installing *source* package rferns... ** pakiet rferns został pomyślnie rozpakowany oraz sumy MD5 zostały sprawdzone ** libs

33 OBSŁUGA PAKIETÓW > install.packages("rferns") clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/ include -I/usr/local/include/freetype2 -I/opt/X11/include -fpic -Wall - mtune=core2 -g -O2 -c ferns.c -o ferns.o clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup - single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/ Resources/lib -L/usr/local/lib -o rferns.so ferns.o -F/Library/Frameworks/ R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation installing to /Users/rudnicki/Library/R/3.2/library/rFerns/libs ** R ** inst ** preparing package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded * DONE (rferns) Pobrane pakiety źródłowe są w /private/var/folders/4j/lyt_c98s1b147vfnlq9h2hrc0000gp/t/rtmp4zxgm0/ downloaded_packages >

34 WCZYTYWANIE DANYCH Uwaga ogólna - R nie jest najlepszym narzędziem do pracy z plikami tekstowymi. To wynik zastosowania w praktyce filozofii Uniksa - skoro istnieje mnóstwo innych narzędzi doskonale nadających się do obróbki plików tekstowych, to nie zajmujmy się tym zadaniem, użyjmy do obróbki tekstu np. awk, sed, perl, python itp.

35 WCZYTYWANIE DANYCH funkcje R do czytania danych spodziewają się danych w postaci tabeli i wczytują je do ramki danych (data.frame) read.table() read.csv(), read.csv2() read.ftable() read.delim(), read.delim2() Zapisywanie danych w wersji tekstowej write.csv() write.table()

36 WCZYTYWANIE DANYCH - EXCEL Dane występują często w formacie XLS lub XLSX Standardowy R nie obsługuje tych formatów, ale można: 1. Skopiować dane do schowka i użyć funkcji read.table( clipboard ) 2. Zapisać dane z excela do pliku CSV i użyć funkcji read.csv() 3. Użyć pakietu gdata require(gdata) df = read.xls ("myfile.xlsx"), sheet = 1, header = TRUE) 4. Użyć pakietu XLConnect require(xlconnect) wb = loadworkbook("myfile.xlsx") df = readworksheet(wb, sheet = "Sheet1", header = TRUE) 5. Użyć pakietu xlsx require(xlsx) read.xlsx("myfile.xlsx", sheetname = Sheet1") #read.xlsx2( myfile.xlsx", sheetname = "Sheet1")

37 PLIKI RDATA Natywny format plików danych R Obsługiwany funkcjami load() save() > ls() [1] "interval2" "Iris" "iris.lm" "iris10" "my.table" "MySample" [7] "rownames" > save(my.table,file="giss.rdata") > rm(my.table) > ls() [1]"interval2" "Iris" "iris.lm" "iris10" "MySample" "rownames" > load("giss.rdata") > ls() [1] ""interval2" "Iris" "iris.lm" "iris10" "my.table" "MySample" [7] "rownames"

38 OPERACJE NA RAMKACH Łączenie ramek danych cbind(df1,df2,df3, ) - Column bind - dołącza do df1 kolumny z df2, df3 itd. Wynik jest nową ramką o liczbie kolumn równej sumie liczb kolumn ramek wejściowych. rbind(df1,df2,df3, ) - Row bind - dołącza do df1 wiersze z df2, df3 itd. Wynik jest nową ramką o liczbie wierszy równiej sumie liczb wierszy w ramkach wejściowych merge(df1,df2, ) - łączy ramki według wspólnej kolumny do df1 wiersze z df2, df3 itd. Wynik jest nową ramką o liczbie wierszy równiej sumie liczb wierszy w ramkach wejściowych. Polecenie analogiczne do operacji join w SQL.

39 OPERACJE NA RAMKACH Ułatwienie w przywoływaniu kolumn with(dfname, ) - operacje przeprowadzone w nawiasie na kolumnach ramki nie muszą odwoływać się do nazwy ramki. attach(dfname) - kolumny ramki są dołączone do przestrzeni nazw w ramach sesji. > head(giss.temp) Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec > tail(giss.temp) Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ** **

40 OPERACJE NA RAMKACH Ułatwienie w przywoływaniu kolumn > with(giss.temp,as.numeric(as.character(nov)))->giss.temp$nov Warning message: In eval(expr, envir, enclos) : pojawiły się wartości NA na skutek przekształcenia > with(giss.temp,as.numeric(as.character(dec)))->giss.temp$dec Warning message: In eval(expr, envir, enclos) : pojawiły się wartości NA na skutek przekształcenia > tail(giss.temp) Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec NA NA

41 OPERACJE NA RAMKACH Ułatwienie w przywoływaniu kolumn > GISS.temp$Q1<-with(GISS.temp,(Jan+Feb+Mar)/3) > GISS.temp$Q2<-with(GISS.temp,(Apr+May+Jun)/3) > GISS.temp$Q3<-with(GISS.temp,(Jul+Aug+Sep)/3) > GISS.temp$Q4<-with(GISS.temp,(Oct+Nov+Dec)/3) > GISS.temp$Mean<-with(GISS.temp,(Q1+Q2+Q3+Q4)/4) > head(giss.temp) Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Q1 Q2 Q3 Q4 Mean > tail(giss.temp) Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Q1 Q2 Q3 Q4 Mean NA NA NA NA

42 OPERACJE NA RAMKACH > apply(giss.temp[,1:13],2,max,na.ommit=true) Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec NA NA > tail(giss.temp[,1:13],5) Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec NA NA > apply(giss.temp[,14:17],2,max,na.ommit=true) Q1 Q2 Q3 Q NA > tail(giss.temp[,14:17],5) Q1 Q2 Q3 Q NA

43 OPERACJE NA RAMKACH > GISS.temp[123:136,c(1,14:17)] Year Q1 Q2 Q3 Q NA

44 RAMKA DANYCH Wg Paul Teetor R Cookbook, O Reilly 2011 Dla statystyka Tablica obserwacji. Wiersz zawiera obserwację, kolumna zmienne. Można odwoływać się do kolumn po numerze lub po nazwie. Dla programisty SQL Tablica, rezydująca w pamięci. Można ją zapisać do pliku, nie trzeba deklarować typów danych - R robi to automatycznie Dla użytkownika Excela Arkusz kalkulacyjny. Bardziej ograniczony bo komórki muszą mieć określony typ, taki sam w całej kolumnie. Dla użytkownika SAS Dla programisty R Dla informatyka Dla managera

45 RAMKA DANYCH Wg Paul Teetor R Cookbook, O Reilly 2011 Dla statystyka Dla programisty SQL Dla użytkownika Excela Dla użytkownika SAS Odpowiednik dataset. Można ją zapisać do pliku, ale w trakcie operacji musi rezydować w pamięci operacyjnej. Dla programisty R Hybrydowa struktura danych, pośrednia między tablicą a listą. Może zawierać liczby, napisy i faktory, nie można ich mieszać w jednej kolumnie. Można na niej prowadzić działania jak na macierzy. Jest również listą kolumn - można się do niej odwoływać operatorami działającymi na listach. Dla informatyka Dla managera

46 RAMKA DANYCH Wg Paul Teetor R Cookbook, O Reilly 2011 Dla statystyka Dla programisty SQL Dla użytkownika Excela Dla użytkownika SAS Dla programisty R Dla informatyka Prostokątna struktura danych. Kolumny mają określony typ (numeryczny, znakowy lub faktor), Kolumny muszą mieć etykiety, wiersze mogą mieć etykiety. Można ją indeksować numerycznie (numer wiersza/kolumny) lub według nazw (odpowiednio wierszy i kolumn). Można również używać operatorów listowych do operowanie na kolumnach - można traktować ją jako listę kolumn. Dla managera Możesz tam zapisywać liczby i nazwy. To jest łatwe - to taka mała baza danych. Twoi pracownicy będą zachwyceni używając ramek danych.

47 RODZINA FUNKCJI APPLY apply() lapply() sapply() tapply() mapply() oraz podobne zastosowanie by()

48 RODZINA FUNKCJI APPLY lapply() - argumentem jest lista, wynikiem też jest lista. sapply() - argumentem jest lista, wynikiem jest wektor - jeżeli tylko to możliwe. > lapply(iris[,1:4],mean) $Sepal.Length [1] $Sepal.Width [1] $Petal.Length [1] $Petal.Width [1] > sapply(iris[,1:4],mean) Sepal.Length Sepal.Width Petal.Length Petal.Width

49 RODZINA FUNKCJI APPLY apply() - argumentem jest macierz, wynikiem wektor, można ją stosować do macierzy i list, ale lista musi mieć wszystkie kolumny tego samego typu. > sapply(iris[,1:4],mean) Sepal.Length Sepal.Width Petal.Length Petal.Width ! > apply(iris[,1:4],2,mean) Sepal.Length Sepal.Width Petal.Length Petal.Width ! > apply(iris[,1:4],1,mean)->iris.mean.dim > iris.mean.dim[c(1:5,51:55,101:105)] [1]

50 RODZINA FUNKCJI APPLY tapply() - argumentem jest wektor, i faktor użyty do grupowania tego wektora, wynikiem jest wektor o długości równej liczbie unikatowych wartości faktora > tapply(iris[,1],iris$species,mean) setosa versicolor virginica > tapply(iris[,2],iris$species,mean) setosa versicolor virginica > tapply(iris[,3],iris$species,mean) setosa versicolor virginica > tapply(iris[,4],iris$species,mean) setosa versicolor virginica

51 RODZINA FUNKCJI APPLY tapply() - argumentem jest wektor, i faktor użyty do grupowania tego wektora, wynikiem jest wektor o długości równej liczbie unikatowych wartości faktora > by(iris[,1:4],iris$species,summary) iris$species: setosa Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.300 Min. :2.300 Min. :1.000 Min. : st Qu.: st Qu.: st Qu.: st Qu.:0.200 Median :5.000 Median :3.400 Median :1.500 Median :0.200 Mean :5.006 Mean :3.428 Mean :1.462 Mean : rd Qu.: rd Qu.: rd Qu.: rd Qu.:0.300 Max. :5.800 Max. :4.400 Max. :1.900 Max. :

52 RODZINA FUNKCJI APPLY > by(iris[,1:4],iris$species,summary) iris$species: versicolor Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.900 Min. :2.000 Min. :3.00 Min. : st Qu.: st Qu.: st Qu.:4.00 1st Qu.:1.200 Median :5.900 Median :2.800 Median :4.35 Median :1.300 Mean :5.936 Mean :2.770 Mean :4.26 Mean : rd Qu.: rd Qu.: rd Qu.:4.60 3rd Qu.:1.500 Max. :7.000 Max. :3.400 Max. :5.10 Max. : iris$species: virginica Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.900 Min. :2.200 Min. :4.500 Min. : st Qu.: st Qu.: st Qu.: st Qu.:1.800 Median :6.500 Median :3.000 Median :5.550 Median :2.000 Mean :6.588 Mean :2.974 Mean :5.552 Mean : rd Qu.: rd Qu.: rd Qu.: rd Qu.:2.300 Max. :7.900 Max. :3.800 Max. :6.900 Max. :2.500

53 RODZINA FUNKCJI APPLY > by(iris[,1:4],iris$species,summary) iris$species: setosa Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.300 Min. :2.300 Min. :1.000 Min. : st Qu.: st Qu.: st Qu.: st Qu.:0.200 Median :5.000 Median :3.400 Median :1.500 Median :0.200 Mean :5.006 Mean :3.428 Mean :1.462 Mean : rd Qu.: rd Qu.: rd Qu.: rd Qu.:0.300 Max. :5.800 Max. :4.400 Max. :1.900 Max. : iris$species: versicolor Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.900 Min. :2.000 Min. :3.00 Min. : st Qu.: st Qu.: st Qu.:4.00 1st Qu.:1.200 Median :5.900 Median :2.800 Median :4.35 Median :1.300 Mean :5.936 Mean :2.770 Mean :4.26 Mean : rd Qu.: rd Qu.: rd Qu.:4.60 3rd Qu.:1.500 Max. :7.000 Max. :3.400 Max. :5.10 Max. : iris$species: virginica Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.900 Min. :2.200 Min. :4.500 Min. : st Qu.: st Qu.: st Qu.: st Qu.:1.800 Median :6.500 Median :3.000 Median :5.550 Median :2.000 Mean :6.588 Mean :2.974 Mean :5.552 Mean : rd Qu.: rd Qu.: rd Qu.: rd Qu.:2.300 Max. :7.900 Max. :3.800 Max. :6.900 Max. :2.500

54 RODZINA FUNKCJI APPLY > by(iris[,1:4],iris$species,summary) iris$species: setosa Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.300 Min. :2.300 Min. :1.000 Min. : st Qu.: st Qu.: st Qu.: st Qu.:0.200 Median :5.000 Median :3.400 Median :1.500 Median :0.200 Mean :5.006 Mean :3.428 Mean :1.462 Mean : rd Qu.: rd Qu.: rd Qu.: rd Qu.:0.300 Max. :5.800 Max. :4.400 Max. :1.900 Max. : iris$species: versicolor Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.900 Min. :2.000 Min. :3.00 Min. : st Qu.: st Qu.: st Qu.:4.00 1st Qu.:1.200 Median :5.900 Median :2.800 Median :4.35 Median :1.300 Mean :5.936 Mean :2.770 Mean :4.26 Mean : rd Qu.: rd Qu.: rd Qu.:4.60 3rd Qu.:1.500 Max. :7.000 Max. :3.400 Max. :5.10 Max. : iris$species: virginica Sepal.Length Sepal.Width Petal.Length Petal.Width Min. :4.900 Min. :2.200 Min. :4.500 Min. : st Qu.: st Qu.: st Qu.: st Qu.:1.800 Median :6.500 Median :3.000 Median :5.550 Median :2.000 Mean :6.588 Mean :2.974 Mean :5.552 Mean : rd Qu.: rd Qu.: rd Qu.: rd Qu.:2.300 Max. :7.900 Max. :3.800 Max. :6.900 Max. :2.500

55 STYL!= MODA Styl programowania jest ważny: przejrzysty i spójny styl sprzyja unikaniu prostych błędów zrozumieniu kodu skłania ku tworzeniu właściwych struktur Trzymanie się ogólnie przyjętych reguł ułatwia życie programiście i użytkownikom zwalnia od wymyślania własnych reguł ułatwia jego wykorzystanie w innych programach Innym Programistom dwa (dni/tygodnie/miesiące/lata) po napisaniu kodu Ty też będziesz Innym Programistą

56 STYL!= MODA Podstawowe reguły przyjęte w społeczności R Nazwy plików powinny być informatywne i mieć rozszerzenie.r dobre linear_fit.r cross_validated_randomforest.r złe aaa.r fun1.r Jeżeli w skrypcie będą wykorzystywane w ustalonej kolejności dodaj numer PRZED nazwą 0-init_data_structures.R 1-read_data.R 2-do_calculations.R

57 Nazywanie zmiennych STYL!= MODA Nazwy zmiennych i funkcji powinny być pisane małymi literami powinny być opisowe - nazwa funkcji powinna zawierać czynności, nazwa zmiennej odnosić się do zawartości. Nazwy muszą być krótkie nazwy składające się z wielu wyrazów łączymy podkreśleniami. dopuszczalny jest tzw CamelCase - ale to jest gorsze rozwiązanie. jeżeli istnieje choć minimalna szansa, że kod będzie używany międzynarodowo, piszemy po angielsku dobrze start_day, last_day złe first_day_of_the_pneumonia_study day1.

58 Światło - więcej światła STYL!= MODA w definicjach fukcji przechodzimy do nowej lini po nawiasie klamrowym, zawsze używamy nawiasów klamrowych w definicji funkcj zamykamy blok tekstu nawiasem klamrowym w oddzialnej linii, do wcinania kodu używamy spacji (zwyczajowo dwie spacje) operatory otaczamy spacjami (zarówno operacje arytmetyczne, jak i przypisywanie i porównania. Nawiasy, oddzielamy od innego tekstu spacjami, za wyjątkiem wywołań funkcji długość linii - staraj się ograniczać do 80 linii. Jeśli często używasz wiecej znaków w linii to znaczy, że czegoś nie nie można uprościć - zdefiniować powtarzalne funkcje.

Instalacja Pakietu R

Instalacja Pakietu R Instalacja Pakietu R www.r-project.org wybór źródła wybór systemu operacyjnego: Download R for Windows opcja: install R for the first time opcja: Download R 3.3.3 for Windows uruchomienie R-3.3.3-win MAGDA

Bardziej szczegółowo

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Modelowanie rynków finansowych z wykorzystaniem pakietu R Modelowanie rynków finansowych z wykorzystaniem pakietu R Wprowadzenie do pakietu R Mateusz Topolewski woland@mat.umk.pl Wydział Matematyki i Informatyki UMK Plan działania 1 Co i dlaczego...? 2 Przechowywanie

Bardziej szczegółowo

Bioinformatyka VI. Programowanie Języku R

Bioinformatyka VI. Programowanie Języku R Bioinformatyka VI Programowanie Języku R WEKTORY R jest językiem wektorowym - wszystkie elementarne struktury danych są wektorami Nawet zmienne zawierające jeden obiekt są wektorami o długości 1 WEKTORY

Bardziej szczegółowo

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu Wprowadzenie do Pakietu R dla kierunku Zootechnika Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu Instalacja Pakietu R www.r-project.org wybór źródła wybór systemu operacyjnego:

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki Podstawy Informatyki i algorytmizacji wykład 1 dr inż. Maria Lachowicz Wprowadzenie Dlaczego arkusz

Bardziej szczegółowo

Języki skryptowe w programie Plans

Ję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ółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

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

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

Technologie informacyjne: Arkusz kalkulacyjny

Technologie informacyjne: Arkusz kalkulacyjny Wrocław, 11.05.2018 Technologie informacyjne: Arkusz kalkulacyjny Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Podstawy korzystania z arkuszy kalkulacyjnych. 1/68

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Pakiet R: Cz. II Strona 1 z 7 OBIEKTY Faktory (factors) Faktor jest specjalną strukturą, przechowującą

Bardziej szczegółowo

Pakiety Matematyczne - R Zestaw 2.

Pakiety Matematyczne - R Zestaw 2. Pakiety Matematyczne - R Zestaw 2. Część przykładów pochodzi z helpa do R i z książki: R.Biecek, Przewodnik po pakiecie R, GIS 2014, strona www: http://www.biecek.pl, Instrukcje warunkowe Składnia instrukcji

Bardziej szczegółowo

Instrukcje. Operatory. Operatory. Instrukcje sterujące. wyrażenie1 && wyrażenie2 ;

Instrukcje. Operatory. Operatory. Instrukcje sterujące. wyrażenie1 && wyrażenie2 ; Instrukcje wyrażenie1 if wyrażenie2 ; wyrażenie1 until wyrażenie2 ; wyrażenie1 wyrażenie2 ; wyrażenie1 wyrażenie2 ; wyrażenie1? wyrażenie2 : wyrażenie3 ; if (wyrażenie) blok [ [ elsif (wyrażenie) blok...

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2 Wprowadzania liczb Liczby wpisywane w komórce są wartościami stałymi. W Excel'u liczba może zawierać tylko następujące znaki: 0 1 2 3 4 5 6 7 8 9 + - ( ), / $ %. E e Excel ignoruje znaki plus (+) umieszczone

Bardziej szczegółowo

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 1. WSTĘP DO

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka sposobów.

1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka sposobów. Rachunek Prawdopodobieństwa i Statystyka lab 2. Kaja Chmielewska ( Kaja.Chmielewska@cs.put.poznan.pl ) 1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka

Bardziej szczegółowo

Część 4 życie programu

Część 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

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

LABORATORIUM 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ółowo

Matlab Składnia + podstawy programowania

Matlab 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ółowo

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający

Bardziej szczegółowo

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory w C++ Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory relacyjne (porównania) < mniejszy niż większy niż >= większy lub równy

Bardziej szczegółowo

Ćwiczenie 1. Wprowadzenie do programu Octave

Ć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

Należy ściągnąć oprogramowanie Apache na platformę

Należy ściągnąć oprogramowanie Apache na platformę Programowanie Internetowe Język PHP - wprowadzenie 1. Instalacja Oracle+Apache+PHP Instalacja Apache, PHP, Oracle Programy i ich lokalizacja Oracle Database 10g Express Edition10.2 http://www.oracle.com/technology/products/database/

Bardziej szczegółowo

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to

Bardziej szczegółowo

Przykład 1: Funkcja jest obiektem, przypisanie funkcji o nazwie function() do zmiennej o nazwie funkcja1

Przykład 1: Funkcja jest obiektem, przypisanie funkcji o nazwie function() do zmiennej o nazwie funkcja1 Rachunek Prawdopodobieństwa i Statystyka lab 3. Kaja Gutowska (Kaja.Gutowska@cs.put.poznan.pl) 1. Funkcje: - Funkcje nie powinny korzystać ze zmiennych globalnych. - Funkcje powinny być możliwie krótkie.

Bardziej szczegółowo

1. Operacje na plikach i katalogach Chcąc przeprowadzić analizę danych należy załadować/wczytać dane do R, a wyniki z pewnością chcemy zapisać.

1. Operacje na plikach i katalogach Chcąc przeprowadzić analizę danych należy załadować/wczytać dane do R, a wyniki z pewnością chcemy zapisać. Rachunek Prawdopodobieństwa i Statystyka lab 5 Kaja Gutowska (Kaja.Gutowska@cs.put.poznan.pl) Pliki do pobrania: -http://www.cs.put.poznan.pl/kgutowska/rpis/dane/dane.csv -http://www.cs.put.poznan.pl/kgutowska/rpis/dane/dane2.csv

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

1. Operacje na plikach i katalogach Chcąc przeprowadzić analizę danych należy załadować/wczytać dane do R, a wyniki z pewnością chcemy zapisać.

1. Operacje na plikach i katalogach Chcąc przeprowadzić analizę danych należy załadować/wczytać dane do R, a wyniki z pewnością chcemy zapisać. Rachunek Prawdopodobieństwa i Statystyka lab 5 i lab 6. Kaja Chmielewska (Kaja.Chmielewska@cs.put.poznan.pl) Pliki do pobrania: -http://www.cs.put.poznan.pl/kchmielewska/rpis/dane/dane.csv -http://www.cs.put.poznan.pl/kchmielewska/rpis/dane/dane2.csv

Bardziej szczegółowo

Temat: Arkusze kalkulacyjne. Program Microsoft Office Excel. Podstawy

Temat: Arkusze kalkulacyjne. Program Microsoft Office Excel. Podstawy Temat: Arkusze kalkulacyjne. Program Microsoft Office Excel. Podstawy Arkusz kalkulacyjny to program przeznaczony do wykonywania różnego rodzaju obliczeń oraz prezentowania i analizowania ich wyników.

Bardziej szczegółowo

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

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za

Bardziej szczegółowo

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 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ółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem. Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Wprowadzenie do R. log(1) ## [1] 0. sqrt(3) ## [1] sin(x = 2*pi) ## [1] e-16

Wprowadzenie do R. log(1) ## [1] 0. sqrt(3) ## [1] sin(x = 2*pi) ## [1] e-16 Wprowadzenie do R Poniższa notatka powstała na podstawie materiałów Kamila Dyby. Zacznijmy od rzeczy elementarnych czyli operacji na liczbach # Operacje arytmetyczne 1+1 2*2 3^2 5%%3 log(1) [1] 0 sqrt(3)

Bardziej szczegółowo

Wprowadzenie do MS Excel

Wprowadzenie do MS Excel Wprowadzenie do MS Excel Czym jest Excel? Excel jest programem umożliwiającym tworzenie tabel, a także obliczanie i analizowanie danych. Należy do typu programów nazywanych arkuszami kalkulacyjnymi. W

Bardziej szczegółowo

Wstęp do Programowania Lista 1

Wstę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ółowo

Python wstęp do programowania dla użytkowników WCSS

Python wstęp do programowania dla użytkowników WCSS Python wstęp do programowania dla użytkowników WCSS Dr inż. Krzysztof Berezowski Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Wprowadzenie CHARAKTERYSTYKA JĘZYKA Filozofia języka

Bardziej szczegółowo

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010 Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010 Czym jest Excel 2010 Excel jest programem umożliwiającym tworzenie tabel, a także obliczanie i analizowanie danych. Należy do typu

Bardziej szczegółowo

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku

Bardziej szczegółowo

1 Powtórzenie wiadomości

1 Powtórzenie wiadomości 1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

Bardziej szczegółowo

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 8/9 Wykład nr 4 (.3.9) Rok akademicki 8/9, Wykład nr 4 /33 Plan wykładu

Bardziej szczegółowo

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

Bardziej szczegółowo

Przetwarzanie sygnałów

Przetwarzanie 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ółowo

Podstawy Informatyki i algorytmizacji

Podstawy Informatyki i algorytmizacji Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki Podstawy Informatyki i algorytmizacji dr inż. Maria Lachowicz Zagadnienia poruszane w ramach wykładu

Bardziej szczegółowo

Wstęp do programowania

Wstę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ółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

Microsoft Excel 2003 profesjonalna analiza i raportowanie oraz prezentacja danych

Microsoft Excel 2003 profesjonalna analiza i raportowanie oraz prezentacja danych Microsoft Excel 2003 profesjonalna analiza i raportowanie oraz prezentacja danych Projekt: Wdrożenie strategii szkoleniowej prowadzony przez KancelarięPrezesa Rady Ministrów Projekt współfinansowany przez

Bardziej szczegółowo

Obliczenia inżynierskie arkusz kalkulacyjny. Technologie informacyjne

Obliczenia inżynierskie arkusz kalkulacyjny. Technologie informacyjne Obliczenia inżynierskie arkusz kalkulacyjny Technologie informacyjne Wprowadzanie i modyfikacja danych Program Excel rozróżnia trzy typy danych: Etykiety tak określa sie wpisywany tekst: tytuł tabeli,

Bardziej szczegółowo

140, , ,000 80, ROK

140, , ,000 80, ROK 140,000 PRODUKCJA 120,000 100,000 80,000 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 ROK 130,000 120,000 PRODUKCJA 110,000 100,000 90,000 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008

Bardziej szczegółowo

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak: Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak: accept - typy zawartości MIME akceptowane przez serwer (opcjonalny) accept-charset - zestaw znaków akceptowanych

Bardziej szczegółowo

Visual Basic for Application (VBA)

Visual Basic for Application (VBA) Visual Basic for Application (VBA) http://dzono4.w.interia.pl Książka Visual Basic dla aplikacji w Office XP PL, autorzy: Edward C. Willett i Steve Cummings, Wyd. Helion Typy zmiennych Różne dane różnie

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

Elementy metod numerycznych - zajęcia 9

Elementy metod numerycznych - zajęcia 9 Poniższy dokument zawiera informacje na temat zadań rozwiązanych w trakcie laboratoriów. Elementy metod numerycznych - zajęcia 9 Tematyka - Scilab 1. Labolatoria Zajęcia za 34 punktów. Proszę wysłać krótkie

Bardziej szczegółowo

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

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch. Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania

Bardziej szczegółowo

ARKUSZ KALKULACYJNY komórka

ARKUSZ KALKULACYJNY komórka ARKUSZ KALKULACYJNY Arkusz kalkulacyjny program służący do obliczeń, kalkulacji i ich interpretacji graficznej w postaci wykresów. Przykłady programów typu Arkusz Kalkulacyjny: - Ms Excel (*.xls; *.xlsx)

Bardziej szczegółowo

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz.3

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz.3 Wyższa Szkoła Ekologii i Zarządzania Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz.3 Slajd 1 Excel Slajd 2 Adresy względne i bezwzględne Jedną z najważniejszych spraw jest tzw. adresacja. Mówiliśmy

Bardziej szczegółowo

Ćwiczenie 1. Wprowadzenie do programu Octave

Ć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

Visual Basic for Application (VBA)

Visual Basic for Application (VBA) Visual Basic for Application (VBA) http://dzono4.w.interia.pl Książka Visual Basic dla aplikacji w Office XP PL, autorzy: Edward C. Willett i Steve Cummings, Wyd. Helion Typy zmiennych Różne dane różnie

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

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

Bardziej szczegółowo

Bazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy

Bazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy Bazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 MySQL i programowanie wsadowe C:\wyklady\bazy> mysql < nazwa pliku

Bardziej szczegółowo

Ćwiczenia Skopiować do swojego folderu plik cwiczenia-kl.ii.xls, a następnie zmienić jego nazwę na imię i nazwisko ucznia

Ćwiczenia Skopiować do swojego folderu plik cwiczenia-kl.ii.xls, a następnie zmienić jego nazwę na imię i nazwisko ucznia Temat 23 : Poznajemy podstawy pracy w programie Excel. 1. Arkusz kalkulacyjny to: program przeznaczony do wykonywania różnego rodzaju obliczeń oraz prezentowania i analizowania ich wyników, utworzony (w

Bardziej szczegółowo

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz

Bardziej szczegółowo

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

Bardziej szczegółowo

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2 Pętle wielokrotne wykonywanie ciągu instrukcji. Bardzo często w programowaniu wykorzystuje się wielokrotne powtarzanie określonego ciągu czynności (instrukcji). Rozróżniamy sytuacje, gdy liczba powtórzeń

Bardziej szczegółowo

Matlab Składnia + podstawy programowania

Matlab 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ółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /

Bardziej szczegółowo

Wstęp do Informatyki dla bioinformatyków

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

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY 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ółowo

-Instalacja R: -Instalacja RStudio:

-Instalacja R:   -Instalacja RStudio: Rachunek Prawdopodobieństwa i Statystyka lab 1. Kaja Chmielewska (Kaja.Chmielewska@cs.put.poznan.pl) 1. Krótko o R R jest wolnym (otwartym i darmowym), zaawansowanym środowiskiem oraz językiem programowania.

Bardziej szczegółowo

4. Funkcje. Przykłady

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

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl

Bardziej szczegółowo

Wprowadzenie do środowiska

Wprowadzenie do środowiska Wprowadzenie do środowiska www.mathworks.com Piotr Wróbel piotr.wrobel@igf.fuw.edu.pl Pok. B 4.22 Metody numeryczne w optyce 2017 Czym jest Matlab Matlab (matrix laboratory) środowisko obliczeniowe oraz

Bardziej szczegółowo

JAVAScript w dokumentach HTML - przypomnienie

JAVAScript w dokumentach HTML - przypomnienie Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w

Bardziej szczegółowo

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski Podstawy Pythona Krzysztof Gdawiec Instytut Informatyki Uniwersytet Śląski Słownik jest typem mutowalnym. Każdy element to para: klucz wartość. W celu stworzenia słownika pary klucz wartość umieszczamy

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

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

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 3 Podstawy programowania w T-SQL Zmienne i operatory Instrukcje sterujące Komunikaty Format daty

Bardziej szczegółowo

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Komentarze 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ółowo

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2] 1. CEL ĆWICZENIA Celem ćwiczenia jest przedstawienie możliwości wykorzystania języka JavaScript do tworzenia interaktywnych aplikacji działających po stronie klienta. 2. MATERIAŁ NAUCZANIA JavaScript tak

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie

Bardziej szczegółowo

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego 1 SKRYPTY Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego z = 1 y + 1+ ( x + 2) 3 x 2 + x sin y y + 1 2 dla danych wartości x = 12.5 i y = 9.87. Zadanie to można rozwiązać: wpisując dane i wzór wyrażenia

Bardziej szczegółowo