Sivujen muokkaaminen vaatii nykyään kirjautumisen. Jos sinulla ei vielä ole tunnuksia, luo sellaiset.

Ero sivun ”Ohjelmointi” versioiden välillä

Primayk
Loikkaa: valikkoon, hakuun
p (code golf)
(lisätty röda (vihdoinkin selkeä ja luettava versio))
Rivi 30: Rivi 30:
  
 
<code><nowiki>0 iisiiiisiiiiiiiioniiisisioiiiiiiiooiiioniisiisddddoniisiiiiisiiiiiioniiisiisddddddddddoiiioddddddoddddddddoniiisio</nowiki></code>
 
<code><nowiki>0 iisiiiisiiiiiiiioniiisisioiiiiiiiooiiioniisiisddddoniisiiiiisiiiiiioniiisiisddddddddddoiiioddddddoddddddddoniiisio</nowiki></code>
 +
 +
=== Röda ===
 +
 +
Ohjelmoinnissa on tärkeää osata kirjoittaa kuvaavia kommentteja, jotta jokainen ummikkokin ymmärtää ohjelman toiminnan.
 +
 +
Seuraavassa pätkässä on kuvattu ohjelman toiminta mahdollisimman selkeästi. Ohjelma tulostaa halutusti tekstin "<code>Hello world!</code>".
 +
 +
<pre>
 +
main {
 +
/* Viesti */
 +
viesti := "Hei maailma!"
 +
 +
/* Osoite, jonka avulla otetaan yhteys näyttöön */
 +
osoite := "ddgLf#zjjcgd"
 +
 +
/* Lähetetään viesti näytölle */
 +
lähetä osoite viesti
 +
 +
/* Suljetaan BTOS-palvelu käskyllä 10 */
 +
push ![ ((10)) | btos]
 +
}
 +
 +
/* Aliohjelma viestin lähettämistä varten */
 +
function lähetä osoite viesti {
 +
/* Valmistelee osoitteen ja viestin lähetystä varten */
 +
valmistele osoite viesti
 +
(
 +
/* Lähetetään siniaaltoa kohdelaitteeseen yhteyden avaamiseksi */
 +
!(seq 0 $(#osoite - 1) |
 +
/* Käydään läpi löydetyt laitteet */
 +
push $(
 +
/* Lähtetetään viesti laitteeseen */
 +
osoite[laite] + viesti[laite] - [
 +
/* Varmistetaan, että käytössä on oikea protokolla (laitetunnus 3 => eri protokolla) */
 +
if ($(laite != 3)) do(100); else(0); done
 +
]
 +
) for laite
 +
)
 +
) | btos /* Varmistetaan, että Binary Teletransfer Object Service on päällä */
 +
}
 +
 +
/* Käyttää Standard Telemetric Object Balance -järjestelmää muuntaakseen oliot kelvollisiksi lähetystä varten */
 +
function valmistele &oliot... {
 +
{ stob olio | pull olio } for olio in oliot
 +
}
 +
</pre>
  
 
[[Luokka:Ohjelmointi]]
 
[[Luokka:Ohjelmointi]]

Versio 22. helmikuuta 2016 kello 14.23

Ohjelmointi, eli puheessa usein koodaus, on menetelmä, jolla haluttu tehtävä tai laskutoimitus muunnetaan tietokoneelle ymmärrettävään muotoon, yleensä jollekin ohjelmointikielelle.

Ohjelmointi on matematiikantajua vaativaa puuhaa, ja siksi se soveltuu matikisteille hyvin. Matematiikkalukiolaisille on järjestetty ohjelmointikursseja vuoden 2014 syksystä lähtien. Ensimmäistä kurssia veti silloinen abi Henrik Lievonen.

Ohjelmoinnissa (ja erityisesti algoritmiohjelmoinnissa) voi kilpailla. Peruskoulun ja lukion opiskelijoille tarkoitettuja kilpailuja ovat mm. Datatähti ja kansainvälinen IOI. Ohjelmoinnissa on myös huvin vuoksi harjoitettavia haaroja kuten code golf, joka on myös kilpailullinen harraste.

Esimerkkejä ohjelmoinnista

Ohjelmointikielien perusesimerkkeinä käytetään yleensä ns. Hello World -ohjelmaa, joka tulostaa ruudulle sanat Hello World.

Tässä on joitakin esimerkkejä Hello World -ohjelmista eri ohjelmointikielillä. (Täydellinen luettelo)

Brainfuck

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.

Befunge

0"!dlroW ,olleH">:#,_@

Malbolge

(=<`$9]7<5YXz7wT.3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm

HQ9+

H

Goldfish

0 iisiiiisiiiiiiiioniiisisioiiiiiiiooiiioniisiisddddoniisiiiiisiiiiiioniiisiisddddddddddoiiioddddddoddddddddoniiisio

Röda

Ohjelmoinnissa on tärkeää osata kirjoittaa kuvaavia kommentteja, jotta jokainen ummikkokin ymmärtää ohjelman toiminnan.

Seuraavassa pätkässä on kuvattu ohjelman toiminta mahdollisimman selkeästi. Ohjelma tulostaa halutusti tekstin "Hello world!".

main {
	/* Viesti */
	viesti := "Hei maailma!"

	/* Osoite, jonka avulla otetaan yhteys näyttöön */
	osoite := "ddgLf#zjjcgd"

	/* Lähetetään viesti näytölle */
	lähetä osoite viesti

	/* Suljetaan BTOS-palvelu käskyllä 10 */
	push ![ ((10)) | btos]
}

/* Aliohjelma viestin lähettämistä varten */
function lähetä osoite viesti {
	/* Valmistelee osoitteen ja viestin lähetystä varten */
	valmistele osoite viesti
	(
		/* Lähetetään siniaaltoa kohdelaitteeseen yhteyden avaamiseksi */
		!(seq 0 $(#osoite - 1) |
			/* Käydään läpi löydetyt laitteet */
			push $(
				/* Lähtetetään viesti laitteeseen */
				osoite[laite] + viesti[laite] - [
					/* Varmistetaan, että käytössä on oikea protokolla (laitetunnus 3 => eri protokolla) */
					if ($(laite != 3)) do(100); else(0); done
				]
			) for laite
		)
	) | btos /* Varmistetaan, että Binary Teletransfer Object Service on päällä */
}

/* Käyttää Standard Telemetric Object Balance -järjestelmää muuntaakseen oliot kelvollisiksi lähetystä varten */
function valmistele &oliot... {
	{ stob olio | pull olio } for olio in oliot
}