<ul><li>DEFINICIÓN DEL PROBLEMA </li></ul><ul><li>ES EL ENUNCIADO DEL PROBLEMA EL CUAL DEBE SER CLARO Y PRECISO.ES NECESAR...
<ul><li>CODIFICACIÓN </li></ul><ul><li>CONSISTE EN ESCRIBIR LA SOLUCIÓN DEL PROBLEMA EN UNA SERIE DE INSTRUCCIONES DETALLA...
<ul><li>Lenguaje de Programación   </li></ul><ul><li>Y su Clasificación </li></ul><ul><li>SON UN CONJUNTO DE SIMBOLOS  CAR...
<ul><li>Que es un Programa </li></ul><ul><li>Es el conjunto de instrucciones escritas de algún lenguaje de programación </...
<ul><li>Expresiones:  Son combinaciones de constantes, variables, </li></ul><ul><li>Símbolos de operación, paréntesis y no...
<ul><li>Prioridad de los Operadores Aritméticos </li></ul><ul><li>Todas las expresiones entre paréntesis se evalúan primer...
<ul><li>Operadores Relaciónales </li></ul><ul><li>> Mayor que </li></ul><ul><li>< Menor que </li></ul><ul><li>> = Mayor o ...
<ul><li>Estructuras Secuenciales </li></ul><ul><li>La estructura secuencial es aquella en la que una acción (instrucción) ...
<ul><li>Estructura Secuencial Lectura </li></ul><ul><li>La lectura consiste en recibir desde un dispositivo de entrada (p....
<ul><li>Estructuras Selectivas </li></ul><ul><li>Se utilizan para tomar decisiones lógicas.  Mediante la evaluación de una...
<ul><li>Estructura Selectiva Doble </li></ul><ul><li>Las estructuras selectivas dobles permiten elegir entre dos opciones ...
<ul><li>Estructura Selectiva Múltiple </li></ul><ul><li>Las estructuras selectivas múltiples, son tomas de decisión especi...
<ul><li>Estructuras Repetitivas </li></ul><ul><li>Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución e...
<ul><li>Estructura Repetitiva Mientras_que </li></ul><ul><li>La Estructura Mientras-que se especifica una condición que se...
<ul><li>Estructura Repetitiva Hasta_que </li></ul><ul><li>Esta estructura repite un grupo de acciones, hasta que la condic...
Upcoming SlideShare
Loading in …5
×

Teoria De Algoritmos

451 views
406 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
451
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Teoria De Algoritmos

  1. 1. <ul><li>DEFINICIÓN DEL PROBLEMA </li></ul><ul><li>ES EL ENUNCIADO DEL PROBLEMA EL CUAL DEBE SER CLARO Y PRECISO.ES NECESARIO SABER LO QUE SE DESEA REALIZAR, MIENTRAS NO SE CONOZCA DEL TODO NO SE PUEDE CONTINUAR AL SIGUIENTE PASO. </li></ul><ul><li>ANÁLISIS DEL PROBLEMA </li></ul><ul><li>YA CONOCIENDO LO QUE SE DESEA OBTENER AQUÍ DEFINIMOS LOS DATOS DE ENTRADA, LA INFORMACIÓN DE SALIDA, MÉTODOS Y OPERACIONES QUE SE NECESITEN PARA PROCESAR LOS DATOS. </li></ul><ul><li>DISEÑO DEL ALGORITMO </li></ul><ul><li>AQUÍ DISEÑAMOS UNA SERIE DE PASOS ORGANIZADOS QUE NOS DESCRIBEN EL PROCESO QUE SE DEBE SEGUIR PARA DARLE SOLUCIÓN AL PROBLEMA. LAS CARACTERÍSTICAS DE UN BUEN ALGORITMO SON: </li></ul><ul><li>TENER UN PUNTO DE INICIO, DEBE SER DEFINIDO, DEBE SER GENERAL Y DEBE SER FINITO. </li></ul>Metodología para la Solución de Problemas
  2. 2. <ul><li>CODIFICACIÓN </li></ul><ul><li>CONSISTE EN ESCRIBIR LA SOLUCIÓN DEL PROBLEMA EN UNA SERIE DE INSTRUCCIONES DETALLADAS EN UN CÓDIGO RECONOCIBLE POR LA COMPUTADORA; ES DECIR A UN LENGUAJE DE PROGRAMACIÓN YA SEA DE BAJO O ALTO NIVEL. </li></ul><ul><li>PRUEBA Y DEPURACIÓN </li></ul><ul><li>ES EL PROCESO DE IDENTIFICAR LOS ERRORES QUE SE PRESENTEN DURANTE LA EJECUCIÓN DEL PROGRAMA, Y LA DEPURACIÓN CONSISTE EN ELIMINAR LO ERRORES ENCONTRADOS DURAN TE LA PRUEBA , PARA DAR PASO A UNA SOLUCIÓN SIN ERRORES. </li></ul><ul><li>DOCUMENTACIÓN </li></ul><ul><li>ES LA GUÍA O COMUNICACIÓN ESCRITA QUE SIRVE COMO AYUDA PARA USAR UN PROGRAMA , O FACILITAR FUTURAS MODIFICACIONES. </li></ul><ul><li>MANTENIMIENTO </li></ul><ul><li>SE LLEVA A CABO DESPUÉS DE TERMINADO EL PROGRAMA, CUANDO SE HA ESTADO TRABAJANDO UN TIEMPO Y ES NECESARIO REALIZARLE UN CAMBIO O AJUSTE PARA QUE SIGA TRABAJANDO DE MANERA CORRECTA. </li></ul>
  3. 3. <ul><li>Lenguaje de Programación </li></ul><ul><li>Y su Clasificación </li></ul><ul><li>SON UN CONJUNTO DE SIMBOLOS CARACTERES Y REGLAS,QUE LE PERMITE A </li></ul><ul><li>LAS PERSONAS COMUNICARSE CON LAS COMPUTADORAS. SE CLASIFICAN EN: </li></ul><ul><li>LENGUAJE MAQUINA: Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el programa. </li></ul><ul><li>LENGUAJE DE BAJO NIVEL: En este lenguaje las instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos para las operaciones y direcciones simbólicas. </li></ul><ul><li>LENGUAJE DE ALTO NIVEL: Los lenguajes de programación de alto nivel (BASIC, pascal, cobol, fortran, etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que facilita la escritura y comprensión del programa. </li></ul>
  4. 4. <ul><li>Que es un Programa </li></ul><ul><li>Es el conjunto de instrucciones escritas de algún lenguaje de programación </li></ul><ul><li>y que ejecutadas secuencialmente resuelven un problema especifico. </li></ul><ul><li>Que son Algoritmos </li></ul><ul><li>Es una serie de pasos organizados que describe el proceso que se debe </li></ul><ul><li>seguir, para dar solución a un problema especifico. </li></ul><ul><li>TIPOS DE ALGORITMOS: </li></ul><ul><li>Cualitativos: Son aquellos en los que se describen los pasos utilizando </li></ul><ul><li>palabras. </li></ul><ul><li>Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para </li></ul><ul><li>definir los pasos del proceso. </li></ul>
  5. 5. <ul><li>Expresiones: Son combinaciones de constantes, variables, </li></ul><ul><li>Símbolos de operación, paréntesis y nombres de funciones especiales. Por </li></ul><ul><li>ejemplo: a+(b + 3)/c. </li></ul><ul><li>Operadores y Operandos </li></ul><ul><li>Operadores: Son elementos que relacionan de forma diferente, los </li></ul><ul><li>valores de una o mas variables y/o constantes. Es decir, los operadores </li></ul><ul><li>nos permiten manipular valores. </li></ul><ul><li>Aritméticos </li></ul><ul><li>Tipos de Operadores Relaciónales </li></ul><ul><li>Lógicos </li></ul><ul><li>Operadores Aritméticos: Los operadores aritméticos permiten la realización </li></ul><ul><li>de operaciones matemáticas con los valores (variables y constantes). </li></ul><ul><li>Los operadores aritméticos pueden ser utilizados con tipos de datos </li></ul><ul><li>enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de </li></ul><ul><li>ellos es real, el resultado es real. ( (+) suma, (-) resta, (*) multiplicacion, </li></ul><ul><li>(/) división, Mod Modulo. </li></ul>
  6. 6. <ul><li>Prioridad de los Operadores Aritméticos </li></ul><ul><li>Todas las expresiones entre paréntesis se evalúan primero. Las </li></ul><ul><li>expresiones con paréntesis anidados se evalúan de dentro a fuera, el </li></ul><ul><li>paréntesis mas interno se evalúa primero. </li></ul><ul><li>Dentro de una misma expresión los operadores se evalúan en el siguiente </li></ul><ul><li>orden. </li></ul><ul><li>1.- ^ Exponenciación </li></ul><ul><li>2.- *, /, mod Multiplicación, división, modulo. </li></ul><ul><li>3.- +, - Suma y resta. </li></ul><ul><li>Operadores Relaciónales: </li></ul><ul><li>Se utilizan para establecer una relación entre dos valores. </li></ul><ul><li>Compara estos valores entre si y esta comparación produce un resultado </li></ul><ul><li>de certeza o falsedad (verdadero o falso). </li></ul><ul><li>Los operadores relaciónales comparan valores del mismo tipo (numéricos o </li></ul><ul><li>cadenas)Tienen el mismo nivel de prioridad en su evaluación. </li></ul><ul><li>Los operadores relaciónales tiene menor prioridad que los aritméticos. </li></ul>
  7. 7. <ul><li>Operadores Relaciónales </li></ul><ul><li>> Mayor que </li></ul><ul><li>< Menor que </li></ul><ul><li>> = Mayor o igual que </li></ul><ul><li>< = Menor o igual que </li></ul><ul><li>< > Diferente </li></ul><ul><li>= Igual </li></ul><ul><li>Operadores Lógicos: </li></ul><ul><li>Estos operadores se utilizan para establecer relaciones entre valores </li></ul><ul><li>lógicos. Estos valores pueden ser resultado de una expresión relacional. </li></ul><ul><li>( And Y ) , ( Or O ) , ( Not Negación ) . </li></ul><ul><li>Prioridad de los Operadores Lógicos </li></ul><ul><li>Not </li></ul><ul><li>And </li></ul><ul><li>Or </li></ul>
  8. 8. <ul><li>Estructuras Secuenciales </li></ul><ul><li>La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra </li></ul><ul><li>en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada </li></ul><ul><li>de la siguiente y así sucesivamente hasta el fin del proceso. Una estructura </li></ul><ul><li>secuencial se representa de la siguiente forma: </li></ul><ul><li>Accion1 </li></ul><ul><li>Accion2 </li></ul><ul><li> . </li></ul><ul><li> . </li></ul><ul><li>AccionN </li></ul><ul><li>Estructuras Secuenciales Inicio y Fin: </li></ul><ul><li>Las palabras Inicio y Fin representan el inicio y final de un algoritmo. Entre ellas van escritas </li></ul><ul><li>las demás estructuras algorítmicas. </li></ul><ul><li>INICIO </li></ul><ul><li>Accion1 </li></ul><ul><li>Accion2 </li></ul><ul><li>. </li></ul><ul><li>AccionN </li></ul><ul><li>FIN </li></ul>
  9. 9. <ul><li>Estructura Secuencial Lectura </li></ul><ul><li>La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. </li></ul><ul><li>El valor leido se asigna a la variable que haya sido mencionada en la estructura. Esta </li></ul><ul><li>Operación se representa en pseudocódigo como sigue: </li></ul><ul><li>LEA “mensaje”, a </li></ul><ul><li>Estructura Secuencial Escritura </li></ul><ul><li>La escritura consiste en mandar a un dispositivo de salida (p.ej. monitor o impresora) un </li></ul><ul><li>resultado o mensaje. Este proceso se representa en pseudocódigo como sigue: </li></ul><ul><li>ESCRIBA “mensaje”, r </li></ul><ul><li>Estructura Secuencial Asignación </li></ul><ul><li>La asignación representa a los procesos que se realizan y consiste, en el paso de </li></ul><ul><li>valores o resultados a una zona de la memoria. Dicha zona será reconocida con el </li></ul><ul><li>nombre de la variable que recibe el valor. La asignación se representa con el símbolo </li></ul><ul><li> , en su lado izquierdo lleva el nombre de la variable que recibirá el valor asignado y en </li></ul><ul><li>el lado derecho trae el valor a asignar. Ejemplos: </li></ul><ul><li>edad  17 </li></ul><ul><li>a  b </li></ul><ul><li>pago  precio * cantidad </li></ul><ul><li>  </li></ul>
  10. 10. <ul><li>Estructuras Selectivas </li></ul><ul><li>Se utilizan para tomar decisiones lógicas. Mediante la evaluación de una </li></ul><ul><li>condición, éstas estructuras comparan a una variable contra otro(s) </li></ul><ul><li>valor(es), para que en base al resultado de esta comparación, se siga un </li></ul><ul><li>curso de acción dentro del programa. </li></ul><ul><li>Estructura Selectiva Simple: </li></ul><ul><li>A las estructuras selectivas simples se les conoce como “Tomas de decisión”. </li></ul><ul><li>Estas estructuras tienen la siguiente forma: </li></ul><ul><li>Si <condición> entonces </li></ul><ul><li>Accion1 </li></ul><ul><li>Accion2 </li></ul><ul><li>. </li></ul><ul><li>AccionN </li></ul><ul><li>Fin-Si </li></ul>
  11. 11. <ul><li>Estructura Selectiva Doble </li></ul><ul><li>Las estructuras selectivas dobles permiten elegir entre dos opciones o </li></ul><ul><li>alternativas posibles en función del cumplimiento o no de una determinada </li></ul><ul><li>condición. Se representa de la siguiente forma: </li></ul><ul><li>Si <condición> entonces </li></ul><ul><li>Accion A1 </li></ul><ul><li>Accion A2 </li></ul><ul><li>. </li></ul><ul><li>. </li></ul><ul><li>Accion AN </li></ul><ul><li>Sino </li></ul><ul><li>Accion B1 </li></ul><ul><li>Accion B2 </li></ul><ul><li>. </li></ul><ul><li>. </li></ul><ul><li>Accion BN </li></ul><ul><li>Fin-Si </li></ul>
  12. 12. <ul><li>Estructura Selectiva Múltiple </li></ul><ul><li>Las estructuras selectivas múltiples, son tomas de decisión especializadas que permiten </li></ul><ul><li>comparar una variable contra distintos posibles resultados, ejecutando para cada caso </li></ul><ul><li>Una serie de instrucciones especificas. Las formas más comunes son las siguientes: </li></ul><ul><li>En caso de <expresión> haga: </li></ul><ul><li>op1: Accion1 </li></ul><ul><li>op2: Accion2 </li></ul><ul><li>. </li></ul><ul><li>opN: AccionN </li></ul><ul><li>sino: AccionZ </li></ul><ul><li>Fin-casos </li></ul><ul><li>Según <expresión> haga: </li></ul><ul><li>op1: Accion1 </li></ul><ul><li>op2: Accion2 </li></ul><ul><li>. </li></ul><ul><li>opN: AccionN </li></ul><ul><li>sino: AccionZ </li></ul><ul><li>Fin-casos </li></ul>
  13. 13. <ul><li>Estructuras Repetitivas </li></ul><ul><li>Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un </li></ul><ul><li>mismo conjunto de acciones que se puedan ejecutar una cantidad especifica de veces. Esta </li></ul><ul><li>cantidad puede ser fija (previamente determinada por el programador) o puede ser variable </li></ul><ul><li>(estar en función de algún dato dentro del programa). </li></ul><ul><li>Estructura Repetitiva Para o Desde </li></ul><ul><li>Esta estructura puede utilizarse cuando el número de iteraciones se conoce antes de </li></ul><ul><li>Ejecutarse el ciclo. Dado que el nº de iteraciones está establecido previamente, no se </li></ul><ul><li>requiere evaluar ninguna condición para decidir si se sigue repitiendo el bucle o se </li></ul><ul><li>interrumpen las repeticiones. El control de iteraciones se hace automáticamente mediante </li></ul><ul><li>una variable que actúa como contador del número de repeticiones. </li></ul><ul><li>PARA vc = vi a vf, inc HAGA </li></ul><ul><li>Acción1 </li></ul><ul><li>Acción2 </li></ul><ul><li>. </li></ul><ul><li>Acción N </li></ul><ul><li>FPARA </li></ul><ul><li>Donde: </li></ul><ul><li>Vc Variable que controla las iteraciones </li></ul><ul><li>vi Valor inicial </li></ul><ul><li>vf Valor final </li></ul><ul><li>inc Incremento </li></ul>
  14. 14. <ul><li>Estructura Repetitiva Mientras_que </li></ul><ul><li>La Estructura Mientras-que se especifica una condición que se evalúa al comienzo </li></ul><ul><li>del bucle y de acuerdo con el resultado de esa evaluación se decide ejecutar o no </li></ul><ul><li>las acciones que conforman el bucle. Cuando termina cada iteración la condición </li></ul><ul><li>se evalúa de nuevo; la condición debe seguirse cumpliendo para que se sigan </li></ul><ul><li>ejecutando las acciones del bucle. Cuando la condición deja de cumplirse, </li></ul><ul><li>entonces se deja de ejecutar el bucle, es decir, cuando la condición se hace falsa. </li></ul><ul><li>MIENTRAS QUE <condición> HAGA </li></ul><ul><li>Acción1 </li></ul><ul><li>Acción2 </li></ul><ul><li>. </li></ul><ul><li>. </li></ul><ul><li>Acción N </li></ul><ul><li>FMQ </li></ul>
  15. 15. <ul><li>Estructura Repetitiva Hasta_que </li></ul><ul><li>Esta estructura repite un grupo de acciones, hasta que la condición se cumple por </li></ul><ul><li>primera vez esta estructura permite realizar el proceso cuando menos una vez, ya </li></ul><ul><li>que la condición se evalúa al final del proceso. </li></ul><ul><li>La forma de la estructura Hasta_que es: </li></ul><ul><li>REPETIR </li></ul><ul><li>Acción1 </li></ul><ul><li>Acción2 </li></ul><ul><li>. </li></ul><ul><li>. </li></ul><ul><li>Acción N </li></ul><ul><li>HASTA QUE <condición> </li></ul>

×