You are on page 1of 36

Principios de Computadoras II

Departamento de Ingeniería Electrónica y Computadoras


Universidad Nacional del Sur

Conceptos Iniciales

Ing. Ricardo Coppo


¿Qué es una computadora?
 Una computadora es…

 una máquina digital y sincrónica


 con capacidad de cálculo numérico y lógico
 controlada por un programa almacenado
 con posibilidad de comunicación
con el mundo exterior.

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
2
Estructura de la computadora

 Son controlados por programas o secuencias


de instrucciones almacenados en su
memoria.

Procesador

Entradas Salidas
(input) (output)

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
3
Componentes Principales
CPU UC
Memoria
ALU
Principal
Registros

Bus o Canal

Memoria Salidas
Entradas
Dispositivos Secundaria Dispositivos
de de
Entrada Salida

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
4
Ciclo de instrucción básico

1. Buscar la siguiente instrucción en la memoria principal


2. Decodificar la instrucción para conocer su tipo
3. Ejecutar la operación
4. Calcular la dirección de la próxima instrucción.
5. Volver al paso 1.

Fetch Decode Execute Next

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
5
Niveles de abstracción

 Para poder estudiar sistemas electrónicos tan


complejos es necesario crear capas o “niveles” de
abstracción.

 La “abstracción” es una poderosa herramienta de


diseño y de análisis de sistemas.

 Jerarquiza el sistema en componentes de


complejidad lógica aceptable.

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
6
Ejemplo de abstracción
 A nivel mundial se puede
estudiar fenómenos
meteorológicos
 La capa de ozono

 En un nivel menor se puede


analizar fenómenos regionales
 Producción triguera

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
7
Ejemplo de abstracción
 A un nivel de mayor detalle se
pueden estudiar actividades
industriales
 Contaminación en la ría

 En una escala de aún mas


detalle se analizan los
problemas municipales.
 Construcciones sin permiso

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
8
Lenguajes, niveles y máquinas virtuales
Nivel 4  Los sistemas complejos se pueden estudiar
combinando lenguajes cada vez mas
abstractos que se traducen a los de un nivel
Nivel 3 inferior

 En cada nivel se define un lenguaje y

Nivel 2
máquina virtual

 En los niveles superiores los lenguajes se


acercan a los utilizados por el hombre.
Nivel 1
 Los lenguajes del nivel inferior pueden ser
señales, corrientes electrónicas, etc.
Nivel 0

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
9
Estructura multinivel
L4 – Orientación a
 El ingeniero electrónico estudia Objetos
exhaustivamente los tres primeros
niveles de abstracción (Niveles 0 a L3 – Programa
2). Pascal

 El término “hardware” se refiere al


estudio de los niveles 0 y 1. L2 - Ensamblador

 El término “software” se refiere a los


niveles de abstracción superior L1 - Componentes

L0 – Lógica digital

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
10
L0 – Lógica digital

Los componentes electrónicos


se interconectan de acuerdo a
un circuito esquemático.

El circuito representa un “lenguaje”


gráfico que es implementado o
“traducido” para obtener un circuito

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
11
L1 - Componentes

El siguiente nivel de
abstracción son los circuitos que
se representan con un lenguaje
de diagramas en bloque interconectados
Conceptos Iniciales Principios de Computadoras II
Ing.. Ricardo Coppo Universidad Nacional del Sur
12
L2 - Assembler Encabezamiento del programa

Directivas para el traductor

Etiquetas

Cada línea
de programa
corresponde
a una instrucción
del hardware Instrucciones Comentarios

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
13
L3 – Lenguaje de programación estructurado

1. Leer el valor de radio del teclado (x)


2. Calcular area = π * x * x
3. Imprimir (o mostrar en pantalla) el valor de “area”
4. Parar

program Circle (input, output);


const
PI = 3.14;
var
radio, superficie : real;
begin
writeln( ‘Ingresar el radio:’ );
readln( radio );
superficie := PI * radio * radio;
writeln( ‘La superficie es :’, superficie );
readln;
end.

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
14
L4 – Programación Orientado a Objetos

 Los componentes del programa modelan a los


“objetos” de la vida real.

 Los objetos son de un determinado tipo o “clase”.


La “clase” describe sus atributos o propiedades.

 Los objetos intercambian “mensajes” entre si y esto


constituye un nuevo paradigma de programación.

 Java es orientado a objetos desde su concepción

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
15
L5 – Lenguajes de alto nivel de abstracción

Los niveles más altos de abstracción


se basan en los conceptos matemáticos

La resolución de problemas se hace con


total independencia de la computadora
y de su software.

Los problemas resueltos en este lenguaje


luego se “implementan” en algún tipo
de dispositivo.

Un nivel de abstracción similar es la de


representación gráfica o visual

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
16
Traductores, Compiladores e Intérpretes

 Traducir un lenguaje es convertir las sentencias de


un lenguaje en las de otro

 Compilar un lenguaje es realizar toda la traducción


antes de la ejecución de los comandos

 Interpretar un lenguaje es repetir en forma cíclica la


operación de traducción y de ejecución

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
17
Programas compilados

 El proceso de compilación genera un programa


ejecutable solamente apto para la plataforma
elegida

 La especialización permite obtener programas muy


rápidas y eficientes en el uso de la CPU.

 Si bien los programas no son “portables” a otra


plataforma, se puede compilar reiteradas veces.
(Sujeto a la existencia de las herramientas y
bibliotecas adecuadas)
Conceptos Iniciales Principios de Computadoras II
Ing.. Ricardo Coppo Universidad Nacional del Sur
18
Compilación y generación del ejecutable

Código Compilador Código


Fuente objeto

Vinculador
Código
(Linker)
ejecutable

Código Compilador Código


Fuente objeto

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
19
Programas interpretados

 Requieren del intérprete o “máquina virtual” para su


ejecución.

 No hacen un uso eficiente de la CPU.

 Son muy portables, basta disponer del intérprete en


la nueva plataforma y todas las aplicaciones
funcionan sin cambios

 Muy aptas en entornos de red (donde la eficiencia


del procesador queda limitada por la velocidad de la
red)
Conceptos Iniciales Principios de Computadoras II
Ing.. Ricardo Coppo Universidad Nacional del Sur
20
Programas interpretados

Código Intérprete Ejecución


Fuente

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
21
Tecnología Java

 Es un lenguaje de programación
 Permite expresar programas en el paradigma “orientado a
objetos”, es decir mediante abstracciones de más alto nivel
que la del hardware subyacente y la de los lenguajes del
“paradigma” imperativo como C, Pascal, Fortran

 Es una plataforma tecnológica


 Brinda abstracciones que permite escribir programas en
forma independiente al sistema operativo y a la máquina
sobre la que se ejecutan

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
22
Tecnología Java

 Propiedades de Java como lenguaje

 Orientado a objetos
 Aplicaciones altamente portables
 Independiente del hardware
 Admite programación multitarea
 Aplicable a la programación de redes
 Versiones para dispositivos portátiles

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
23
Programas interpretados en Java

Archivos
ByteCode

Archivos Compilador Archivos


.java java .class

Intérprete
Archivos Java
Fuente (JVM)
Ejecución
programa
Archivos
.jar
Biblioteca
de soporte
Conceptos Iniciales Principios de Computadoras II
Ing.. Ricardo Coppo Universidad Nacional del Sur
24
Tecnología Java

 Propiedades de Java como plataforma tecnológico

 La plataforma Java es un entorno exclusivamente de


software.

 Es independiente del hardware y del sistema operativo


MiPrimerPrograma.java
 Está conformado por dos partes:
API JVM
 Una máquina virtual (JVM) Máquina Virtual Java
 Una API (Application Interface)
Plataforma HW y S.Op.

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
25
Distribuciones de Java

 Ejecución de programas
 JRE – Java Runtime Enviornment

 Desarrollo de aplicaciones
 Java SE – (JDK, J2SE) Standard Edition
 J2EE – Java 2 Enterprise Edition
 JME – Java Micro Edition

No todos los JVM son desarrollados por SUN


Conceptos Iniciales Principios de Computadoras II
Ing.. Ricardo Coppo Universidad Nacional del Sur
26
Plataforma Java

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
27
Mi Primer Programa
Comentario de
varias líneas

Comentario de
final de línea

Operación de
El procedimiento “main” es el
escritura en terminal
primero que invoca el intérprete

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
28
El entorno de desarrollo (IDE)

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
29
Conceptos de Ingeniería del Software

 La necesidad de crear productos de software


condujo a la necesidad de cierta disciplina en
el desarrollo de los proyectos.

 Muchos fracasos de programación se


debieron a errores de software.

 La “ingeniería del software” estudia métodos


y técnicas de desarrollo de software
Conceptos Iniciales Principios de Computadoras II
Ing.. Ricardo Coppo Universidad Nacional del Sur
30
El software como “producto”
Código
Fuente
Requerimiento
Inicial
Manual de
Referencia Manual de
(programador) usuario
Especificación
de requisitos
Procedimiento Código
de prueba Ejecutable

Archivos de
ayuda Producto final

Implementación
Conceptos Iniciales Principios de Computadoras II
Ing.. Ricardo Coppo Universidad Nacional del Sur
31
El “proyecto” de software

 Se refiere a las etapas o tareas que se deben


realizar para obtener un producto de software

 También es conocido como el “proceso” de


desarrollo del software

 Se caracteriza por un paradigma de


desarrollo también conocido como “ciclo de
vida”.
Conceptos Iniciales Principios de Computadoras II
Ing.. Ricardo Coppo Universidad Nacional del Sur
32
Ciclo de vida tradicional
Planteo del
problema Modelo en “cascada”

Especificación

Diseño

Implementación

Prueba y
mantenimento

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
33
Etapas en la construcción de programas
Etapa Tarea principal
Requerimiento El usuario describe el problema en forma informal y en
forma incompleta. Expresa opiniones sobre cómo desea
obtener la solución. Faltan detalles

Análisis El analista /programador describe QUE es lo el programa


debe hacer. Se describe la solución sin tomar decisiones
sobre la plataforma (hardware) o el software. En ingeniería
frecuentemente describe una solución matemática del
problema
Diseño Se define el COMO se obtiene la solución. Se puede usar
seudocódigo, diagramas de flujo, diagramas en bloque,
entre otras herramientas para facilitar la tarea de
programación siguiente
Implementación Programación del código fuente en el lenguaje de
programación elegido y generación del ejecutable
Mantenimiento y El usuario final pide modificaciones y se corrigen fallas
modificación para generar nuevas versiones

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
34
Estadísticas
 Un buen proyecto requiere:
 40% - Especificación y diseño
 Asignar tiempo suficiente a esta tarea mejora la calidad
del producto y simplifica los pasos siguientes

 20% - Implementación
 En esta etapa incide el lenguaje de programación y las
técnicas de desarrollo de programa.

 40% - Prueba y aceptación


 Verificación de las especificaciones y aceptación del
cliente.

Conceptos Iniciales Principios de Computadoras II


Ing.. Ricardo Coppo Universidad Nacional del Sur
35
Principios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras
Universidad Nacional del Sur

Conceptos Iniciales

Ing. Ricardo Coppo

You might also like