Documentos de Académico
Documentos de Profesional
Documentos de Cultura
programación.
¿Qué es un ordenador?
• “Un sistema digital con tecnología microelectrónica
capaz de procesar información 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.
2
Elementos de un ordenador
(hardware)
4
Representación de los datos
en el ordenador
• Base 10:
– Dígitos = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
– 1111 = 1*103 + 1*102 + 1*101 + 1*100
• Base 2:
– Dígitos = {0, 1}
– 1111 = 1*23 + 1*22 + 1*21 + 1*20 = 8 + 4 + 2 + 1 = 15
• ¿Cuántos 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
5
Almacenamiento, direccionamiento y
representación en memoria.
• La computadora digital utiliza internamente el sistema
binario (0, 1) (encendido, apagado) para el
almacenamiento y acceso a los datos.
• Un número binario (0 ó 1) se representa mediante un bit.
Las equivalencias son:
– 1 byte = 8 bits.
– 1 KiloByte (KB) = 1024 bytes.
– 1 MegaByte(MB) = 1024 KB.
– 1 GigaByte(GB) = 1024 MB.
10
Representación de sonido
4 8 12 13 12 10 8…
• Discretización de la amplitud
• Un byte para cada valor
11
Acceso a la memoria
RAM
1 12
2 125
3 45
4 2
5 0
CPU
6 10
7 32
8 64
9 15
12
Clasificación del software.
Definición de software.
• Servidores
• Utilidades
Software de aplicación.
• Aquel que permite a los usuarios llevar a
cabo una o varias tareas específicas, en
cualquier campo de actividad susceptible
de ser automatizado o asistido, con
especial énfasis en los negocios.
Ejemplos de software de
aplicación.
• Aplicaciones de Sistema de control y automatización industrial
• Aplicaciones ofimáticas
• Software educativo
• Software empresarial
• Bases de datos
• Telecomunicaciones (p.ej. internet y toda su estructura lógica)
• Videojuegos
• Software médico
• Software de Cálculo Numérico
• Software de Diseño Asistido (CAD)
• Software de Control Numérico (CAM)
¿Qué es un programa?
• Un programa es una secuencia de instrucciones a
la CPU
• Cada instrucción es un conjunto de bytes
• Ejemplos de instrucciones:
– Leer un dato del teclado
– Guardar un dato en la memoria
– Ejecutar una operación sobre dos datos
– Mostrar un dato en la pantalla
– etc.
20
Conceptos de programación.
Definición de programa.
•Un programa, o también
llamado programa informático,
programa de computación o
programa de ordenador, es
simplemente un conjunto de
instrucciones para una
computadora.
Programa
• Las computadoras necesitan de los
programas para funcionar, y un programa
no hace nada a menos que sus
instrucciones sean ejecutadas por el
procesador.
• Un programa se puede referir tanto a un
programa ejecutable como a su
código fuente, el cual es transformado en
un ejecutable cuando es compilado.
Definición de programación.
•La programación es un proceso el cual
consiste en escribir o editar el código
fuente.
•Editar el código fuente significa poner a
prueba, analizar y redefinir.
•La persona que tiene la habilidad para
programar se le llama programador o
desarrollador de software.
La primer programadora.
• Ada Lovelace, hija del
prestigioso poeta Lord
Byron, es considerada la
primera programadora de
la historia. Su contribución
consistió en un método
para calcular los números
de Bernoulli en la máquina
analítica de Charles
Babbage, matemático con
el que colaboraba en 1842.
El programador hoy.
• Hoy por hoy, un programador requiere
profundos conocimientos que incluyen:
matemáticas, electrónica, algorítmica,
ingeniería del software, teoría de la
computación, interacción persona-
ordenador, etc. Por tanto, se trata de una
profesión de alta calificación.
Definición de lenguaje de
programación.
• Un lenguaje de programación es un
conjunto de símbolos y reglas sintácticas y
semánticas que definen su estructura y el
significado de sus elementos y
expresiones. Es utilizado para controlar el
comportamiento físico y lógico de una
máquina.
Algunos “lenguajes de programación”.
Algoritmo
• Un esquema para resolver cierto tipo de problema
• Se puede traducir en un programa para ejecutarlo
en un ordenador
• Pasos para la resolución de un problema con
ordenador:
1. Diseño de un algoritmo
2. Codificación de un programa
3. Ejecución y validación
28
Algoritmo
• Componentes:
– Entrada: datos del problema a resolver
– Salida: el resultado de la resolución
– Proceso: pasos a seguir para la resolución
• Propiedades:
– Preciso: orden estricto + expresiones precisas
– Definido: con la misma entrada, siempre resulta la
misma salida
– Finito: número finito de pasos
29
Algoritmo 1
• Problema: Sumar dos números
• Solución:
– Entrada: dos números
– Salida: guardar la suma en la memoria y
imprimirla por pantalla
– Proceso:
1) Añadir los dos números
2) Guardar el resultado en la memoria
3) Imprimir el resultado por pantalla
30
Algoritmo 2
• Problema: hacer una taza de té a la inglesa
• Solución:
– 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. Añadir leche
5. Remover
31
Algoritmo 3
• Problema: averiguar la solvencia de un cliente que
ejecuta un pedido a una fábrica.
• Solución:
– Entrada: el pedido
– Salida: mensaje de aceptación 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
32
Características y formas de los
algoritmos
Los algoritmos pueden ser creados de dos
formas distintas:
1. Pseudo-código: es un conjunto pequeño y
claro de instrucciones; en secuencia, que
permite llevar a cabo una tarea.
2. Diagrama de flujo: es la representación de
la secuencia, a través de símbolos, de la
tarea que se va a realizar.
Características y formas de los
algoritmos
En pseudo-código
Inicio
Escribe: (“calcula el area de cualquier rectangulo”)
Escribe: (“de largo mide”)
Captura: (largo)
Escribe: (“de ancho mide”)
Captura: (“ancho”)
Formula: área = largo x ancho
Escribe: (“ el area mide:” , area)
fin
Características y formas de
los algoritmos
En diagrama de flujo
Entrada (in) Entrada (in)
Salida (out)
• Lenguajes máquina
• Lenguajes ensamblador
• Lenguajes de alto nivel: C, C++, Visual Basic, Java,
Pascal, Prolog, LISP,…
40
Lenguajes de programación
{Lenguaje Pascal}
program suma;
42
Lenguajes ensamblador
• Instrucciones compuestas de palabras cortas y números:
– LOD 15 6
– LOD 16 8
– ADD 15 16 17
– JMP 10
• Ventajas:
– Más fácil a entender
• Desventajas:
– Todavía bastante abstracto
– Necesita traducir el código a lenguajes máquina
43
Lenguajes de alto nivel
• Diseñados para ser más parecidos a lenguaje natural
• Ventajas:
– Mucho más fácil de dar instrucciones
• Desventajas:
– Más complicado convertir en lenguajes máquina
44
Lenguajes de programación:
¿Por qué hay tantos?
¿Cómo nacen, sobreviven y caducan?
1. Diferentes dominios de aplicación:
• Programación de sistemas – rapidez y acceso de
bajo nivel: C
• Inteligencia artificial – computación simbólica: LISP,
Prolog
• Programación científica – fórmulas matemáticas:
Fortran
• Negocios – transacciones: COBOL
• Uso específico: SQL (bases de datos), Perl
(manipulación de textos), JavaScript (páginas web),
Pascal (formación)
45
Lenguajes de programación:
¿Por qué hay tantos?
¿Cómo nacen, sobreviven y caducan?
1. Diferentes necesidades:
• Fiabilidad: Ada
• Escabilidad, paradigma orientado a objeto: C C++
• Portabilidad: Java
2. Evolución:
• Mejora del hardware
• Mejor comprensión de como reforzar criterios de
legibilidad, facilidad de aprender y escribir,
fiabilidad…
3. Importancia de la estandardización
4. ¡Número de usuarios! 46
Traductores de lenguaje:
intérpretes
PROGRAMA FUENTE
INTERPRETE
EJECUCION DE LA(S)
INSTRUCCION(ES)
INTERPRETADA(S)
47
Traductores de lenguaje:
compiladores
OPCION 1 OPCION 2
PROGRAMA FUENTE
Fase de compilación
Fase de ejecución
EJECUCION
48
OUTPUT
HDD
INPUT
RAM
CPU
Programa de computador
INSTRUCCIÓN 1
INSTRUCCIÓN 2 OUTPUT
PROGRAMA INSTRUCCIÓN 3
HDD
Programa de computador
PROGRAMA
Datos del
Código ejecutable programa
(variables)
RAM