Está en la página 1de 17

Definicin de programa

El concepto de programa (trmino derivado del latn programma que, a su vez, tiene su
origen en un vocablo griego) posee mltiples acepciones. Puede ser entendido como el
anticipo de lo que se planea realizar en algn mbito o circunstancia; el temario que se
ofrece para un discurso; la presentacin y organizacin de las materias de un cierto curso o
asignatura; y la descripcin de las caractersticas o etapas en que se organizan determinados
actos o espectculos artsticos.
Lee todo en: Definicin de programa - Qu es, Significado y Concepto
http://definicion.de/programa/#ixzz3WV76qRrw

Lenguaje de programacin

Captura de la microcomputadora Commodore PET-32 mostrando un programa en el


lenguaje de programacin BASIC, bajo el emulador VICE en una distribucin GNU/Linux.

Un ejemplo de cdigo fuente escrito en el lenguaje de programacin Java, que imprimir el


mensaje "Hello World!" a la salida estndar cuando es compilado y ejecutado
Un lenguaje de programacin es un lenguaje formal diseado para expresar procesos que
pueden ser llevados a cabo por mquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una
mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana.1
Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su
estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe,

se prueba, se depura, se compila (de ser necesario) y se mantiene el cdigo fuente de un


programa informtico se le llama programacin.
Tambin la palabra programacin se define como el proceso de creacin de un programa de
computadora, mediante la aplicacin de procedimientos lgicos, a travs de los siguientes
pasos:

El desarrollo lgico del programa para resolver un problema en particular.

Escritura de la lgica del programa empleando un lenguaje de programacin


especfico (codificacin del programa).

Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina.

Prueba y depuracin del programa.

Desarrollo de la documentacin.

Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin' y
'lenguaje informtico'. Los lenguajes informticos engloban a los lenguajes de
programacin y a otros ms, como por ejemplo HTML (lenguaje para el marcado de
pginas web que no es propiamente un lenguaje de programacin, sino un conjunto de
instrucciones que permiten estructurar el contenido de los documentos).
Permite especificar de manera precisa sobre qu datos debe operar una computadora,
cmo deben ser almacenados o transmitidos y qu acciones debe tomar bajo una
variada gama de circunstancias. Todo esto, a travs de un lenguaje que intenta estar
relativamente prximo al lenguaje humano o natural. Una caracterstica relevante de
los lenguajes de programacin es precisamente que ms de un programador pueda
usar un conjunto comn de instrucciones que sean comprendidas entre ellos para
realizar la construccin de un program

Hardware

Hardware tpico de una computadora personal:


1. Monitor.
2. Placa principal.
3. Microprocesador (CPU) y zcalo.
4. Un mdulo de RAM y tres ranuras.
5. Dos tarjetas de expansin y tres ranuras.
6. Fuente de alimentacin.
7. Unidad de disco ptico (CD; DVD; BD).
8. Unidad de disco duro unidad de estado slido.
9. Teclado.
10. Ratn.
El trmino hardware (pronunciacin AFI: [hdw] o [hdw]) se refiere a todas las
partes fsicas de un sistema informtico; sus componentes son: elctricos, electrnicos,
electromecnicos y mecnicos.1 Son cables, gabinetes o cajas, perifricos de todo tipo y
cualquier otro elemento fsico involucrado; contrariamente, el soporte lgico es intangible y
es llamado software. El trmino es propio del idioma ingls (literalmente traducido: partes
duras), su traduccin al espaol no tiene un significado acorde, por tal motivo se la ha
adoptado tal cual es y suena; la Real Academia Espaola lo define como Conjunto de los
componentes que integran la parte material de una computadora.2 El trmino, aunque sea
lo ms comn, no solamente se aplica a las computadoras; del mismo modo, tambin un
robot, un telfono mvil, una cmara fotogrfica, un reproductor multimedia o cualquier
otro electrnico que procese datos poseen hardware (y software).3 4 La historia del
hardware de computador se puede clasificar en cuatro generaciones, cada una caracterizada
por un cambio tecnolgico de importancia. Una primera delimitacin podra hacerse entre
hardware bsico, el estrictamente necesario para el funcionamiento normal del equipo, y
complementario, el que realiza funciones especficas.

Un sistema informtico se compone de una unidad central de procesamiento (UCP o CPU),


encargada de procesar los datos, uno o varios perifricos de entrada, los que permiten el
ingreso de la informacin y uno o varios perifricos de salida, los que posibilitan dar salida
(normalmente en forma visual o auditiva) a los datos procesados. Su abreviatura es Hw.
a de forma colaborativa.

Software
Software

Dentro de la categora de software de aplicacin estn incluidos los procesadores de texto


como LibreOffice Writer (arriba) y los editores grficos rasterizados como Krita (abajo).
Se conoce como software1 al equipamiento lgico o soporte lgico de un sistema
informtico, que comprende el conjunto de los componentes lgicos necesarios que hacen
posible la realizacin de tareas especficas, en contraposicin a los componentes fsicos que
son llamados hardware.

Los componentes lgicos incluyen, entre muchos otros, las aplicaciones informticas; tales
como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a
la edicin de textos; el llamado software de sistema, tal como el sistema operativo, que
bsicamente permite al resto de los programas funcionar adecuadamente, facilitando
tambin la interaccin entre los componentes fsicos y el resto de las aplicaciones, y
proporcionando una interfaz con el usuario.
El anglicismo "software" es el ms ampliamente difundido al referirse a este concepto,
especialmente en la jerga tcnica; en tanto que el trmino sinnimo logicial, derivado del
trmino francs logiciel, es utilizado mayormente en pases y zonas de influencia francesa.
Su abreviatura es Sw.

Algoritmo
Este artculo o seccin necesita referencias que aparezcan en una publicacin
acreditada, como revistas especializadas, monografas, prensa diaria o pginas de
Internet fidedignas. Este aviso fue puesto el 25 de marzo de 2015.
Puedes aadirlas o avisar al autor principal del artculo en su pgina de discusin pegando:
{{subst:Aviso referencias|Algoritmo}} ~~~~

Los diagramas de flujo sirven para representar algoritmos de manera grfica.


En matemticas, lgica, ciencias de la computacin y disciplinas relacionadas, un
algoritmo (del griego y latn, dixit algorithmus y este a su vez del matemtico persa AlJuarismi1 ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y
finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a
quien deba realizar dicha actividad.2 Dados un estado inicial y una entrada, siguiendo los
pasos sucesivos se llega a un estado final y se obtiene una solucin. Los algoritmos son el
objeto de estudio de la algoritmia.1

En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas.


Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un
aparato, o las instrucciones que recibe un trabajador por parte de su patrn. Algunos
ejemplos en matemtica son el algoritmo de multiplicacin, para calcular el producto, el
algoritmo de la divisin para calcular el cociente de dos nmeros, el algoritmo de Euclides
para obtener el mximo comn divisor de dos enteros positivos, o el mtodo de Gauss para
resolver un sistema lineal de ecuaciones.

Diagrama de flujo
Este artculo o seccin necesita una revisin de ortografa y gramtica.
Puedes colaborar editndolo. Cuando se haya corregido, puedes borrar este aviso.
Puedes ayudarte del corrector ortogrfico, activndolo en: Mis preferencias Accesorios
Navegacin El corrector ortogrfico resalta errores ortogrficos con un fondo rojo.

Diagrama de flujo sencillo con los pasos a seguir si una lmpara no funciona.

Diagrama de actividades para un loop a(bucle


El diagrama de flujo o diagrama de actividades es la representacin grfica del
algoritmo o proceso. Se utiliza en disciplinas como programacin, economa, procesos
industriales y psicologa cognitiva.
En Lenguaje Unificado de Modelado (UML), un diagrama de actividades representa los
flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema.
Un diagrama de actividades muestra el flujo de control general.
En SysML el diagrama ha sido extendido para indicar flujos entre pasos que mueven
elementos fsicos (p.ej., gasolina) o energa (p.ej., presin). Los cambios adicionales
permiten al diagrama soportar mejor flujos de comportamiento y datos continuos.
Estos diagramas utilizan smbolos con significados definidos que representan los pasos del
algoritmo, y representan el flujo de ejecucin mediante flechas que conectan los puntos de
inicio y de fin de proceso.

Dato

Para una antigua ciudad griega de Tracia, vase Dato (Tracia).


Vase tambin: Archivo informtico
Un dato es una representacin simblica (numrica, alfabtica, algortmica, espacial, etc.)
de un atributo o variable cuantitativa o cualitativa. Los datos describen hechos empricos,
sucesos y entidades. Es un valor o referente que recibe el computador por diferentes
medios, los datos representan la informacin que el programador manipula en la
construccin de una solucin o en el desarrollo de un algoritmo.
Los datos aisladamente pueden no contener informacin humanamente relevante. Slo
cuando un conjunto de datos se examina conjuntamente a la luz de un enfoque, hiptesis o
teora se puede apreciar la informacin contenida en dichos datos. Los datos pueden
consistir en nmeros, estadsticas o proposiciones descriptivas. Los datos convenientemente
agrupados, estructurados e interpretados se consideran que son la base de la informacin
humanamente relevante que se pueden utilizar en la toma de decisiones, la reduccin de la
incertidumbre o la realizacin de clculos. Es de empleo muy comn en el mbito
informtico y, en general, prcticamente en cualquier investigacin cientfica.
En programacin, un dato es la expresin general que describe las caractersticas de las
entidades sobre las cuales opera un algoritmo.
En Estructura de datos, es la parte mnima de la informacin.

Un dato por s mismo no constituye informacin, es el procesamiento de los datos lo que


nos proporciona informacin.

Informacin
Para otros usos de este trmino, vase Informacin (desambiguacin).
La informacin es un conjunto organizado de datos procesados, que constituyen un
mensaje que cambia el estado de conocimiento del sujeto o sistema que recibe dicho
mensaje. Existen diversos enfoques para el estudio de la informacin:

En biologa, la informacin se considera como estmulo sensorial que afecta al


comportamiento de los individuos

En computacin y teora de la informacin, como una medida de la complejidad de


un conjunto de datos.

En comunicacin social y periodismo, como un conjunto de mensajes


intercambiados por individuos de una sociedad con fines organizativos concretos.

Los datos sensoriales una vez percibidos y procesados constituyen una informacin que
cambia el estado de conocimiento, eso permite a los individuos o sistemas que poseen
dicho estado nuevo de conocimiento tomar decisiones pertinentes acordes a dicho
conocimiento.
Desde el punto de vista de la ciencia de la computacin, la informacin es un
conocimiento explcito extrado por seres vivos o sistemas expertos como resultado de
interaccin con el entorno o percepciones sensibles del mismo entorno. En principio la
informacin, a diferencia de los datos o las percepciones sensibles, tienen estructura til
que modificar las sucesivas interacciones del que posee dicha informacin con su entorno

Estructura de datos
En programacin, una estructura de datos es una forma particular de organizar datos en
una computadora para que pueda ser utilizado de manera eficiente.
Diferentes tipos de estructuras de datos son adecuadas para diferentes tipos de aplicaciones,
y algunos son altamente especializados para tareas especficas.
Las estructuras de datos son un medio para manejar grandes cantidades de datos de manera
eficiente para usos tales como grandes bases de datos y servicios de indizacin de internet.
Por lo general, las estructuras de datos eficientes son clave para disear eficientes
algoritmos. Algunos mtodos formales de diseo y lenguajes de programacin destacan las
estructuras de datos, en lugar de los algoritmos, como el factor clave de organizacin en el
diseo de software.

Descripcin
Las estructuras de datos se basan generalmente en la capacidad de un ordenador para
recuperar y almacenar datos en cualquier lugar de su memoria.

Estructuras de datos en programacin


En Programacin una estructura de datos puede ser declarada inicialmente escribiendo
una palabra reservada, luego un identificador para la estructura y un nombre para cada uno
de sus miembros, sin olvidar los tipos de datos que estos representan. Generalmente, cada
miembro va separado por algn tipo de operador, caracter o palabra reservada.
En el lenguaje de programacin Pauscal es posible crear una estructura de datos de la
forma recin mencionada. La sintaxis basica es:
Estruc Identificador, _
Miembro1:TipoDeDato, _
Miembro2:TipoDeDato, _
...

Miembro9:TipoDeDato

Para acceder a los miembros de una estructura primero se debe crear una referencia a esta,
generalmente con una variable de tipo, luego se pueden editar y obtener los datos de los
miembros libremente.
Estruc Estructura,Miembro1:Entero,Miembro2:Cadena,Miembro3:Byte
Var Variable:Estructura
Variable.Miembro1 = 40000
Variable.Miembro2 = "Hola Mundo"
Variable.Miembro3 = 255
Mensaje(Variable.Miembro2) ' Muestra "Hola Mundo"

Las medidas de almacenamiento son


aquellas unidades de medicin que permiten determinar cunto espacio hay
disponible en una unidad de memoria.
Se le llama medida de almacenamiento al registro del espacio que hay en un dispositivo
dado para grabar datos e informacin de manera permanente o temporal. Tambin se puede
decir que una medida de almacenamiento es aquella prctica que se realiza con el inters de
optimizar el rendimiento y aprovechar todo el espacio que existe dentro de una unidad.
En informtica, existen distintos dispositivos de almacenamiento que facilitan la
conservacin de informacin, ya sea dentro del ordenador o fuera, como una memoria
porttil. Los dispositivos pueden ser tanto una memoria o disco duro, un disco o CD
ROM, una memoria flash o porttil, un DVD y varias otras. En stas la informacin puede
almacenarse en forma provisoria o temporaria o de manera permanente.
Entre las unidades de medicin de almacenamiento, es decir, el tamao o espacio
disponible en cada uno de estos dispositivos, se cuentan:
el bit o dgito binario: un bit es la unidad de informacin ms pequea que el procesador
manipula y fsicamente se representa con un elemento como un pulso o un punto. Ocho bits
constituyen un byte.
el byte o unidad de almacenamiento: cuenta con 8 bits. Equivale a un slo carcter, como

una letra o un nmero.


- el kilobyte (kB): equivale a 1.024 bytes y a menudo es la unidad en la que se registra el
almacenamiento de archivos pequeos como documentos de texto o imgenes en baja
resolucin.
- el megabyte (MB): equivale a ms de un milln de bytes, y commente archivos de
tamao considerable se almacenan en esta unidad. Por ejemplo, imgenes en alta
resolucin, archivos, carpetas, documentos y hasta programas.
- el gigabyte (GB): equivale a mil millones de bytes. Es la unidad que ms tpicamente se
maneja hoy en da, y los ordenadores ms comunes proveen de un espacio de ms de 100
GB para memoria. Los archivos de todo un ordenador de tamao considerable se miden en
GB.
- el terabyte (TB): equivale a 1024 Gigabytes y es una medida que se utiliza para referir a
ordenadores de alta complejidad.
Desde Definicion ABC: http://www.definicionabc.com/tecnologia/medidas-dealmacenamiento.php#ixzz3WVAQ7NQL

Definicin de Medidas de almacenamiento


Las medidas de almacenamiento son aquellas unidades de medicin que permiten
determinar cunto espacio hay disponible...

Definicin de Dispositivo de Almacenamiento


En el mbito de la tecnologa, especialmente de las computadoras, hay ciertos instrumentos
que pueden servir para...

Definicin de Almacenamiento
Para cualquier sistema ordenado, las unidades de almacenamiento son aquellas que
permiten guardar fsica o...

Definicin de DVD
Los Digital Versatile Discs o DVDs son discos compactos que utilizan una tecnologa
similar a los CD-ROMs, CR-R/RW...

Definicin de CD-ROM
Un CD-ROM es un disco plano de plstico que posee informacin digital en forma de
espiral. Se trata de un estndar...

Definicin de Kilobyte
La palabra kilobyte es una de esas que normalmente confundimos con otros trminos
parecidos y que nos revuelven...
Desde Definicion ABC: http://www.definicionabc.com/?s=Medidas%20de
%20almacenamiento#ixzz3WVAiYluS

Compilador
Compilacin redirige aqu. Para otras acepciones, vase recopilacin.

Diagrama a bloques de la operacin de un buen compilador.


Un compilador es un programa informtico que traduce un programa escrito en un
lenguaje de programacin a otro lenguaje de programacin.1 Usualmente el segundo
lenguaje es lenguaje de mquina, pero tambin puede ser un cdigo intermedio (bytecode),
o simplemente texto. Este proceso de traduccin se conoce como compilacin.2

ndice

1 Partes de un compilador

2 Historia

3 Tipos de compiladores

4 Proceso de compilacin

5 Etapas del proceso


o 5.1 Fase de anlisis

5.1.1 Anlisis lxico

5.1.2 Anlisis sintctico

5.1.3 Anlisis semntico

o 5.2 Fase de sntesis

5.2.1 Generacin de cdigo intermedio

o 5.3 Optimizacin de cdigo

6 Estructura de datos principales


o 6.1 Componentes lxicos o tokens
o 6.2 rbol sintctico
o 6.3 Tabla de smbolos
o 6.4 Tabla de literales
o 6.5 Cdigo intermedio
o 6.6 Archivos temporales

7 Vase tambin

8 Referencias

9 Enlaces externos

Partes de un compilador

La construccin de un compilador involucra la divisin del proceso en una serie de fases


que variar con su complejidad. Generalmente estas fases se agrupan en dos tareas: el
anlisis del programa fuente y la sntesis del programa objeto.

Anlisis: Se trata de la comprobacin de la correccin del programa fuente, e


incluye las fases correspondientes al Anlisis lxico (que consiste en la
descomposicin del programa fuente en componentes lxicos), Anlisis sintctico
(agrupacin de los componentes lxicos en frases gramaticales ) y Anlisis
semntico (comprobacin de la validez semntica de las sentencias aceptadas en la
fase de Anlisis Sintctico).

Sntesis: Su objetivo es la generacin de la salida expresada en el lenguaje objeto y


suele estar formado por una o varias combinaciones de fases de Generacin de
Cdigo (normalmente se trata de cdigo intermedio o de cdigo objeto) y de
Optimizacin de Cdigo (en las que se busca obtener un cdigo lo ms eficiente
posible).

Alternativamente, las fases descritas para las tareas de anlisis y sntesis se pueden agrupar
en Front-end y Back-end:

Front-end: es la parte que analiza el cdigo fuente, comprueba su validez, genera el


rbol de derivacin y rellena los valores de la tabla de smbolos. Esta parte suele ser
independiente de la plataforma o sistema para el cual se vaya a compilar, y est
compuesta por las fases comprendidas entre el Anlisis Lxico y la Generacin de
Cdigo Intermedio.

Back-end: es la parte que genera el cdigo mquina, especfico de una plataforma, a


partir de los resultados de la fase de anlisis, realizada por el Front End.

Esta divisin permite que el mismo Back End se utilice para generar el cdigo mquina de
varios lenguajes de programacin distintos y que el mismo Front End que sirve para
analizar el cdigo fuente de un lenguaje de programacin concreto sirva para generar
cdigo mquina en varias plataformas distintas. Suele incluir la generacin y optimizacin
del cdigo dependiente de la mquina.
El cdigo que genera el Back End normalmente no se puede ejecutar directamente, sino que
necesita ser enlazado por un programa enlazador (linker) incventemos programas xxx

Historia
Artculo principal: Historia de la construccin de los compiladores

En 1946 se desarroll la primera computadora digital. En un principio, estas mquinas


ejecutaban instrucciones consistentes en cdigos numricos que sealaban a los circuitos de

la mquina los estados correspondientes a cada operacin, lo que se denomin lenguaje


mquina.
Pronto los primeros usuarios de estos ordenadores descubrieron la ventaja de escribir sus
programas mediante claves ms fciles de recordar que esos cdigos; al final, todas esas
claves juntas se traducan manualmente a lenguaje mquina. Estas claves constituyen los
llamados lenguajes ensambladores.
Pese a todo, el lenguaje ensamblador segua siendo el de una mquina, pero ms fcil de
manejar. Los trabajos de investigacin se orientaron hacia la creacin de un lenguaje que
expresara las distintas acciones a realizar de una manera lo ms sencilla posible para una
persona. El primer compilador fue escrito por Grace Hopper, en 1952 para el lenguaje de
programacin A-0. En 1950 John Backus dirigi una investigacin en IBM sobre un
lenguaje algebraico. En 1954 se empez a desarrollar un lenguaje que permita escribir
frmulas matemticas de manera traducible por un ordenador; le llamaron FORTRAN
(FORmulae TRANslator). Fue el primer lenguaje de alto nivel y se introdujo en 1957 para
el uso de la computadora IBM modelo 704.
Surgi as por primera vez el concepto de un traductor como un programa que traduca un
lenguaje a otro lenguaje. En el caso particular de que el lenguaje a traducir es un lenguaje
de alto nivel y el lenguaje traducido de bajo nivel, se emplea el trmino compilador.
La tarea de realizar un compilador no fue fcil. El primer compilador de FORTRAN tard
18 aos-persona en realizarse y era muy sencillo. Este desarrollo de FORTRAN estaba muy
influenciado por la mquina objeto en la que iba a ser implementado. Como un ejemplo de
ello tenemos el hecho de que los espacios en blanco fuesen ignorados, debido a que el
perifrico que se utilizaba como entrada de programas (una lectora de tarjetas perforadas)
no contaba correctamente los espacios en blanco.
El primer compilador autocontenido, es decir, capaz de compilar su propio cdigo fuente
fue el creado para Lisp por Hart y Levin en el MIT en 1962. Desde 1970 se ha convertido
en una prctica comn escribir el compilador en el mismo lenguaje que este compila,
aunque Pascal y C han sido alternativas muy usadas.
Crear un compilador autocontenido genera un problema llamado bootstrapping, es decir el
primer compilador creado para un lenguaje tiene que o bien ser compilado por un
compilador escrito en otro lenguaje o bien compilado al ejecutar el compilador en un
intrprete.

Tipos de compiladores
Esta taxonoma de los tipos de compiladores no es excluyente, por lo que puede haber
compiladores que se adscriban a varias categoras:

Compiladores cruzados: generan cdigo para un sistema distinto del que estn
funcionando.

Compiladores optimizadores: realizan cambios en el cdigo para mejorar su


eficiencia, pero manteniendo la funcionalidad del programa original.

Compiladores de una sola pasada: generan el cdigo mquina a partir de una


nica lectura del cdigo fuente.

Compiladores de varias pasadas: necesitan leer el cdigo fuente varias veces


antes de poder producir el cdigo mquina.

Compiladores JIT (Just In Time): forman parte de un intrprete y compilan partes


del cdigo segn se necesitan.

Pauta de creacin de un compilador: En las primeras pocas de la informtica, el software


de los compiladores era considerado como uno de los ms complejos existentes.
Los primeros compiladores se realizaron programndolos directamente en lenguaje
mquina o en ensamblador. Una vez que se dispone de un compilador, se pueden escribir
nuevas versiones del compilador (u otros compiladores distintos) en el lenguaje que
compila ese compilador.
Actualmente existen herramientas que facilitan la tarea de escribir compiladores
intrpretes informticos. Estas herramientas permiten generar el esqueleto del analizador
sintctico a partir de una definicin formal del lenguaje de partida, especificada
normalmente mediante una gramtica formal y barata, dejando nicamente al programador
del compilador la tarea de programar las acciones semnticas asociadas.

Conocimiento
Existen desacuerdos sobre la exactitud de la informacin en este artculo o
seccin.
En la pgina de discusin puedes consultar el debate al respecto.

Saber redirige aqu. Para el personaje ficticio de novelas visuales, anime y manga, vase
Saber (Fate/stay night).
"rbol del conocimiento", de Lucas Cranach el Viejo.
El conocimiento suele entenderse como:
1. Hechos o informacin adquiridos por una persona a travs de la experiencia o la
educacin, la comprensin terica o prctica de un asunto referente a la realidad.
2. Lo que se adquiere como contenido intelectual relativo a un campo determinado o a
la totalidad del universo.
3. Conciencia o familiaridad adquirida por la experiencia de un hecho o situacin.

4. Representa toda certidumbre cognitiva mensurable segn la respuesta a por


qu?, cmo?, cundo? y dnde?.
No existe una nica definicin de conocimiento. Sin embargo existen muchas
perspectivas desde las que se puede considerar el conocimiento, siendo la consideracin de
su funcin y fundamento, un problema histrico de la reflexin filosfica y de la ciencia.
La rama de la filosofa que estudia el conocimiento es la epistemologa o teora del
conocimiento. La teora del conocimiento estudia las posibles formas de relacin entre el
sujeto y el objeto. Se trata por lo tanto del estudio de la funcin del entendimiento propia de
la persona