Escolar Documentos
Profissional Documentos
Cultura Documentos
CONCEPTOS FUNDAMENTALES
Computación e Informática
• La Computación es la disciplina que busca establecer
una base científica para resolver problemas mediante
el uso de dispositivos electrónicos y sistemas
computacionales.
• La Computación es el estudio de métodos algorítmicos
para representar y transformar la información,
incluyendo su teoría, diseño, implementación,
aplicación y eficiencia.
Las raíces de la computación e informática se extienden
profundamente en la matemática y la ingeniería. La
matemática imparte el análisis del campo y la ingeniería
imparte el diseño.
• Informática es un vocablo inspirado en el francés informatique,
formado a su vez por la conjunción de las palabras information y
automatique, para dar idea de la automatización de la información
que se logra con los sistemas computacionales.
• Informática es un conjunto de conocimientos científicos y técnicas
que hacen posible el tratamiento automático y racional de la
información por medio de computadoras.
Unidad de Control
Elementos Elementos
de entrada Unidad Aritmética-Lógica de salida
Memoria Central
• Está formador por:
– Unidad de control. Es la parte del procesador
encargada de gobernar el resto de las unidades,
además de interpretar y ejecutar las instrucciones
controlando su secuencia.
– Unidad aritmética-lógica. Es la parte del procesador
encargada de realizar todas las operaciones
elementales de tipo aritmético y lógico.
Software Programas
Software de aplicación
Datos
Gestión de información
Gestión de memoria
Progr. de control Gestión de entrada y salida
Gestión del procesador
Gestión de trabajos
Sist. Operativo
""'°'" _,.,..c.o,o,-
--,--·--:W.0
0.SIOt.Ma.M CII Ollol '"'-"''"'"
t,._ .... 1�, •11 ,_,_. ,_
!-.SOIHTMl.
--·-IIIOf•·O.-
..._,,. -·IMl·IWHI·-»
--·OlA·-
....,,- ..._-. t-, . ....-...---·-
Esquema básico del elemento
humano
• El elemento humano es el más importante de los que
constituyen la informática. Sin personas estas
máquinas serían totalmente inútiles.
Ello
· Etto et un blt
un byte
ol 1 1 o 1 o 1 o 1
1
1 bit o 1
Ir
'
2 estados
1 Realiza la tabla de los estados que se pueden representar con tres bits.
2 Ahora calcula cuentes estados se pueden representar con cuenc bits.
• Para calcular las siguientes unidades de medida se toma la
base y se eleva a un exponente en incremento.
• En este sistema, los números se representan
como potencias de 2. Cada cifra toma el valor
de 0 o 1.
• Ejemplo:
– El número 6 en notación binaria:
6 = 110
– Para convertir de notación binaria a decimal:
110 = 1 x 22 + 1x21 + 0 x 20 = 6
Sistema Binario
• Las unidades mayores al bit se expresan en unidades de 1024
en 1024.
• La diferencia de valores 1024 (en lugar de 1000 del Sistema
Internacional) es porque al trabajar en el sistema binario la
potencia 2 sería 210 que es igual a 1024 y es la más cercana a
1000.
• Ejemplos del uso de las unidades de medida al
describir la información que se almacena:
– Un documento de texto simple con el mensaje:
Hola Mundo ocupa en total 10 bytes.
– Un archivo de música MP3 de 3.23 minutos de
duración ocupa aproximadamente 3.23
Megabytes.
– Un video de alta definición de una duración de
0.33 segundos (dependiendo de su resolución)
ocupa aproximadamente 4.14 Megabytes.
Tabla de caracteres y símbolos
• Las tablas de caracteres son estándares adoptados por
la industria de software en diferentes regiones del
planeta para uniformizar la representación de los
caracteres, números y símbolos que se obtienen con el
teclado.
• Así se tiene que la tabla adoptada por Windows es la
tabla ANSI. Pero existen otras muy conocidas como la
tabla ASCII.
Lenguaje de Programación
• Es un conjunto de normas lingüísticas que permiten
escribir un programa con instrucciones que sean
entendidas por la computadora.
• Un lenguaje de programación es una notación para
escribir programas.
• Un lenguaje de programación permite al usuario crear
programas que serán entendidos por el computador
(directa o indirectamente) con el objetivo de realizar
alguna tarea.
• Todo lenguaje de programación tiene:
– Un alfabeto: que son los elementos léxicos permitidos
– Una Sintaxis: que indica cómo se construyen las frases del
lenguaje
– Una Semántica: que indica el significado de las palabras y
frases formadas.
• Programa
Es un conjunto de instrucciones escritas en un lenguaje de
programación susceptibles de ser ejecutadas por la
computadora.
Programa = conjunto de datos + algoritmos
– Datos: conjunto de valores.
– Algoritmo: Secuencia de pasos a seguir para resolver un
problema
Dijkstra (1972)
“El arte de la programación es el arte de organizar la
complejidad”
“Debemos organizar los cálculos de manera que nuestros
limitados sentidos sean suficientes para garantizar que el
cómputo arroje los resultados esperados”
• El lenguaje debe ayudarnos a escribir buenos
programas: un programa es bueno si es fácil de
leer, fácil de entender y fácil de modificar.
Lógicamente además de resolver el problema
deseado.
Clasificación de los lenguajes de
programación
• Lenguaje máquina
Los lenguajes máquina son aquellos cuyas
instrucciones son directamente entendibles por el
computador sin la necesidad de traducción alguna. Sus
instrucciones no son más que conjuntos de ceros y
unos (bits). Estas especifican la operación a realizar, los
registros del procesador y celdas de memoria
implicados, etc.
Estos lenguajes son dependientes de la máquina.
Obviamente, este tipo de lenguajes serán fáciles de
comprender para un computador pero muy difíciles para
el hombre.
• Lenguajes de bajo nivel (ensamblador)
La programación en lenguaje máquina es difícil, por ello se
necesitan lenguajes que permitan simplificar este proceso.
Los lenguajes de bajo nivel han sido diseñados para este
fin.
Estos lenguajes son generalmente dependientes de la
máquina, es decir, dependen de un conjunto de
instrucciones específicas del computador. Un ejemplo de
este tipo de lenguajes es el ensamblador. En él, las
instrucciones se escriben en códigos alfabéticos conocidos
como mnemotécnicos (generalmente, abreviaturas de
palabras inglesas).
Las palabras mnemotécnicas son mucho más fáciles de
recordar que las secuencias de ceros y unos. Una
instrucción típica de ensamblador puede ser:
ADD x,y,z
• Lenguajes de alto nivel
Los lenguajes de alto nivel son aquellos en los que las
instrucciones o sentencias son escritas con palabras similares
a las de los lenguajes humanos (en la mayoría de los casos,
el Inglés). Esto facilita la escritura y comprensión del código
al programador.
Estos lenguajes permiten escribir programas portables y
legibles.
Existen muchos lenguajes de alto nivel, por citar algunos:
ADA, BASIC, COBOL, FORTRAN, C , C++, Modula-2, Lisp,
Prolog, Pascal, Java, Php, html, xml , etc.
A continuación se presenta una instrucción de java:
Pascal
C
Ensamblador
Programas fuente y objeto
• Un programa puede ser definido como un conjunto
de instrucciones que pueden someterse como
unidad a un computador y utilizarse para dirigir el
comportamiento de éste.
• Un programa fuente es aquel que nos permite
escribir un algoritmo mediante un lenguaje formal. Por
eso al código desarrollado al programar se le llama
código fuente.
• Un programa objeto es el resultado de traducir un
programa fuente para obtener un lenguaje
comprensible por la máquina.
Traductores de programas
Los traductores son un tipo de programas cuya
función es convertir el código de un lenguaje en
otro. Por ejemplo un compilador, que traduce
código fuente en código objeto. Existen distintos
tipos de traductores, entre ellos destacan:
– Ensambladores
– Preprocesadores
– Intérpretes
– Compiladores
• Ensambladores
Es un tipo de traductor que convierte programas
escritos en lenguaje ensamblador en programas
escritos en código máquina.
• Preprocesadores
Traduce un lenguaje de alto nivel a otro, cuando el
primero no puede pasar a lenguaje máquina
directamente.
• Intérpretes
Se trata de traductores-ejecutores, es decir traduce en
tiempo de ejecución ya que con cada instrucción realizan
un proceso triple de lectura-traducción-ejecución. Son
relativamente lentos, pero muy buenos para la depuración
de programas.
• Compiladores
Es el tipo de traductor más conocido. Se trata de un
programa que traduce código fuente escrito en un lenguaje
de alto nivel (java) en código máquina (no siempre). Son más
rápidos que los intérpretes pero presentan mayor dificultad
a la hora de detectar errores.
Prognnm Fuente
(u ""•.<)
••
!
-c-
e
E
1
•
i
i.
'•
Librl'llM
. ....,
Prognnm ObjflO
i
•
(
•
••
.
·----- ,, �--
•
_,
Prognnm ejecuta e
(
Para ubicarnos en el curso: La parte central son los algoritmos
Xqqqqqqqqqqqqqqqjwn azacccc rd
Idea de cómo
resolver el
problema Traductores: Compilador
e
Aleo ritmo
• HW
... e
............... 1
o
• •
; Programa '
•
... Manejadores de Bases
de datos
': (Aprender un
Problema
: len¡u1Jt ee ,
: pro¡rf111K1on) ,
..................
�!=� �"""'··