Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Teoria capitol 4, Apuntes de Introducción a la Informática

Asignatura: Fonaments d'informàtica, Profesor: , Carrera: Enginyeria en Electrònica Industrial i Automàtica (GEI), Universidad: UAB

Tipo: Apuntes

Antes del 2010

Subido el 30/07/2008

sergiprc
sergiprc 🇪🇸

4

(29)

494 documentos

1 / 8

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Fonaments d'informàtica
4. Programa en llenguatge d'alt nivell
Índex del tema
Objectius..................................................................................................................................1
4.1. Instruccions ......................................................................................................................1
4.1.1. Tipus d'instruccions...................................................................................................1
4.1.2. Instrucció d'assignació..............................................................................................2
4.1.3. Instruccions d'entrada / sortida.................................................................................2
4.1.4. Instruccions de control de seqüència d'execució.....................................................4
4.2. Subprogrames...................................................................................................................5
4.3. Estructura d’un programa.................................................................................................6
Objectius
1. Conèixer els diferents tipus d'instruccions.
2. Veure l'estructura correcta d'un programa en Pascal i en pseudocodi.
3. Saber perquè serveix cadascun dels blocs de programa.
4.1. Instruccions
Al capítol anterior hem vist un dels dos pilars de la programació, les dades. En aquests ens
centrarem en l'altre pilar, les instruccions, i com organitzar-les correctament. Durant els propers
capítols continuarem veien les instruccions i desprès tornarem a les dades.
Comencem doncs amb una definició d'instrucció
Una instrucció és cada una de les ordres que el llenguatge de programació
sap executar.
Les instruccions habitualment realitzen tasques del tipus:
Fer alguna acció amb dades.
Interactuar amb l’entorn a través dels perifèrics per a obtenir-ne o enviar-hi dades.
Identificar la següent instrucció a executar.
4.1.1. Tipus d'instruccions
Les instruccions les podem classificar de la següent manera
Instruccions d'assignació: són aquelles instruccions que permeten modificar el valor d'una
variable durant l'execució del programa.
Instruccions d'entrada / sortida: són les encarregades de comunicar-se amb l'exterior del
programa, habitualment mitjançant els perifèrics del sistema. Permetran, per tant, escriure
dades a la pantalla, escriure o llegir de disc, llegir dades que l'usuari tecleja, etc.
Instruccions de control de la seqüència d’execució: són les instruccions encarregades de
decidir quina serà la propera instrucció del programa que s'executarà. Permetent, per
exemple, que un grup d'instruccions s'executin 10 vegades.
A més a més de les instruccions del llenguatge que fem servir, aquest incorpora un ampli conjunt de
subprogrames ja fets que ens permeten construir programes més fàcilment. Seguint l'exemple de les
receptes de cuina, imaginem un llibre de receptes que ens proporcionés a l'hora un aparell que,
prement un botó, fes la salsa maionesa que necessitem.
1
pf3
pf4
pf5
pf8

Vista previa parcial del texto

¡Descarga Teoria capitol 4 y más Apuntes en PDF de Introducción a la Informática solo en Docsity!

Fonaments d'informàtica

4. Programa en llenguatge d'alt nivell

Índex del tema

Objectius.................................................................................................................................. 1 4.1. Instruccions ...................................................................................................................... 1 4.1.1. Tipus d'instruccions................................................................................................... 1 4.1.2. Instrucció d'assignació.............................................................................................. 2 4.1.3. Instruccions d'entrada / sortida................................................................................. 2 4.1.4. Instruccions de control de seqüència d'execució..................................................... 4 4.2. Subprogrames................................................................................................................... 5 4.3. Estructura d’un programa................................................................................................. 6

Objectius

1. Conèixer els diferents tipus d'instruccions.

2. Veure l'estructura correcta d'un programa en Pascal i en pseudocodi.

3. Saber perquè serveix cadascun dels blocs de programa.

4.1. Instruccions

Al capítol anterior hem vist un dels dos pilars de la programació, les dades. En aquests ens

centrarem en l'altre pilar, les instruccions, i com organitzar-les correctament. Durant els propers

capítols continuarem veien les instruccions i desprès tornarem a les dades.

Comencem doncs amb una definició d'instrucció

Una instrucció és cada una de les ordres que el llenguatge de programació

sap executar.

Les instruccions habitualment realitzen tasques del tipus:

 Fer alguna acció amb dades.

 Interactuar amb l’entorn a través dels perifèrics per a obtenir-ne o enviar-hi dades.

 Identificar la següent instrucció a executar.

4.1.1. Tipus d'instruccions

Les instruccions les podem classificar de la següent manera

• Instruccions d'assignació: són aquelles instruccions que permeten modificar el valor d'una

variable durant l'execució del programa.

• Instruccions d'entrada / sortida: són les encarregades de comunicar-se amb l'exterior del

programa, habitualment mitjançant els perifèrics del sistema. Permetran, per tant, escriure

dades a la pantalla, escriure o llegir de disc, llegir dades que l'usuari tecleja, etc.

• Instruccions de control de la seqüència d’execució: són les instruccions encarregades de

decidir quina serà la propera instrucció del programa que s'executarà. Permetent, per

exemple, que un grup d'instruccions s'executin 10 vegades.

A més a més de les instruccions del llenguatge que fem servir, aquest incorpora un ampli conjunt de

subprogrames ja fets que ens permeten construir programes més fàcilment. Seguint l'exemple de les

receptes de cuina, imaginem un llibre de receptes que ens proporcionés a l'hora un aparell que,

prement un botó, fes la salsa maionesa que necessitem.

Programa en llenguatge d'alt nivell

Aquests subprogrames ja fets els anomenarem funcions predefinides i també parlarem d'elles

ampliament.

4.1.2. Instrucció d'assignació

Ja hem dit que la instrucció d'assignació permet donar valor

(assignar) a una variable. Cada llenguatge té la seva manera de

representar l'assignació. A la taula 1 tenim un exemple de la

instrucció en diferents llenguatges de programació.

A la instrucció d'assignació podem diferenciar dos parts:

 La part esquerra ( L-Value ): és el nom de la variable

que emmagatzemarà el resultat.

 La part dreta ( R-Value ): és el valor, o la manera

d'obtenir-lo, a emmagatzemar. Serà per tant una

expressió.

Hem de tenir clar que a la part esquerra sols hi pot aparèixer el nom d'una variable, mentre que a la

part dreta hi apareixerà una expressió que es podrà calcular per a obtenir el valor resultant que

emmagatzemarem a la variable.

No hem d'oblidar que, perque la instrucció sigui correcte, el tipus de dada de la variable ( L-value ) i el

tipus de dada de l'expressió ( R-value ) han de ser igual o compatible. Entendrem per compatibles dos

tipus de dades quan existeixi una coerció entre el tipus del R-value i el tipus del L-value.

La sintaxi de l'assignació en pseudocodi és

← <expressió>

La sintaxi de l'assignació en Pascal és

:= <expressió>

Podem veure a continuació alguns exemples d'assignacions

4.1.3. Instruccions d'entrada / sortida

Instruccions d'entrada

Anomenem instruccions d'entrada a totes aquelles instruccions que ens serveixen per donar valor a

les variables, però a diferència de l'assignació, el valor s'obté d'un dels perifèrics d'entrada. Els més

habituals són el teclat i el disc. Per ara ens centrarem exclusivament en com llegir les dades de

teclat.

La instrucció en pseudocodi que ens permet guardar el valor que l'usuari tecleja en una variable és la

instrucció llegir. La seva sintaxis és

llegir < variable1 > [,< variableN >]...

El seu funcionament és el següent:

Assignació Llenguatge A = 3.14151692 C, BASIC, java A := 3.14151692 Pascal, Modula A ← 3,14151692 Pseudocodi Taula 1 Instrucció d'assignació en diferents llenguatges Pseudocodi Àrea ← PI * R^2 Àrea ← 0 EsNegatiu ← Número < 0 Lletra ← 'A' Tot ← "Hola " + Nom + ", com estàs?" Pascal Area := PI * R** Area := 0 EsNegatiu := Numero < 0 Lletra := 'A' Tot := 'Hola ' + Nom + ', com estàs?' Exemple 1 Assignacions en Pascal i pseudocodi

Programa en llenguatge d'alt nivell

El seu funcionament és el següent:

  • Quan el flux d'execució del programa arriba a la instrucció WriteLn o Write s'avalua la

primera expressió i es mostra el resultat per pantalla. Si hi ha més expressions es fa el

mateix amb cadascuna d'elles.

  • Al final la instrucció WriteLn envia un salt de línia mentre que Write no ha fa. 4.1.4. Instruccions de control de seqüència d'execució

Aquestes són les instruccions que permeten modificar el flux d'execució que, per defecte, és

executar les instruccions en l'ordre en que s'han escrit.

Tot programa o algoritme es pot escriure utilitzant només 3 estructures bàsiques d'execució:

  • L'estructura seqüencial.
  • L'estructura alternativa o condicional.
  • L'estructura iterativa o repetitiva.

Per ara, només veurem l'estructura seqüencial i, en els següents capítols la resta d'estructures i les

seves instruccions.

Estructura seqüencial

L'estructura seqüencial és la més bàsica de totes. Les instruccions que conté s'executen en l'ordre

en que estan escrites.

En pseudocodi el més habitual és escriure cada instrucció en una línia diferent, i s'entén que s'han

d'executar en aquest ordre.

En Pascal, cada instrucció es separa de l'anterior amb el símbol punt i coma ' ; '. Habitualment, els

programadors solen situar cada instrucció en una línia diferent per augmentar la llegibilitat del

programa.

Pseudocodi escriure "Hola" escriure PI escriure PI * R^2 escriure "El resultat és: ", PI * R^2 escriure Número < 0 Pascal WriteLn ('Hola') WriteLn (PI) Write (PI * R2) WriteLn ('El resultat és: ', PI * R2) Write (Numero < 0) Exemple 3 Escriure valor per pantalla en Pascal i pseudocodi Com exemple veurem un petit tros de programa que demana dos valors a l'usuari, obté la suma dels dos valors i escriu el resultat per pantalla. Pseudocodi llegir A llegir B C ← A + B escriure C Pascal ReadLn(A); ReadLn(B); C := A + B; WriteLn (C); Exemple 4 Escriure valor per pantalla en Pascal i pseudocodi

Fonaments d'informàtica

4.2. Subprogrames

Un subprograma no és més que un programa que es fa servir dins d'un programa més complex. Un

subprograma fa una feina molt concreta i, segurament, per si sol no funciona, no es pot executar. Ha

de formar part d'un programa.

Evidentment també podem definir subprograma com la traducció a un llenguatge de programació

d'un subalgoritme.

Les raons per crear subprogrames dins d'un programa poden ser diverses. Destaquem dos:

  • El programa és molt gran i el dividim en subprogrames més petits i més fàcilment

manejables. El programa principal queda convertit en una seqüència de crides als

subprogrames en l'ordre adient.

  • Un altre raó, és crear un subprograma amb aquelles porcions de programa que es

repeteixen sovint. En el capítol 2 ja vam posar un exemple d'aquest cas, que repetim de nou

aquí.

Els subprogrames es poden classificar en dos tipus, les funcions i les accions.

  • Les funcions són subprogrames que produeixen un resultat i, per tant, tenen tipus de dades

i poden aparèixer dintre d'expressions. Un exemple podria ser una funció que calcula el

sinus d'un angle.

  • Les accions , per contra, no produeixen un resultat si no que fan “coses”. No tenen tipus de

dades, i poden veure's com instruccions del llenguatge que fan processos, que poden

arribar a ser molt complexos. Un exemple seria una acció que pugés un 10% el preu de tots

els articles d'un comerç.

Els subprogrames es poden classificar també en funció de qui el crea.

  • Subprogrames que ens dona el llenguatge ja fet o predefinits. En el capítol següent es

descriuen uns quants subprogrames predefinits que incorpora el compilador FreePascal.

  • Subprogrames propis del programa (UDF o user defined functions ). Són subprogrames

que realitza el programador per a implementar els subalgoritmes en que ha dividit

l'algoritme.

En pseudocodi considerarem que tenim predefinits els mateixos subprogrames que en Pascal per

més claredat.

Els subprogrames predefinits s'agrupen, per funcionalitat, en el que els compiladors anomenen

llibreries. En el cas de Pascal aquestes llibreries les anomena units. Les units més habituals són:

crt , graphs , mouse , math , strings i system. Aquesta última no cal indicar que es farà servir, però les

altres sí que ho haurem d'indicar. A l'apartat de l'estructura d'un programa en Pascal d'aquest capítol

es veurà de quina manera s'indica que farem servir una unit.

Exemple Retornant al exemple de les receptes de cuina. Suposem que volem fer un plat que necessita un sofregit de tomàquet i s'acompanya amb una salsa maionesa. És molt probable que, tant el sofregit, com la maionesa es facin servir a molts plats diferents i, per tant, el receptari expliqui com es fan en receptes separades. A la recepta del nostre plat només ens dirà que cal fer un sofregit i una salsa de maionesa, potser ens indiqui fins i tot la pàgina on trobarem cadascuna de les receptes, i, segurament, la indicació de quan s'ha de fer (possiblement el sofregit l'haguem de fer primer de tot i la salsa maionesa es pot fer en qualsevol moment). Podem considerar que la recepta del sofregit i la salsa maionesa són subalgoritmes ja que per si sols no constitueixen un plat i que, per tant, formen part de l'algoritme d'un plat. Exemple 5 Exemple de subalgoritmes

Fonaments d'informàtica

3. Blocs de declaració de variables, constants i tipus de dades: habitualment es poden anar

intercalant, però un ordre freqüent és constants, tipus de dades i variables.

4. Definició de funcions i accions: els subprogrames definits pel programador es situen aquí.

S'ha de tenir en conte que, abans de fer servir un subprograma, s'ha d'haver definit.

5. Programa principal: instruccions del programa principal. El programa principal és per on

comença l'execució del programa quan es posar en marxa.

Veiem ara com és la sintaxi en pseudocodi:

Algoritme < nom >

[Usa < llibreria > [{,< llibreria >}...]

[{< declaració de constants > | < declaració de tipus de dades >

| < declaració de variables > }...]

[{< definició de funció > | < definició d'acció >}...]

Inici

< seqüència d'instruccions >

Falgoritme

On declaració de constants i declaració de variables són la sintaxi que hem vist a capítol 3. La

declaració de tipus de dades, la definició de funció i la definició d'acció les veurem més endavant, en

d'altres capítols. Moltes vegades, en pseudocodi no es fa servir la secció Usa i la definició de

funcions i d'accions es fa fora de l'algoritme.

En Pascal la sintaxi és:

Program < nom >;

[Uses < llibreria > [{,< llibreria >}...;]

{< declaració de constants > | < declaració de tipus de dades >

| < declaració de variables >}...]

[{< definició de funció > | < definició d'acció >}...]

Begin

< seqüència d'instruccions >

End.

Podem veure ara en els exemples 7 i 8 , un exemple de programa tant en Pascal com en

pseudocodi.

Exemple Suposem que volem crear un subprograma de tipus funció que calcula l'arrel quadrada. En primer lloc hem de fer la definició de la funció, on podem veure el paràmetre X, que serà la variable que agafarà el valor que en el moment de la crida se li passa a la funció. Definició Funció Arrel ( X és Real ) Retorna Real Inici ..seqüència d'instruccions que fan el càlcul.. Ffunció Quan vulguem fer-la servir, fem la crida indicant el nom i, entre parèntesi, el valor que ha de tenir el paràmetre en aquella crida. Exemples de crida a la funció Arrel X = Arrel(5) X = Arrel(Y) X = Arrel(X * Y) / Arrel(X) escriure (Arrel(X)) Exemple 6 Subprogrames: definició i crida

Programa en llenguatge d'alt nivell

Program Demo1; Uses crt,dos; Const PI : Double = 3.141592; IVA : Real = 16; Type Paraula = String[20]; Nota = 1..10; Var Salari : Real ; Numero : Integer ; Cognom : Paraula ; Pesos : Nota; Begin ClrScr; Write ('Quin és el teu cognom? '); ReadLn(Cognom); Write('Entra un numero, ',cognom,' :'); ReadLn(Numero); WriteLn ('El quadrat del número que has donat és ', NumeroNumero); end. Exemple 7 Programa escrit en Pascal Algoritme Demo Const PI és Real = 3. IVA és Real = 16 Fconst Tipus Paraula és Cadena [20] Nota és 1.. Ftipus Var Salari és Real Numero és Enter Cognom és Paraula Pesos és Nota Fvar Inici EsborrarPantalla Escriure ("Quin és el teu cognom? ") Llegir (Cognom) Escriure ("Entra un numero, ",cognom," :") Llegir (Numero) Escriure ("El quadrat del número que has donat és ", NumeroNumero) Falgoritme Exemple 8 Programa escrit en Pseudocodi