> 7 + 18; > 13*(344); > 5**2; > 6 = 2*3; > 5 >= 2 * 3; > 150 >> +23-365 >> *2 >> ; > x := -23.5; > x; > x := x + 20; > x; > > 23/34; > !rational on > 3/4 + 5/6; > !rational off > 3/4 + 5/6; > > p := [3, -2]; q := [1, 4.5]; r := [0.5, -2, -3]; > p; q; r; > p(1); p(2); q(2); r(4); > pituus := 0; > for i in [1..3] do >> pituus := pituus + r(i)**2; >> end; > pituus := sqrt(pituus); > pituus;Varmistakaa, että kaikki ryhmän jäsenet osaavat vastata seuraaviin kysymyksiin:
> Maksim := (max(2,3) = 2); > maksim; > Maksim; > Maksim or (5 > 4) ; > sqrt(7) = 7**0.5; > (2 /= 3); $ merkki /= tarkoittaa erisuuruus-merkkiä > (2 /= 3) and ((5/3) > 1); > abs(2-4) < 1; $ 'abs' kuten absolute value; itseisarvo > K := {1,2,3,4}; H := {2,4,6}; G := {}; > K inter H; $ 'inter' tulee sanasta intersection > K union H; > #K; #H; #G; > G inter H; > Z20 := {0..19}; Z20; > kolmeZ20 := {0,3..19}; kolmeZ20; > kolmeZ20 subset Z20; $ subset = osajoukko > 1 in K; 0 in K; > 1 in K-{1}; > K-{1}; > A := [1..7]; A; A; A; > B := {1..7}; B; B; B;Mikä ero on A:lla ja B:llä? (A on ISETLissä datatyyppiä TUPLE).
> p := [3,2,1]; q := [3,1,2]; r := [p(q(i)) | i in [1..3]]; > r; > S3 := { [a,b,c] | a,b,c in [1..3] : #{a,b,c} = 3 }; S3;Joukon S3 alkioita kutsutaan permutaatioiksi (tavoiksi järjestää kolmen alkion joukko), ja r on permutaatioiden p ja q yhdiste.
Tutki seuraavaksi ISETL-komentoja div ja mod erilaisilla luvuilla. Mitä nämä funktiot tekevät?
> 6 div 3; 7 div 3; 8 div 3; ... (jatka samaan tapaan) > 6 mod 3; 7 mod 3; 8 mod 3; ...Mikä yhdistää lukuja m, n, m div n ja m mod n ?
> g := func(x); >> return 2*x - x**2; >> end func; > g(2); g(0);Seuraavassa funktiossa esiintyvä sana 'integer' on suomeksi kokonaisluku.
> a10 := func(x,y); >> if (is_integer(x) and is_integer(y)) then >> return (x+y) mod 10 >> else return ''Eivat olleet kokonaislukuja'' >> end if; >> end; > a10(3,4); a10(1,11); ...Kirjoita sitten oma funktio onko_tekija, jonka syötteenä on kaksi lukua x ja y, ja joka palauttaa totuusarvon true, mikäli x on y:n tekijä, ja muutoin palauttaa false. Aloita funktiosi kirjoittaminen rivillä
> onko_tekija := func(x,y);Muista, että funktiossa tulee olla return-lauseke!
> Z20 : = { a mod 20 | a in [-30..50] }; > H := { g : g in Z20 | even(g) }; > K := { (5*g) mod 20 | g in Z20 }; > L := [ [q,r] | q, r in [-50..50] : 45 = 6*q + r ]; > #(Z20); #H, #K; > s := [ i | i in [1..20] : even(i) ]; > t := { i | i in [1..20] : even(i) }; > s; t; s; t;b) Muodosta joukko, jonka alkioina ovat kaikkien parillisten välillä [1,50] olevien kokonaislukujen neliöt.
[3,''kolme'',2+1] ja [x,4,[3,''OM'']]
ovat tupleja. Suomen kielessä ei ole mitään hyvää
nimitystä TUPLElle. Sitä voisi kutsua alkioiden lukumäärän
mukaan 2-jonoksi, 3-jonoksi, jne. tai vektoriksi.
Joukkoja voidaan muodostaa käyttämällä syntaksia
{(joukon alkion muoto) : (ehto, jonka joukon alkion tulee toteuttaa)}
aivan samaan tapaan kuin matematiikassakin. Niinpä esimerkiksi
joukko { k+2 \mid k Î {1,3,4}}
kirjoitetaan ISETLiin joukkona {k+2 | k in {1,3,4}} eli hyvin
samalla tavalla kuin matematiikassakin. Joukon alkion muotoa ja ehtoja
erottaa joko kaksoispiste ( : ) tai pystyviiva ( | ).
Tupleja voi muodostaa samalla tavalla. Lisäksi ISETLissä
ovat käytössä komennot
{a..b}, [a..b], {a,b..c} ja [a,b..c]
> syt := func(m,n); >> local s; >> s := 1; >> for i in [1..m] do ....