Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introducción a la Informática
Curso 2009
InCo - Facultad de Ingeniería
Universidad de la República
Docentes
Horarios
Teóricos (único grupo):
Lunes: De 18:30 a 20:00 Salón 107
Miércoles: De 18:30 a 20:00 Salón 107
Prácticos:
Horas\días Lunes Martes Miércoles Jueves Viernes
08:00 –10:00 Gastón-Mauro
(s. 105)
20 – 22 Mauricio
(s. 105)
1
Horarios
Prácticos (especiales):
Martes 18/8 (25/8) de 14:30 a 16:30 horas
Martes 18/8 (25/8) de 20 a 22 horas
Miércoles 19/8 y 26/8 de 8 a 10 horas
Jueves 20/8 y 27/8 de 16:30 a 18:30 horas
Viernes 21/8 y 28/8 de 18:30 a 20:30 horas
20 – 22 Mauricio
(s. 112)
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 4
Programa de Computación I
Objetivo del curso
“Aprender a utilizar la computadora como
herramienta de ingeniería y aprender a
desarrollar programas de cálculo”
Cronograma:
Introducción a la Informática
Algunas herramientas de Matlab 2 semanas
Metodologías de programación 4 semanas
Representación de números en un computador
3 semanas
Técnicas y herramientas “avanzadas” 2 semanas
Sistemas de información 2 semanas
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 5
Forma de aprobación
Dos parciales
El 1º otorga hasta el 40% de los puntos del
curso
El 2º otorga hasta el 60% de los puntos del
curso
2
Forma de aprobación
0 a 24 puntos:
No obtiene la aprobación del curso y deberá
recursar
25 a 59 puntos:
Obtiene la aprobación del curso y gana el
derecho a rendir examen
60 a 100 puntos:
Aprueba la materia sin necesidad de rendir el
examen
Material de teórico
3
Material de prácticos
Estudiantes de
- Facultad de Química
- Licenciatura en Estadísticas
No hay coordinación entre ambas bedelías
Ni fechas ni horarios
Los estudiantes pueden hacer sus planteos en
las bedelías cuando corresponda
4
Computación 1
- 2009 -
Conociendo la
herramienta de cálculo
La Computadora
Arquitectura de computadoras
Representación binaria
Bit: 0 ó 1
Byte: ocho bits 0000 0000 a 1111 1111
A LF SUB * : J Z j z
B VT ESC + ; K [ k {
C FF FS , < L \ l |
D CR GS - = M ] m }
22 + 21 + 20 23 + 22 + 21 +20
E SO RS . > N ^ n ~ = 7 = 15
F SI US / ? O _ o DEL
5
Arquitectura de computadores
PROCESADOR CACHE
Memoria RAM CENTRAL
COPROCESADOR
BUS de datos
Disco
Discoduro
duro
Discos
Impresora Audio
removibles Monitor
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 16
Arquitectura de computadores 1
Unidad Central de Proceso (CPU)
Cantidad de instrucciones que reconoce
Largo de palabra del procesador
Velocidad (reloj): micro instrucciones / segundo
(MHz)
Coprocesador (procesador de tareas auxiliares)
Matemático
Audio
Vídeo
Memoria RAM y Virtual
Arquitectura de computadores 2
Controladores de dispositivos
BUS de datos
Reloj del bus de datos
6
Arquitectura de computadores
Memoria: Parámetros para su
clasificación
Volátil o permanente
Velocidad de acceso
Lectura y grabación o sólo lectura
Capacidad de almacenamiento
Arquitectura de computadores
Memoria: tipos usados en computadoras
RAM random access memory
ROM read only memory
BIOS: Basic Input Output System
EPROM y EEPROM (Electric) Erasable and
Programmable Read Only
Memory
Cache área de trabajo del procesador (L1 y L2)
CMOS (parámetros del hardware)
Memoria estable: cintas, discos, disquetes, CD-
ROMs, DVDs, Flash memory
Virtual
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 20
4
1
2
RAM
Procesador
7
Memoria Virtual
SO
Nuevo programa
Memoria RAM
Memoria
Virtual
(disco duro)
Almacenamiento externo
Cintas magnéticas
Discos duros (hard disk)
Disquetes (floppy disk)
CD-ROM
CD-RW
DVD-ROM
Memoria Flash
Arquitectura de un disco
magnético Pista 0
Pista 10
Superficie
magnetizable Pista n
Cabezas de
lectura/grabación
Pistas
Cilindros Control
De
Sectores Cabezales
8
Organización de datos en
discos Ejemplo : disquete de 3.5 pulgadas
Alta densidad
Doble cara
Dos cabezales
Formateado para trabajar con Windows
Cada cara tiene 80 pistas
Cada pista 18 sectores
Cada sector 512 bytes cada uno
80 * 2 * 18 * 512 = 1474560 ( / 1024 = 1440 KB )
Organización de datos en
discos Ejemplo : disquete de 3.5 pulgadas
De un total de 1440 KBytes
Son útiles 1380 KBytes
Organización de datos en
discos
Archivos A1
A1 B1
C: B1 TT
Convención de nombres
A2
A2
Contienen programas o datos TT
Carpetas A3
A3
Estructura jerárquica
A4
URL –Uniform Resource Locator- A4
TT
\\máquina\directorio\archivo
Ejemplo: \\isis\C\A1\B1\T
Índice de archivos en un disco: FAT
9
Sistemas Operativos ¿qué hacen?
Gestionan y coordinan el uso de los recursos del equipo
haciendo que los detalles particulares del hardware sean
transparentes para las aplicaciones
Es un intermediario entre los programas y el hardware
(recursos)
Consideramos recursos a:
Memoria RAM Aplicaciones
Procesador
A1 A2 An
Captura y despliegue de información
Discos, disquetes, CD-ROM
Sistema Operativo
Conexión de red
Dispositivos varios
Etc. Hardware
No son imprescindibles pero …
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 28
Sistemas Operativos
¿cómo se ejecutan? 1
0- Al encender el equipo se comienza a ejecutar el
programa BIOS almacenado en una EEPROM
1º- BIOS verifica que el hardware básico esté
instalado y operativo
2º- BIOS lee parámetros de la instalación desde la
memoria CMOS
3º y 4º- BIOS lee el SO según dirección dada por
la CMOS y carga el núcleo de él en memoria RAM
5º- BIOS ordena que se ejecute la 1ª instrucción
del SO
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 30
10
Sistemas Operativos
¿cómo llegan al control del equipo?
Proceso de arranque de un computador
(Boot process)
3º
2º Dispositivo de
1º Arranque del
Hardware CMOS
S.O.
básico
Ve Lee .
r ific S .O 4º
ac parámetros er
ion Le
es
RAM
0
BIOS Carga el S.O.
Encendido 5º
Ordena ejecutar Inicia ejecución
el S.O. el S.O.
Sistemas Operativos
¿cómo se ejecutan? 2
Una vez que se empieza a ejecutar el SO:
Termina de cargarse a sí mismo en la
memoria RAM
Carga los programas de control de los
diferentes dispositivos y otros programas
“residentes”
Queda a la espera de órdenes del
usuario y atiende interrupciones.
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 32
Sistemas Operativos
¿cómo funcionan?
Esquema de relaciones:
aplicaciones SO hardware
Sistema Operativo
D1 D2 D3
11
Sistemas Operativos
Ejemplos
Unix Berkley
Unix System 5: Solaris, AIX, Linux
MS-DOS – histórico -
Microsoft Windows NT / 2000 / XP / 2003
Mac OS (Apple)
Sistemas Operativos
Clasificaciones
Cantidad de usuarios
Monousuario
Multiusuario
Puede trabajar un solo usuario por vez
Permiten trabajar en forma simultánea
Cantidad de tareas “concurrentes”
Monotarea
Multitarea
Sistemas Operativos
12
Sistemas Operativos
¿cómo nos comunicamos con ellos?
Sistemas Operativos
Interfaz hombre - máquina: esquema
Aplicaciones Interfaz
con el
usuario
Sistema Operativo
Hardware
Sistemas Operativos
Diferentes interfaces de diálogo
13
Herramientas de software
Programas (software) de base
Sistema Operativo
Interfaz gráfica - GUI -
Editores de texto
Navegador de Internet
Administrador de correo
electrónico
Planilla electrónica
Manejador de Base de
Datos (DBMS)
Herramientas de software
Programas de aplicación del usuario
Son aquellos que tienen una función
específica para el usuario:
Liquidación de sueldos
Facturación
Sistema contable
Gestión de stock
14
Editor de texto plano
Ejemplos:
MS-NotePad
UltraEdit
SciTE
vi/vim
Procesador de texto
Lenguajes de programación
Definición genérica de lenguaje:
“conjunto de símbolos y reglas acerca de
cómo se organizan esos símbolos”.
Los procesadores de las computadoras
tienen su lenguaje “de máquina” también
llamado “binario”.
Un lenguaje de programación nos permite
transcribir un algoritmo en un conjunto de
instrucciones precisas.
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 45
15
Lenguajes de programación
Científicos: FORTRAN, BASIC, APL, Matlab
Comerciales
Cobol
RPG
PL/SQL (Oracle)
Objetivos genéricos
C
C++
Simulación: SIMULA, GAMS
Generación de animaciones: FLASH (Macromedia)
Otros paradigmas: Funcionales, Lógicos.
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 46
Lenguajes de programación
Lenguajes de Programación
Compilados
Prog. Compilador
Prog.
Fuente
Fuente
Programación
Código
Código
máquina
máquina
Bibliotecas
Bibliotecas
de
decódigo
código
binario
binario
Programa
Programa
ejecutable
ejecutable
…1001011100
…1001011100
0100101111…
0100101111… Encadenador
16
Lenguajes de programación
Compilados
Lenguajes de programación
Interpretados
Lee sentencia
Analiza No OK
Si OK
Mensaje de error
Ejecuta
Espera/Lee
próxima
sentencia
Lenguajes de programación
Compilados e Interpretados:
¿cómo se ejecutan?
Programa compilado Programa interpretado
Sentencias del
programa
HARDWARE HARDWARE
17
Lenguajes de programación
Compilados versus Interpretados
Compilados Interpretados
Más rápidos al ejecutar Más lentos al ejecutar
(hay que interpretar
(se ejecutan en el
cada vez)
procesador)
El programa es válido
Un código ejecutable para cualquier
para cada plataforma plataforma con el
intérprete
No es cómodo para Más fácil para modelar
modelar cuando no se y hacer análisis de
datos rápidos
tiene un algoritmo
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 52
Lenguajes de programación
Compilados e Interpretados: 1er solución de compromiso
Compilar hasta un nivel intermedio entre
“lenguaje de programación” y “lenguaje de
máquina”
Se economiza tiempo pues no se repite:
Análisis sintáctico
Consistencia de uso de variables
Consistencia de uso de estructuras
Lenguajes de programación
Compilados e Interpretados: 2a solución de
compromiso – JIT compilers -
Si el fuente es más nuevo que la versión
compilada en el “cache”
Entonces se compila generando “Código Binario”
FinSi
El “Código Binario” resultante se ejecuta
18
Lenguajes de programación
Java
Un solo lenguaje de programación
Máquina virtual Java (JVM)
.Net
Varios lenguajes de programación
CLR (Common Language Runtime )
19