Академический Документы
Профессиональный Документы
Культура Документы
1
1. Análisis y Resolución de
Problemas
Para el análisis se enfoca a trabajar
con algoritmos como método de
resolución de problemas.
2
La Tarea de la
programación:
3
Fases que se debe tener en
cuenta:
1.Fase: Análisis del problema,
estableciendo con precisión lo que se
plantea.
2 Fase: Solución conceptual del
problema, describiendo un método
(Algoritmo) que lo resuelve.
3 Fase: Escritura del algoritmo en un
lenguaje de programación.
4
Primera Fase
Consiste en precisar el enunciado,
identificar datos de entrada y los
resultados que se desea obtener.
5
Segunda Fase
Trata del método o Algoritmo, tal que
partiendo de datos apropiados lleve
sistemáticamente a los resultados
descritos en la especificación.
6
Tercera Fase
Para que el computador resuelva el
problema hay que escribir el
algoritmo en un lenguaje de
programación.
7
Algoritmo
Es la descripción precisa de los pasos
que nos llevan a la solución de un
problema planteado.
Los pasos son, en general, acciones u
operaciones que se efectúan sobre
ciertos objetos.
8
Un algoritmo afecta tres
partes
9
Características de un
algoritmo
Precisión: debe expresarse de forma
NO ambigua. Afecta por igual a dos
aspectos.
A) al orden (encadenamiento o
concatenación) de los pasos que han
de llevarse a cabo.
B) al contenido de las mismas. Pues
cada paso debe saberse realizar de
manera automática.
10
Características de un
algoritmo
Determinismo: todo algoritmo debe
responder del mismo modo ante las
mismas condiciones.
Finitud: la descripción de un
algoritmo debe ser finita.
11
Cualidades deseables de un
algoritmo
Generalidad
12
Manera de explicar o
escribir un algoritmo:
Ello se puede explicar:
Mediante diagramas de flujo.
Mediante PSeudocodigo.
13
Ejemplo de un
Procedimiento paso a paso
Tarea: Hacer una llamada por teléfono
publico.
Pasos:
1. Ir a un teléfono.
2. Levantar el auricular del teléfono.
3. Esperar el tono.
4. Sacar monedas exactas para hacer la
llamada.
5. Meter las monedas en la ranura.
6. Marcar el número. 14
Ejemplo suma de 2 números
enteros paso a paso
Enunciado:
15
La forma como se lleva a
cabo:
Ejemplos:
repetir
(a,b) → (a -1, b +1) → (0,b) → b
(2,3) → (1,4) → (0,5)→ 5
(4,4) →(3,5) →(2,6) →(1,7) →(0,8) → 8
16
Ejemplo suma de 2 números
enteros paso a paso
Pasos:
0. inicio
Leer dato a
Leer dato b
Verificar a=0, ir al paso 6.
Desminuir una unidad a a (a = a-1)
Aumentar en una unidad a b (b=b+1)
Imprimir b
fin
17
seudocodigo
Sean a y b que pertenecen a Z
Leer a y b
mientras a <> 0 ,hacer a = a-1 y
b=b+1
Imprimir b.
18
Diagrama de flujo:
19
Ejercicios.
Resolver los siguientes problemas
paso a paso y elaborar sus diagramas
de flujos.
2.Resolver una ecuación de primer
grado
a + bx =0. ( x pertenece a los
enteros.)
2. Sumar los 50 primeros números.
3. Restar dos números reales.
ejemplo: (b,a)
Universidad → Federico
Técnica ? Santa Maria 20
Segunda Parte
21
Definiciones básicas.
Un algoritmo es una secuencia de pasos
que es llevado a cabo de forma mecánica
y sistemática por un actor que se
desenvuelve en un entorno dado para
resolver un problema determinado en un
tiempo finito.
28
Lenguaje natural.
La ventaja fundamental es la facilidad de
comprensión, cualquier persona que lea
dicho algoritmo podría entenderlo y
aplicarlo.
Problemas en definirlo de esta forma:
El lenguaje natural no es universal, este
algoritmo sería completamente inútil para los
no hispanoparlantes.
El lenguaje natural es ambiguo y, por tanto,
susceptible de errores.
El lenguaje natural es demasiado amplio, lo
que para una persona puede ser una
instrucción sencilla puede no serlo para otra y
desde luego no lo será para un ordenador. 29
Diagrama de flujo.
30
Diagrama de flujo.
Algunos de los símbolos son los siguientes:
31
Diagrama de flujo.
Ventajas:
Los símbolos son universales.
Son menos propensos a la ambigüedad.
32
Diagrama de flujo.
Desventajas:
El hecho de emplear símbolos supone que una
persona que desconozca los símbolos puede
tener dificultades para comprender el
algoritmo o no entenderlo en absoluto.
Aunque los símbolos son universales el texto
que se coloca en su interior sigue siendo
lenguaje natural.
Un computador no es capaz de utilizar una
representación visual como descripción de un
algoritmo.
33
Diagrama de flujo.
EJEMPLO ORGANIGRAMA.
Determinar la suma de los N
primeros números enteros de
acuerdo a la siguiente
fórmula:
Suma = N*(N+1)/2
34
Ejemplo Diagrama de
flujo.
35
Pseudocódigo
PSEUDOCODIGO:
inicio
Ingresar un número entero: N
Calcular suma por fórmula:
Suma = N*(N+1)/2
Escribir suma
fin
38
Especificaciones al escribir
un algoritmo.
Las entradas al programa deben ser establecidas por el
programador. Las entradas se darán por medio de un dispositivo
de entrada, puede ser teclado, disco, teléfono, etc., a este
proceso se le conoce como entrada de datos, operación de
lectura o acción de leer.
39
Estructuras de programas
Repetitiva
40
Estructura secuencial
41
Estructura secuencial
(gráficamente).
42
Estructuras de control
selectivas.
En ciertos programas la evolución
natural del mismo durante su
ejecución, puede necesitar unas
variaciones de acuerdo con el
cumplimiento o no de alguna-as
condiciones.
Mediante las estructuras selectivas
podemos tomar decisiones, en las
cuales se evalúa una condición y
en función del resultado se 43
Selección Incompleta
(simple)
La estructura alternativa simple si-
entonces ejecuta una determinada
acción cuando se cumple una
determinada condición.
La selección sÍ-entonces evalúa la
condición y si la condición es
verdadera, entonces ejecuta la
acción (o acciones) y si la condición
es falsa, entonces no hace nada y el
programa continua con la siguiente 44
Selección Incompleta
(simple)
45
Estructura de selección
completa.
46
Estructura de selección
completa.
47
Estructura de selección
completa.
48
Selección múltiple (según
(valor) )
A veces es necesario que existan más de dos
elecciones posibles.
Este problema se podría resolver por
estructuras selectivas simples o completas
que estuvieran anidadas o en cascada; sin
embargo por este método si el número de
alternativas es grande puede plantear serios
problemas de escritura del algoritmo y
naturalmente de legibilidad.
La estructura de decisión múltiple evaluará una
expresión que podrá tomar n valores distintos
(siempre un valor enumerado). Según que elija
uno de estos valores en la condición, se realizará
una de las n acciones.
49
Selección múltiple
(según (valor) )
50
Estructuras de control
repetitivas.
Algunas veces nos podremos encontrar
ciertas tareas dentro de un programa que
deben repetirse un numero
determinado o indeterminado de
veces.
Las estructuras que repiten una secuencia
de instrucciones un número
determinado de veces se denominan
bucles y se denomina iteración al hecho
de repetir la ejecución de una secuencia
de acciones.
Por ejemplo: supongamos que se desea
sumar una lista de 25 números escritos 51
Estructuras de control
repetitivas.
Inicio
{ entero numero,suma;
suma=0;
Leer (numero);
suma=suma+numero;
Leer (numero);
suma=suma+numero;
....
....
}
52
Estructuras de control
repetitivas.
y así sucesivamente para cada número de la lista
(los 25 alumnos!!!) .
Cuando se utiliza un bucle para sumar una lista
de números, se necesita saber cuántos números
se han de sumar. Para ello necesitaremos
conocer algún medio para finalizar el bucle. En el
ejemplo anterior se repetiría desde 1 hasta 25
la acción de pedir la nota.
Otra variante del bucle la podemos pensar con el
siguiente ejercicio; Un profesor quiere meter las
notas pero debe tener la posibilidad de parar de
meterlas cuando el quiera, por ejemplo cuando
escriba el –1. Con lo que conocemos de
programación hasta ahora ¿Cómo se plantearía
el programa?, 53
Estructura desde...hasta
55
Estructura mientras.
56
Estructura repetir
57
Estructura repetir.
58
Diferencias de las estructuras
mientras y repetir
La estructura mientras termina cuando
la condición es falsa, mientras que
repetir termina cuando la condición es
verdadera.
En la estructura repetir el cuerpo del
bucle se ejecuta siempre al menos una
vez; por el contrario, mientras es más
general y permite la posibilidad de que el
bucle pueda no ser ejecutado. Para usar
la estructura mientras se debe estar
seguro de que se cumplirá la condición de
entrada. 59
Ejemlo Pseudocódigo.
Diseñar un algoritmo para saber si
un número es primo o no.
60
Ejemplo 2.
Supongamos que queremos hacer un
programa que nos calcule el área de
un triángulo. Primero debemos
pensar que A=(b*h)/2. Por lo tanto
necesito pedir dos datos y presentar
un resultado.
61
Ejemplo 3.
Queremos determinar la cantidad
pagada por llamada en la empresa
telefónica, teniendo en cuenta los
siguientes aspectos:
1. Cada llamada es de cinco minutos y
éstas tienen un costo de 0.60 Pesos.
2. Pasados los cinco minutos por
llamada, cada minuto que se adicione
tendrá un costo de 0.30 Pesos.
62
Ejemplo 4.
Se desea realizar 100 facturas para
cien clientes.
63
¿Preguntas?
64