-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathglossary.tex
164 lines (132 loc) · 7.62 KB
/
glossary.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
\newglossaryentry{dokumentaatio}{
name=dokumentaatio,
description={(engl. \textit{documentation}) Ohjelmiston tai ohjelmointikielen hakuteosta muistuttava asiakirja, joka kertoo yksityiskohtaisesti sen ominaisuuksista. Vaatii yleensä esitietoja. Pythonin dokumentaatio löytyy osoitteesta \url{https://docs.python.org/3/}}
}
\newglossaryentry{komentotulkki}{
name=komentotulkki,
description={(engl. \textit{shell} tai \code{interpreter}) Interaktiivinen ohjelma, johon käyttäjä syöttää ohjelmakoodia, joka suoritetaan välittömästi. Python-komentotulkin saa auki \code{python}-komennolla; myös IDLE:ssä on komentotulkki}
}
\newglossaryentry{IDLE}{
name=IDLE,
description={(Integrated Development and Learning Environment) Helppokäyttöinen ohjelma Python-koodin käsittelemiseen}
}
\newglossaryentry{lause}{
name=lause,
description={(engl. \textit{statement}) Sellainen pätkä Python-koodia, joka voi esiintyä itsenäisesti. Esimerkiksi \code{print("kissa")} tai \code{x=6} ovat lauseita}
}
\newglossaryentry{funktio}{
name=funktio,
description={(engl. \textit{function}) Ohjelmoinnissa sellainen arvo, jota voidaan kutsua antamalla sille nolla tai useampi argumenttia. Funktioilla voi olla paluuarvo, sivuvaikutuksia tai ei kumpaakaan. Esimerkiksi \code{print} on funktio, joka tulostaa sille annetun argumentin}
}
\newglossaryentry{merkkijono}{
name=merkkijono,
description={(engl. \textit{string}) Merkeistä koostuva pätkä tekstiä. Pythonissa merkkijonoja voi merkitä asettamalla ne lainausmerkkien sisään: esimerkiksi \code{"kissa"} on merkkijono}
}
\newglossaryentry{versiohallintaohjelma}{
name=versiohallintaohjelma,
description={(engl. \textit{version control system}) Koodin säilyttämiseen ja historiatietojen kirjaamiseen suunniteltu ohjelmisto, joka helpottaa useamman ohjelmoijan yhteistyötä. Suosittuja ovat nykyisin mm. Git ja Mercurial}
}
\newglossaryentry{koodinvaihtomerkki}{
name=koodinvaihtomerkki,
description={(engl. \textit{escape character}) Koodinvaihtomerkki on jokin merkki (Pythonissa kenoviiva \code{\textbackslash}), jonka avulla voidaan kirjoittaa merkkejä, jotka muuten tulkittaisiin virheellisesti. Esimerkiksi merkkijonojen sisällä lainausmerkin saa kirjoittamalla \code{\textbackslash"}, sillä pelkkä lainausmerkki tulkittaisiin merkkijonon päättymiseksi}
}
\newglossaryentry{muuttuja}{
name=muuttuja,
description={(engl. \textit{variable}) \glslink{lauseke}{Lauseke}, joka viittaa sille aiempin määriteltyyn arvoon. Muuttujien nimillä on joitakin rajoituksia; \code{x3} ja \code{var} ovat sallittuja, mutta \code{muut)} ja \code{4y} ovat kiellettyjä}
}
\newglossaryentry{tyyppi}{
name=tyyppi,
description={(engl. \textit{type}) Jokaisella arvolla on tyyppi, joka kertoo sen ominaisuudet, kuten sen, mitä operaattoreita ja metodeja sillä on}
}
\newglossaryentry{liukuluku}{
name=liukuluku,
description={(engl. \textit{floating point number}) Pythonin vastine desimaaliluvuille. Liukuluvuilla laskeminen on niiden sisäisestä esityksestä johtuen epätarkkaa}
}
\newglossaryentry{sisennys}{
name=sisennys,
description={(engl. \textit{indentation}) Rivin alussa olevien välilyöntien tai tabulaattorien määrä}
}
\newglossaryentry{syntaksi}{
name=syntaksi,
description={(engl. \textit{syntax}) Ohjelmointikielen kielioppi eli se, minkälaisia osia koodista on sallittua käyttää missäkin yhteydessä. Vertaa \glslink{semantiikka}{semantiikkaan}}
}
\newglossaryentry{semantiikka}{
name=semantiikka,
description={(engl. \textit{semantics}) Termi sille, mikä merkitys koodin eri osilla on. Vertaa \glslink{syntaksi}{syntaksiin}}
}
\newglossaryentry{funktiokutsu}{
name=funktiokutsu,
description={(engl. \textit{function call}) Eräs \gls{lauseke}, jossa on tietyn \glslink{funktio}{funktion} nimi sekä suluin ympäröidyt argumentit. Esimerkiksi \code{print("Hello World!")} on funktiokutsu}
}
\newglossaryentry{lauseke}{
name=lauseke,
description={(engl. \textit{expression}) Osa koodia, jolla on jollakin \glslink{tyyppi}{tyypillä} kuvattava arvo. Esimerkiksi \code{2+4}, \code{"merkkijono"} ja \code{int("66")} ovat lausekkeita}
}
\newglossaryentry{sivuvaikutus}{
name=sivuvaikutus,
description={(engl. \textit{side effect}) Sellainen toiminta, jolla \gls{funktio} vaikuttaa ohjelman tilaan ja tekee jotain muutakin kuin vain laskee paluuarvonsa}
}
\newglossaryentry{rekursio}{
name=rekursio,
description={(engl. \textit{recursion}) Se, että \gls{funktio} kutsuu itseään}
}
\newglossaryentry{avainsana}{
name=avainsana,
description={(engl. \textit{keyword}) Pythonin varaama termi, kuten \code{if} tai \code{while}, jota ei saa käyttää \glslink{muuttuja}{muuttujan} nimenä}
}
\newglossaryentry{tietorakenne}{
name=tietorakenne,
description={(engl. \textit{data structure}) Arvo, joka voi sisältää muita arvoja. Esimerkiksi \gls{lista} on tietorakenne}
}
\newglossaryentry{lista}{
name=lista,
description={(engl. \textit{list}) \gls{indeksoitu}, muuttuva \gls{tietorakenne}, jonka voi määritellä syntaksilla \code{[1, 2, 3]}}
}
\newglossaryentry{alkio}{
name=alkio,
description={(engl. \textit{element, item, member}) Jonkin \glslink{tietorakenne}{tietorakenteen} sisältämä arvo. Esimerkiksi listan \code{["a", "b"]} alkioita ovat \code{"a"} ja \code{"b"}}
}
\newglossaryentry{joukko}{
name=joukko,
description={(engl. \textit{set}) \glslink{tietorakenne}{Tietorakenne}, jonka \glslink{alkio}{alkiot} eivät ole järjestyksessä, ja jossa jokaista alkiota voi olla vain yksi kappale}
}
\newglossaryentry{tuple}{
name=tuple,
description={(engl. \textit{tuple}, suomeksi myös \textit{monikko} ja \textit{tuppeli}) Muuttumaton, \gls{indeksoitu} \gls{tietorakenne}. Vertaa \glslink{lista}{listaan}}
}
\newglossaryentry{indeksoitu}{
name=indeksoitu,
description={(engl. \textit{ordered, indexed}) \glslink{tietorakenne}{Tietorakenne} on indeksoitu, jos sen \glslink{alkio}{alkiot} ovat jossakin järjestyksessä. Esimerkiksi \glslink{lista}{listat} \code{[4, 5]} ja \code{[5, 4]} ovat eri listoja, koska niiden alkiot ovat eri järjestyksessä, joten lista on indeksoitu tietorakenne}
}
\newglossaryentry{hajautustaulu}{
name=hajautustaulu,
description={(engl. \textit{hash table, hash map, dictionary}) \glslink{tietorakenne}{Tietorakenne}, jossa jokaista avainta vastaa jokin arvo. Avaimet ja arvot voivat olla mitä tahansa tyyppiä}
}
\newglossaryentry{luokka}{
name=luokka,
description={(engl. \textit{class}) Yleisnimitys \glslink{tyyppi}{tyypille}, jolla on \glslink{attribuutti}{attribuutteja}, \glslink{metodi}{metodeja} ja \gls{periytys}. Pythonissa kaikki tyypit ovat luokkia}
}
\newglossaryentry{olio}{
name=olio,
description={(engl. \textit{object}) Jonkin \glslink{luokka}{luokan} yksi esiintymä; esim. \code{7} on \code{int}-luokan olio}
}
\newglossaryentry{attribuutti}{
name=attribuutti,
description={(engl. \textit{attribute}) Johonkin \glslink{olio}{olioon} liitetty muuttuja. \code{kissa.nimi} on \code{kissa}-olion attribuuttia \code{nimi}}
}
\newglossaryentry{konstruktori}{
name=konstruktori,
description={(engl. \textit{constructor}) Erityinen \gls{metodi}, joka suoritetaan silloin, kun \gls{olio} luodaan}
}
\newglossaryentry{metodi}{
name=metodi,
description={(engl. \textit{method}) \glslink{olio}{Olioon} liitetty funktio. \code{olio.metodi(argumentit)} kutsuu \code{olio}-olion metodia \code{metodi}}
}
\newglossaryentry{periytys}{
name=periytys,
description={(engl. \textit{inheritance}) \glslink{luokka}{Luokan} ominaisuus, jolla se voi kopioida toisen luokan tietoja}
}
\newglossaryentry{yliajaminen}{
name=yliajaminen,
description={(engl. \textit{overloading}) Se, että jonkin \glslink{metodi}{metodin} \glslink{periytys}{perivä} \gls{olio} määrittelee sen uudelleen}
}