CARRERA DE INGENIERÍA DE SISTEMAS
SEMESTRE ACADÉMICO 2010-2
Agosto 2010
ALGORITMOS
SESIÓN 1COMPONENTES DEL
COMPUTADOR
ING. JOSE PEÑALOZA DELGADO
Con
tenid
os
1. ¿ Que es una computadora ?2. Hardware3. Software4. Algoritmos
1. ¿ Que es una Computadora ?
Es una maquina electrónica digital capaz de procesar datos a partir de un grupo de instrucciones denominado programa, proporcionando una información resultante.
1. ¿ Que es una Computadora ?
ComputadoraComputadora
Entradas Salidas
Datos de entradas einstrucciones
Datos de Salida, información
1. ¿ Que es una Computadora ?
Es un conjunto de símbolos utilizados para expresar: un valor numérico,
¿QUÉ ES UN DATO?
un hecho, un objeto o una idea, para ser objeto de tratamiento.
1. ¿ Que es una Computadora ?
Es la transformación de los elementos procesados.
Los datos de entrada se convierten en información significativa.
¿QUÉ ES INFORMACIÓN?
2. El Hardware
Una computadora necesita:• Aceptar la entrada y visualizar la
salida.• Almacenar la información en un
formato consistente.• Ejecutar las operaciones
aritméticas o lógicas.• Monitorizar, controlar y dirigir las
operaciones del sistema.
2. El Hardware
Almacena-mientoSecundario(memoria auxiliar)
Dispositivos de Entrada/SalidaE/S(periféricos)
Unidad Aritmética Lógica
Unidad Central de Proceso (CPU)
UnidaddeControl
MemoriaCentral
2. El HardwareUnidad Central de Proceso (Procesador)
•Dirige y controla el proceso de información realizado por la computadora.•En el se encuentra:
La Unidad Aritmética Lógica (ALU)La Unidad de Control
• Ejecuta instrucciones de programa. La potencia de una computadora depende completamente de la velocidad y fiabilidad de la CPU.
2. El Hardware
• Estos dispositivos permiten al usuario comunicarse con la computadora. Algunos dispositivos típicos de E/S son el teclado, la impresora, monitor, etc.
Periférico o Dispositivos deEntrada/Salida
2. El Hardware
•La información procesada por la UCP se almacena normalmente en la memoria central hasta que terminan los cálculos.
Memoria Central
2. El Hardware
•Usados para almacenar grandes cantidades de información.
Dispositivos de Almacenamiento Secundario
•Los datos se guardan en dispositivos de almacenamiento auxiliar y luego para ser procesados por la CPU, tienen que llevarse a la memoria central.
3. El Software
CLASIFICACIONES DEL SW
Sistemas Operativos
Lenguajes de Programación
Sw de Uso General
Sw de Aplicaciones
3. El Software
Conjunto de programas que se emplean para operar una computadora. Estos programas deberán encontrarse grabados.
Los Sistemas Operativos:
• Si el S.O. no se encuentra presente, ningún otro programa puede ejecutarse.
• El S.O. Es el vinculo entre el usuario y la computadora.
3. El Software
Da inicio a la sesión del computador proporcionado una interfaz de línea de comando o una interfaz gráfica.
Tareas del Sistema Operativo:
Administra los dispositivos de Hw. Administra y mantiene los sistemas de
archivo. Apoyo a otros programas.
3. El Software
C) MULTIPROCESO: Computadoras con más de un CPU.
Categorías del Sistema Operativo
A) MULTITAREA: Correr más de un programa al mismo tiempo.
B) MULTIUSUARIO: Accesar más de un usuario a una computadora. Usuario 1 Usuario 2
3. El Software
Sirve para escribir programas que permiten la comunicación usuario/máquina.
Lenguajes de Programación:
Sw de Uso General:Ofrecen su estructura para un gran numero de aplicaciones empresariales, científicas y personales.
Sw de Aplicaciones: Diseñado para realizar tareas especificas.
3. El Software
Es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora.
Consiste en un conjunto de reglas sintácticas y semánticas que definen un programa informático.
LENGUAJE DE PROGRAMACION
3. El Software
LENGUAJES DE MAQUINA
LENGUAJE DE BAJO NIVEL (ENSAMBLADOR)
LENGUAJE DE ALTO NIVEL.
Tipos de Lenguajes
3. El Software
Lenguajes directamente inteligible por la maquina (computadora).
Sus instrucciones son cadenas binarias (cadenas o series de caracteres dígitos 0 y 1) que especifican una operación.
HOLA0000110010010010001010011001
LENGUAJE DE MAQUINA:
3. El Software
Por excelencia es el ensamblador (assembly language). Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos.
Por ejemplo, nemotécnicos típicos de operaciones aritméticas son: en ingles add, sub, div, etc. En español, sum, res, div, etc.
Una instrucción típica de suma seria:
ADD M, N,P – 0110 1001 1010 1011
LENGUAJE DE BAJO NIVEL:
3. El Software
Son los mas utilizados por los programadores. Es independiente de la maquina, es decir, no dependen del diseño del Hw o de la computadora.
Son portables o transportables. Lo que significa que pueden ser ejecutados con poca o ninguna modificación en diferentes tipos de computadora.
LENGUAJE DE ALTO NIVEL:
3. El Software
Es un conjunto de instrucciones sencillas escritas en un lenguaje de programación, que al ser recogidas por un interprete son traducidas para poder ser ejecutadas.
Conjunto de instrucciones que el computador debe ejecutar para solucionar un problema determinado.
PROGRAMA
3. El SoftwarePROG. FUENTE: Programa escrito en lenguaje de alto nivel que no a sido traducido a lenguaje máquina.
PROG. OBJETO: Programa en lenguaje de máquina, que puede ser ejecutado.
COMPILADOR: Traductor que convierte sentencias de código fuente a código objeto.
INTERPRETE: Traductor que ejecuta un programa línea por línea no modificando la forma original.
PROGRAMA FUENTE
PROGRAMA OBJETO
PROGRAMA EJECUTABLE
COMPILACION ENLACE
3. El Software
Un compilador es un programa que lee el programa escrito en un lenguaje fuente y lo traduce a otro programa equivalente llamado lenguaje objeto.
Lenguaje de Programa Fuente
Programa en Lenguaje Objeto
CompiladorCompilador
ERROR Y DIAGNOSTICO
COMPILADOR
3. El Software
Analiza una instrucción fuente y la ejecuta directamente sin generar código objeto.Es un traductor que realiza la operación de compilación paso a paso.
Lenguaje de Programa Fuente
SalidaIntérpreteIntérprete
DATOS
INTÉRPRETE
3. El Software
La principal ventaja del proceso de compilación frente al de interpretación es que los programas se ejecutan mucho más rápido una vez compilados.
COMPILADOR vs. INTERPRETE
3. El Software
La principal ventaja del proceso de compilación frente al de interpretación es que los programas se ejecutan mucho más rápido una vez compilados.
COMPILADOR vs. INTERPRETE
Análisis del problema.Diseño del algoritmo.Codificación.Compilación y
ejecución.Verificación y
Depuración.Documentación.
SOLUCION DE PROBLEMAS
4. Algoritmos
4. Algoritmos
ANALISIS DEL PROBLEMA
o Se determina QUE hará el programa y cual será la solución deseada.
o Se precisan las entradas y salidas a obtenerse.
4. Algoritmos
o Se determina COMO hace el programa la tarea solicitada.
DISEÑO DEL ALGORITMO
o Se emplea el método de Diseño Descendente o Modular, el cual permite dividir un problema complejo en subproblemas y estos en otros de nivel mas bajo.
4. Algoritmos
o Es la representación de un algoritmo en un lenguaje de programación.
o Debido a que el algoritmo es independiente al lenguaje de programación, el código puede ser escrito con igual facilidad en un lenguaje u otro.
CODIFICACION DE UN PROGRAMA
4. Algoritmos
o Operación de convertir un programa fuente en programa objeto.
COMPILACION Y EJECUCION DE UN PROGRAMA
o Cuando no existe errores en un programa fuente se instruye al sistema operativo para que realice una fase de montaje oenlace del programa objeto con las librerías del programa del compilador produciendo un programa ejecutable.
4. Algoritmos
o Implica la ejecución de un programa con una amplia variedad de datos de entrada.oErrores de compilaciónoErrores de ejecuciónoErrores lógicos
VERIFICACION Y DEPURACION DE UN PROGRAMA
o Proceso de encontrar errores corregirlos o eliminarlos.
4. Algoritmos
DOCUMENTACION
o Descripción de los pasos para la solución de un problema.
o La documentación de un programa puede ser interna o externa.
o Es importante para corregir posibles errores o realizar cambios al programa.
4. Algoritmos
Método para resolver un problema, mediante una serie de pasos precisos, definidos y finitos.
Produce un resultado en un tiempo finito.
Existe diferentes formas de dar solución a un mismo problema.
ALGORITMO
4. Algoritmos La palabra algoritmo se deriva de la
traducción al latín de la palabra Al-khowariz-mi (algorismus), nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. Euclides, matemático griego, es
considerado también el otro gran padre de la algoritmia.
En las ciencias de la computación, los algoritmos son mas importantes que los lenguajes de programación o las computadoras.
4. Algoritmos
• Preciso: indica un orden de realización de cada paso a realizar.
CARACTERISTICAS DE UN ALGORITMO
• Definido: Si se sigue un algoritmo mas de una vez se obtiene el mismo resultado.
• Finito: todo algoritmo tiene un inicio y un fin, es decir debe tener un número finito de pasos.
4. Algoritmos
La definición de un algoritmo debe describir tres partes:
PASOS A SEGUIR EN LA CONSTRUCCION DE UN ALGORITMO
Entrada Proceso Salida
4. Algoritmos
Un problema se puede qresolver mas eficazmente cuando se rompe el problema original en subproblemas.
DISEÑO DESCENDENTE DEL ALGORITMO
Este método se conoce como Divide y Vencerás, es decir dividir un problema complejo en otros mas simples.
Ejemplo: Hallar el área de un triángulo.
4. Algoritmos
Área de un triangulo
SalidaResultados
Cálculo deÁrea
Entrada De Datos
EntradaB
EntradaH
SalidaB
SalidaH
SalidaA2
*HBA
4. Algoritmos
•Es un lenguaje de especificación de algoritmos.
•Representa el algoritmo en secuencias lógicas de actividades utilizando verbos expresivos.
•Utiliza un lenguaje de comunicación propio como el inglés, español entre otros.
•La ventaja es que el programador se concentra en la lógica sin preocuparse en la reglas del lenguaje de programación específico.
PSEUDOCODIGO
4. Algoritmos
Inicio
Leer (Base, Altura)
Calcular
Escribir Area
Fin
4. Algoritmos
EJERCICIOS