Está en la página 1de 24

Fundamentos de

Programacin
Teora 2: Unidad 3
07/04/2015 Pablo Novara
Etapas para la Resolucin de Problemas

1.Definicin (qu se quiere obtener?)


2. Anlisis (datos, resultados, relaciones)
3. Eleccin del Modelo (procedural, estructurado)
4. Diseo de la solucin (divisin modular)
5. Codificiacin (lenguaje)
6. Prueba (ejecucin y deteccin de errores)
7. Depuracin (correccin de errores)
X. Documentacin (comentarios, descripciones, etc.)

...escenas del captulo anterior...


Algoritmos:
Pasos para resolver un problema

Ejemplos:
* receta de cocina
* manual de instalacin de artefacto

Caractersticas:
* Finitud
* Precisin
* Generalidad

...escenas del captulo anterior...


Proceso Hipotenusa
Leer A,B;
H RC(A^2+B^2);
Escribir Hipotenusa = ,H;
FinProceso

Identificadores: Hipotenusa, A, B, H
Constantes: 2, Hipotenuse =
Expresiones: RC(A^2+B^2)
Acciones primitivas: Leer, Escribir,
Funciones: RC(...)
Operadores: ^, +

...escenas del captulo anterior...


Estructuras de Control
Teorema Fundamental de la
Programacin Estructurada

Bhm y Jacopini demostraron que:

"Todo problema computacional -sin importar


su complejidad- puede resolverse empleando
solo tres estructuras bsicas de control.
Estas son: una de tipo SECUENCIAL, otra de
tipo CONDICIONAL y una de tipo
REPETITIVO".
Teorema Fundamental de la
Programacin Estructurada

* SECUENCIAL
* CONDICIONAL
* REPETITIVA

Cada una de esas estructuras conforma un


segmento algortmico perfectamente
identificable de acceso y salida nicos.
Estructura Condicional: Si-Entonces
Estructura Condicional: Si-Entonces

Si condicin Entonces
acciones por verdadero
FinSi

SI condicin Entonces
acciones por verdadero
Sino
acciones por falso
FinSi
Ejemplos (Si-Entonces)

1) Determinar si un nmero es par o impar


Leer x;
Si x mod 2 = 0 entonces
Escribir Es Par;
Sino
Escribir Es Impar;
FinSI

2) Escriba un algoritmo para calcular la edad


de una persona conociendo la fecha actual
y la fecha de nacimiento
Ejemplos (Si-Entonces)

3) Escriba un algoritmo para determinar


si un ao determinado es bisiesto

Un ao es bisiesto si es divisible entre 4, a menos


que sea divisible entre 100. Sin embargo, si un ao
es divisible entre 100 y adems es divisible entre
400, tambin resulta bisiesto. (fuente: Wikipedia)
Ejemplos (anidamiento)

4) Escriba un algoritmo para determinar si un


tringulo es rectngulo conociendo la longitud
de sus tres lados. Si el tringulo es
rectngulo, calcule e informe su rea.
Estructura Repetitiva: Mientras
Estructura Repetitiva: Mientras

Mientras condicion Hacer


Acciones
FinMientras

Ejemplos:

1) Valide un ingreso de datos en el


ejemplo del tringulo (las longitudes
no pueden ser 0 o negativas)
Ejemplos:

1) Calcule el promedio de N nmeros

2) Encuentre el mayor de una lista


de N nmeros

3) Indique en qu posicin de una lista de


N nmeros se encuentra el mayor

4) Encuentre los dos mayores valores


de una lista de N nmeros
Estructura Iterativa: Repetir...Hasta que
Estructura Iterativa: Repetir...Hasta que

Repetir
Acciones
Hasta que condicin

Ejemplo: Determinar e informar


el factorial de un nmero
Estructuras Repetitivas

diferencias?
Ejemplos:

1) Calcule el promedio de N nmeros

2) Encuentre el mayor de una lista


de N nmeros

3) Indique en qu posicin de una lista de


N nmeros se encuentra el mayor

4) Encuentre los dos mayores valores


de una lista de N nmeros
Estructuras Repetitivas
Mientras Repetir
* Las pueden no * Las acciones se
ejecutarse nunca ejecutan al menos
* La condicin se una vez
evala al comienzo * La condicin se
* Se contina evala al final
iterando cuando la * Se contina
condicin es iterando cuando la
verdadera condicin es falsa
diferencias?
5) Un club deportivo posee N socios. Tiene 5
categoras de asociados: 1, 2, 3, 4 y 5; que
corresponden respectivamente a vitalicios,
mayores, juveniles, cadetes e infantiles. A
cada categora le corresponde abonar una
cuota mensual diferente, a excepcin de las
categoras cadetes e infantiles que pagan
igual monto.
Adems, los cadetes y juveniles -por este
mes- tienen un descuento del 25%, y el resto
de las categoras un 10%. El club desea
conocer el monto correspondiente a la
recaudacin mensual.
Estructura de Seleccin Mltiple: Segn
Estructura de Seleccin Mltiple: Segn

Segun variable_numerica Hacer


opcion_1:
secuencia_de_acciones_1
opcion_2:
secuencia_de_acciones_2
opcion_3:
secuencia_de_acciones_3
De Otro Modo:
secuencia_de_acciones_dom
FinSegun
5b) Modificar el algoritmo considerando que
ya no se conoce inicialmente la cantidad de
socios, sino que el programa debe permitir
cargar datos hasta que se indique que finaliza
la carga.

También podría gustarte