Está en la página 1de 25

Fundamentos de

Programacin/Programacin I
Diapositiva extrada de Anders
Jonsson para el curso de
Computacin Aplicada
Clase de introduccin
1. Qu es un ordenador?
2. Programas y algoritmos
3. Lenguajes de programacin
4. Visual Basic

2
Qu es un ordenador?
Un sistema digital con tecnologa microelectrnica
capaz de procesar informacin a partir de un grupo
de instrucciones denominado programa
Componentes principales:
Procesador (CPU: Central Processing Unit)
Memoria (RAM: Random Access Memory)
Componentes auxiliares:
Disco duro
Lector CD-ROM
Teclado
Pantalla
etc.
3
Elementos de un ordenador
(hardware)

Unidad aritmetica Memoria Principal


Procesador
y logica (ALU)
(RAM)
Unidad
(CPU) de
Control (CU) Programa

Dispositivos de entrada Dispositivos de salida Dispositivos de


teclado pantalla almacenamiento de datos
ratn impresora disco duro
lector/grabador de CD-ROM
4
lector/grabador de disquete
Representacin de los datos
en el ordenador
El nico cdigo que entiende la CPU son los bits.
Los bits son representados en circuitos electrnicos
que pueden estar en estado on (1) u off (0)
Las instrucciones se mandan a la CPU en forma de
bytes, que son palabras de 8 bits
1 byte = 8 bits
1 kilobyte = 1 024 bytes
1 megabyte = 1 024 kilobytes = 1 048 576 bytes

5
Representacin de los datos
en el ordenador
Base 10:
Dgitos = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
1111 = 1*103 + 1*102 + 1*101 + 1*100
Base 2:
Dgitos = {0, 1}
1111 = 1*23 + 1*22 + 1*21 + 1*20 = 8 + 4 + 2 + 1 = 15
Cuntos valores puede representar un byte?
1 byte = 8 bits (Ej: 01100101)
Cada bit puede representar 2 valores (0 y 1)
Un byte puede representar 28 = 256 valores

6
Representacin de textos

TEXTO: My name is Anders.


ASCII: 77-121-32-110-97-109-101-32-105-115-32-65-110-100-101-114-115-46
18 bytes 7
Representacin de imagen
00000000
00110110
00100010
00100010
00110110
00000000
00110110
00000000

Divisin de la imagen en una matriz de pixels (unidad


de la imagen)
Cada pixel asociado con un color

8
Representacin de sonido

4 8 12 13 12 10 8

Discretizacin de la amplitud
Un byte para cada valor

9
Qu es un programa?
Un programa es una secuencia de instrucciones a
la CPU
Cada instruccin es un conjunto de bytes
Ejemplos de instrucciones:
Leer un dato del teclado
Guardar un dato en la memoria
Ejecutar una operacin sobre dos datos
Mostrar un dato en la pantalla
etc.

10
Acceso a la memoria
RAM
1 12
2 125
3 45
4 2
5 0
CPU
6 10
7 32
8 64
9 15

11
Algoritmo
Un esquema para resolver cierto tipo de problema
Se puede traducir en un programa para ejecutarlo
en un ordenador
Pasos para la resolucin de un problema con
ordenador:
1. Diseo de un algoritmo
2. Codificacin de un programa
3. Ejecucin y validacin

12
Algoritmo
Componentes:
Entrada: datos del problema a resolver
Salida: el resultado de la resolucin
Proceso: pasos a seguir para la resolucin
Propiedades:
Preciso: orden estricto + expresiones precisas
Definido: con la misma entrada, siempre resulta la
misma salida
Finito: nmero finito de pasos

13
Algoritmo 1
Problema: Sumar dos nmeros
Solucin:
Entrada: dos nmeros
Salida: guardar la suma en la memoria y
imprimirla por pantalla
Proceso:
1) Aadir los dos nmeros
2) Guardar el resultado en la memoria
3) Imprimir el resultado por pantalla

14
Algoritmo 2
Problema: hacer una taza de t a la inglesa
Solucin:
Entrada: agua, bolsa de t, leche, tetera, taza,
cuchara
Salida: una taza de t a la inglesa
Proceso:
1. Poner la bolsa de t en la taza
2. Poner el agua a hervir en la tetera
3. Verter el agua hervida en la taza
4. Aadir leche
5. Remover

15
Algoritmo 3
Problema: averiguar la solvencia de un cliente que
ejecuta un pedido a una fbrica.
Solucin:
Entrada: el pedido
Salida: mensaje de aceptacin o rechazo
Proceso:
1. Leer el pedido
2. Examinar la ficha del cliente
3. Si el cliente es solvente, aceptar pedido
4. En caso contrario, rechazar pedido

16
Lenguajes de programacin

Lenguajes mquina
Lenguajes ensamblador
Lenguajes de alto nivel: C, C++, Visual Basic, Java,
Pascal, Prolog, LISP,

17
Lenguajes mquina
Programas son secuencias de instrucciones compuestas de
bytes:
16 29 156 9 82 75
Ventajas:
La CPU entiende estos programas
Desventajas:
Pensar en modo de 0s y 1s es muy difcil para nosotros

18
Lenguajes ensamblador
Instrucciones compuestas de palabras cortas y nmeros:
LOD 15 6
LOD 16 8
ADD 15 16 17
JMP 10
Ventajas:
Ms fcil a entender
Desventajas:
Todava bastante abstracto
Necesita traducir el cdigo a lenguajes mquina

19
Lenguajes de alto nivel
Diseados para ser ms parecidos a lenguaje natural
Ventajas:
Mucho ms fcil de dar instrucciones
Desventajas:
Ms complicado convertir en lenguajes mquina

20
Lenguajes de programacin:
Por qu hay tantos?
Cmo nacen, sobreviven y caducan?
1. Diferentes dominios de aplicacin:
Programacin de sistemas rapidez y acceso de
bajo nivel: C
Inteligencia artificial computacin simblica: LISP,
Prolog
Programacin cientfica frmulas matemticas:
Fortran
Negocios transacciones: COBOL
Uso especfico: SQL (bases de datos), Perl
(manipulacin de textos), JavaScript (pginas web),
Pascal (formacin)
21
Lenguajes de programacin:
Por qu hay tantos?
Cmo nacen, sobreviven y caducan?
1. Diferentes necesidades:
Fiabilidad: Ada
Escabilidad, paradigma orientado a objeto: C C++
Portabilidad: Java
2. Evolucin:
Mejora del hardware
Mejor comprensin de como reforzar criterios de
legibilidad, facilidad de aprender y escribir,
fiabilidad
3. Importancia de la estandardizacin
4. Nmero de usuarios! 22
Traductores de lenguaje:
intrpretes
PROGRAMA FUENTE

INTERPRETE

EJECUCION DE LA(S)
INSTRUCCION(ES)
INTERPRETADA(S)

23
Traductores de lenguaje:
compiladores
OPCION 1 OPCION 2
PROGRAMA FUENTE
Fase de compilacin

Fase de compilacin COMPILADOR


programa
objeto
programa ENLAZADOR
ejecutable (binder, linker)
Fase de ejecucin

Fase de ejecucin
EJECUCION

24
Visual Basic
Visual Basic es una HERRAMIENTA SOFTWARE que
permite desarrollar aplicaciones Microsoft Windows. Son
aplicaciones de interaccin sencilla con el usuario.
Ventajas:
Bsico, fcil de entender
Soporta interfaz grfica de usuario (GUI)
Apropiado para programas Office
Desventajas:
La ejecucin es ms lenta que algunos otros lenguajes

25

También podría gustarte