Professional Documents
Culture Documents
Programacin I
Lenguaje Humano
Aplicacin
(software)
Sistema Operativo
(Software)
Lenguaje Binario
Hardware
ALGORITMOS
OBJETIVOS
Conocer la terminologa propia de la disciplina Definir y comprender claramente conceptos especficos de algoritmos y programas Introducirse en la notacin algortmica y a la forma de solucionar los problemas de programacin
INTRODUCCIN
CONCEPTOS PREVIOS
Informtica: Conjunto de conocimientos cientficos y tcnicas que hacen posible el tratamiento automtico de la informacin por medio de computadoras electrnicas. Computadora: mquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lgicas y aritmticas, y proporcionar la informacin resultante a travs de un medio de salida
ALGORTIMOS
INTRODUCCION
Un ordenador por s slo no es capaz de hacer nada. Hace falta la ayuda de un programador. El programador es que programa las instrucciones necesarias al ordenador para realizar una tarea Algoritmo: Conjunto ordenado y finito de operaciones que permite hallar la solucin de un problema.
Motivacin
OBJETIVO GENERAL DE LA ASIGNATURA Resolver problemas bsicos a travs de la construccin de programas basados en algoritmos y un lenguaje de programacin, generando acciones hacia la bsqueda de propuestas pertinentes.
Dato
La palabra proviene del latn datum, forma del verbo dare dar, que significaLo que es dado
Dato
Son representaciones objetos, hechos, conocimientos.
Ejemplos 15 25 C 25 m 31-10-2005 Febrero Mara Prez
simblicas de instituciones,
Informacin
Los datos organizados o procesados adquieren significado y proporcionan conocimiento o desencadenan un comportamiento sobre los hechos u objetos que lo originaron
Informacin
Un grupo de datos es informacin Datos: 19- Marzo Maria 20 ptos. Informacin: El 19 de marzo se public en acta la calificacin de 20 ptos para Mara
Informacin
Ejemplos
Juan tiene 15 aos 25 C fue la temperatura de esta maana. El edificio Robles mide 25 m de altura
Problema
Es un asunto o un conjunto de cuestiones que se plantean para ser resueltas. La naturaleza de los problemas vara con el mbito o el contexto: problemas matemticos, qumicos, filosficos, etc. Es importante que al abordar un problema se tenga una descripcin simple y precisa del mismo, de lo contrario resultara complejo modular, simular, o programar su solucin en un ordenador.
Programador
Un programador es una persona que resuelve problemas, y para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemtico
Problema
Diseo Algoritmo
Anlisis
Programa
Problema
Algunos de los pasos para solucionar un problema son: Anlisis: consiste en el estudio detallado del problema. Se debe identificar los datos de entrada, de salida y la descripcin del problema. Diseo del algoritmo, que describe la secuencia ordenada de pasos que conduce a la solucin de un problema dado.
Algoritmo
Etimologa: Proviene del nombre del matemtico persa Mohammed Al-khowanzmi, cuyo apellido traducido al latn es Algorismus Conjunto de acciones que especifican la secuencia de operaciones a realizar, en orden, para resolver un problema Los algoritmos son independientes tanto del lenguaje de programacin como del computador que los ejecuta.
Algoritmo
Finito:
Un algoritmo siempre debe terminar despus de un nmero finito de pasos Si se sigue un algoritmo dos veces se debe obtener el mismo resultado Indicar exactamente el orden de realizacin de las instrucciones El algoritmo tiene que ser exacto, es decir datos exactos.
Definido:
Preciso:
Exacto:
Algoritmo
Ejemplo tradicional de un algoritmo: Cambiar la rueda pinchada de un coche
Algoritmo
1.Buscar herramientas, rueda de repuesto y tringulo de sealizacin 2.Ubicar el tringulo en el lugar adecuado 3.Ir al lugar de la rueda averiada 4.Sacar las tuercas 5.Colocar el gato
6.Levantar el coche
Algoritmo
7. Sacar la rueda averiada
Ejercicio
Elaborar un algoritmo que permita calcular el proceso para medir un litro de agua teniendo 2 recipientes no graduados de 21/2 litros y 2 litros. (Describa los pasos)
Solucin
1. 2. 3. 4. 5. 6. 7. 8. Inicio Llenar el recipiente de 21/2 litros Recolectar o poner el agua en el recipiente de 2 litros Vaciar el recipiente de 2 litros y poner el sobrante de agua del recipiente de 21/2 litros. Llenar nuevamente el recipiente de 21/2 litros Vaciar este contenido en el de 2 litros La cantidad de agua sobrante en el recipiente de 21/2 litros es la cantidad o el litro perdido Fin
Proceso
Datos de Entrada Proceso Informacin
Numricos
Enteros (Integer) Ejemplo: 4, 6,-15,-10 Reales (Float, Double) Ejemplo: 0.8, 27.03 Carcter (Char) Ejemplo: a, G,$,6 Cadenas(String) Ejemplo: Algoritmos
Caracter
Lgicos
Verdadero Falso
Operadores
OPERADOR Divisin Multiplicacin Suma Resta Divisin en Modulo (Residuo) Incremento Decremento Potenciacin SIMBOLO / * + % a/b 3*2 x+y a-b 5 % 3 => 2 EJEMPLO
++ -^, raiz
Algoritmo
Fases de Desarrollo de un Algoritmo
Fase
Anlisis Diseo Codificacin Compilacin Interpretacin Pruebas
Producto
Especificacin Algoritmo Programa
Prog. Ejecutable
Aplicacin
Algoritmo
Fase de Anlisis: consiste en el estudio detallado del problema con el fin de obtener una serie de documentos (especificacin) en los cuales quedan totalmente definido el proceso a seguir en la automatizacin
Estudio detallado
Documentos de Especificacin
Algoritmo
Diseo: consiste en la realizacin del algoritmo que resuelve el problema de acuerdo a la especificacin dada en la fase anterior. El algoritmo se representa mediante pseudocdigo.
Variables
A,B,C: entero Leer(A,B) CA+B Escribir (C)
Documentos de Especificacin
Fin
Algoritmo
Codificacin: consiste en la traduccin del algoritmo a un programa escrito en un lenguaje de programacin
Escribir (C)
Fin Programa escrito en un Lenguaje de Programacin
Algoritmo
Compilacin/Interpretacin: consiste en obtener el programa ejecutable_objeto a partir del programa fuente.
Algoritmo
Prueba: consiste en determinar si el programa funciona correctamente y realiza las operaciones que esperamos de l.
Programa Ejecutable
Aplicacin
Lenguajes de programacin
Lenguaje: conjunto de reglas y convenciones que se utilizan para comunicar informacin. Lenguaje de Programacin: es un lenguaje que permite la traduccin de un algoritmo para que sea entendible por el computador. Son los lenguajes utilizados para escribir programas de ordenadores.
Lenguaje de mquina
Son aquellos que estn escritos en lenguaje directamente inteligibles por la mquina, ya que sus instrucciones son cadenas binarias (0s ,1s) que especifican una operacin.
Las instrucciones en lenguaje mquina dependen Hardware de la computadora, difiere de una PC a otra.
del
La ventaja de los lenguajes mquina es que ofrecen mayor velocidad de ejecucin. Existen algunas desventajas: dificultad y lentitud en la codificacin, poca fiabilidad, los programas no son portables.
Son ms fciles de utilizar que los lenguajes de mquina, pero stos tambin dependen de la mquina en particular.
El mejor ejemplo es el lenguaje ensamblador Un programa escrito en lenguaje ensamblador requiere una fase de traduccin. Entre las desventajas tenemos: que este lenguaje depende de la mquina y demanda una mayor exigencia para los programadores, ya que deben conocer tanto las tcnicas de programacin as como el interior de la mquina
Son independientes de la mquina Los programas escritos en estos lenguajes son portables Aumento de la ocupacin de la memoria
Las estructuras sintcticas de los programas se basan en reglas
Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual Basic, Delphi, Java, C, vbnet,.
Lenguajes web
Son utilizados para crear aplicaciones para ser utilizados en redes o internet. Crean aplicaciones para comercio electrnico, chats, correo electrnico, etc.. Ejemplos: asp, jsp, php, ruby, etc
Etapas de programacin
Erroreslxicos Tiempodecompilacin
Erroreslgicos Tiempodepruebas
Existen Errores No
Existen Errores
Pruebas
PSEUCODIGO
Es la representacin de un algoritmo mediante una descripcin de pasos consecutivos que utiliza palabras especiales o reservados. Inicio Fin Leer Escribir Si Entonces Sino Mientras Repetir Para
Diseo de Algoritmos
VARIABLES Son los valores que van cambiando a medida que se ejecutan los programas. Ejemplo: y = y + c CONSTANTES Son los valores que no cambian durante le ejecucin de un programa. Ejemplo: Inters= 0.18 IDENTIFICADORES Son los nombres de las variables o constantes que son identificadas por el algoritmo o lenguaje de programacin, constan de uno o mas caracteres. Ejemplo: a, sum, var1, cadena
Diseo de Algoritmos
CONTADOR Se llama as a una variable que aumenta y disminuye en una cantidad exacta. Ejemplo: i=i+1, i=i+2, i=i-1 ACUMULADOR Es cuando una variable va aumentando progresivamente sus valores. Ejemplo: sum=sum+m; se tendr este tipo de variables cuando se hallan en las dos partes separadas por el igual
Diseo de Algoritmos
PALABRAS RESERVADAS Se llaman a todas las palabras propias del lenguaje de programacin Inicio Si Fin Entonces Leer Sino Escribir Mientras RepetirPara Entero Cadena
Ejemplo Algoritmo
PROGRAMA SUMA VARIABLES a,b,c:numero INICIOprograma ESCRIBIR("SUMA DE DOS NUMEROS") leer("INGRESE EL PRIMER NUMERO",a) leer("INGRESE EL SEGUNDO NUMERO",b) c=a+b escribir("EL RESULTADO ES ",c) FINprograma
SENTENCIA SI - SINO
Sirve para comprobar una o varias condiciones y si el resultado de ellas es verdadero entonces se procesa un bloque de sentencias, caso contrario otros bloques de sentencias sucesivamente
Condicin
Verdadero
Hace algo
Falso
Hace otras operaciones
SENTENCIA SI - SINO
Son condiciones validas aquellas que estn compuestas por 2 variables o valores y un operador relacional2 aceptado por el lenguaje de programacin
OPERADOR Mayor que Menor que Mayor o igual Menor o igual Igual Diferente
EJEMPLO
Sintaxis SI - SINO
Si (condicin) entonces Sentencias Fin Si Si (condicin) entonces Sentencias Sino Sentencias Fin Si Si (condicin) entonces Sentencias Sino Si (condicin) entonces Sentencias Sino Sentencias Fin Si Fin Si
Operadores Lgicos
AND (Y) OR (O)
NEGADO (NOT)!