Definición y análisis de un        problema.                Joaquin Lara Sierra
@joaquinlsDefinición y análisis de unproblema. by Joaquin LaraSierra is licensed under aCreative CommonsReconocimiento-NoC...
Diseño del algoritmo.La solución de un problema a veces puede sercomplejo es decir puede requerir muchos pasos, eneste cas...
PlanteamientoProblema Principal             Cálculo   del     área         delrectánguloSubproblema            Refinamient...
Este método es el denominado diseño descendente(Top-down-design). Identifica las tareas masimportantes a ser ejecutada par...
Por consiguiente todo algoritmo debe cumplir lascaracterísticas de ser preciso, definido y finito. Eneste caso los pasos d...
Codificación del programaYa sabemos que las partes constitutiva de un programa sonentradas, salidas y el algoritmo de reso...
Tipos de Instrucciones                 TIPO                        PSEUDOCÓDIGOInstrucciones de inicio/fin     Inicio/FinI...
Programación lineal o no linealLineal. Es un programa donde las instruccionesse ejecutaran secuencialmente sin bifurcacion...
Bifurcación
Bifurcación incondicional
Bifurcación condicional
Elementos básicos de un programaEn programación siempre se debe separar ladiferencia entre el diseño del algoritmo y suimp...
●   Palabras reservadas. (inicio, fin, si-entonces).●   Indentificadores.(nombre del algoritmo, de las    variables, proce...
Otros elementos●   Bucles●   Contadores●   Acumuladores●   Interruptores●   Estructuras       –   Secuenciales       –   S...
Bucles e interacionesUn bucle o lazo (ciclo) es un segmento de unalgoritmo o programa, cuyas instrucciones serepiten un nú...
Ejemplo: Números caprichosos
Bucles anidadosEn un algoritmo pueden existir varios bucles. Losbucles pueden ser anidados o independientes.Los bucles ani...
ContadoresLos procesos repetitivos son la base del uso de lascomputadoras. En estos procesos se necesitannormalmente conta...
EjercicioSe quiere diseñar el algoritmo de un programaque muestre por pantalla los primeros dieznúmeros naturales:algoritm...
AcumuladorUn acumulador o totalizadores una variable cuyamisión es almacenar cantidades variablesresultantes de sumas suce...
EjemploEjemplo 1. El encargado de una obra recibe unsuministro de camiones con hormigón. El controldel volumen recibido lo...
SoluciónHora                      Volumen servido m3 Acumulado m310:15                             7                      ...
Estructura de decisión o selecciónCuando el programador desea especificar dos omas caminos alternativos en un algoritmo (o...
InterruptoresUn interruptor o conmutador (switch). A vecesse les denomina centinela, bandera o flag. esun campo de memoria...
GraciasAhora tetoca a tí
Definición y análisis de un problema
Próxima SlideShare
Cargando en…5
×

Definición y análisis de un problema

6.307 visualizaciones

Publicado el

Publicado en: Educación
0 comentarios
5 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
6.307
En SlideShare
0
De insertados
0
Número de insertados
2.040
Acciones
Compartido
0
Descargas
52
Comentarios
0
Recomendaciones
5
Insertados 0
No insertados

No hay notas en la diapositiva.

Definición y análisis de un problema

  1. 1. Definición y análisis de un problema. Joaquin Lara Sierra
  2. 2. @joaquinlsDefinición y análisis de unproblema. by Joaquin LaraSierra is licensed under aCreative CommonsReconocimiento-NoComercial2.5 Colombia License.
  3. 3. Diseño del algoritmo.La solución de un problema a veces puede sercomplejo es decir puede requerir muchos pasos, eneste caso dividimos el problema en subproblemas yde esta forma es mas fácil de resolver.Por ejemplo: Recordemos el problema del calculodel área de un rectángulo Teniendo en cuenta queel área es base por altura del rectánguloSubdividimos el problema en tres partes:
  4. 4. PlanteamientoProblema Principal Cálculo del área delrectánguloSubproblema Refinamiento (Solución delproblema). Proceso de Entrada de Datos: Salida de Datos: Datos Altura y Base del Salida de la base, Calcular el rectángulo Altura y área área
  5. 5. Este método es el denominado diseño descendente(Top-down-design). Identifica las tareas masimportantes a ser ejecutada para resolver elproblema y disponerlas en el orden que seránejecutadas.Esta descripción paso a paso sirve como unaprimera descripción al algoritmo y proporcionauna primera lista secuencial de actividades aejecutar.
  6. 6. Por consiguiente todo algoritmo debe cumplir lascaracterísticas de ser preciso, definido y finito. Eneste caso los pasos del algoritmo seria:● 1. Leer altura, base● 2. Calcular área= base * altura● 3. Mostrar el área del rectángulo
  7. 7. Codificación del programaYa sabemos que las partes constitutiva de un programa sonentradas, salidas y el algoritmo de resolución.Entradas de datos son operaciones de lectura/ escritura.Las salidas operación de impresión.El proceso de diseño del algoritmo o posteriormentecodificación del programa consiste en definir las acciones oinstrucciones que debe resolver el problema.
  8. 8. Tipos de Instrucciones TIPO PSEUDOCÓDIGOInstrucciones de inicio/fin Inicio/FinInstrucciones de asignación a<- 7Instrucciones de lectura leerInstrucciones de escritura escribir o imprimirInstrucciones de bifurcación. ¿?
  9. 9. Programación lineal o no linealLineal. Es un programa donde las instruccionesse ejecutaran secuencialmente sin bifurcaciones,sin decisiones, ni comparaciones.No lineal. La secuencia del programa seinterrumpe mediante instrucciones debifurcación.Las bifurcaciones pueden ser hacia delante ohacia atrás en un programa. Es decir:
  10. 10. Bifurcación
  11. 11. Bifurcación incondicional
  12. 12. Bifurcación condicional
  13. 13. Elementos básicos de un programaEn programación siempre se debe separar ladiferencia entre el diseño del algoritmo y suimplementación en un lenguaje especifico.Por ello se debe distinguir claramente losconceptos de programación y como utilizarlos.Los elementos básicos constructivos de unprograma o algoritmo son:
  14. 14. ● Palabras reservadas. (inicio, fin, si-entonces).● Indentificadores.(nombre del algoritmo, de las variables, procedimientos etc.)● Caracteres especiales. (coma, punto y coma)● Constantes● Variables● Expresiones● Instrucciones
  15. 15. Otros elementos● Bucles● Contadores● Acumuladores● Interruptores● Estructuras – Secuenciales – Selectivas – Repetitivas
  16. 16. Bucles e interacionesUn bucle o lazo (ciclo) es un segmento de unalgoritmo o programa, cuyas instrucciones serepiten un número determinado de veces mientrasse cumple una determinada condición (existe o esverdadera la condición).Se debe establecer un mecanismo para terminar lastareas repetitivas. Este mecanismo es unacondición que puede ser verdadera o falsa y que secomprueba una vez cada paso o iteración delbucle.
  17. 17. Ejemplo: Números caprichosos
  18. 18. Bucles anidadosEn un algoritmo pueden existir varios bucles. Losbucles pueden ser anidados o independientes.Los bucles anidados cuando existen están de talmodo que unos son interiores a otros. Los buclesno pueden cruzar ya que en este caso se produciráun funcionamiento anómalo y los resultados desu ejecución serán impredecibles.
  19. 19. ContadoresLos procesos repetitivos son la base del uso de lascomputadoras. En estos procesos se necesitannormalmente contar los sucesos o acciones internas delbucle como pueden ser los elemento de un fichero, elnúmero de interacciones a realizar por bucles etc.Una forma de controlar un bucle es mediante uncontador.Un contador es una variable cuyo valor se incrementao decrementa en una cantidad fija en cada iteración.Ejemplo: contador = contador + 1
  20. 20. EjercicioSe quiere diseñar el algoritmo de un programaque muestre por pantalla los primeros dieznúmeros naturales:algoritmo Numeros_del_1_al_10Variables: entero contadorinicio contador ← 1 /* Inicialización del contador */ mientras ( contador <= 10 ) /* Condición */ escribir( contador ) /* Salida */ contador ← contador + 1 /* Incremento */ fin_mientrasfin
  21. 21. AcumuladorUn acumulador o totalizadores una variable cuyamisión es almacenar cantidades variablesresultantes de sumas sucesivas.Realiza la misma función que un contador con ladiferencia de que el incremento o decremento decada suma es variable en un lugar constante comoen el caso del contador.Se representa por la instrucción S<-S+N donde Nes una variable y no una constante
  22. 22. EjemploEjemplo 1. El encargado de una obra recibe unsuministro de camiones con hormigón. El controldel volumen recibido lo lleva a través de una tabladonde apunta hora de llegada, volumen servidopor el camión que llega y volumen acumulado alo largo del día.
  23. 23. SoluciónHora Volumen servido m3 Acumulado m310:15 7 710:45 5 1211:08 6 1811:37 5 2311:59 7 30La fórmula que utiliza es: Acumulado = Volumen servido actual + Acumulado anterior.A las 11:45 le llaman y le preguntan: ¿Cuánto hormigón hemos recibidohasta el momento? La respuesta es 23 metros cúbicos.
  24. 24. Estructura de decisión o selecciónCuando el programador desea especificar dos omas caminos alternativos en un algoritmo (oprograma) se deben utilizar estructuras dedecisión o selección.Una instrucción de decisión o selección evaluáuna condición y en función del resultado deesta condición se bifurcara a un determinadopunto.
  25. 25. InterruptoresUn interruptor o conmutador (switch). A vecesse les denomina centinela, bandera o flag. esun campo de memoria que puede tomar dosvalores a lo largo de la ejecución del programay que permite comunicar información de unaparte a otra del mismo.los interruptores suelen tomar dos valoresdiferentes: 1 y 0, verdadero y falso, si o no.
  26. 26. GraciasAhora tetoca a tí

×