Abstrakcija

Abstrakcija je učen izraz za stvari, ki jih pravzaprav nenehno počnemo, in to ne samo pri programiranju: zanemarjanje nebistvenih okoliščin. Oglejmo si spodnja tri vprašanja:

  • Iz škatle smo izvlekli kroglice s številkami 25, 20 in 17. Katera od teh številk je najmanjša? 25, 20 ali 17?
  • Trije prijatelji se med seboj primerjajo po starosti. Prvi je rojen leta 1999, drugi 1998, tretji pa 2001. Katerega leta je bil rojen najmlajši med njimi?
  • Dijaki tretjih letnikov gimnazije Tecigrad so tekmovali v teku na 1000 metrov. Dijaki razreda A so navedeno razdaljo v povprečju pretekli v 230 sekundah, dijaki razreda B v 260 sekundah, dijaki razreda C pa v 250 sekundah. Kolikšen povprečni čas je dosegel najhitrejši razred?

Se zgornja tri vprašanja med seboj razlikujejo? Seveda se, saj prvo govori o kroglicah, drugo o starostih, tretje pa o teku. Če pa pogledamo nanje skozi programerska očala, vidimo, da nas pri vseh treh pravzaprav zanima isto: najmanjše med podanimi tremi števili. S stališča programiranja ni pomembno, ali podana števila predstavljajo številke kroglic, letnice rojstva ali tekaške rezultate. Programer abstrahira (odmisli) zanj nebistvene okoliščine in se osredotoči na programerski problem, ki ga mora rešiti. V našem primeru gre za problem iskanja najmanjšega med podanimi tremi števili.

Vaja


Vaja

V razmislek