Você está na página 1de 23

RESOLUCIN DE PROBLEMAS

Un problema existe en el mundo real, y para ello existen


una o ms soluciones. Un algoritmo es una solucin
(idea) que surge como respuesta a un problema.
La resolucin de un problema sigue las siguientes fases:

Problema Algoritmo Pseudocdigo Programa

La solucin al problema puede formularse en forma


algortmica como una secuencia finita de pasos. El
algoritmo debe presentarse en forma objetiva
utilizando herramientas de comunicacin como los
pseudocdigos o diagramas de flujo.
ABSTRACCIN

La abstraccin es un proceso mental que permite


concentrarse en lo general y fundamental y pasar
por alto el detalle, lo que simplifica el anlisis, y lo
centra en lo relevante.
En informtica existen diferentes clases de abstraccin,
siendo las ms utilizadas la abstraccin de
procedimientos y la abstraccin de datos.
MODULARIDAD

Permite separar la solucin de un problema en unidades


funcionales, permitiendo mediante la abstraccin
que se determinen los procesos u operaciones
necesarias para dar solucin a un problema
TIPOS DE DATOS, ESTRUCTURAS DE
DATOS Y TIPOS ABSTRACTOS DE DATOS
Un tipo de datos es un conjunto de valores que puede
tomar una variable definida de ese tipo. Por
ejemplo: int A

Una estructura de datos es un conjunto de variables


quizs de tipos distintos conectados entre s de
diversas formas, por ejemplo los apuntadores en las
listas.

Un TDA es un modelo matemtico abstracto con una


serie de operaciones definidas en ese modelo. Ej:
los conjuntos de nmeros enteros con las
operaciones de unin, interseccin y diferencia.
ALGORITMO

Un algoritmo es una secuencia finita de pasos


perfectamente definidos que conducen a la solucin
de un problema.
Caractersticas:
Finito debe ser finito, sino nunca acabara.
Entrada tiene cero o ms entradas.
Salida tiene por lo menos una salida.
Definido si se ejecuta dos veces debe producir el
mismo resultado.
Natural debe ser escrito en lenguaje natural. Esta
orientado hacia la persona, no hacia la
mquina.
LENGUAJE DE PSEUDOCDIGO

Cuando queremos pasar del mundo real al mundo


informtico, el algoritmo (idea) debe presentarse
por escrito en forma de pseudocdigo.
El lenguaje de pseudocdigo debe ser independiente de
la mquina en la que se ejecutar el programa, por
tanto debe ser escrito en lenguaje natural (sin tener
ataduras a los lenguajes de programacin).
ACCIONES, FUNCIONES Y PREDICADOS
La lgica del diseo de algoritmos consiste en resolver
un problema dividindolo en partes (subproblemas)
de forma que cada una de stas tiene una solucin
especfica. Estas soluciones parciales corresponden
a subalgoritmos respecto del algoritmo mayor. En
programacin cada una de estas soluciones o
subalgoritmos corresponden a mdulos llamados
Acciones o Funciones.
Accin necesita que tenga un nombre y una parte de
cdigo, pueden o no devolver resultados como
variables en la lista de parmetros.
Accin nombre_accin (lista de parmetros)
Inicio
Secuencia de tratamientos
Fin
ACCIONES, FUNCIONES Y PREDICADOS
Funcin necesita que tenga un nombre, una parte de
cdigo, el valor de retorno regresa en el nombre de
la funcin. Como el nombre de la funcin es nico,
entonces solo puede retornar un valor.
Las funciones pueden utilizarse en expresiones de
asignacin, de comparacin o aritmticas. Adems
pueden considerarse como variables cuyos valores
dependen de los argumentos que le sean pasados.
Funcin nombre_funcin (lista de parmetros)
Inicio
Secuencia de tratamientos
Retornar (valor de retorno)
Fin
ACCIONES, FUNCIONES Y PREDICADOS
Predicado es una funcin que devuelve un resultado
booleano. Este valor es devuelto en el nombre del
predicado.

Predicado nombre_predicado (Lista de parmetros)


Inicio
Secuencia de tratamientos
Retornar (valor de retorno)
Fin
ACCIONES, FUNCIONES Y PREDICADOS
Ejemplo:

Accin verifica()
Inicio
Leer N
Si (primo(N))
Escribir N, es primo
Sino
Escribir N, no es primo
FinSi
Fin
ACCIONES, FUNCIONES Y PREDICADOS
Predicado primo(X)
Inicio
// Si X es primo
Retornar (Verdad)
// Si X no es primo
Retornar (Falso)
Fin
Ejemplos:
A COSENO(B)
Si (A>FACTORIAL(N))
A FACTORIAL(N) + M * 2
ACCIONES, FUNCIONES Y PREDICADOS
En el caso de las funciones, el valor de retorno puede
ser de un tipo especifico: entero, real, etc. Por lo
que es necesario asignar un tipo a la funcin
correspondiente al tipo de la variable de retorno.
Ejemplo:
Funcin primo(X): Booleano
Inicio
// Si X es primo
Retornar (Verdad)
// Si X no es primo
Retornar (Falso)
Fin
ACCIONES, FUNCIONES Y PREDICADOS
Funcin Fsuma(x, y): real Accin Asuma(x, y, z)
Inicio Inicio
sx+y zx+y
Retornar (s) Fin
Fin

Accin Suma()
Inicio
Leer n1
Leer n2
Escribir Fsuma(n1, n2)
Asuma(n1, n2, n3)
Escribir n3
Fin
TRATAMIENTOS Y RESULTADO

La resolucin de todo problema est caracterizado por


tres elementos: Datos, Tratamiento y Resultados
Las operaciones se desarrollaran como tratamientos a
datos de entrada y producirn resultados.
Datos Tratamiento Resultados
Tipos de Resultados:
Resultado incondicional. Se obtiene de manera
incondicional.
Resultado condicional. Se obtiene dependiendo de la
verificacin de una condicin.
Lista de Resultados. Se obtiene mediante un tratamiento
iterativo. Es decir un mismo tratamiento aplicado a
un conjunto de datos diferentes pero homogneos.
TRATAMIENTOS Y RESULTADO
Tipos de Tratamiento:
Tratamiento Secuencial, Tratamiento Condicional y
Tratamiento Iterativo.
Existe una correspondencia biunvoca entre los
resultados y los tratamientos.
Tratamiento Secuencial Resultado incondicional
Tratamiento Condicional Resultado condicional
Tratamiento Iterativo Lista de resultados
TRATAMIENTOS Y RESULTADO
Tratamiento Secuencial
Tratamiento 1
Tratamiento 2
Tratamiento 3
Cada tratamiento puede contener sentencias de
asignacin de la forma
Id Expresin
o tratamientos ms complejos (condicional o
repetitivo)
Expresin puede ser un valor constante, una
variable, una expresin aritmtica o lgica.
TRATAMIENTOS Y RESULTADO
Tratamiento Condicional
Forma general:
Si (condicin) [entonces hacer] tratamiento 1
FinSi

Si (condicin) [entonces hacer] tratamiento 1


Sino [entonces hacer] tratamiento 2
FinSi
La condicin, es una expresin lgica que al evaluarse
retorna un valor verdadero o falso, en cuyo caso se
ejecutar el tratamiento 1 o tratamiento 2
respectivamente. Estos tratamientos consisten de
una secuencia de tratamientos de cualquier tipo
(secuencial, condicional o iterativo).
TRATAMIENTOS Y RESULTADO
Tratamiento Iterativo
Forma general:
Mientras (condicin) [hacer]
tratamiento
FinMientras

Este tratamiento consiste de un ciclo con condicin a la


entrada. El tratamiento se ejecutar siempre que la
condicin sea verdadera. Si la condicin no resulta
verdadera no se ejecuta el tratamiento, y contina la
ejecucin fuera del ciclo Mientras.
TRATAMIENTOS Y RESULTADO
Tratamiento Iterativo

Repetir
Tratamiento
Hasta (condicin)

Este tratamiento consiste de un ciclo con condicin a la


salida. El tratamiento se ejecutar siempre que la
condicin sea falsa. Si la condicin resulta
verdadera termina el ciclo y contina la ejecucin
fuera del ciclo Repetir.
TRATAMIENTOS Y RESULTADO
Tratamiento Iterativo

Para I desde 1 hasta N [hacer]


Tratamiento
FinPara

Este tratamiento consiste de un ciclo que se repetir


tantas veces como lo indique el contador. Desde el
valor inicial 1 del contador I hasta que llegue al
valor final N
TRATAMIENTOS Y RESULTADO
Ejemplo 1: Construir una funcin que sume un conjunto de n
nmeros
Funcin Fsuma(): real Funcin Fsuma(): real
Inicio Inicio
Leer N Leer N
s0
s0
Para I desde 1 hasta N
I1 Leer num
Mientras( I N) s s + num
Leer num FinPara
s s + num Retornar (s)
Fin
II+1
FinMientras
Retornar (s)
Fin
TRATAMIENTOS Y RESULTADO
Ejemplo 2: Construir una funcin que encuentre el nmero mayor de un
conjunto de n nmeros

Funcin Fmayor(): real


Inicio
Leer N
may - 999999 // may se inicializa con -

Para I desde 1 hasta N


Leer num
Si (num > may)
may num
FinSi
FinPara
Retornar (may)
Fin
TRATAMIENTOS Y RESULTADO
Ejemplo 3: Construir una accin que dadas N notas me devuelva el promedio de
notas aprobadas y el promedio de notas desaprobadas.
Accin Promedio_Notas(p1, p2)
Inicio Si (cont1 > 0)
Leer N p1 s1 / cont1
s1 0 FinSi
s2 0 Si(cont2 > 0)
cont1 0 p2 s2 / cont2
cont2 0 FinSi
p1 0 Fin
p2 0
Para I desde 1 hasta N
Leer Nota
Si (Nota 11)
s1 s1 + Nota
cont1 cont1 + 1
Sino
s2 s2 + Nota
cont2 cont2 + 1
FinSi
FinPara

Você também pode gostar