Dades (2014)

Resumen Español
Universidad Universidad Autónoma de Barcelona (UAB)
Grado Ingeniería en Organización Industrial - 1º curso
Asignatura Informatica 1
Año del apunte 2014
Páginas 7
Fecha de subida 29/11/2014
Descargas 1
Subido por

Vista previa del texto

Algoritmes i programes Un algoritme és una seqüència finita d’instruccions a seguir per a la resolució d’un problema. Una seqüència implica ordre, per tant les instruccions estan ordenades. Si l’ordre no fos correcte pot implicar no arribar a la solució correcta.
Perquè aquestes instruccions puguin ser seguides correctament hauran de ser traduïdes a un llenguatge que només es pugui interpretar d’una única manera. Tenim dos llenguatges, el pseudocodi ( llenguatge de programació) i l’organigrama ( eina gràfica ).
El llenguatge pseudocodi és un llenguatge més proper i menys estricte que els altres, a conseqüència ens podem concentrar millor en el com resoldre un problema. A més els algoritmes que escrivim poden ser traduïts al llenguatge de programació que es vulgui.
L’organigrama és la representació gràfica d’un algoritme on queda representat el flux d’execució de les ordres. Aquest s’utilitza reduint el conjunt de símbols connectats amb fletxes que marquen el flux d’execució. Cada símbol té un significat.
Dades Què és una dada? Una dada és la representació d’una informació del món real.
Per a programar, apart del algoritmes es necessita una bona estructura de dades. Totes les informacions del món real (colors, formes etc) les convertirem en dades que físicament emmagatzemen números, però que seran interpretades com a colors, formes...
Les dades les podem classificar en diferents tipus.
un tipus de dada és una manera de representar la informació en un ordinador, que segons com es representi la dada tindrem uns rangs de valors.
Els llenguatges de programació defineixen les operacions aritmètiques o lògiques que es poden realitzar amb aquestes representacions.
Per tant, dit d’altre manera, un tipus de dades és: - un marge de valors possibles - un conjunt d’operacions - la forma de representar a memòria la dada un exemple de tipus de dada és l’integer de pascal.
Variables i constants Són elements que permeten guardar les dades.
Les variables són elements que ens permetran emmagatzemar dades per poder consultar-ho més tard. Sempre ha de tenir un nom per poder tenir una referencia i un valor que anirà variant segons les assignacions que se li facin durant l’execució del programa.
Les variables són porcions de memòria on emmagatzemem valors i li donem un nom que fem servir per accedir-hi.
Les variables tenen la capacitat de canviar el seu valor durant l’execució del programa, mentre que les constants no.
Identificadors: Un identificador és el nom que assignem a tant a les variables com a les constants ja que han de tenir un nom.
Tenim unes normes bàsiques que trobem en Pascal per als identificadors, i s’han de complir. Algunes d’elles són: - caràcters vàlids: lletres de l’alfabet anglès, dígits i caràcter subratllat.
- no es diferencien majúscules de minúscules.
- no es pot utilitzar una paraula reservada per altre cosa que un identificador.
- no es pot començar per dígit.
Declaració de variables: Abans d’utilitzar una variable s’ha de definir-la/declarar-la. Així assignem un nom i indiquem quin tipus de dades emmagatzemarà.
Constants: Tenim dos tipus de constants, els literals i les constants amb nom (constants).
Literals No necessiten declaració prèvia.
El compilador del llenguatge assigna un tipus de dades per defecte a cada literal.
El programador pot der indicacions de quin tipus ha de ser.
Constants Són les constants a les que hi hem donat nom.
Són útils per definir valors que s’utilitzaran.
Gràcies a les constants podrem variar tot el programa canviant únicament la definició.
Tipus de dades enumerats i subrangs Enumerats: Els tipus de dades enumerats són conjunts ordenats de constants amb nom, definides per l’usuari.
Subrangs: Un subrang es un conjunt de valors de un dels tipus ordinals predefinits del llenguatge o de un enumerat.
són ordinals els tipus de dades que tenen un ordre definit. (enters, naturals) els subrans consisteixen en indicar el límit inferior i el superior del subconjunt.
Expressions El llenguatge de programació té o fa servir dues eines fonamentals: les operacions dels tipus de dades i les funcions predefinides. Estudiarem les operacions dels tipus de dades.
Un operador és un símbol que indica la realització d’una operació sobre un o més operands. (els operands han de ser del mateix tipus de dades).
Nombre d’operands Unaris: un operand.
Binaris: dos operands.
OPERADORS Tipus de dades del resultat Interns: resultat és el mateix tipus de dades dels operands.
Externs: resultat pot ser tipus de dades diferents dels operand La seva funcionalitat Aritmètics: càlculs aritmètics.
Lògics: càlcul lògic matemàtic.
Relacionals: comproven relació existent entre operadors externs Els operadors es troben formant combinacions entre més d’un d’ells amb els operands corresponents.
Aquestes combinacions són expressions.
Una expressió és una seqüència de variables, constants i operadors que, estant correctament escrita, pot avaluar-se, donant un resultat que pertanyerà a un tipus de dades o una altre en funció dels operadors i el tipus de dades dels operands.
Les expressions han d’estar correctament escrites segons les normes sintàctiques del llenguatge.
Tipus de dades de les expressions: El tipus de dades depèn dels operadors utilitzats i dels tipus de dades dels operands. Els dos operands han de ser del mateix tipus, si són diferents l’operador no està definit.
Prioritat i associativitat: En els llenguatges de programació l’ordre en que s’avaluen els operadors ve determinat per la prioritat i l’associativitat.
La prioritat defineix quin operador s’avalua primer quan trobem dos operadors consecutius.
L’associativitat defineix per on es comença a avaluar una expressió, si va d’esquerra a dreta o del revés.
Coercions i moldejat La coerció les un canvi de tipus de dades automàtic. Això passa quan es volen sumar dos tipus de dades diferents. Aquest procés consisteix en convertir un o més operands de tipus de dades per tal que els operands siguin del mateix tipus de dades, el compilador n’és l’encarregat.
Ens podem trobar en casos en que les coercions no siguin els canvis de tipus que volem, llavors podem fer un moldejat que és un canvi de tipus explícit per part del programador.
Programa en llenguatge d’alt nivell Instruccions Una instrucció és cada una de les ordres que el llenguatge de programació sap executar.
Les instruccions realitzen tasques del tipus: - acció amb les dades - interactuar amb l’entorn a través dels perifèrics per intercanviar dades - identificar la següent instrucció a executar Tipus d’instruccions: Es classifiquen: - instruccions d’assignació: permeten modificar el valor d’una variable durant un procés.
- instruccions d’entrada / sortida: encarregades de comunicar-se amb l’exterior.
- instruccions de control de la seqüència d’execució: decideixen quina serà la propera instrucció.
Instruccions d’assignació: podem diferenciar dos parts. Esquerra i dreta. A la per esquerra (L – value) és el nom de la variable que emmagatzemarà el resultat. La part dreta ( R – value ) és el valor a emmagatzemar, per tant una expressió.
Instruccions d’entrada: totes aquelles instruccions que ens serveixen per donar valor a les variables. El valor s’obté d’un dels perifèrics d’entrada.
la instrucció que permet guardar el valor que l’usuari tecleja en una variable és la instrucció: llegir, i les dues instruccions que permeten llegir els valors per teclat són read i ReadLn.
Instruccions de sortida: són totes aquelles instruccions que serveixen per enviar valors a perifèrics de sortida.
la instrucció que permet escriure el valor d’una o varies expressions és la instrucció escriure, i les dues instruccions per escriure al monitor són Write i WriteLn.
Instruccions de control de seqüència d’execució: són instruccions que permeten modificar el flux d’execució que és executar les instruccions en l’ordre en que s’han escrit.
El programa es pot escriure utilitzant 3 estructures: - estructura seqüencial - estructura alternativa - estructura repetitiva 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.
Subprogrames: Un subprograma és un programa que es fa servir dins d’un programa més complex. Per si sol no funciona, ha de formar part d’un programa.
Es poden classificar de dues maneres: Funcions i accions Funcions: no han de provocar modificacions de l’entorn. Produeixen un resultat, i poden aparèixer dintre d’expressions.
Accions: modifiquen estat. No produeixen un resultat.
En funció de qui el crea Programes predefinits (s’agrupen en llibreries).
Subprogrames propis del programa. Són programes que realitza el programador per implementar subalgoritmes.
En els subprogrames hem de distingir la definició del subprograma de la crida.
la definició del subprograma és el lloc on escrivim la seqüència d’instruccions, la crida és el lloc on utilitzarem el subprograma. La crida es fa posant el nom del subprograma i entre parèntesis les dades que volem passar al subprograma.
Paràmetres d’un subprograma: En un subprograma es pot aplicar un algoritme a diferents dades. (pg. 6) això implica que hi ha un traspàs d’informació entre el programa que crida i el subprograma cridat.
Aquest traspàs d’informació es fa mitjançant un paràmetre, que és el mecanisme de comunicació entre el programa que crida i el subprograma cridat. Els paràmetres són variables normals amb l’única diferència que el valor ve donat per la crida del subprograma.
Estructura d’un programa: Un programa té la següent estructura: Capçalera del programa: dona nom al programa Llibreries a utilitzar: llista de llibreries que es faran servir.
Blocs de declaració de variables, constants i tipus de dades Definició de funcions i accions Programa principal: instruccions del programa principal.
Representacions de les sintaxis utilitzades.
Representació d’un algoritme: en la representació d’un algoritme ens interessa més que quedi clar què s’ha de fer i com, que no pas la correcció sintàctica de com està expressat.
Per determinar el que ha de fer el programa no hi pot haver possible ambigüitat en la interpretació.
Tenim diferents eines de representació, com la BNF, els diagrames sintàctics etc.
Estructura seqüencial És aquella en que les instruccions sempre s’executen en el mateix ordre.
Aniuament d’estructures és quan dins d’una estructura hi ha inclosa una altra construcció de la mateixa estructura.
Estructura alternativa Estructura alternativa bàsica / Estructura alternativa múltiple.
Estructura alternativa és aquella que ens permet decidir d’executar una instrucció o una altre, però mai les dues alhora. (el sentit del flux d’execució a l’estructura alternativa sempre és cap a baix).
Un diagrama de flux serà estructurat quan podem agrupar punts d’entrada i de sortida per identificar les diferents estructures de control.
Indentació és l’estil d’escriptura on els subapartats d’un element tenen els inicis de línia més a la dreta.
L’estructura alternativa derivada és una estructura múltiple que es pot descompondre en estructures bàsiques mantenint-se l’estructuració del programa.
Estructura iterativa L’estructura iterativa és aquella que repeteix una sèrie d’instruccions fins que es produeixi una condició que ens indiqui que hem de finalitzar amb la repetició.
Iteracions: -inicialització -condició de sortida -increment -seqüència Estructura iterativa de repetició: sempre es fa una iteració com a mínim i la condició de sortida de la iteració diu que es seguirà iterant fins que la condició sigui certa.
Estructura iterativa de comptatge: intervé una variable que compta iteracions, tenim una estructura que ens simplifica l’escriptura i dona claredat de lectura al programa.
...