Algoritmos conceptos basicos

3,236 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,236
On SlideShare
0
From Embeds
0
Number of Embeds
187
Actions
Shares
0
Downloads
64
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Algoritmos conceptos basicos

  1. 1. ALGORITMOS YESTRUCTURAS DEDATOS
  2. 2. BUENAS TARDES…Apague y/o guarde cualquierdispositivo distractor que impidasu atención en esta exposición,por ejemplo: Celulares, tablets,PC, calculadoras, cuadernos deotras asignaturas, etc.Tome apuntesGracias
  3. 3. GENERALIDADESDATOEs la representación simbólica de un hecho, atributo o característica deuna entidad.Ejm: nota de un alumno, nombre de un docente, color de un carro, etc.INFORMACIONEs un dato útil.Ejm. El promedio final de un alumno para un curso, número deaprobados en un examen, nombre de los primeros alumnosde cada especialidad por cada ciclo.La información se obtiene mediante el procesamientode los datos
  4. 4. ProcesadorEntrada SalidaAlgoritmoDATOSINFORMACION Es realizado por el procesador el cual ejecuta un conjunto depasos previamente definidos (algoritmo) El procesamiento de datos puede ser:ManualMecanizada (uso de calculadora, sumadora, etc)Automatizado (uso del computador)PROCESAMIENTO DEDATOSOperaciones que transforman datos en información
  5. 5. PROCESAMIENTO DE DATOSAUTOMATIZADOEntradaDATOSSalidaINFORMACIONProgramaAlgoritmoProcesador
  6. 6. Elementos del Computador+HARDWARE(elem.físicos)SOFTWARE (programa)
  7. 7. HARDWARE (componentes físicos)UnidadesPeriféricasDe EntradaEjem.TecladoMouseEscaner, etcUnidadesPeriféricasDe SalidaEjm.ImpresoraMonitor,Parlantes, etc.Unidades deAlmacenamiento.Ejem. Disquete,Discos compactos,Discos duros, etc.Unidad deControlUnidadAritméticaY LógicaMemoria PrincipalRAM y ROMUNIDAD CENTRAL DEPROCESO
  8. 8. SOFTWARE (Conjunto de Programas)TIPOS DE SOFTWARE:- Sistemas operativosEjm. DOS, Windows, Linux, etc.- Aplicaciones de uso generalEjm. Word, Excel, Power Point,etc.- Aplicaciones de usoespecíficoEjm. sistema de notas,sistema de facturación,etc)Programa1Programa2Programa3MEMORIA RAM
  9. 9. FASES PARA LA CONSTRUCCION DE UN PROGRAMASOLUCION DELPROBLEMAIMPLEMENTACIONEN LACOMPUTADORADatosAlgoritmoPrograma(Software)Análisis delproblemaDiseño delalgoritmoVerificacióndel algoritmoError delógicaOKCodificacióndel algoritmo(programa)Ejecución delprogramaVerificación delprogramaProgramaErrorsintaxisOKAlgoritmo
  10. 10. ALGORITMOSecuencia ordenada de pasos (acciones) para resolver unproblema.Se expresa en lenguaje naturalPROGRAMAEs el algoritmo escrito en un lenguaje de programación para serejecutado por el computador.Tipos de lenguajes de Programación: Lenguaje de alto nivel: lenguaje similar al lenguaje natural.Son fáciles de escribir. Es el mas usado por los programadores.Ejm. C++, Pascal, Basic, Prolog, Java, etc Lenguaje de bajo nivel: lenguaje mnemotécnico.Ejm. ADD M, N, P Lenguaje de máquina: lenguaje binario (0 y 1) entendibledirectamente por el computador.Ejm. 0110 1001 1010 1011
  11. 11. TIPOS DE PROGRAMAS (según el Lenguaje de Programación) PROGRAMA FUENTE (PF)Programa escrito en lenguaje de alto o bajo nivel. PROGRAMA OBJETO (PO):Programa escrito en lenguaje de máquina. Es el que ejecuta el computador.TRADUCTORES DE LENGUAJEProgramas que traducen programas fuente a lenguaje de máquina.ProgramaFuenteCompiladorProgramaObjetoProgramaFuente IntérpreteEjecucióndelProgramaInstrucciónen leng.máq.Ejecución de laInstrucciónTipos de Traductores: Compiladores e Intérpretesinstrucción
  12. 12. D A T O S
  13. 13. Tipos de Datos (reconocidos por el computador):DATOSBASICOS COMPUESTOSNuméricos Caracter Lógico Estático Dinámico-Arreglos-Registros-Archivos-Listas-Arboles-Grafos-Enteros-Reales
  14. 14. DATOS SIMPLES O DATOS BASICOS DATOS NUMERICOSEnteros y RealesEl rango y precisión de los datos numéricos depende dellenguaje de programación que se utilice.DATOS TIPO CARACTERConjunto de caracteres que el computador reconoce.Se encuentran normalizados bajo el código ASCII o EBCDICSe tienen:Caracteres alfabéticos: A - Z ; a - zCaracteres numéricos: 0 - 9Caracteres especiales: *, / , +, >, <, =, etc. DATOS TIPO LOGICOConjunto formado por dos valores lógicos:verdad, falso
  15. 15. Operaciones con los datosOPERACIONES INTERVIENEN OPERADORES RESULTADOARITMETICAS DatosNuméricosAritméticos+, - , *, /,resto, enteroDatoNuméricoDECOMPARACIONDatos delmismo tipoRelacionales>, <, >=, <=, =DatoLógicoLOGICAS DatoslógicosLógicosNo, Y, ODatológico
  16. 16. IMPORTANTE:En operaciones aritméticas:Muchos lenguajes cuentan con operadores adicionales a losconocidos como los operadores para datos enteros:entero (a/b): división entera de a/bresto (a/b): resto de la división entera de a/bEjm. 10+ resto(5/3) Resultado: 12En operaciones de Comparación:En la comparación de datos tipo carácter se tiene:‘0’<‘1’<‘2’<..<’9’<‘A’<‘B’<…<‘Z’<‘a’<‘b’<..<‘z’En datos tipo lógico:falso < verdad
  17. 17. Expresión de los datosUn dato puede venir expresado como: constantes, variables,expresiones, funciones, etc. CONSTANTEEs un dato (de cualquier tipo) cuyo valor no cambia durante laejecución del algoritmo o programa.Tipos de constantes: Literal: es un valor expresado en forma explícita.Ejm. 3.1416 Simbólica: viene expresado bajo un nombre que guardasu valorEjm. Pi (Previamente se debe definir que Pi = 3.1416)
  18. 18.  VARIABLE Es un objeto (porción de memoria) que almacena un dato Para definir una variable es necesario:- Darle un Nombre- Indicar el tipo de dato que va almacenarOJO: El valor de una variable puede cambiardurante la ejecución del algoritmo.Tipos de variables:Entero: Ejm. nota, edad, examen,Real: Ejm. promedio, sueldo, tallaCarácter: Ejm. sección, sexo,Lógica: Ejm. Fin, encontrado, vale
  19. 19. Operador de asignaciónSe utiliza para almacenar un dato en una variable,perdiéndose cualquier otro valorpreviamente almacenado en ella. Se representa con el símbolo Ejem.Nota  12.3Nota  Nota +212.3NotaMemoria RAM14.3
  20. 20.  EXPRESIONESEs una combinación de operandos y operadoresTipos: Expresiones aritméticasOperando: constantes, variables y expres. numér.Operadores: aritméticosResultado: numéricoEjm. (EP + 2*EF + PP)/4 Expresiones lógicasOperando: constantes, variables y expres. lógicasOperadores: lógicos y relacionalesResultado: lógicoEjm. (PP>6.1 y PF>6.1)
  21. 21.  FUNCIONESSon programas predefinidas que:- Tienen un nombre con el cual se les invoca y- Aceptan datos y devuelven un resultado.Generalmente los lenguajes de programación poseenfunciones matemáticas, de cadenas y otros.Ejm. En C++Abs(X): devuelve el valor absoluto del número entero XSqrt(X): devuelve la raiz cuadrada del número X (X>=0)Identificadores Son los nombres que se le dan a las constantes simbólicas,variables, funciones y otros. Constan de una cadena de caracteres que debe empezar conuna letra. Deben ser significativos sugiriendo lo que representa.
  22. 22. ACUMULADOR Es una variable cuyo valor aumenta o disminuye en unacantidad variable cada vez que se produce un determinadosuceso o acción. Debe ser inicializadoEjm. Se desea acumular las notas de prácticas de un alumnoSum 0 (el valor de sum es 0)sum  sum + 13 (el valor de sum es 13)sum  sum + 10 (el valor de sum es 23)CONTADOR Es un acumulador cuyo valor aumenta o disminuye en unacantidad constante cada vez que se produce un determinadosuceso o acción. Se usa para contar sucesos. Ejm. Contar número de aprobadosVARIABLES IMPORTANTES
  23. 23. DISEÑODE ALGORITMOS
  24. 24. ALGORITMO Secuencia ordenada de pasos o acciones o instruccionesque se debe ejecutar para realizar una tarea o para resolverun problema. Es expresado en lenguaje natural utilizando herramientasestandarizadas.Características de un algoritmo Preciso: El algoritmo debe indicar el orden en que se deberealizar cada paso. Finito: El algoritmo tiene un número finito de pasos y debeterminar en algún momento. Bien definido: Si el algoritmo se prueba dos veces con losmismos datos de entrada, se debe obtener el mismoresultado.
  25. 25. TECNICA DE PROGRAMACION ESTRUCTURADAConjunto de técnicas para desarrollar algoritmos fáciles deescribir, leer, verificar y modificar. Diseño Modular ( Top-down )En problemas grandes y complejos: dividir el problemaen subproblemas y diseñar un subprograma para resolvercada uno de ellos Descomposición del programa en recursos abstractosDescompone una acción compleja en acciones simplescapaces de ser ejecutadas por un computador( instrucciones ) Estructuras de control básicasUn programa se escribe utilizando 3 estructuras decontrol:EC Secuenciales, EC Selectivas, EC Repetitivas
  26. 26. INSTRUCCIONESSon las acciones que van a ser ejecutadas por el computadorpara resolver el problema.TIPOS : Instrucciones de Inicio/Fin :Indica el Inicio y el Fin del algoritmo Instrucciones de lectura:Solicita al usuario el ingreso de datos desde un dispositivo deentrada por ejemplo el teclado. Instrucciones de escritura:Muestra los resultados a través de un dispositivo de salidapor ejemplo la pantalla, impresora, etc.
  27. 27.  Instrucciones de asignación:Almacena un valor en una variable, perdiéndose cualquierotro valor almacenado en ella. Instrucciones selectivas:Permiten ejecutar unas u otras tareas de acuerdo al resultadode una expresión condicional Instrucciones repetitivas:Permiten la repetición de un grupo de instrucciones,generando un bucle (lazo o loop).
  28. 28. EJEMPLO DE ALGORITMOSe cuenta con las notas del Bimestral (Bm), Seguimiento(Sg), Autoevaluacion (Ae) de un alumno.Se sabe que el promedio final (PF) se calcula con la fórmula:PF=(Bm + Sg + Ae)/ 3Si el alumno cumple con la siguiente condición: P3>3.0 ganala asignaturaEscriba un algoritmo reciba las notas del alumno y luegomuestre un mensaje indicando si el alumno ganó o perdió laasignaturaEn cualquier caso debe mostrar un mensaje diciendo siperdió o ganó y mostrar el promedio final (PF)
  29. 29. AnálisisDatos de entrada: Bm, Sg, AeSalida: mensaje y PFAlgoritmoInicio del algoritmoIngresar las notas del alumno: Bm, Sg, AeCalcular PF con la siguiente fórmula:PF=(Bm + Sg + Ae)/ 3Si cumple la condición PF> 3.0 Mostrar el mensaje“Felicidades Ganó la Asignatura” y mostrar PFSi no cumple la condición entonces mostrar el mensaje “Losiento, perdió la asignatura” y mostrar PFFin del algoritmo.
  30. 30. HERRAMIENTAS PARA LAREPRESENTACION DE ALGORITMOSPara representar los algoritmos en forma estandarizada,existen herramientas como: Diagrama de flujoTécnica tipo gráfico PseudocódigoLenguaje de especificación (palabras reservadas) enlenguaje natural Diagrama de Nassi-ScheneidermanEs una combinación de las dos anteriores
  31. 31. DIAGRAMA DE FLUJO PSEUDOCODIGOSímbolos Significado Palabras reservadasInicio / FinLectura / EscrituraProcesoSelectivaProcesorepetitivoInicio / FinDirección o flujoLeer / EscribirSi -entonces+ - * / Mientras/desde/Repetir
  32. 32. El algoritmo en Diagrama de FlujoInicioLeer EP,EF, PPPF=(EP+PP+2*EF)/4PP>6.1 y PF>6.1Escribir “Puederendir ES”Escribir “No puederendir ES”FinEscribir “La nota finales: “ , PF
  33. 33. Escritura de un algoritmo en pseudocódigoCABECERAContiene el nombre del algoritmo (opcional)ConstantesNombre-constante = valorVariablesTipo-dato: nombre de variablesBLOQUE DE DECLARACIONESSe utilizan para asignar espacios en la RAMSe declaran: Constantes (opcional),Variables (obligatorio),Otros definidos por el usuario (opc.)BLOQUE DE INSTRUCCIONES• Inicio/Fin• LecturaLeer ( lista de variables)• EscrituraEscribir ( resultado)• Asignaciónnombre de la variable  valor ó expresión•Comentarios (no se ejecutan)Sirven para escribir información interna parafacilitar el mantenimiento del algoritmo.Formato: // comentarioaAlgoritmo nombre del algoritmoInicioinstruccionesFin
  34. 34. El algoritmo en PseudocódigoAlgoritmo PROMEDIOVariablesentero: EP, EFreal: PP, PFInicioLeer (EP, EF, PP)PF  (EP+PP+2*EF)/4 // Calcula PFSi (PP>6.1 y PF>6.1)Escribir ( “Puede rendir el ES”)sinoEscribir (“No puede rendir el ES”)Escribir (“La nota final es: “, PF)Fin-siFinCabecera del algoritmoBloque de declaracionesBloque deInstrucciones
  35. 35. ESTRUCTURAS DE CONTROLUn algoritmo debe ser escrito utilizando tres estructurasde control: E.C. SecuencialSimple E.C. Selectiva DobleMúltipleDesde E.C. Múltiple MientrasRepetir - hasta
  36. 36. Estructura SECUENCIALLas acciones del algoritmo se ejecutan en el orden que seencuentran escritos.acción 1acción 2acción 3--------------acción n
  37. 37. Estructuras SelectivasLa ejecución de las acciones dependen del resultado de una condición.Se tienen tres tipos de estructuras selectivas:1. SELECTIVA SIMPLELas acciones se ejecutan si la condición es verdadera .condiciónaccionesV FPseudocódigoSi (condición)acción1acción 2………acción nfin-si
  38. 38. 2. SELECTIVA DOBLESi la condición es Verdadera se ejecutan unas acciones.Si la condición es Falsa se ejecutan otras accionescondiciónAcciones-F Acciones-VVFPseudocódigoSi (condición)acciones 1Sinoacciones 2Fin-si
  39. 39. Gracias por la atención prestada

×