Documente Academic
Documente Profesional
Documente Cultură
ALGORITMOS
MG. JOSE LUIS HERRERA SALAZAR
SESIN 1
Adaptacin a la Vida Universitaria Conceptos Fundamentales
Agosto 2010
OBJETIVO
Aprender las diferentes tcnicas para resolucin de problemas mediante algoritmos, para luego tener la capacidad de plasmarlos mediante el uso de algn lenguaje de programacin.
CONCEPTOS PRELIMINARES
Que es una computadora.
Organizacin fsica de una computadora (hardware). Los programas (software).
QU ES LA COMPUTADORA?
Es una maquina electrnica digital capaz de procesar datos a partir de un grupo de instrucciones denominado programa, proporcionando una informacin resultante.
CARRERA DE INGENIERA DE SISTEMAS
Entradas
Computador a
Salidas
Datos de Salida, informacin
QU ES UN DATO?
Es un conjunto de smbolos utilizados para expresar: un valor numrico, un hecho, un objeto o una idea, para ser objeto de tratamiento.
CARRERA DE INGENIERA DE SISTEMAS
QU ES INFORMACIN?
Es la transformacin de
los elementos procesados.
Memoria Central
Unidad de Control
Memoria Central
La informacin procesada por la UCP se almacena normalmente en la memoria central hasta que se terminan los clculos.
CLASIFICACIONES DEL SW
1. Sistemas Operativos 2. Lenguajes de Programacin 3. Sw de Uso General 4. Sw de Aplicaciones
1. Sistemas Operativos:
Conjunto de programas que se emplean para operar una computadora. Estos programas debern encontrarse grabados en un diskdrive o como es frecuente en el disco duro.
Si el S.O. no se encuentra presente, ningn otro programa puede ejecutarse. El S.O. Es el vinculo entre el usuario y la computadora.
CARRERA DE INGENIERA DE SISTEMAS
Usuario 1
Usuario 2
2. Lenguajes de Programacin:
Sirve para escribir programas que permiten la comunicacin usuario/mquina.
3. Sw de Uso General:
Ofrecen su estructura para un gran numero de aplicaciones empresariales, cientficas y personales.
4. Sw de Aplicaciones:
Diseado para realizar tareas especificas.
CARRERA DE INGENIERA DE SISTEMAS
LENGUAJE DE PROGRAMACION
Es una tcnica estndar de comunicacin que permite expresar las instrucciones que han de ser ejecutadas en una computadora. Consiste en un conjunto de reglas sintcticas y semnticas que definen un programa informtico.
Tipos de Lenguajes
LENGUAJES DE MAQUINA
LENGUAJE DE BAJO NIVEL (ENSAMBLADOR) LENGUAJE DE ALTO NIVEL.
LENGUAJE DE MAQUINA:
Son aquellos que estn escritos en lenguajes directamente inteligibles por la maquina (computadora). Sus instrucciones son cadenas binarias (cadenas o series de caracteres dgitos 0 y 1) que especifican una operacin.
CARRERA DE INGENIERA DE SISTEMAS
HOLA
1011
Son portables o transportables. Lo que significa que pueden ser ejecutados con poca o ninguna modificacin en diferentes tipos de computadora.
Instrucciones tales como: READ, WRITE, PRINT, OPEN,ETC.
CARRERA DE INGENIERA DE SISTEMAS
PROGRAMA
Es un conjunto de instrucciones sencillas escritas en un lenguaje de programacin, 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.
CARRERA DE INGENIERA DE SISTEMAS
PROG. FUENTE: Programa escrito en lenguaje de alto nivel que no a sido traducido a lenguaje mquina.
PROG. OBJETO: Programa en lenguaje de mquina, que puede ser ejecutado.
COMPILACION
COMPILADOR
Un compilador es un programa que lee el programa escrito en un lenguaje fuente y lo traduce a otro programa equivalente llamado lenguaje objeto. Es un traductor que convierte un texto escrito en un lenguaje fuente de alto nivel en un programa objeto en cdigo mquina.
Lenguaje de Programa Fuente
Compilador
ERROR Y DIAGNOSTICO
CARRERA DE INGENIERA DE SISTEMAS
INTRPRETE
Analiza una instruccin fuente y la ejecuta directamente sin generar cdigo objeto. Es un traductor que realiza la operacin de compilacin paso a paso.
Intrprete
Lenguaje de Programa Fuente
Salida
DATOS
ALGORITMOS
ING. JOSE LUIS HERRERA SALAZAR
SESIN 2
Algoritmos Etapas para la solucin
Agosto 2010
RESOLUCIN DE PROBLEMAS
Anlisis del problema. Diseo del algoritmo. Codificacin. Compilacin y ejecucin. Verificacin y Depuracin. Documentacin.
CARRERA DE INGENIERA DE SISTEMAS
CODIFICACION DE UN PROGRAMA
o Es la representacin de un algoritmo en un lenguaje de programacin. o Debido a que el algoritmo es independiente al lenguaje de programacin, el cdigo puede ser escrito con igual facilidad en un lenguaje u otro.
CARRERA DE INGENIERA DE SISTEMAS
COMPILACION Y EJECUCION DE UN PROGRAMA o Operacin de convertir un programa fuente en programa objeto. o Cuando no existe errores en un programa fuente se instruye al sistema operativo para que realice una fase de montaje o enlace del programa objeto con las libreras del programa del compilador produciendo un programa ejecutable.
CARRERA DE INGENIERA DE SISTEMAS
DOCUMENTACION o Descripcin de los pasos para la solucin de un problema. o La documentacin de un programa puede ser interna o externa.
o Es importante para corregir posibles errores o realizar cambios al programa.
ALGORITMO
Mtodo 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 solucin a un mismo problema.
CARRERA DE INGENIERA DE SISTEMAS
La palabra algoritmo se deriva de la traduccin al latn de la palabra Alkhowariz-mi (algorismus), nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. Euclides, matemtico griego, es considerado tambin el otro gran padre de la algoritmia.
En las ciencias de la computacin, los algoritmos son mas importantes que los lenguajes de programacin o las computadoras.
CARRERA DE INGENIERA DE SISTEMAS
CARACTERISTICAS DE UN ALGORITMO
Preciso: indica un orden de realizacin de cada paso a realizar. 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 nmero finito de pasos.
rea de un triangulo
Entrada De Datos
Clculo de rea
Salida Resultados
Entrada B
Entrada H
B*H 2
Salida B
Salida H
Salida A
El problema se comprende mas fcilmente al dividirse en partes mas simples denominadas mdulos. Las modificaciones en los mdulos son ms fciles. La comprobacin del problema se puede verificar fcilmente.
HERRAMIENTAS PARA EL DISEO DE ALGORITMOS Diagrama de flujo (flowchart). Diagrama N- S (Nassi-Schneiderman). Pseudocdigo.
Diagrama de Flujo
Es la representacin de algoritmos utilizando smbolos grficos unidos por flechas, denominadas lneas de flujo, que indican la secuencia de ejecucin. Los smbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalizacin (ANSI).
Inicio
Leer B, H
B*H 2
Escribir A
Fin
No Si
Decisin: Indica operaciones lgicas o de comparacin, en funcin al resultado determina cual de los caminos debe seguir Decisin Mltiple: En funcin al resultado de la comparacin seguir uno de los diferentes caminos. Direccin del flujo o lnea de flujo. Lnea Conectora: sirve de unin entres dos smbolos
Pantalla: se utiliza en ocasiones en lugar del smbolo de Entrada/Salida Impresora: se utiliza en ocasiones en lugar del smbolo de Entrada/Salida Teclado: se utiliza en ocasiones en lugar del smbolo de Entrada/Salida
Nassi-Schneiderman
Es como un diagrama de flujo en el que se omiten las flechas de unin y las cajas son continuas. Un algoritmo se representa con un rectngulo en el que cada banda es una accin a realizar.
Escribir Area
Pseudocodigo
Es un lenguaje de especificacin de algoritmos. Representa el algoritmo en secuencias lgicas de actividades utilizando verbos expresivos. Utiliza un lenguaje de comunicacin propio como el ingls, espaol entre otros. La ventaja del pseudocdigo es que en la planificacin del programa, el programador se concentra en la lgica sin preocuparse en la reglas de un lenguaje de programacin especfico.
CARRERA DE INGENIERA DE SISTEMAS
Escribir Area
Fin
EJEMPLOS