50 lines
2.7 KiB
Markdown
50 lines
2.7 KiB
Markdown
---
|
|
title: "00 - Conceptes bàsics"
|
|
author: "Marc Sastre Rienitz"
|
|
date: 2021-10-27T21:56:35+02:00
|
|
type: post
|
|
---
|
|
|
|
# Què és un programa?
|
|
Un programa (un algoritme) és una llista d'instruccions que cal executar una darrera de l'altra.
|
|
Les instruccions es poden expresar en diversos nivells d'abstracció. Per exemple, per fer una truita de patates podries dir:
|
|
|
|
- Alt nivell d'abstacció:
|
|
1. Fes una truita de patates.
|
|
|
|
- Nivell d'abstracció mitjà:
|
|
1. Sofregeix ceba.
|
|
2. Afegeix-hi patata.
|
|
3. Bat uns ous i afegeix-los.
|
|
4. Deixa que es faci per les dues bandes.
|
|
|
|
- Baix nivell d'abstracció:
|
|
1. Agafa una ceba i pela-la, talla-la a trossets.
|
|
2. Posa una paella al foc mitjà amb oli i afegeix-hi la ceba.
|
|
3. Pela patates i talla-les a rodanxes-
|
|
4. Afegeix les patates a la paella i deixa-les que es facin.
|
|
5. Trenca dos ous i posa'ls a un plat a batre.
|
|
6. [...]
|
|
|
|
- Molt baix nivell d'abstracció_
|
|
1. Agafa un ganivet i talla la ceba per un paral·lel a la vora de la punta.
|
|
2. Fes el mateix per l'altra banda
|
|
3. Talla-la per la meitat
|
|
4. Treu la pell marró de fora
|
|
5. Fes talls paral·lels de mida petita.
|
|
6. Agafa una paella i posa-hi oli
|
|
7. Obre el fogó i encén el foc
|
|
8. Posa la paella sobre el fogó
|
|
9. [...]
|
|
|
|
Fixem-nos que en les descripcions de més alt nivell es descriuen accions més genèriques però s'entra menys en el detall.
|
|
Quan diem de sofregir una ceba no entrem en el detall concret de com hem pelat la ceba o com la tallem.
|
|
Per altra banda, nivells més baixos d'abstracció ens obliguen a especificar els detalls.
|
|
Quan els detalls siguin més importants, ens convidrà entendre què passa a nivells més baixos d'abstracció, mentre que quan aquests són més irrellevants, generalment ens interessarà expressar-nos en nivells més alts d'abstracció (bàsicament perquè expressem més amb menys passos i al final suposa una càrrega cognitiva menor).
|
|
|
|
# Què és programar?
|
|
Programar és dissenyar seqüències d'instruccions de manera que realitzin la tasca que desitjem.
|
|
Si volem fer una truita de patates, escriure'n una recepta seria programar. Depenent de per a qui adrecem aquesta recepta (algú amb més o menys experiència cuinant) o quin interès tinguem en els detalls, farem servir un nivell d'abstracció més alt o més baix.
|
|
La manera d'expressar instruccions que poden dur a terme ordinadors són els llenguatges de programació. Depenent del llenguatge de programació que fem servir, podrem expressar instruccions més genèriques o més específiques per a certes tasques. De la mateixa manera, certs llenguatges de programació serviran per expressar operacions de més alt o més baix nivell d'abstracció. Per exemple
|
|
|