Kirjautuminen

Haku

Tehtävät

Opasarkisto: Pascal-ohjelmointi: Osa 1 - Mistä Pascal alkaa?

  1. Osa 1 - Mistä Pascal alkaa?
  2. Osa 2 - Vakiot, muuttujat ja tietueet
  3. Osa 3 - Silmukat ja ehtolauseet
  4. Osa 4 - Tiedostot
  5. Osa 5 - Funktiot, aliohjelmat ja omat moduulit

Kirjoittaja: Metabolix. Vuosi: 2004.

Huomio! Tämä opas on vanhentunut. Oppaan sisältöön ei voi enää luottaa. Opas on säilytetty vain sen historiallisen arvon vuoksi.

Tässä opassarjassa käydään pikaisesti läpi joitakin Pascal-ohjelmointikielen perusasioita kuten muuttujia, silmukoita ja ehtolauseita.

Välineitä etsimässä

Yleisesti käytetty ilmainen Pascal-kääntäjä on Free Pascal, joka toimii Windowsissa, Linuxissa ja monissa muissa käyttöjärjestelmissä. Windowsissa editoriksi kelpaa Bloodshedin Dev-Pascal, Linuxissa on lukuisia vaihtoehtoja (mm. Kate). Lazarus on hieman raskaampi ja monipuolisempi kehitysympäristö, joka myöskin käyttää Free Pascal -kääntäjää.

Itse kielestä

Pascalia on nykyisin karkeasti kahta laatua: "tavallista" Pascalia ja Object Pascalia. Näistä ensimmäinen viittaa yleensä 1990-luvun alun Extended Pascal -standardiin ja sen perillisiin. Jälkimmäinen puolestaan käsittää kaikki Pascalin murteet, joihin on lisätty erityinen tuki olio-ohjelmoinnille. Monet kääntäjät tuovat tullessaan myös muita omia erikoisuuksiaan: esimerkiksi Borlandin Turbo Pascal sisältää laajan valikoiman DOSiin liittyviä apuvälineitä, jotka eivät kuulu Pascaliin. Tämä opassarja keskittyy tavalliseen Pascaliin ja paikoin Delphin laajennoksiin; olio-ohjelmointi jääköön myöhemmäksi, samoin käyttöjärjestelmäkohtaiset ominaisuudet ja muut apukirjastot.

Pascal on hyvin helppo kieli. Jos osaa englantia, se on vielä helpompi. Rakenteet ovat selkeitä, kunhan niiden selkeyteen kiinnittää hetkisen huomiota, ja loogisia, jos niitä ei väkisin muuksi väännä. Pascal suunniteltiin alun perin ohjelmoinnin opiskelemista varten, ja siihen se on edelleenkin erittäin hyvä. Sen perusteet on helppo oppia, mutta kuitenkin kieli on kyllin monipuolinen ja tehokas. Se on monin paikoin lähempänä C:tä tai C++:aa kuin esimerkiksi Basicin sukuiset kielet, mutta sulkujen ja symboliikan sijaan kielessä käytetään paljon selviä sanoja, minkä takia se ulkonäöltään muistuttaa etäisesti Basiceja.

Ohjelman rakenne

Jokainen Pascal-ohjelma alkaa sanalla program, jota seuraa ohjelman nimi. Esimerkiksi näin:

program Ohjelma;

Lauseet erotetaan toisistaan puolipisteellä (;), joka tyypillisesti merkitään, aivan kuten tuossa esimerkissä, lauseen (useimmiten rivin) loppuun.

Tämän jälkeen luetellaan ohjelman käyttämät moduulit. Tällä tavoin säästytään kirjoittamasta uudelleen esimerkiksi järjestelmän perusfunktioita. Isommissa ohjelmissa kannattaa myös jakaa koodi useampaan osaan, jotta sitä on helpompi selata. Hyvin yleisesti ohjelmaan sisällytetään SysUtils-moduuli, graafisiin Windows-ohjelmiin tarvitaan Windows-moduuli. Esimerkiksi näin:

uses
  SysUtils, Windows;

Tähän väliin voisi määrittää omia tietueita ja Object Pascalissa luokkia, jos niitä ei haluta määrittää omissa tiedostoissaan. Luokista ja tietueista kerrotaan lisää myöhemmin.

Seuraavaksi tulee määritellä koko ohjelman laajuiset muuttujat ja vakiot. Tavallisimpia muuttujatyyppejä ovat kokonaisluvut, liukuluvut (desimaaliluvut) ja tekstimuuttujat sekä Boolean- eli totuusarvomuuttujat, joiden arvo on True tai False (tosi tai epätosi). Useimmissa kääntäjissä Integer tarkoittaa "tavallista" eli 32-bittistä kokonaislukua LongInt, joka kattaa lukualueen -2147483648 .. 2147483647, mutta vanhemmat kääntäjät saattavat käyttää tässä 16-bittistä kokonaislukua SmallInt, joka kattaa lukualueen -32768 .. 32767. Kattavamman luettelon muuttujista löydät Pascal-hakemistosta ja opassarjan toisesta osasta. Muuttujat määritellään sanan var jälkeen, vakiot puolestaan sanan const jälkeen.

Muuttujien ja vakioiden määrittely voisi näyttää vaikkapa tältä:

var
  Luku: Integer;
  PieniLuku: SmallInt;
  Teksti: String;
const
  Onnennumero = 13;
  TarkeaTekstivakio = 'Tekstin kummassakin päässä on heittomerkki';

Ohjelmat voivat sisältää vapaasti kommentteja, ohjelmoijan muistiinpanoja ohjelman toiminnasta.

{ Kommentit kirjoitetaan aaltosulkuihin. }
(* Oli myös aika, jolloin ei ollut aaltosulkuja;
   silloin kommentti oli tällainen. *)

Seuraavaksi voidaan aloittaa itse ohjelma, vaikka tähän voitaisiin laittaa paljon muutakin. Itse suoritettava ohjelma, kuten myös kaikki ohjelman sisäiset kokonaisuudet, alkaa sanalla begin ja päättyy sanaan end. Koska tämä on koko ohjelman loppu, tulee sanan end perään piste.

Kokonainen ohjelma voisi näyttää tältä:

program Testi;

begin
  { Tulostetaan käyttäjälle viesti. }
  Writeln('Pascal on hieno kieli!');
end.

Kun ohjelma ajetaan, se tulostaa ruudulle yhden rivin:

Pascal on hieno kieli!

Loppuhuomauksia

Lauri Kenttä, 9.8.2004


Kommentit

zigilii [21.09.2004 18:36:26]

Lainaa #

Mistä Pascal alkaa?

vastaus
P:stä
:)

varmasti hyödyllisiä oppaita
täytyy lukea ajatuksen kanssa joskus kun on aikaa

Gwaur [22.09.2004 19:51:04]

Lainaa #

Mitä yhteistä on elefantilla ja puhelinkopilla?
Molemmat alkaa peellä paitsi elefantti.

omg lol xd

Stume [24.09.2004 18:24:55]

Lainaa #

Hyvä opas. Tulee tarpeen.

BlueByte [28.09.2004 15:36:09]

Lainaa #

kiitos paljon!
Olen ettinyt pascal opasta mutta ainoat jota olen löytänyt googlesta on olleet huonoja :)

Metabolix [28.09.2004 16:37:36]

Lainaa #

Joo, tiesinkin, että Pascal-oppaat ovat aika harvassa. Juuri siksi tämä on nyt täällä.

BlueByte [28.09.2004 18:02:06]

Lainaa #

kiitos kiitos :)

Latska [08.10.2004 13:51:29]

Lainaa #

Opas kirjoitti:

* Pascal-kääntäjät hyväksyvät sanat kirjoitusasusta riippumatta. Voit siis kirjoittaa ohjelman alkuun vaikkapa pRogRam

Mutta pascal ei varmaan hyväksy peelottuja sanoja. Esim Pr0gR4m saattaisi näittää pökelöltä. :)

Osasin muuten pascalia suunnilleen tämän + seuraavan oppaan verran.

Pascalpoika [11.12.2015 13:36:23]

Lainaa #

Hyvä :) Paras pascal-opassarja, jota suomeksi löytyy

Kirjoita kommentti

Huomio! Kommentoi tässä ainoastaan tämän oppaan hyviä ja huonoja puolia. Älä kirjoita muita kysymyksiä tähän. Jos koodisi ei toimi tai tarvitset muuten vain apua ohjelmoinnissa, lähetä viesti keskusteluun.

Muista lukea kirjoitusohjeet.
Tietoa sivustosta