> 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 ....