Vous êtes sur la page 1sur 15

INTRODUCCION A LA PROGRAMACIN UNIDAD I

____________________________________________________________________________________________________
UNIDAD I
INTRODUCCION A LA PROGRAMACIN
1.1. SISTEMAS OPERATIVOS
1.1.1. Definicin, caractersticas y funcin de un sistema operativo.
Sistema operativo, software bsico que controla una computadora. El sistema operativo tiene tres
grandes funciones: coordina y manipula el hardware del ordenador o computadora, como la memoria, las
impresoras, las unidades de disco, el teclado o el mouse; organiza los archivos en diversos dispositivos de
almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnticas, y gestiona los
errores de hardware y la prdida de datos.
!os sistemas operativos controlan diferentes procesos de la computadora. "n proceso importante es
la interpretaci#n de los comandos que permiten al usuario comunicarse con el ordenador. $lgunos
intrpretes de instrucciones estn basados en texto y exigen que las instrucciones sean tecleadas. %tros
estn basados en grficos, y permiten al usuario comunicarse se&alando y haciendo clic en un icono. 'or lo
general, los intrpretes basados en grficos son ms sencillos de utilizar.
!os sistemas operativos pueden ser de tarea (nica o multitarea. !os sistemas operativos de tarea
(nica, ms primitivos, s#lo pueden mane)ar un proceso en cada momento. 'or e)emplo, cuando la
computadora est imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas
instrucciones hasta que se termine la impresi#n.
*odos los sistemas operativos modernos son multitarea y pueden e)ecutar varios procesos
simultneamente. En la mayor+a de los ordenadores s#lo hay una ",'; un sistema operativo multitarea
crea la ilusi#n de que varios procesos se e)ecutan simultneamente en la ",'. El mecanismo que se emplea
ms a menudo para lograr esta ilusi#n es la multitarea por segmentaci#n de tiempos, en la que cada proceso
se e)ecuta individualmente durante un periodo de tiempo determinado. Si el proceso no finaliza en el tiempo
asignado, se suspende y se e)ecuta otro proceso. Este intercambio de procesos se denomina conmutaci#n de
contexto. El sistema operativo se encarga de controlar el estado de los procesos suspendidos. *ambin
cuenta con un mecanismo llamado planificador que determina el siguiente proceso que debe e)ecutarse. El
planificador e)ecuta los procesos basndose en su prioridad para minimizar el retraso percibido por el
usuario. !os procesos parecen efectuarse simultneamente por la alta velocidad del cambio de contexto.
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO -
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
!os sistemas operativos pueden emplear memoria virtual para e)ecutar procesos que exigen ms
memoria principal de la realmente disponible. ,on esta tcnica se emplea espacio en el disco duro para
simular la memoria adicional necesaria. Sin embargo, el acceso al disco duro requiere ms tiempo que el
acceso a la memoria principal, por lo que el funcionamiento del ordenador resulta ms lento.
!os sistemas operativos empleados normalmente son "./0, !/."0 1ac %S, 1S23%S, %S45 y
6indo7s2.*. El !/."0 y sus clones permiten m(ltiples tareas y m(ltiples usuarios. Su sistema de
archivos proporciona un mtodo sencillo de organizar archivos y permite la protecci#n de archivos. Sin
embargo, las instrucciones del "./0 no son intuitivas. %tros sistemas operativos multiusuario y multitarea
son %S45, desarrollado inicialmente por 1icrosoft ,orporation e /nternational 8usiness 1achines
,orporation 9/81:, y 6indo7s2.*, desarrollado por 1icrosoft. El sistema operativo multitarea de las
computadoras $pple se denomina 1ac %S. El 3%S y su sucesor, el 1S23%S, son sistemas operativos
populares entre los usuarios de computadoras personales. S#lo permiten un usuario y una tarea.
!os sistemas operativos siguen evolucionando. !os sistemas operativos distribuidos estn dise&ados
para su uso en un grupo de ordenadores conectados pero independientes que comparten recursos. En un
sistema operativo distribuido, un proceso puede e)ecutarse en cualquier ordenador de la red 9normalmente,
un ordenador inactivo en ese momento: para aumentar el rendimiento de ese proceso. En los sistemas
distribuidos, todas las funciones bsicas de un sistema operativo, como mantener los sistemas de archivos,
garantizar un comportamiento razonable y recuperar datos en caso de fallos parciales, resultan ms
comple)as.
1.1.2. Anlisis comparativo de Sistemas Operativos (MS DOS, !"#$%,
&"#DO&S'
"n sistema %perativo 9S%: es en s+ mismo un programa de computadora. Sin embargo, es un
programa muy especial, quiz el ms comple)o e importante en una computadora. El S% despierta a la
computadora y hace que reconozca a la ,'", la memoria, el tecla do, el sistema de v+deo y las unidades de
disco. $dems, proporciona la facilidad para que los usuarios se comuniquen con la computadora y sirve de
plataforma a partir de la cual se corran programas de aplicaci#n.
,uando enciendes una computadora, lo primero que sta hace es llevar a cabo un autodiagn#stico
llamado autoprueba de encendido 9'o7er %n Self *est, '%S*:. 3urante la '%S*, la computadora
identifica su memoria, sus discos, su teclado, su sistema de v+deo y cualquier otro dispositivo conectado a
ella. !o siguiente que la computadora hace es buscar un S% para arrancar 9boot:.
"na vez que la computadora ha puesto en marcha su S%, mantiene al menos parte de ste en su memoria en
todo momento. 1ientras la computadora est encendida, el S% tiene ; tareas principales:
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO 5
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
-. 'roporcionar ya sea una interfaz de l+nea de comando o una interfaz grfica al usuario, para que este
(ltimo se pueda comunicar con la computadora. /nterfaz de l+nea de comando: t( introduces palabras
y s+mbolos desde el teclado de la computadora, e)emplo, el 1S23%S. /nterfaz grfica del "suario
9<"/:, seleccionas las acciones mediante el uso de un 1ouse para pulsar sobre figuras llamadas
iconos o seleccionar opciones de los men(s.
5. $dministrar los dispositivos de hard7are en la computadora = ,uando corren los programas, necesitan
utilizar la memoria, el monitor, las unidades de disco, los puertos de Entrada4Salida 9impresoras,
m#dems, etc:. El S% sirve de intermediario entre los programas y el hard7are.
>. $dministrar y mantener los sistemas de archivo de disco = !os S% agrupan la informaci#n dentro de
compartimientos l#gicos para almacenarlos en el disco. Estos grupos de informaci#n son llamados
archivos. !os archivos pueden contener instrucciones de programas o informaci#n creada por el
usuario. El S% mantiene una lista de los archivos en un disco, y nos proporciona las herramientas
necesarias para organizar y manipular estos archivos.
;. $poyar a otros programas. %tra de las funciones importantes del S% es proporcionar servicios a
otros programas. Estos servicios son similares a aquellos que el S% proporciona directamente a los
usuarios. 'or e)emplo, listar los archivos, grabarlos a disco, eliminar archivos, revisar espacio
disponible, etc. ,uando los programadores escriben programas de computadora, incluyen en sus
programas instrucciones que solicitan los servicios del S%. Estas instrucciones son conocidas como
?llamadas del sistema?
El Kernel y el Shell.
!as funciones centrales de un S% son controladas por el n(cleo 9@ernel: mientras que la interfaz del
usuario es controlada por el entorno 9shell:. 'or e)emplo, la parte ms importante del 3%S es un programa
con el nombre ?,%11$.3.,%1? Este programa ti ene dos partes. El @ernel, que se mantiene en
memoria en todo momento, contiene el c#digo mquina de ba)o nivel para mane)ar la administraci#n de
hard7are para otros programas que necesitan estos servicios, y para la segunda parte del
,%11$.3.,%1 el shell, el cual es el interprete de comandos.
!as funciones de ba)o nivel del S% y las funciones de interpretaci#n de comandos estn separadas, de tal
forma que puedes mantener el @ernel 3%S corriendo, pero utilizar una interfaz de usuario diferente. Esto es
exactamente lo que sucede cuando carga s 1icrosoft 6indo7s, el cual toma el lugar del shell,
reemplazando la interfaz de l+nea de comandos con una interfaz grfica del usuario. Existen muchos shells
diferentes en el mercado, e)emplo: .3%S 9.orton 3%S:, 0*<, ',*%%!S, o inclusive el mismo S% 1S2
3%S a partir de la versi#n A.B incluy# un Shell llamado 3%S SCE!!.
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO >
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
A.' (ate)oras de Sistemas Operativos
A.1' M$!*"*A+,A- El trmino multitarea se refiere a la capacidad del S% para correr mas
de un programa al mismo tiempo. Existen dos esquemas que los programas de sistemas operativos utilizan
para desarrollar S% multitarea, el primero requiere de la cooperaci#n entre el S% y los programas de
aplicaci#n.
!os programas son escritos de tal manera que peri#dicamente inspeccionan con el S% para ver si cualquier
otro programa necesita a la ,'", si este es el caso, entonces de)an el control del ,'" al siguiente
programa, a este mtodo se le llama multitarea cooperativa y es el mtodo utilizado por el S% de las
computadoras de 1achintosh y 3%S corriendo 6indo7s de 1icrosoft. El segundo mtodo es el llamada
multitarea con asignaci#n de prioridades. ,on este esquema el S% mantiene una lista de procesos
9programas: que estn corriendo. ,uando se inicia cada proceso en la lista el S% le asigna una prioridad.
En cualquier momento el S% puede intervenir y modificar la prioridad de un proceso organizando en forma
efectiva la lista de prioridad, el S% tambin mantiene el control de la cantidad de tiempo que utiliza con
cualquier proceso antes de ir al siguiente. ,on multitarea de asignaci#n de prioridades el S% puede sustituir
en cualquier momento el proceso que esta corriendo y reasignar el tiempo a una tarea de mas prioridad.
"nix %S25 y 6indo7s .* emplean este tipo de multitarea.
A.2) MULTIUSUARIO: "n S% multiusuario permite a mas de un solo usuario accesar una
computadora. ,laro que, para llevarse esto a cabo, el S% tambin debe ser capaz de efectuar multitareas.
"nix es el Sistema %perativo 1ultiusuario ms utilizado. 3ebido a que "nix fue originalmente dise&ado
para correr en una minicomputadora, era multiusuario y multitarea desde su concepci#n.
$ctualmente se producen versiones de "nix para ', tales como *he Santa ,ruz ,orporation 1icroport,
Esix, /81,y Sunsoft. $pple tambin produce una versi#n de "nix para la 1achintosh llamada: $4"0."nix
"nix proporciona tres maneras de permitir a m(ltiples personas utilizar la misma ', al mismo tiempo.
-.: 1ediante 1#dems.
5.: 1ediante conexi#n de terminales a travs de puertos seriales
>.: 1ediante Dedes.
A.3) MULTIPROCESO: !as computadoras que tienen mas de un ,'" son llamadas
multiproceso. "n sistema operativo multiproceso coordina las operaciones de la computadoras
multiprocesadoras. Ea que cada ,'" en una computadora de multiproceso puede estar e)ecutando una
instrucci#n, el otro procesador queda liberado para procesar otras instrucciones simultneamente.
$l usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y
procesos. ,asi todas las computadoras que tienen capacidad de multiproceso ofrecen una gran venta)a.
Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como:
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO ;
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
1ultiproceso asimtrico: "na ,'" principal retiene el control global de la computadora, as+ como el de
los otros procesadores. Esto fue un primer paso hacia el multiproceso pero no fue la direcci#n ideal a
seguir ya que la ,'" principal pod+a convertirse en un cuello de botella.
1ultiproceso simtrico: En un sistema multiproceso simtrico, no existe una ,'" controladora (nica.
!a barrera a vencer al implementar el multiproceso simtrico es que los S% tienen que ser redise&ados o
dise&ados desde el principio para traba)ar en u n ambiente multiproceso. !as extensiones de "nix, que
soportan multiproceso asimtrico ya estn disponibles y las extensiones simtricas se estn haciendo
disponibles. 6indo7s .* de 1icrosoft soporta multiproceso simtrico.
..' !ista de los Sistemas Operativos ms comunes.
B.1) MS-DOS: Es el ms com(n y popular de todos los Sistemas %perativos para ',. !a raz#n
de su continua popularidad se debe al aplastante volumen de soft7are disponible y a la base instalada de
computadoras con procesador /ntel.
,uando /ntel liber# el FB5FG, 3 %S se hizo tan popular y firme en el mercado que 3%S y las aplicaciones
3%S representaron la mayor+a del mercado de soft7are para ',. En aquel tiempo, la compatibilidad /81,
fue una necesidad para que los productos tuvieran xito, y la ?compatibilidad /81? significaba
computadoras que corrieran 3%S tan bien como las computadoras /81 lo hac+an.
B.2) OS/2: 3espus de la introducci#n del procesador /ntel FB5FG, /81 y 1icrosoft reconocieron
la necesidad de tomar venta)a de las capacidades multitarea de esta ,'". Se unieron para desarrollar el
%S45, un moderno S% multitarea para los microprocesadores /ntel. H 8DISin embargo, la sociedad no dur#
mucho. !as diferencias en opiniones tcnicas y la percepci#n de /81 al ver a 6indo7s como una amenaza
para el %S45 caus# una desavenencia entre las ,ompa&+as que al final las llev# a la disoluci#n de la
sociedad.
!M continu" el desarrollo y promoci"n del OS#$.
Es un sistema operativo de multitarea para un solo usuario que requiere un microprocesador /ntel 5FG o
me)or. $dems de la multitarea, la gran venta)a de la plataforma %S45 es que permite mane)ar directamente
hasta -G 18 de la D$1 9 en comparaci#n con - 18 en el caso del 1S23%S :. 'or otra parte, el %S45 es
un entorno muy comple)o que requiere hasta ; 18 de la D$1. !os usuarios del %S45 interactuan con el
sistema mediante una interfaz grfica para usuario llamada $dministrador de presentaciones. $ pesar de que
el %S45 rompe la barrera de - 18 del 1S23%S, le llevo tiempo volverse popular. !os vendedores de
soft7are se muestran renuentes a destinar recursos a la creaci#n de un soft7are con base en el %S45 para
un mercado dominado por el 1S23%S. !os usuarios se rehusan a cambiar al %S45 debido a la falta de
soft7are que funcione en la plata forma del %S45 y a que muchos tendr+an que me)orar la configuraci#n de
su ', para que opere con el %S45.
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO A
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
B.3) UNIX: "nix es un S% multiusuario y multitarea, que corre en diferentes computadoras,
desde supercomputadoras, 1ainframes, 1inicomputadoras, computadoras personales y estaciones de
traba)o.
Es un sistema operativo que fue creado a principios de los setentas por los cient+ficos en los laboratorios
8ell. Jue espec+ficamente dise&ado para proveer una manera de mane)ar cient+fica y especializadamente las
aplicaciones computacionales. Este S% se adapto a los sistemas de computo personales as+ que esta
aceptaci#n reciente lo convierte en un sistema popular.
. "nix es ms antiguo que todos los dems S% de ', y de muchas maneras sirvi# como modelo para stos.
$un cuando es un S% extremadamente s#lido y capaz, la l+nea de comandos "nix, no es apta para
cardiacos, debido a que ofrece demasiados comandos.
B.4) SISTEMA OPERATIVO DE MACINTOSH: !a 1acintosh es una mquina netamente
grfica. 3e hecho, no existe una interfaz de l+nea de comando equivalente para sta. Su estrecha integraci#n
de S%, <"/ y rea de traba)o la hacen la favorita de la gente que no quiere saber nada de interfaces de l+nea
de comando.
!as capacidades grficas de la 1acintosh hicieron de esa mquina la primera precursora en los campos
grficos computarizados como la autoedici#n por computadora.
!a familia de microcomputadoras de $pple 1acintosh y su sistema operativo define otra plataforma
importante. !as ', de 1acintosh, que se basan en la familia de microprocesadores de 1otorola, usan la
arquitectura de 8us de >5 bits. !a plataforma para 1acintosh incluye muchas capacidades sofisticadas que
comprende la multitarea, una <"/, la memoria virtual y la capacidad para emular la plataforma 1S23%S.
!as ', de 1acintosh tambin tiene la capacidad integrada de compartir archivos y comunicarse con o tras
', de 1acintosh en una red.
B.5) WINDOWS NT DE MICROSOFT: ,on 6indo7s .*, 1icrosoft ha expresado su
dedicaci#n a escribir soft7are no s#lo para ', de escritorio sino tambin para poderosas estaciones de
traba)o y servidores de red y bases de datos. 1icrosoft 6indo7s .* no es necesariamente un sustituto de
3%S ni una nueva versi#n de ste; es, en con)unto, un nuevo S% dise&ado desde sus bases para las
mquinas ms modernas y capaces disponibles.
6indo7s .* de 1icrosoft ofrece caracter+sticas interconstruidas que ning(n otro S% para ', ofrece, con
excepci#n de "nix.
$dems de las caracter+sticas tradicionales de estricta seguridad de sistema, red interconstruida, servicios
de comunicaci#n y correo electr#nico interconstruidos, herramientas de administraci#n y desarrollo de
sistema y una <"/, 6indo7s .* puede correr directamente aplicaciones de 6indo7s de 1icrosoft y de
"nix.
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO G
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
6indo7s .*, al igual que el %S45 ver 5.B y algunas versiones de "nix, es un S% de >5 bits, que puede
hacer completo uso de los procesadores de estas caracter+sticas.
$dems de ser multitarea, est dise&ado para tomar venta)a del multiproceso simtrico.
1.2. Evolucin de lo len!u"#e de $%o!%"&"cin.
1.2.1. Definicin, caractersticas y funciones de los len)ua/es de pro)ramacin.
Pag 25 y 2 !"#$%#$
Len!u"#e ' L!ic"
Existen dos tipos bsicos y reconocidos de lengua)es: los lengua)es naturales y los lengua)es
formales. !os primeros como puede ser: el Jrancs, el /ngls o el ,astellano; tienen su origen y desarrollo
natural, es decir, sin el control de ninguna teor+a. !as teor+as de lengua)es naturales y las gramticas, fueron
establecidas a priori, esto es, despus de que el lengua)e habia ya madurado. 'or otro lado, los lengua)es
formales como las matemticas y la l#gica, fueron desarrollados generalmente a travs del establecimiento
de una teor+a, la cual le d las bases para dichos lengua)es. El ob)etivo de este cap+tulo es definir las
caracter+sticas distinguibles mas importantes entre estas dos clases de lengua)es y presentar las razones que
predisponen a los investigadores a la consideraci#n de la posibilidad de la existencia de principios comunes
a ambos. Esto nos har establecer los fundamentos de una teor+a cuya meta es permitir la traducci#n 9o la
expresi#n: de un lengua)e natural o formal a un lengua)e formal particular llamado el lengua)e de la l#gica.
!a (ltima meta de este proceso es el poder mane)ar y procesar los lengua)es naturales y formales usando
tcnicas de computaci#n como por e)emplo el lengua)e 'rolog.
Len!u"#e n"(u%"le ' len!u"#e )o%&"le
En un lengua)e se tiene que los elementos mas ms simples son los s+mbolos llamados letras que
constituyen un alfabeto , que es un con)unto finito de s+mbolos . ,on la concatenaci#n de
las letras formaremos palabras que determinan un con)unto . El con)unto de palabras que tengan un
significado constituirn el diccionario del lengua)e 9por e)emplo el 6ebster, diccionario del /ngls:. $ partir
de lo anterior, tendremos que un lengua)e se considera como un con)unto de oraciones, que usualmente es
infinito y, se forma con palabras del diccionario. En este punto, podemos distinguir entre dos clases de
lengua)es; los lengua)es naturales como el Jrancs, /ngls, y ,astellano y, lengua)es formales como las
1atemticas y la !#gica.
El lengua)e ,astellano puede ser definido como el con)unto 9te#ricamente infinito: de todas las
oraciones en ,astellano. Esas oraciones son consistentes en forma natural con la experiencia prctica
humana que se organiza automticamente al tiempo que organiza el lengua)e en si mismo.
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO K
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
"na oraci#n en ,astellano es una secuencia finita de palabras del ,astellano, donde sabemos que el
con)unto de esas palabras es finito. "na oraci#n en ,astellano puede ser considerada como una secuencia
finita de elementos tomados de un con)unto finito dado, sin embargo, no todas las combinaciones de
palabras son permitidas, es necesario que esas combinaciones sean correctas 9con respecto a una sintxis: y
tengan sentido 9con respecto a la semntica:, estas sern las que se encontrarn dentro de un diccionario.
Esa sintxis y esa semantica constituyen un orden en la teor+a del lengua)e ,astellano: $quel que permite la
definici#n de todas las oraciones en ,astellano y as+, del lengua)e ,astellano.
3e la particularizaci#n anterior se desprende que en un lengua)e natural, como el ,astellano, la
formaci#n de las oraciones del lengua)e procedi# la formalizaci#n de el lengua)e por medio de una teor+a o
una gramtica. 'or esta raz#n, un lengua)e es llamado natural lo que es decir, es no2artificial o no
construido. El calificativo %%natural&, se opone al de %%formal&, el cual determina un lengua)e que es
construido estableciendo una teor+a y, por ende, se le llamar artificial. "n lengua)e formal como la !#gica
consiste de un con)unto de oraciones generalmente llamadas f#rmulas u expresiones bien formadas, las
cuales podemos obtener de la aplicaci#n de las leyes de la !#gica. !a calificaci#n de %%Len'ua(e )rtificial&,
se refiere al hecho de que el lengua)e se forma por medio de reglas y axiomas de formaci#n. El calificativo
%%formal& se refiere espec+ficamente al hecho de que las oraciones de estos !engua)es consisten de una lista
de s+mbolos 9l#gicos o matemticos: su)etos a diversas interpretaciones. 'or otro lado, en los lengua)es
naturales las palabras en una oraci#n posee un significado y tienen su significante. Esto quiere decir que
independientemente del significado de cada palabra, debemos tomar en cuenta el sentido correcto que stas
adquieren, seg(n el contexto en las que se expresen en un momento dado. "na de las metas en computaci#n
es poder especificar rigurosamente estos significados por los mtodos de interpretaci#n de los sistemas
formales, estos mtodos en cuesti#n, constituyen las semnticas de el lengua)e formal.
En un primer resumen tenemos que los lengua)es naturales y formales, difieren significativamente
uno de otro por su origen y por su rea de aplicaci#n. 'rimeramente vamos a intentar identificar las
propiedades mas importantes de estos dos tipos de lengua)es, con el fin de examinar una de las preguntas
fundamento de la /nteligencia $rtificial 9/$:: LM Casta que punto pueden los lengua)es naturales ser
representados 9traducidos: por medio de lengua)es formalesM; mas espec+ficamente, estaremos interesados
en la utilizaci#n de lengua)es computacionales intentando representar y manipular lengua)es naturales.
P"#&'()a)(% )( *#% *($g+a,(% $a-+"a*(%
El lengua)e es la funci#n que expresa pensamientos y comunicaciones entre la gente. Esta funci#n
es llevada a cabo por medio de se&ales y vocales 9voz: y posiblemente por signos escritos 9escritura: que
conforman el lengua)e natural. ,on respecto a nuestro mundo, el lengua)e nos permite designar las cosas
actuales 9y razonar acerca de ellas: y crear significados. ,ontrariamente a lo que ciertas teor+as lingu+sticas
formales har+an a uno creer, el lengua)e natural no fu fundamentado sobre una verdad racional a priori,
pero fu desarrollado y organizado a partir de la experiencia humana, en el mismo proceso en que la
experiencia humana fue organizada. En su forma actual, los lengua)es naturales tienen un gran poder
expresivo y pueden ser utilizados para analizar situaciones altamente comple)as y razonar muy sutilmente.
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO F
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
!a riqueza de su componente semntico y su cerrada relaci#n con los aspectos prcticos de los
contextos en los cuales son usados da a los lengua)es naturales su gran poder expresivo y su valor como una
herramienta para razonamiento sut+l. En lo siguiente veremos cuan dif+cil es formalizar el componente
semntico de un lengua)e natural, es decir el constituyente del lengua)e por el cual las oraciones tienen o
adquieren su significado. 'or otro lado, la sintxis de un lengua)e natural puede ser modelada facilmente
por un lengua)e formal similar a los utilizados en las matemticas y la l#gica. %tra propiedad (nica de los
lengua)es naturales es la NpolisemnticaN, es decir, la posibilidad de 9que una palabra en una oraci#n tenga
diversos significados, diversos valores, por e)emplo la palabra NpairN en el /ngls puede ser considerada
primero como un sustantivo, y es usada entonces en estructuras de frases como Narrange in pairsN, Nthe happy
pairN, sin embargo, puede tambin ser interpretada como un verbo transitivo en frases como Nt7o vases that
pairN, Nto pair off 7ith someoneN.
El carcter polisemntico de un lengua)e tiende a incrementar la riqueza de su componente
semntico, ms a(n esto hace la formalizaci#n dificil, sino imposible la polisemntica de los lengua)es
naturales es considerada una propiedad adquirida recientemente O$tlan FGP, las formas primarias de los
lengua)es naturales habr+an sido similares a los lengua)es formales y la polisemntica ser+a el resultado de
un enriquecimiento progresivo. En suma los lengua)es naturales se distinguen por las siguientes
propiedades:
i: 3esarrollados por enriquecimiento progresivo antes de cualquier intento de formaci#n de
una teor+a.
ii: !a importancia de su carcter expresivo debido grandemente a la riqueza de el
componente semntico 9polisemntica:.
iii: 3ificultad o imposibilidad de una formalizaci#n completa.
P"#&'()a)(% )( *#% *($g+a,(% .#"/a*(%
!a definici#n 9es decir, axiomtica: de una teor+a de un lengua)e formal dado, procedi# la formaci#n
dc oraciones 9o f#rmulas: de este lengua)e. El proceso de generaci#n y desarrollo de un lengua)e formal es
inverso con respecto al de los lengua)es naturales, consecuentemente, las palabras y las oraciones de un
lengua)e formal son perfectanente definidas 9una palabra mantiene el mismo significado prescindiendo de
contexto o uso:. En adici#n, el significado de simbolos es determinado exclusivamente por la sintxis, sin
referencia a ning(n contenido semntico, una funci#n y una f#rmula puede designar cualquier cosa,
solamente los operadores y relaciones que nos permiten escribir una f#rmula como la igualdad, desigualdad,
pertenencia, no pertenencia, conectivos l#gicos, , , etc., y operadores algebricos Q, 0, , etc.,
tienen significados especiales. !os lengua)es formales son, por esto, necesariameme exentos de cualquier
componente semntico fuera de sus operadores y relaciones, y es gracias a esta ausencia de significado
especial que los lengua)es formales pueden ser usados pare modelar una teor+a de la mecnica, de la
ingenier+a elctrica, en la lingu+stica u otra naturaleza, la cual asume el estatus del componente semntico
de tal lengua)e. Esto equivale a decir que durante la concepci#n de lengua)es formales toda la ambiguedad
es eliminada, es como si esta reducci#n al significado (nico debe manifestarse por si mismo como la
eliminaci#n del Nmundo de significadosN en el proceso de construir las f#rmulas, al tiempo que se toca el
nivel abstracto de estas construcciones. Es solamente por medio de un paso adicional que el significado es
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO R
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
asignado a las f#rmulas, este paso nos permite la posibilidad de asignar un criterio falso4cierto a cada
f#rmula. El mundo de significados, que es el componente semntico, solamente existe en la teor+a que uno
intenta expresar a travs del lengua)e formal. 'or e)emplo, un componente semntico normalmente asociado
con el lengua)e formal de una teor+a c#nica es el movimiento de los cuerpos celestes, sistemas lineales de
todos las #rdenes son posibles componentes semnticos de teor+a de matrices. "na de las principales metas
en /$ es la manipulaci#n de lengua)es con metodos de las ciencias de la computaci#n, manipulaci#n basada
en la asignaci#n del componente semntico de los lengua)es naturales a ciertos lengua)es l#gicos como los
lengua)es de primer orden o loslengua)es modales.

.o podemos evitar mencionar la importancia de los n(meros en lengua)es formales. En un sistema
numrico, asi como en un sistema de clculo, los n(meros siempre tienen el potencial de referir un cierto
NcontenidoN el cual pertenecer entonces al componente semntico del lengua)e: los ob)etos posibles cuando
son contables o medibles. !a asociaci#n de un significado con un n(mero o clculo no es siempre obvio, sin
embargo, es util recordar que en f+sica cuando se completa un clculo y se busca entonces interpretarlo,
solamente se mantienen los n(meros positivos de los resultados, ya que las soluciones negativas o
imaginarias a las ecuaciones que se supone describen la realidad son la mayor+a de las veces rechazadas
porque no corresponden con la Nrealidad fisicaN. En suma, los lengua)es formales son caracterizados por las
siguientes propiedades:
i: Se desarrollan de una teor+a preestablecida,
ii: ,omponente semntico m+nimo.
iii: 'osibilidad de incrementar el componente semntico de acuerdo con la teor+a a
formalizar.
iv: !a sintxis produce oraciones no ambiguas.
v: !a importancia del rol de los n(meros.
vi: ,ompleta formalizaci#n y por sto, el potencial de la construcci#n computacional.
M"ni$ul"cin co&$u("cion"l de len!u"#e n"(u%"le
"na meta fundamental en /$ es la manipulaci#n de lengua)es naturales usando herramientas de
computaci#n, en esta perspectiva, los lengua)es de programaci#n )uegan un importante rol: forman el enlace
necesario entre los lengua)es naturales y su manipulaci#n por una mquina. 3ebemos recordar primero
antes que todo que un lengua)e de programaci#n, como 'rolog es una herramienta pare escribir programas
para una computadora. !a definici#n de 'rolog se origina en la l#gica formal: 'rolog e)ecuta estatutos que
no son otra cosa que oraciones de un lengua)e l#gico elemental particular, llamado, clusulas de Corn.
"na diferencia fundamental entre lengua)e natural y un lengua)e l#gico que debe ser tomada en
cuenta en la representaci#n del primero, es aquella que resulta de el lugar central ocupado por el concepto
de verdad en la l#gica. El rol del anlisis l#gico es sobre todo determinar si una oraci#n 9f#rmula: de un
lengua)e es vlida 9verdadera en todas sus interpretaciones:, absurda 9falsa en todas sus interpretaciones: o
simplemente consistente 9verdadera en al menos una de sus interpretaciones:.
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO -B
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
"n buen n(mero de oraciones en un lengua)e natural son estatutos no declarativos, vagos o
indeterminados como Entendi# 'abloM, Suan es )ovenN, Npuedo venirN a las cuales parece en principio, dif+cil
asignar valores de verdad 9verdadero # falso:. "na forma de desviar la dificultad resultante de la
importancia dada o no a el concepto de la verdad de una oraci#n es introducir las nociones de proposici#n y
proporsici#n expresada.
"na proposici#n es el contenido de una oraci#n, es decir, el con)unto de situaciones 9mundos
posibles: en las cuales la oraci#n es verdadera. El concepto de proposici#n toma en cuenta el hecho de que
una importante funci#n del lengua)e natural es referir ob)etos y situaciones, esto es interpreter cada oraci#n
del lengua)e como un fragmento de la realidad.
El valor de verdad de una proposici#n depende, por lo anterior, no solamente de las relaciones entre
las palabras del lengua)e los ob)etos en el mundo sino tambin de el estado del mundo y del conocimiento
acerca de ese estado. El valor de verdad de la oraci#n N'ablo correN depende no solamente de la persona
denotada en N'abloN y el significado del verbo NcorrerN, sino tambin del momento cuando esta oraci#n es
expresada. 'ablo probablemente corre ahora, pero ciertamente que no siempre corre.
El valor de verdad de la oraci#n N'edro piensa que 'ablo correN depende del conocimiento de 'edro.
Si trasladamos el lengua)e natural, interpretado necesariamente como realidad, a un lengua)e l#gico, este
(ltimo toma automticamente esta interpretaci#n.
3ebemos todavia garantizar la completa formalizaci#n de esta intepretaci#n con una semntica
formal como podria ser Nmundos posiblesN OTrip@e G>P. Jinalmenlte el anlisis de verdad de las oraciones de
este lengua)e l#gico nos permite razonar acerca de la realidad que representa.
.o es siempre necesario que un agente sea capz de decir si una oraci#n que l expresa es
verdadera o falsa con respecto a cierto estado de la realidad, un lengua)e no debe ser reducido a la sola
funci#n de referirse a un mundo real o posible .!a formalizaci#n de un lengua)e natural por medio de un
lengua)e l#gico exige que este (ltimo sea suficientemente expresivo para refle)ar todas las sutilezas del
primero, en otras palabras, estos lengua)es l#gicos deben ser capces de refle)ar, en la formalizaci#n, todas
las funciones extra2referencia de el lengua)e, las cuales son por lo regular, mucho mas comple)as que las
funciones referencia.'or proposici#n expresada entendemos el sentido espec+fico de la proposici#n,
independientemente de cualquier anlisis de verdad.
M"ni$ul"cin co&$u("cion"l de len!u"#e )o%&"le
!as dificultades inherentes en la representaci#n de lengua)es naturales por medio de un lengua)e
l#gico no ocurren en el proceso de traducci#n de un lengua)e formal dentro de uno l#gico. ,omo las
oraciones de la l#gica, los estatutos matemticos no dependen del contexto en el cual son establecidos. "no
de los problemas cruciales en la representaci#n de un lengua)e natural por la l#gica llamado el problema de
la referenciaci#n, desaparece en este caso. "na de las metas historicas de la representacion del discurso
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO --
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
matemtico en forma l#gica fue ciertamente tracer posible beneficiarse de el rigor y precisi#n de el lengua)e
l#gico en la fundamentaci#n y desarrollo de ciertas partes de las matemticas, por e)emplo, <odel tenia esta
perspectiva cuando formaliz# la teor+a de con)untos por medio de un n(mero finito de f#rmulas l#gicas de
primer orden O<odel;BP.
!as actuales motivaciones para la representaci#n l#gica resultan principalmente de la conecci#n de
tal representaci#n con la teor+a de demostraci#n automtica, en O8oyerFGP se propone la reformulaci#n de
los axiomas l#gicos de la teor+a de con)untos en el lengua)e de clausulas, ests pueden ser usadas
directamente en metodos de demostraci#n de teoremas basados en la regla de resoluci#n.
0.2. CLASIFICACI1N DE LOS LEN2UA3ES DE PRO2RAMACI1N POR SU AREA DE
APLICACI1N 4 ORI2EN
"n lengua)e de programaci#n es un con)unto de s+mbolos, )unto con un con)unto de reglas para
combinar dichos s+mbolos que se usan para expresar programas. !os lengua)es de programaci#n, como
cualquier lengua)e, se componen de un lxico 9con)unto de s+mbolos permitidos o vocabulario:, una sintaxis
9reglas que indican c#mo realizar las construcciones del lengua)e:, y una semntica 9reglas que permiten
determinar el significado
de cualquier construcci#n del lengua)e:.
Ea hemos dicho que para que una computadora pueda e)ecutar un programa escrito en un
determinado lengua)e de programaci#n, es necesario que dicho programa sea traducido a un lengua)e que la
computadora entienda, el LEN2UA3E DE MA5UINA, el cual est totalmente apegado a los circuitos de
la mquina y muy ale)ado del lengua)e que los seres humanos utilizan. $unque dicho lengua)e hace posible
hacer programas que utilicen la totalidad de los recursos de la mquina y as+ obtener programas muy
eficientes en cuanto a tiempo de e)ecuci#n y uso de memoria, resulta muy dif+cil programar en l. 'or eso se
desarrollaron otros tipos de lengua)es como lo vamos a discutir a continuaci#n.
!os lengua)es de programaci#n se pueden clasificar de la siguiente manera, utilizando el criterio de
proximidad del lengua)e con la mquina o con el lengua)e natural:
-. L($g+a,(% )( !a,# $'6(*: !engua)es de mquina.
5. L($g+a,(% )( $'6(* /()'#: Ensambladores y 1acroensambladores.
>. L($g+a,(% )( a*-# $'6(*, como 'ascal, Jortran,,, ,QQ, !isp, 8asic, 'rolog, etc.
$ estos (ltimos se les puede tambin clasificar por el tipo de problemas que nos permiten resolver
con ms facilidad.
-. A&*'7a7'#$(% 7'($-8.'7a%, en donde predominan operaciones numricas propias de algoritmos numricos.
$qu+ tenemos a Jortran y 'ascal, pero particularmente Jortran.
5. P"#7(%a/'($-# )( )a-#%, como ,%8%! y SU!.
>. T"a-a/'($-# )( -(9-#% como ,.
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO -5
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
;. I$-(*'g($7'a a"-'.'7'a*, como aplicaciones en sistemas expertos, )uegos y visi#n artificial. $qu+ tenemos a
!/S' y 'D%!%<.
A. P"#g"a/a7':$ )( S'%-(/a%: Soft7are que permite la interfaz entre el hard7are y el usuario. *enemos a
$3$, 1%3"!$25 y ,
%tra clasificaci#n ser+a por el estilo de programaci#n que fomentan.
-. L($g+a,(% '/&("a-'6#% # &"#7()+"a*(%. Estos establecen c#mo debe e)ecutarse una tarea, dividindola
en partes y especificando las subtareas asociadas. Se fundamentan en el uso de variables para almacenar
valores y el uso de instrucciones para indicar operaciones a realizar con los datos. !a mayor+a de los
lengua)es de alto nivel son de este tipo: Jortran, 'ascal, 8asic, etc.
5. D(7*a"a-'6#%. !os programas se construyen mediante descripciones de funciones o expresiones l#gicas
que indican las relaciones entre determinadas estructuras de datos 9'D%!%<:.
>. L($g+a,(% #"'($-a)#% a O!,(-#%. Se centran ms en los datos y su estructura. "n programa consiste de
descripciones de unidades denominadas ob)etos que encapsulan a los datos y las operaciones que act(an
sobre ellos 9,QQ:.
;. L($g+a,(% #"'($-a)#% a* &"#!*(/a. 3ise&ados para problemas espec+ficos. Son generadores de
aplicaciones que permitan automatizar la tarea de desarrollo de soft7are de aplicaciones.
Se hablar entonces ahora de los traductores para los diferentes tipos de lengua)es de programaci#n,
de acuerdo con su proximidad al lengua)e de mquina o al lengua)e natural.
1.*. In(e%$%e(e+ Co&$il"do%e.
1.0.1. Definicin de "nt1rpretes y (ompiladores, Am2iente inte)ral del !en)ua/e
(
Len!u"#e de nivel ,"#o ' "l(o
!os lengua)es de nivel de mquina y los de ensamblador se clasifican como *($g+a,(% )( $'6(* !a,#.
Esto se debe a que ambos utilizan instrucciones que estn vinculadas directamente a un tipo de
computadora. 3e tal manera, un programa en lengua)e ensamblador s#lo se puede utilizar con el tipo
espec+fico de computadora para la cual fue escrito. *ales programas, sin embargo, permiten utilizar las
caracter+sticas espec+ficas de una computadora en particular y generalmente se e)ecutan en el nivel ms
rpido posible.
En contraste con los lengua)es de nivel ba)o estn los de nivel alto. "n lengua)e de nivel alto utiliza
instrucciones similares a las de los lengua)es escritos, como el ingls, y se pueden e)ecutar en diversos tipos
de computadoras. J%D*D$., 8$S/,, 'ascal y ,QQ son e)emplos de lengua)es de nivel alto.
;
"tilizando
,QQ, una instrucci#n para sumar dos n(meros y multiplicarlos por un tercer n(mero se puede escribir
como:
resultado V 9primero Q segundo: W tercero;
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO ->
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
$ los programas escritos en un lengua)e de computadora de nivel alto o ba)o se les conoce de manera
indistinta como &"#g"a/a% .+($-( # 7:)'g# .+($-(. "na vez que un programa se escribe en un lengua)e de
nivel alto, tambin se debe traducir, al igual que un programa ensamblador de nivel ba)o, al lengua)e de
mquina de la computadora en la cual se e)ecutar. Esta traducci#n se puede realizar de dos maneras.
,uando cada instrucci#n en un programa fuente de nivel alto se traduce de manera individual y se
e)ecuta inmediatamente al momento de la traducci#n, el lengua)e de programaci#n utilizado se llama
*($g+a,( '$-("&"(-a)#; y el programa que efect(a la traducci#n se llama '$-<"&"(-(. ,uando todas las
instrucciones en un programa fuente de nivel alto se traducen como una unidad completa antes de que
cualquier instrucci#n sea e)ecutada, al lengua)e de programaci#n utilizado se le llama *($g+a,( 7#/&'*a)#.
En este caso, al programa que efect(a la traducci#n se le llama 7#/&'*a)#".
'uede haber versiones tanto compiladas como interpretadas de un lengua)e, aunque generalmente una
predomina. 'or e)emplo, aunque existen versiones compiladas de 8$S/,, ste es predominantemente un
lengua)e interpretado. 3e la misma forma, aunque existen versiones interpretadas de ,QQ, ste es
bsicamente un lengua)e compilado.
REALIZACIN DE UN PROGRAMA EN C.
En este apartado se van a exponer los pasos a seguir en la realizaci#n de un programa, por medio
de un e)emplo. !a siguiente figura, representa estos pasos en el orden en el que hay que e)ecutarlos.
Este e)emplo que una vez editados los ficheros fuente $. , y 8. ,, son compilados obtenindose los ficheros
ob)eto $. %8S y 8. %8S los cuales son enlazados con el fichero ,. %8S, con la librer+a 3. !/8 y con las
librer+as del sistema .!/8 dando lugar a un (nico fichero e)ecutable $. E0E.
!a orden correspondiente para compilar y enlazar los ficheros expuestos en este e)emplo, es la siguiente:
,! $., 8., ,.%8S 4lin@ 3.!/8
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO -;
E
3
/
*
%
D
$. ,.
8. ,.
,
%
1
'
/
!
$
3
%
D
$. %8S
8. %8S
E
.
!
$
X
$
3
%
D
,. %8S
3. !/8
$. E0E
.!/8
INTRODUCCION A LA PROGRAMACIN UNIDAD I
____________________________________________________________________________________________________
'ara e)ecutarse el fichero $.E0E resultante, escribir el nombre de dicho fichero 9$:, y pulsar Enter.
____________________________________________________________________________________________________
FUNDAMENTOS DE PROGRAMACN ING. OSORNIO -A

Vous aimerez peut-être aussi