1. Fases de Resolución de un Problema
Fundamentos de Programación de Computadoras
Manuel Esteban Mogollón García
Docente del Área Académica de Computación e Informática
Jefe del Área de Tecnologías de la Información
IESTP “Cap. FAP José Abelardo Quiñones” – Tumbes – Perú
2. ALGORITMO
Programa de Computadora
Conjunto prescrito de instrucciones o reglas
bien definidas, ordenadas y finitas que permite
realizar una actividad mediante pasos
sucesivos que no generen dudas a quien deba
realizar dicha actividad.
Preciso Definido Finito
• Preciso. Indicar el orden de realización de cada paso.
• Definido. Si se sigue dos veces, se debe obtener el mismo resultado cada vez.
• Finito. Debe terminar en algún momento, debe tener un número finito de pasos.
3. Ciclo de vida de los algoritmos
Análisis
Diseño
Codificación
Compilación
y Ejecución
Verificación
Depuración
Mantenimiento
Documentación
4. ¿Qué entradas se requieren?
• Tipos de datos con los que se trabaja.
• Cantidad de datos.
¿Qué método produce la salida deseada?
• Procedimientos y funciones que permiten obtener el resultado
deseado.
¿Cuál es la salida deseada?
• Tipos de datos de los resultados.
• Cantidad de datos.
Requisitos o requerimientos adicionales y
restricciones de la solución.
Análisis
Esta fase requiere una clara definición, donde se
contemple exactamente lo que debe hacer el algoritmo.
5. Análisis. Se desea obtener una tabla con las depreciaciones acumuladas y los valores reales de
cada año, de un automóvil comprado por € 20,000 en el año 2005, durante los seis años siguientes
suponiendo un valor de recuperación o rescate de € 2,000 Realizar el análisis del problema,
conociendo la fórmula de la depreciación anual constante D para cada año de vida útil.
𝐷 =
𝐶𝑜𝑠𝑡𝑒 − 𝑉𝑎𝑙𝑜𝑟 𝑑𝑒 𝑅𝑒𝑐𝑢𝑝𝑒𝑟𝑎𝑐𝑖ó𝑛
𝑉𝑖𝑑𝑎 Ú𝑡𝑖𝑙
𝐷 =
20,000 − 2,000
6
=
18,000
6
= 3,000
Entrada
• Coste original.
• Vida útil.
• Valor de recuperación
Proceso
• Depreciación acumulada.
• Depreciación acumulada en cada año.
• Cálculo del valor del automóvil en cada año.
Salida
• Depreciación anual por año.
• Depreciación acumulada en cada año.
• Valor del automóvil en cada año.
Año Depreciación Depreciación Acumulada Valor Anual
1 ( 2006 ) 3,000 3,000 17,000
2 ( 2007 ) 3,000 6,000 14,000
3 ( 2008 ) 3,000 9,000 11,000
4 ( 2009 ) 3,000 12,000 8,000
5 ( 2010 ) 3,000 15,000 5,000
6 ( 2011 ) 3,000 18,000 2,000
6. Diseño
En la fase de análisis se determina qué hace el
algoritmo. En la fase de diseño se determina cómo hace
el algoritmo la tarea solicitada.
Diagramas de flujo
• Símbolos que representan procesos en
una secuencia indicada por flechas
(flujo).
Pseudocódigo
• Lenguaje de especificaciones de
algoritmos.
• Lenguaje algorítmico UPSAM v2.1
• Tipo de dato : Nombre de variable
• Nombre constante = Expresión
• Leer( entrada de datos)
• Escribir ( mostrar datos)
• Asignar: Variable ← Expresión
• Si … Entonces … Si_no … Fin_si
• Según_sea … Hacer … Fin_según
• Mientras … Hacer … Fin_mientras
• Repetir … Hasta_que
• Desde … Hasta … Find_desde
Diagramas de N-S
• Cajas contiguas que representa
procesos.
Terminal Entrada/Salida
Proceso Decisión
Línea de flujo
Inicio
Entrada
Proceso
Salida
Fin
En esta fase se puede utilizar herramientas como por ejemplo: PSEInt, entre otras.
7. Codificación
Es la escritura en un lenguaje de programación de la
representación del algoritmo desarrolladas en la fase de
diseño. El código puede ser escrito con igual facilidad en
un lenguaje o en otro.
Algoritmo Calcular_Edad
Var
Entero : AN, AA, E
Inicio
Escribir(“Año de nacimiento: ”)
Leer(AN)
Escribir(“Año actual: ”)
Leer(AA)
Si AA>AN Entonces
E AA – AN
Escribir(“Edad: ”,E)
Si_no
Escribir(“Año actual debe ser
mayor al Año de nacimiento”)
Fin_si
Fin
public class Calcular_Edad
{
public static void Main()
{
int AN, AA, E;
System.Console.Write(“Año de nacimiento: ”);
AN = System.Convert.ToInt32( System.Console.ReadLine() );
System.Console.Write(“Año actual: ”);
AA = System.Convert.ToInt32( System.Console.ReadLine() );
if ( AA > AN )
{
E = AA – AN;
System.Console.Write(“Edad: {0}”, E);
}
else
{
System.Console.Write(“Año actual debe ser mayor que Año
de nacimiento”);
}
}
}
8. Compilación y Ejecución
Unidad Central de Proceso
Entorno de Desarrollo
Integrado (IDE)
Memoria
Externa
Entorno de
Desarrollo
Integrado (IDE)
Teclado
A) Edición
Unidad Central de Proceso
IDE - Compilador
Teclado
B) Compilación Memoria
Externa
IDE
Programa
Objeto
Unidad Central de Proceso
IDE - Enlace
Memoria
Externa
Programa
Objeto
Teclado
C) Enlace
Programa
de Carga
9. Errores de Compilación. Se producen normalmente por
un uso incorrecto de las reglas del lenguaje de
programación y suelen ser errores de sintaxis.
Errores de Ejecución. Estos errores se producen por
instrucciones que la computadora puede comprender
pero no ejecutar.
Errores Lógicos. La fuente de estos errores suele ser el
diseño del algoritmo. Estos errores son los más difíciles
de detectar, en estos casos se debe volver a la fase de
diseño.
Verificación y depuración
10. Documentación Interna. Es la contenida en las líneas del
código fuente a manera de comentarios.
Documentación Externa. Incluye análisis, diagramas de
flujo y/o pseudocódigos, y manuales.
Mantenimiento. La documentación es vital cuando se
desean corregir posibles errores futuros o introducir cambios
en el programa.
Después de cada cambio debe ser actualizada la
documentación.
Es practica frecuente numerar las sucesivas versiones de los
programas.
Documentación y Mantenimiento
11. GRACIAS
Manuel Esteban Mogollón García
“Si piensas que tu profesor es exigente, espera a que
tengas un jefe. Ese sí que no tendrá vocación de
enseñanza ni la paciencia requerida”.
Bill Gates
Core Manager Student TechNET Club Microsoft
manuelmogollon@istjaq.edu.pe
Notas del editor
Movimiento
(Básico)
Nota: esta plantilla de vídeo está optimizada para Microsoft PowerPoint 2010.
En PowerPoint 2007, los elementos de vídeo se reproducirán, pero el contenido que se superponga a las barras de vídeo aparecerá cubierto por el vídeo en el modo de presentación.
En PowerPoint 2003, el vídeo no se reproducirá, pero el marco de póster de los vídeos se conservará como imágenes estáticas.
El vídeo:
Se reproduce automáticamente tras cada transición de diapositiva.
Tiene una duración de 15 segundos.
Entra en bucle para una reproducción infinita.
Para agregar diapositivas o modificar el diseño:
Para agregar una nueva diapositiva, en la ficha Inicio, en el grupo Diapositivas, haga clic en la flecha situada debajo de Nueva diapositiva y, a continuación, en Tema de fondo en movimiento seleccione el diseño deseado.
Para modificar el diseño de una diapositiva existente, en la ficha Inicio, en el grupo Diapositivas, haga clic en Diseño y, a continuación, seleccione el diseño deseado.
Otros elementos animados:
Los elementos animados que inserte se iniciarán después de la transición de la diapositiva y tras iniciar el vídeo de fondo.