Sei sulla pagina 1di 19

Computación 1

Introducción a la Informática

Curso 2009
InCo - Facultad de Ingeniería
Universidad de la República

Docentes

 TEÓRICO: Martín Pedemonte


Pablo Ezzatti
 PRÁCTICOS: Gustavo Armagno, Luis
Chiruzzo, Daniel Gómez, Mauricio Eguía,
Gastón Simone y Mauro Canabé

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 2

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)

14:30 – 16:30 Gustavo


(s. 012)

16:30 – 18:30 Daniel


(s. 001)

18:30 – 20:30 Luis


(s.111 )

20 – 22 Mauricio
(s. 105)

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 3

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

Horas\días Lunes Martes Miérc. Jueves Viernes


08:00 –10:00 Gastón-
Mauro
(s. 115)

14:30 – 16:30 Gustavo


(s. 112)

16:30 – 18:30 Daniel


(s. 112)

18:30 – 20:30 Luis


(s.112 )

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 6

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 7

Página web del curso


www.fing.edu.uy/inco/cursos/comp1
Allí encontrarán:
 Cartelera
 Información general: horarios, docentes…
 Material de teórico, prácticos y obligatorios
 Exámenes, Parciales y Obligatorios históricos
 Fe de erratas
 Grupo de noticias (Newsgroup): fing.cursos.comp1

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 8

Material de teórico

 Texto del curso publicado el año 2005 (hay


cosas que ya están obsoletas )

 Diapositivas de años anteriores (algunas


con audio).
 Diapositivas del 2009.

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 9

3
Material de prácticos

 Ejercicios de prácticos (en papel y/o PC)

 Ejercicios de obligatorios, parciales y


exámenes de años anteriores

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 10

Formato del material publicado


 PDF para los documentos
- Acrobat Reader –

 Zip para comprimir


archivos grandes
 -WinZip – 7Zip – WinRar -

 Las diapositivas y el audio


correspondientes en
formatos habituales en
internet – wav -

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 11

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

 Las condiciones de aprobación son iguales para


todos los estudiantes
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 12

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

Codificación – algunos ejemplos -


 EBCDIC
 ASCII: 7 bits y 8 bits
 UNICODE: 16 bits

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 14

Tabla ASCII (7 bits)


0 1 2 3 4 5 6 7

0 NUL DLE SP 0 @ P ` p Códigos de control CR, LF …


1 SOH DC1 ! 1 A Q a q
Dígitos numéricos 0..9
2 STX DC2 " 2 B R b r

3 ETX DC # 3 C S c s Caracteres alfabéticos ABC…


4 EOT DC4 $ 4 D T d t

5 ENQ NAK % 5 E U e u Caracteres especiales (!*#


6 ACK SYN & 6 F V f v

7 BEL ETB ' 7 G W g w Se codifican desde


8 BS CAN ( 8 H X h x
HT EM
0000 0000 a 0111 1111
9 ) 9 I Y i y

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 15

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 17

Arquitectura de computadores 2
 Controladores de dispositivos
 BUS de datos
 Reloj del bus de datos

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 18

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 19

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

Memoria cache: solicitud de datos


Cache
3

4
1
2

RAM

Procesador

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 21

7
Memoria Virtual

SO
Nuevo programa

Memoria RAM

Memoria
Virtual
(disco duro)

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 22

Almacenamiento externo
 Cintas magnéticas
 Discos duros (hard disk)
 Disquetes (floppy disk)
 CD-ROM
 CD-RW
 DVD-ROM
 Memoria Flash

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 23

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 24

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 )

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 25

Organización de datos en
discos Ejemplo : disquete de 3.5 pulgadas
De un total de 1440 KBytes
Son útiles 1380 KBytes

60 KBytes se usan en el directorio – FAT -


del disquete

Con otros formatos de ese disquete se


obtienen resultados diferentes
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 26

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 27

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 Necesidad de…


¿Cómo se ejecuta un programa?

 Se lee desde algún dispositivo de


memoria estable
 Se copia en la memoria RAM
 Se ordena la ejecución de la primer
instrucción

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 29

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)

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.

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 31

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

A1 A2 … Aplicaciones del usuario … An

Sistema Operativo
D1 D2 D3

HARDWARE (CPU, memoria, dispositivos, etc.)

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 33

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)

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 34

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 35

Sistemas Operativos

 Sistemas Operativos Distribuidos


 Procesamiento en paralelo
 Memoria compartida (multiprocesador)
 Memoria distribuida (cluster)

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 36

12
Sistemas Operativos
¿cómo nos comunicamos con ellos?

Interfaz hombre - máquina

 Cada SO tiene su interfaz con el usuario


y eventualmente puede tener más de una
 Cada una tiene un protocolo de
comunicación definido
 La Interfaz es una aplicación más que
ejecuta el SO  NO es el SO
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 37

Sistemas Operativos
Interfaz hombre - máquina: esquema

Aplicaciones Interfaz
con el
usuario

Sistema Operativo

Hardware

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 38

Sistemas Operativos
Diferentes interfaces de diálogo

 “de texto”: 80 cols x 25 líneas


 DOS, cmd de Windows
 Korn Shell (unix, modo “línea de comando” Win )
 Gráfica (ventanas) Grafical User Interface
 MS-Windows
 Apple
 Motif
 CDE (Common Desktop Environment)
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 39

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)

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 40

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 41

Editor de texto plano


“texto plano” = “texto ASCII” = “texto sin
formato”
Son sinónimos de un texto donde lo
importante es lo que está escrito
 Hay una sola tipografía (tipo de letra)
 No hay gráficos
 No hay colores
Son ideales para suministrar información a un
programa o sistema
04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 42

14
Editor de texto plano
Ejemplos:

 MS-NotePad
 UltraEdit
 SciTE
 vi/vim

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 43

Procesador de texto

Texto con formato enriquecido


El texto es “enriquecido” con elementos que
permiten organizar y jerarquizar la información
mediante:
 Diferentes tipografías (tipos de caracteres)
 Destaques: subrayado, negrita, tamaños
 Colores
 Inserción de imágenes e hipervínculos
 Es ideal para la lectura por “humanos”

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 44

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

 Se traduce de lenguaje de programación


a lenguaje de máquina, dos estrategias:
 Compilar
 Interpretar

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 47

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 48

16
Lenguajes de programación
Compilados

 Binarios muy grandes para cargar en la


memoria RAM
 Bibliotecas dinámicas
 DLL – Dynamic Link Library
 dso/so – (Dynamic) Shared Objects

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 49

Lenguajes de programación
Interpretados

Lee sentencia

Analiza No OK

Si OK

Mensaje de error
Ejecuta

Espera/Lee
próxima
sentencia

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 50

Lenguajes de programación
Compilados e Interpretados:
¿cómo se ejecutan?
Programa compilado Programa interpretado

Sentencias del
programa

Programa ejecutable Intérprete

Sistema Operativo Sistema Operativo

HARDWARE HARDWARE

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 51

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

El código resultante se interpreta

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 53

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

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 54

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 )

04/08/2009 Computación 1, 2009 - Facultad de Ingeniería 55

19

Potrebbero piacerti anche