Índex

 
cap00.zip
Capítol 0

Introducció al crèdit.

  1. Què és un programa?.
  2. Llenguatges de Programació.
    1. Ensambladors
    2. Compiladors
    3. Intèrprets
  3. Història del llenguatge C.
    1. Característiques del llenguatge C.
  4. Realització d’un programa en C.
  5. Exercicis.

 

En aquest primer tema intentarem ubicar el crèdit dins el cicle formatiu i explicar i delimitar els continguts del crèdit. Començarem amb uns conceptes bàsics...

0.1. Què és un programa?.

Intuitivament podem associar el concepte de màquina a un instrument físic capaç de realitzar un cert treball o operació. Des del punt de vista del control del seu funcionament, podem classificar les màquines en els següents tipus: Dins el conjunt de les màquines automàtiques, podem diferenciar dos tipus; les que sempre tindran el mateix comportament a partir d’uns estímuls exteriors, i aquelles que modificant un component tindrà diferent comportament baix els mateixos estímuls. Aquestes últimes màquines s’anomenen programables i la part modificable programa.
Per tant, una màquina programable és comporta com a diferents màquines particulars depenent del programa utilitzat.



Nosaltres disposarem d’una màquina base, l’ordinador, i el nostre objectiu serà crear programes per tal de construir màquines automàtiques completes, que executen una sèrie d’operacions.
Per tant, podem definir programa com la sèrie instruccions donades al ordinador, en un llenguatge entès per ell, per dir-li exactament les operacions que ha de realitzar.

0.2. Llenguatges de Programació.

Un programa cal que estigui escrit en un llenguatge comprensible per l’ordinador. Des de el punt de vista físic, un ordinador es una màquina electrònica. Els elements físics ( memòria, CPU, etc.) de que disposa l’ordinador sols reconeixen dos estats, apagat i encès, representats per 0 i 1. Cada estat és denomina bit. Per tant, per representar i manipular informació l’ordinador utilitza cadenes de bits. Aleshores si volem donar-li instruccions a l’ordinador hem d’utilitzar cerós i uns, llenguatge màquina, qüestió que ens portaria molt de temps i molts errors. Per això apareixen els llenguatges de programació, llenguatges que el mateix ordinador traduirà al llenguatge màquina. 

0.2.1. Ensambladors.

Els primers llenguatges de programació utilitzava codis mnemotècnics per indicar a la màquina les operacions ha realitzar, operacions molt bàsiques dissenyades a partir de la coneixença de l’estructura interna de la pròpia màquina.

Cada instrucció en llenguatge ensamblador correspon a una instrucció en llenguatge màquina. Aquests tipus de llenguatges s’anomenen ensambladors i depèn totalment del processador que utilitzi la màquina. Per això aquests tipus de llenguatges es diu que estan orientats a les màquines.



Avui dia son més utilitzats els llenguatges orientats al problema, denominats també d’alt nivell, amb la qual cosa aconseguim:

Els llenguatges d’alt nivell és poden traduir al llenguatge màquina de dos maneres diferents, mitjançant compiladors o intèrprets.

0.2.2. Compiladors.

Els compiladors són programes que tradueixen el programa escrit amb llenguatge d’alt nivell a llenguatge màquina. Després de la traducció s’executa automàticament un programa denominant enllaçador encarregat d’incorporar les funcions de la biblioteca del llenguatge utilitzat necessàries per al nostres programa. El compilador detectarà els possibles errors del programa font per aconseguir un programa executable depurat.



El programa compilat ja està a punt per executar.

0.2.3. Intèrprets.

A diferència d’un compilador, un intèrpret no genera un programa escrit en llenguatge màquina a partir del programa font, sinó que efectua la traducció i l’execució simultàniament per cada una de les sentències del programa. Aleshores l’execució del programa resulta més lenta, encara que facilita la posta a punt del programa.

0.3. Història del llenguatge C.

A partir dels primers llenguatges de programació (ensambladors, Fortran, Cobol, etc. ) que tenien unes funcions i objectius molt concrets, naix el llenguatge C, un llenguatge de caire general. Aproximadament en 1972 el C va ser creat per Dennis Ritchie quan treballava en el disseny d’un nou sistema operatiu: el UNIX. Tant UNIX com el propi compilador de C i quasi la totalitat dels programes i eines de UNIX varen ser escrites en C.
El llenguatge C++ és una evolució del C que l’incorpora i adopta noves eines per a la programació orientada a objectes, com ara les funcions virtuals i les lligadures dinàmiques.
Nosaltres en aquest curs tant sols ens ocuparem del llenguatge C, encara que utilitzarem al compilador TurboC++ aprofitant les millores a nivell de llibreries que ens aporta aquest compilador respecte al del C.
Una vegada superat la programació orientada a objectes ens podem introduir en la programació visual per desenvolupar aplicacions gràfiques i vistoses amb el Visual C++.

0.3.1. Característiques del llenguatge C.

Les característiques més destacades del llenguatge C podíem resumir-les en:
 
Programació estructurada permet a partir de la operació global a efectuar per al programa, mitjançant refinaments successius, arribar a les estructures bàsiques disponibles al llenguatge, amb la ventaja que es un llenguatge molt flexible. 
Programació modular C aconsegueix la modularitat de dues maneres: mitjançant la divisió funcional i la possibilitat de repartir el codi en arxius independents. 
Codificació en alt i baix nivell simultàniament moltes vegades és denomina al C un llenguatge de nivell mig, doncs les seues estructures bàsiques són semblants al llenguatge natural, però al mateix temps permet programar com a llenguatge ensamblador perquè treballa amb objectes estrictes del computador, com ara direccions, números, caràcters i combinació d’expressions numèriques. Per això el sistema operatiu UNIX es va complimentar quasi totalment amb C, utilitzant molt poc el llenguatge ensamblador. 
Portabilitat com no esta lligat a cap sistema operatiu permet la portabilitat dels programes escrits en C, es a dir, pot ser executat en màquines de diferents característiques amb mínimes modificacions. 
Producció de codi objecte altament optimitzat després d’escriure i depurar el programa font obtenim un programa objecte preparat per ser executat. 
Programa de caire general és molt utilitzat en aplicacions molt diferents, com científiques, industrials, simulacions de vol, etc. 

0.4. Realització d’un programa en C.

En aquest apartat exposarem les bases per realitzar un programa, explicitant les característiques del llenguatge C:
 
Anàlisis del problema  Concretar l’objectiu que ens demanen i tindré una idea general de les possibles solucions. 
Disseny de l’algoritme Representar les accions i operacions de forma detallada necessàries per resoldre el problema. Les propietats de qualsevol algoritme seran la precisió (ordre en les operacions), la finitud (nombre finit d’operacions) i la correcció(conduir a la solució). La representació de l’algoritme es pot realitzar en diverses tècniques, com ara l’ordinograma, taules de decisió, etc. però nosaltres normalment utilitzarem el pseudocódic. 
Editar el programa Traduir l’algoritme al llenguatge de programació C i escriure’l en l’editor del TurboC++. Per facilitar la depuració d’errors i les possibles modificacions caldrà documentar el programa explicant la funció i les parts que el componen. 
Compilar-lo Mitjançant el compilador del TurboC++ , traduirem el programa escrit en C (programa font) en llenguatge màquina i enllaçarem amb les funcions necessàries de la biblioteca C i obtindrem un programa executable. 
Executar-lo El programa ja estarà llest per utilitzar, sempre que solucioni el nostre problema inicial de manera adequada i que no haguen sortit problemes en la compilació. En aquest dos casos caldrà efectuar un pas més... 
Depurar-lo Mitjançant el Debug del TurboC++ intentarem solucionar els errors bàsicament de tres maneres: rastrejant( veient la sentència del programa que és executada), amb punts de parada (parant l’execució d’un programa en un punt concret i verificar el valor de les variables en eixe instant) i amb expressions de seguiment (visualitzant els valors de les variables o expressions mentre s’executa). 

En el següent esquema visualitzarem els fitxers que obtindrem en el procés de realització d’un programa en C.



En la unitat del disc dur necessitarem per efectuar un programa executable amb C l’aplicació TurboC++ (l’editor, el compilador , el enllaçador, el depurador) i els fitxers del programador. 

0.5. Exercicis.

  • Classifica els següents llenguatges de programació segons els items de la taula: Pascal, C, Cobol, Java, Visual Basic, Prolog, Logo, Basic, Ensamblador, Fortran, ADA, LISP