ESTRUCTURAFUNDAMENTALDEALGORITMOS
Tema 1Algoritmos
Algoritmos¿Que es un algoritmo?“Una lista de instrucciones donde se especifica una sucesión de operaciones necesarias para resolver cualquier problema de un tipo dado”.Ejemplo sumar dos números
5. Ejemplos de algoritmos secuencialesEjemplo1: Desarrolle un algoritmo que calcule e imprima el doble de un número.INICIOLEER NUMDOBLE=NUM*2IMPRIMIR DOBLEFIN
Todo algoritmo empieza con INICIO, luego van los datos de entrada (con la palabra LEA y las variables), en este caso sólo es una variable llamada NUM que representa el número al cual se le va a sacar el DOBLE. Luego en el proceso se aplica la teoría del doble de un valor (se multiplica * 2). Finalmente se ponen los datos de salida con la palabra IMPRIMIR. Recuerde que termina con la palabra FIN.
Algoritmos
Algoritmos491+   255165+1=6Anotar 62+9=11Anotar 1 y guardar 14+0=44+1=5Anotar 5El resultado es 516
AlgoritmosV+  FF
Algoritmos  san+ sanosansano
AlgoritmosSirven para resolver un tipo de problema especifico.Son secuencias de pasos concretos.Requiere la definición de la entrada y la salida.Adecuados para ser ejecutados por un computador
Algoritmos¿Qué tiene que ver  con la programación?La programación consiste en crear programas de computador que resuelvan problemas específicos.Un programa de computador es la implementación de un algoritmo.
Algoritmos¿Qué es un programa de computador?Es una secuencia de pasos a ejecutarLos pasos están 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 código del programa.
Descripción de un algoritmoEs necesario contar con formas de expresar algoritmosDiseño del algoritmo antes de codificarDiseño del algoritmo de manera independiente del lenguaje de programaciónDiferentes alternativasPseudo - códigoDiagramas de flujoDiagramas de Nassi-Schneidermann
Descripción de un algoritmoPseudo – códigoEl algoritmo se expresa en lenguaje naturalExpresa de manera genérica los pasos del algoritmoNo provee detalles de la implementación particular del código final
Descripción de un algoritmoDiagramas de flujoPresentan el algoritmo de manera gráfica.De gran utilidad para seguir la “ruta” de un algoritmo.Aplicables a muchas otras disciplinas.
Descripción de un algoritmoDiagrama de Nassi-SchneidermannTambién se denominan diagramas de caja.Menos usado que el diagrama de flujoMas ordenadoOcupa mucho espacio para representar algoritmos complejos.
Construcción 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.
Construcción de un algoritmoConstrucción 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 programaciónEjecutar el programa en el computadorVerificar que las salidas sean correctasHacer correcciones al programaResolver el problema
Construcción 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]
Construcción de un algoritmoInicio	Ingresar valor de K y P	Calcular G = K/100	Calcular M = G x P	Devolver el valor de MFin.
Construcción de un algoritmoIngresar K y PG=K/1000M=G x PDevolver M
Construcción de un algoritmoIngresar K y PG=K/1000M=G x PDevolver M
Construcción de un algoritmoOperaciones básicasEntrada de datosSalida de datosUtilización de variablesUtilización de constantesAplicación de operadoresAsignación de valoresCombinación de operaciones básicasSecuencialSelectivaRepetitivaIWI-131 - Tema 1 Algoritmos
Entrada de datosLos algoritmos son para solucionar tipos de problemasEs imprescindible poder entregar entradas distintas en cada ejecuciónLa entrada de datos se realiza mediante algún dispositivo
Entrada de datosDispositivos de entradaTecladoMouseBotonesCensores de tactoCámaras digitalesScannersArchivos
Entrada de datos
Entrada de datosCada dispositivo tiene distintas características.Por lo general, sirven para cosas distintasLos sistemas definen un dispositivo de entrada por defectoEste dispositivo se denomina la entrada estándar.En un computador suele ser el teclado.
Salida de datosDe nada sirve implementar un algoritmo si no podemos saber su resultado.Al finalizar el algoritmo (o durante), es imprescindible obtener la información resultante de su ejecución.La salida de datos se realiza mediante dispositivos.
Salida de datosDispositivos de salidaPantallaImpresoraParlantesTableros luminososMotoresTarjeta de redArchivos
Salida de datosC:\
Asignación de valoresOperador de asignaciónM=G * PEl resultado de GxP se asigna a la variable M
Combinación de operaciones básicasSecuencialUn conjunto de operaciones básicas pueden ser ejecutadas en forma secuencial.Una operación no inicia hasta que la anterior termina
Combinación de operaciones básicas12C34C: Condición
Combinación de operaciones básicas12Csino34C: Condición
Combinación de operaciones básicasInicio	Ejecutar 1	Ejecutar 2	si se cumple C entonces		Ejecutar 3	fin si	Ejecutar 4fin
Combinación de operaciones básicasEjemplo: levantarse en la mañanaInicio	salir de la cama	ducharse	tomar desayuno	si esta lloviendo entonces		tomar el paraguas	fin si	tomar la mochila	tomar la microfin
Combinación de operaciones básicasEstructura de control selectivaUna condición es cualquier proposición lógica que tenga un valor verdadero o falso definido.Este esquema selectivo se denomina “decision binaria”.¿Y si hay más de dos opciones?
Combinación de operaciones básicas1x mayor que 0x menor que 0x?x igual a 02b2a2c3
Combinación de operaciones básicas1x mayor que 0?sino2ax menor que 0?sino2b2c3
Combinación de operaciones básicasEjemplo: levantarse en la mañanaInicio	salir de la cama	ducharse	tomar desayuno	si esta lloviendo entonces		llevar la parca	si no esta lloviendo pero hace frío		llevar la chaqueta	si no		llevar un chaleco	fin si	tomar la mochila	tomar la microfin
Combinación de operaciones básicasEstructura de selección múltiplePara algunos casos se puede utilizar un esquema selectivo no binario (EN EL CASO DE)Ejemplo: ingreso de opción de menú de un cajero automáticoSi el usuario presionó el botón 1, hacer un giroSi el usuario presionó el botón 2, entregar saldoSi el usuario presionó el botón 3, cambiar la claveEtc.
Combinación de operaciones básicasetocBotón132girosaldoclave…errorsalir
Combinación de operaciones básicasBotónetoc123giroclavesaldoerror…salir
Combinación de operaciones básicasInicio	en el caso que el botón presionado		sea el 1			hacer giro		sea el 2			entregar saldo		sea el 3			cambiar clave		…		En cualquier otro caso			Error	fin casofin
Combinación de operaciones básicas1noCsi23C: Condición
Combinación de operaciones básicas1C23C: Condición
Combinación de operaciones básicasInicio	ejecutar 1	mientras se cumpla la condición		ejecutar 2	fin mientras	ejecutar 3fin
Combinación de operaciones básicasHASTA QUESe repite la ejecución de una operación hasta que se cumpla una condición.La principal diferencia con MIENTRAS es que la operación se ejecuta al menos una vez.
Combinación de operaciones básicas12noCsi3C: Condición
Combinación de operaciones básicasInicio	ejecutar 1	repetir		ejecutar 2	hasta que se cumpla condición	ejecutar 3fin
Combinación de operaciones básicasRepetir un número 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 número de cada iteración.También se puede definir el incremento del contador en cada iteración.
Combinación de operaciones básicas1Inicio contador, fin contador23
Asignación de informaciónAsignación Interna.Actualización Asignación Externa.
Combinación de operaciones básicasInicio	ejecutar 1	desde contador inicial hasta contador final		ejecutar 2	fin desde	ejecutar 3fin
GRACIAS

Tarea 6

  • 1.
  • 2.
  • 3.
    Algoritmos¿Que es unalgoritmo?“Una lista de instrucciones donde se especifica una sucesión de operaciones necesarias para resolver cualquier problema de un tipo dado”.Ejemplo sumar dos números
  • 4.
    5. Ejemplos dealgoritmos secuencialesEjemplo1: Desarrolle un algoritmo que calcule e imprima el doble de un número.INICIOLEER NUMDOBLE=NUM*2IMPRIMIR DOBLEFIN
  • 5.
    Todo algoritmo empiezacon INICIO, luego van los datos de entrada (con la palabra LEA y las variables), en este caso sólo es una variable llamada NUM que representa el número al cual se le va a sacar el DOBLE. Luego en el proceso se aplica la teoría del doble de un valor (se multiplica * 2). Finalmente se ponen los datos de salida con la palabra IMPRIMIR. Recuerde que termina con la palabra FIN.
  • 6.
  • 7.
    Algoritmos491+ 255165+1=6Anotar 62+9=11Anotar 1 y guardar 14+0=44+1=5Anotar 5El resultado es 516
  • 8.
  • 9.
    Algoritmos san+sanosansano
  • 10.
    AlgoritmosSirven para resolverun tipo de problema especifico.Son secuencias de pasos concretos.Requiere la definición de la entrada y la salida.Adecuados para ser ejecutados por un computador
  • 11.
    Algoritmos¿Qué tiene quever con la programación?La programación consiste en crear programas de computador que resuelvan problemas específicos.Un programa de computador es la implementación de un algoritmo.
  • 12.
    Algoritmos¿Qué es unprograma de computador?Es una secuencia de pasos a ejecutarLos pasos están 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 código del programa.
  • 13.
    Descripción de unalgoritmoEs necesario contar con formas de expresar algoritmosDiseño del algoritmo antes de codificarDiseño del algoritmo de manera independiente del lenguaje de programaciónDiferentes alternativasPseudo - códigoDiagramas de flujoDiagramas de Nassi-Schneidermann
  • 14.
    Descripción de unalgoritmoPseudo – códigoEl algoritmo se expresa en lenguaje naturalExpresa de manera genérica los pasos del algoritmoNo provee detalles de la implementación particular del código final
  • 15.
    Descripción de unalgoritmoDiagramas de flujoPresentan el algoritmo de manera gráfica.De gran utilidad para seguir la “ruta” de un algoritmo.Aplicables a muchas otras disciplinas.
  • 16.
    Descripción de unalgoritmoDiagrama de Nassi-SchneidermannTambién se denominan diagramas de caja.Menos usado que el diagrama de flujoMas ordenadoOcupa mucho espacio para representar algoritmos complejos.
  • 17.
    Construcción de unalgoritmoDefinir 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.
  • 18.
    Construcción de unalgoritmoConstrucción 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 programaciónEjecutar el programa en el computadorVerificar que las salidas sean correctasHacer correcciones al programaResolver el problema
  • 19.
    Construcción de unalgoritmoEjemplo: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]
  • 20.
    Construcción de unalgoritmoInicio Ingresar valor de K y P Calcular G = K/100 Calcular M = G x P Devolver el valor de MFin.
  • 21.
    Construcción de unalgoritmoIngresar K y PG=K/1000M=G x PDevolver M
  • 22.
    Construcción de unalgoritmoIngresar K y PG=K/1000M=G x PDevolver M
  • 23.
    Construcción de unalgoritmoOperaciones básicasEntrada de datosSalida de datosUtilización de variablesUtilización de constantesAplicación de operadoresAsignación de valoresCombinación de operaciones básicasSecuencialSelectivaRepetitivaIWI-131 - Tema 1 Algoritmos
  • 24.
    Entrada de datosLosalgoritmos son para solucionar tipos de problemasEs imprescindible poder entregar entradas distintas en cada ejecuciónLa entrada de datos se realiza mediante algún dispositivo
  • 25.
    Entrada de datosDispositivosde entradaTecladoMouseBotonesCensores de tactoCámaras digitalesScannersArchivos
  • 26.
  • 27.
    Entrada de datosCadadispositivo tiene distintas características.Por lo general, sirven para cosas distintasLos sistemas definen un dispositivo de entrada por defectoEste dispositivo se denomina la entrada estándar.En un computador suele ser el teclado.
  • 28.
    Salida de datosDenada sirve implementar un algoritmo si no podemos saber su resultado.Al finalizar el algoritmo (o durante), es imprescindible obtener la información resultante de su ejecución.La salida de datos se realiza mediante dispositivos.
  • 29.
    Salida de datosDispositivosde salidaPantallaImpresoraParlantesTableros luminososMotoresTarjeta de redArchivos
  • 30.
  • 31.
    Asignación de valoresOperadorde asignaciónM=G * PEl resultado de GxP se asigna a la variable M
  • 32.
    Combinación de operacionesbásicasSecuencialUn conjunto de operaciones básicas pueden ser ejecutadas en forma secuencial.Una operación no inicia hasta que la anterior termina
  • 33.
    Combinación de operacionesbásicas12C34C: Condición
  • 34.
    Combinación de operacionesbásicas12Csino34C: Condición
  • 35.
    Combinación de operacionesbásicasInicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3 fin si Ejecutar 4fin
  • 36.
    Combinación de operacionesbásicasEjemplo: levantarse en la mañanaInicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces tomar el paraguas fin si tomar la mochila tomar la microfin
  • 37.
    Combinación de operacionesbásicasEstructura de control selectivaUna condición es cualquier proposición lógica que tenga un valor verdadero o falso definido.Este esquema selectivo se denomina “decision binaria”.¿Y si hay más de dos opciones?
  • 38.
    Combinación de operacionesbásicas1x mayor que 0x menor que 0x?x igual a 02b2a2c3
  • 39.
    Combinación de operacionesbásicas1x mayor que 0?sino2ax menor que 0?sino2b2c3
  • 40.
    Combinación de operacionesbásicasEjemplo: levantarse en la mañanaInicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces llevar la parca si no esta lloviendo pero hace frío llevar la chaqueta si no llevar un chaleco fin si tomar la mochila tomar la microfin
  • 41.
    Combinación de operacionesbásicasEstructura de selección múltiplePara algunos casos se puede utilizar un esquema selectivo no binario (EN EL CASO DE)Ejemplo: ingreso de opción de menú de un cajero automáticoSi el usuario presionó el botón 1, hacer un giroSi el usuario presionó el botón 2, entregar saldoSi el usuario presionó el botón 3, cambiar la claveEtc.
  • 42.
    Combinación de operacionesbásicasetocBotón132girosaldoclave…errorsalir
  • 43.
    Combinación de operacionesbásicasBotónetoc123giroclavesaldoerror…salir
  • 44.
    Combinación de operacionesbásicasInicio en el caso que el botón presionado sea el 1 hacer giro sea el 2 entregar saldo sea el 3 cambiar clave … En cualquier otro caso Error fin casofin
  • 45.
    Combinación de operacionesbásicas1noCsi23C: Condición
  • 46.
    Combinación de operacionesbásicas1C23C: Condición
  • 47.
    Combinación de operacionesbásicasInicio ejecutar 1 mientras se cumpla la condición ejecutar 2 fin mientras ejecutar 3fin
  • 48.
    Combinación de operacionesbásicasHASTA QUESe repite la ejecución de una operación hasta que se cumpla una condición.La principal diferencia con MIENTRAS es que la operación se ejecuta al menos una vez.
  • 49.
    Combinación de operacionesbásicas12noCsi3C: Condición
  • 50.
    Combinación de operacionesbásicasInicio ejecutar 1 repetir ejecutar 2 hasta que se cumpla condición ejecutar 3fin
  • 51.
    Combinación de operacionesbásicasRepetir un número 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 número de cada iteración.También se puede definir el incremento del contador en cada iteración.
  • 52.
    Combinación de operacionesbásicas1Inicio contador, fin contador23
  • 53.
    Asignación de informaciónAsignaciónInterna.Actualización Asignación Externa.
  • 54.
    Combinación de operacionesbásicasInicio ejecutar 1 desde contador inicial hasta contador final ejecutar 2 fin desde ejecutar 3fin
  • 55.