Unidad 1 Algoritmos

Embed Size (px)

DESCRIPTION

Introducción a la programación

Citation preview

  • ALGORITMOSTEMA 1

    Unidad 1 Algoritmos

  • ALGORITMOSQue es un algoritmo?Una lista de instrucciones donde se especifica una sucesin de operaciones necesarias para resolver cualquier problema de un tipo dado.Ejemplo sumar dos nmerosIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ALGORITMOSIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ALGORITMOS5+1=6Anotar 62+9=11Anotar 1 y guardar 14+0=44+1=5Anotar 5El resultado es 516IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ALGORITMOSIWI-131 - Tema 1 Algoritmos

    +VVVVFFFVFFFF

    Unidad 1 Algoritmos

  • ALGORITMOSIWI-131 - Tema 1 Algoritmossansano

    Unidad 1 Algoritmos

  • ALGORITMOSEntradaQu se necesita para realizar los pasos?SalidaQue se obtiene al final del algoritmo?Tipos de datosNmeros: enteros, reales, complejosTexto: letras, palabras, frasesOtrosIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ALGORITMOSSirven para resolver un tipo de problema especifico.Son secuencias de pasos concretos.Requiere la definicin de la entrada y la salida.Adecuados para ser ejecutados por un computadorIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ALGORITMOSQu tiene que ver con la programacin?La programacin consiste en crear programas de computador que resuelvan problemas especficos.Un programa de computador es la implementacin de un algoritmo.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ALGORITMOSQu es un programa de computador?Es una secuencia de pasos a ejecutarLos pasos estn descritos en un lenguaje especial.Este lenguaje se puede traducir al lenguaje del computador.Por lo general es un archivo de texto.El texto escrito en dicho lenguaje se denomina el cdigo del programa.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • DESCRIPCIN DE UN ALGORITMOEs necesario contar con formas de expresar algoritmosDiseo del algoritmo antes de codificarDiseo del algoritmo de manera independiente del lenguaje de programacinDiferentes alternativasPseudo - cdigoDiagramas de flujoDiagramas de Nassi-SchneidermannIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • DESCRIPCIN DE UN ALGORITMOPseudo cdigoEl algoritmo se expresa en lenguaje naturalExpresa de manera genrica los pasos del algoritmoNo provee detalles de la implementacin particular del cdigo finalIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • DESCRIPCIN DE UN ALGORITMODiagramas de flujoPresentan el algoritmo de manera grfica.De gran utilidad para seguir la ruta de un algoritmo.Aplicables a muchas otras disciplinas.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • DESCRIPCIN DE UN ALGORITMODiagrama de Nassi-SchneidermannTambin se denominan diagramas de caja.Menos usado que el diagrama de flujoMas ordenadoOcupa mucho espacio para representar algoritmos complejos.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • CONSTRUCCIN DE UN ALGORITMODefinir el problema a resolverIdentificar las entradas del algoritmoIdentificar la salida del algoritmoDefinir los pasos a seguir para convertir las entradas en la salidaSeguir los pasos y comprobar que el algoritmo sea correcto analizando la salida.Revisar los pasos y hacer las correcciones.Resolver el problema.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • CONSTRUCCIN DE UN ALGORITMOConstruccin de un programaDefinir el problema a resolverDefinir el algoritmo que lo resuelveEscribir el programaEscribir cada uno de los pasos del algoritmo en el lenguaje de programacinEjecutar el programa en el computadorVerificar que las salidas sean correctasHacer correcciones al programaResolver el problemaIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • CONSTRUCCIN DE UN ALGORITMOEjemplo:Objetivo: Calcular el precio de una manzana EntradasPrecio (en pesos) del kilo de manzanas [K]Peso (en gramos) promedio de una manzana[P]SalidaPrecio (en pesos) de una manzana [M]IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • CONSTRUCCIN DE UN ALGORITMOIWI-131 - Tema 1 AlgoritmosInicioIngresar valor de K y P

    Calcular G = K/100

    Calcular M = G x P

    Devolver el valor de M

    Fin.

    Unidad 1 Algoritmos

  • CONSTRUCCIN DE UN ALGORITMOIWI-131 - Tema 1 AlgoritmosG=K/1000M=G x PIngresar K y PDevolver M

    Unidad 1 Algoritmos

  • CONSTRUCCIN DE UN ALGORITMOIWI-131 - Tema 1 AlgoritmosG=K/1000M=G x PIngresar K y PDevolver M

    Unidad 1 Algoritmos

  • CONSTRUCCIN DE UN ALGORITMOOperaciones bsicasEntrada de datosSalida de datosUtilizacin de variablesUtilizacin de constantesAplicacin de operadoresAsignacin de valoresCombinacin de operaciones bsicasSecuencialSelectivaRepetitivaIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ENTRADA DE DATOSLos algoritmos son para solucionar tipos de problemasEs imprescindible poder entregar entradas distintas en cada ejecucinLa entrada de datos se realiza mediante algn dispositivoIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ENTRADA DE DATOSDispositivos de entradaTecladoMouseBotonesCensores de tactoCmaras digitalesScannersArchivosIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ENTRADA DE DATOSIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ENTRADA DE DATOSCada dispositivo tiene distintas caractersticas.Por lo general, sirven para cosas distintasLos sistemas definen un dispositivo de entrada por defectoEste dispositivo se denomina la entrada estndar.En un computador suele ser el teclado.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • SALIDA DE DATOSDe nada sirve implementar un algoritmo si no podemos saber su resultado.Al finalizar el algoritmo (o durante), es imprescindible obtener la informacin resultante de su ejecucin.La salida de datos se realiza mediante dispositivos.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • SALIDA DE DATOSDispositivos de salidaPantallaImpresoraParlantesTableros luminososMotoresTarjeta de redArchivosIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • SALIDA DE DATOSIWI-131 - Tema 1 AlgoritmosC:\

    Unidad 1 Algoritmos

  • SALIDA DE DATOSAl igual que con la entrada, cada dispositivo tiene finalidades distintas.Los sistemas definen un dispositivo de salida por defectoEste dispositivo se denomina la salida estndar.En un computador suele ser la pantalla.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • UTILIZACIN DE VARIABLESDurante la ejecucin del algoritmo, es importante recordar los resultados parciales de cada paso.Estos resultados se etiquetan con un nombre.Al invocar con posterioridad ese nombre, recuperamos el resultados parcial.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • UTILIZACIN DE VARIABLESIWI-131 - Tema 1 AlgoritmosG=K/1000Esta variable se denomina G y se utiliza para recordar el valor de un gramo de manzana.K es un dato de entrada, y tambinSe considera una variable

    Unidad 1 Algoritmos

  • UTILIZACIN DE VARIABLESLa principal caracterstica de una variable es que su valor puede cambiar en el tiempo.Usualmente se compara con una caja donde se puede almacenar una sola cosa.Por lo general, las variables se definen con un tipo de dato.El tipo de dato restringe que tipo de cosas se pueden guardar en las cajas.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • UTILIZACIN DE CONSTANTESAdems de las variables, un algoritmo requiere de constantes.A diferencia de las variables, su valor no puede cambiar en el tiempo.Las constantes tambin pueden recibir nombres para mayor claridad.Ej.: PI = 3.1415IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • UTILIZACIN DE CONSTANTESIWI-131 - Tema 1 AlgoritmosG=K/1000La constante 1000 sirva para transformar el valor Por kilo a un valor por gramo

    Unidad 1 Algoritmos

  • APLICACIN DE OPERADORESPara obtener resultados, generalmente es necesario transformar las entradas en la salida.Para esto se aplican operadores de distinta ndoleAritmticos ( + , - , * , / )Lgicos (igual que, mayor que, menor que, y, o, no)Etc.Los operadores requieren de operandos y entregan un resultado.Por lo general, los operadores son unarios o binarios.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • APLICACIN DE OPERADORESIWI-131 - Tema 1 AlgoritmosM=G * Poperandosoperador

    Unidad 1 Algoritmos

  • ASIGNACIN DE VALORESEl resultado de un operador se puede almacenar en una variable.Para esto se utiliza un tipo especial de operador.Este es el operador de asignacin.Solo se pueden asignar valores a variables, no a constantesIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ASIGNACIN DE VALORESIWI-131 - Tema 1 AlgoritmosM=G * POperador de asignacinEl resultado de GxP se asigna a la variable M

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASSecuencialUn conjunto de operaciones bsicas pueden ser ejecutadas en forma secuencial.Una operacin no inicia hasta que la anterior terminaIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 AlgoritmosIngresar K=200 y P=250

    G tiene el valor 0,2

    M tiene el valor 50Diagrama de flujoDiagrama de Nassi-Schneidermann

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASSelectivaUn algoritmo puede optar por ejecutar o no una operacin (SI ENTONCES).Un algoritmo puede optar por ejecutar una u otra operacin (SI-ENTONCES-SINO).Esta decisin se basa en un condicin.Esta decisin controla el flujo del algoritmo.Por esto, se denomina una estructura de control.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 AlgoritmosC3421C: Condicin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 Algoritmos3sino421CC: Condicin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASInicioEjecutar 1Ejecutar 2si se cumple C entoncesEjecutar 3fin siEjecutar 4finIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASEjemplo: levantarse en la maanaIWI-131 - Tema 1 AlgoritmosIniciosalir de la camaducharsetomar desayunosi esta lloviendo entoncestomar el paraguasfin sitomar la mochilatomar la microfin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 AlgoritmosC3a3b421sinoC: Condicin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 Algoritmos3a3bsino421CC: Condicin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASInicioEjecutar 1Ejecutar 2si se cumple C entoncesEjecutar 3asi noEjecutar 3bfin siEjecutar 4finIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASEjemplo: levantarse en la maanaIWI-131 - Tema 1 AlgoritmosIniciosalir de la camaducharsetomar desayunosi esta lloviendo entoncesllevar la parcasi nollevar la chaquetafin sitomar la mochilatomar la microfin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASEstructura de control selectivaUna condicin es cualquier proposicin lgica que tenga un valor verdadero o falso definido.Este esquema selectivo se denomina decision binaria.Y si hay ms de dos opciones?

    IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASEstructura de control selectivaToda decisin se puede llevar a un esquema de decisin binaria.Basta con decidir entre una alternativa y todo el restoSi se elige el resto, se decide entre una alternativa y el resto del resto.EtcIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 Algoritmos2a2b2c31x?x mayor que 0x igual a 0x menor que 0

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 Algoritmos31sisinono2a2b2c

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 Algoritmos132ax mayor que 0?x menor que 0?2b2csisinono

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASInicioEjecutar 1Si x es mayor que cero entoncesEjecutar 2aSi noSi x es menor que cero entoncesEjecutar 2cSi noEjecutar 2bfin sifin siEjecutar 3finIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASEjemplo: levantarse en la maanaIWI-131 - Tema 1 AlgoritmosIniciosalir de la camaducharsetomar desayunosi esta lloviendo entoncesllevar la parcasi no esta lloviendo pero hace frollevar la chaquetasi nollevar un chalecofin sitomar la mochilatomar la microfin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASEstructura de seleccin mltiplePara algunos casos se puede utilizar un esquema selectivo no binario (EN EL CASO DE)Ejemplo: ingreso de opcin de men de un cajero automticoSi el usuario presion el botn 1, hacer un giroSi el usuario presion el botn 2, entregar saldoSi el usuario presion el botn 3, cambiar la claveEtc.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 AlgoritmosBotngirosaldoclaveerror132etocsalir

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 AlgoritmosgiroclavesaldoerrorBotn123etocsalir

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASInicioen el caso que el botn presionadosea el 1hacer girosea el 2entregar saldosea el 3cambiar claveEn cualquier otro casoErrorfin casofinIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASRepetitivaAdems de combinar operaciones en forma secuencial y selectiva, se puede repetir la ejecucin de una operacin cuantas veces se desee.Existen varios esquemasRepetir MIENTRAS se cumpla una condicin.Repetir HASTA QUE se cumpla una condicin.Repetir un nmero de veces.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASMIENTRASSe repite una operacin mientras una condicin sea verdadera.Al dejar de serlo, se rompe el cicloSi la condicin nunca es falsa, se tiene un ciclo infinito.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 AlgoritmosC213C: Condicinsino

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 Algoritmos132CC: Condicin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASInicioejecutar 1mientras se cumpla la condicinejecutar 2fin mientrasejecutar 3finIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASEjemplo validar ingreso de valor positivoIWI-131 - Tema 1 AlgoritmosIniciodefinir variable xasignar el valor -1 a xmientras x sea menor que ceroingresar x por tecladofin mientrasmostrar valor de xfin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASHASTA QUESe repite la ejecucin de una operacin hasta que se cumpla una condicin.La principal diferencia con MIENTRAS es que la operacin se ejecuta al menos una vez.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 AlgoritmosC213C: Condicinsino

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 Algoritmos132CC: Condicin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 AlgoritmosInicioejecutar 1repetirejecutar 2hasta que se cumpla condicinejecutar 3fin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASEjemploMismo ejemplo anteriorIWI-131 - Tema 1 AlgoritmosIniciodefinir variable xrepetiringresar x por tecladoHasta que x sea mayor que ceromostrar valor de xfin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASRepetir un nmero fijo de vecesMuy til cuando se sabe el numero de repeticiones a ejecutar.Por lo general se define una variable que sirve de contadorEl contador mantiene el nmero de cada iteracin.Tambin se puede definir el incremento del contador en cada iteracin.IWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 AlgoritmosInicio contador, fin contador231

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 Algoritmos132Inicio contador, fin contador

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASIWI-131 - Tema 1 AlgoritmosInicioejecutar 1desde contador inicial hasta contador finalejecutar 2fin desdeejecutar 3fin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASEjemploIWI-131 - Tema 1 AlgoritmosIniciodefinir variable sumatoriaasignar el valor 0 a sumatoriadesde i igual a 0 hasta i igual a 5sumatoria = sumatoria + ifin desdemostrar valor de sumatoriafin

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASCombinacin de estructuras de control seriales, selectivas y repetitivasCualquier combinacin es posiblePueden existir estructuras anidadasEs importante definir el comienzo y el termino de cada estructuraIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • COMBINACIN DE OPERACIONES BSICASEjemplosCachi-punOrdenar objetosIWI-131 - Tema 1 Algoritmos

    Unidad 1 Algoritmos

  • ALGORITMOSFIN TEMA 1

    Unidad 1 Algoritmos

    ***