3. Fases para la resolución de problemas
computacionales:
• Análisis del problema.
• Diseño del algoritmo.
• Codificación.
• Compilación y Verificación.
• Depuración y Mantenimiento.
• Documentación.
4. 1) Análisis del problema
El problema se analiza teniendo presente la
especificación de los requisitos dados por el
cliente de la empresa o por la persona que
encarga el programa.
Para poder definir bien un problema es
conveniente responder a las siguientes preguntas:
• 1) ¿Qué tipo de entradas (datos) requieren?
• 2) ¿Qué método o procedimiento produce la
salida deseada?
• 3) ¿Cuál es la salida o resultado deseado?
¿Cómo
empiezo este
programa?
5. 2) Diseño del Algoritmo:
• En esta etapa se determina cómo va a hacer el
programa las tareas solicitadas. Hay dos maneras de
realizar el diseño del algoritmo: Pseudocódigo y
diagrama de flujo.
8. • Los métodos más eficaces para el proceso de diseño
se basan en el conocido divide y vencerás. Es decir,
la resolución de un problema complejo se realiza
dividiendo el problema en subproblemas y así
sucesivamente hasta que pueda ser implementada una
solución en la computadora.
9. 3) Codificación:
• La solución se escribe en la sintaxis de un lenguaje de
alto nivel y se obtiene un programa.
10. 4) Compilación y verificación:
• El programa se ejecuta,
se comprueba
rigurosamente y se
eliminan todos los
errores que puedan
aparecer.
11. 5) Depuración y mantenimiento:
• El programa se actualiza y modifica cada vez que sea
necesario de modo que se cumplan todas las
necesidades de los usuarios de cambio.
13. 6) Documentación:
• Escritura de las
diferentes fases del ciclo
de vida del software,
esencialmente el
análisis, el diseño y
codificación unidos por
manuales de usuario, así
como normas de
mantenimiento.
14. Elementos de un algoritmo
• En programación se debe separar la diferencia entre el
diseño del algoritmo y su implementación en un lenguaje
específico. Por ello, se debe distinguir claramente entre los
conceptos de programación y el medio en que ellos se
implementan en un lenguaje específico.
Sin embargo, una vez que se comprendan los conceptos
de programación, como utilizarlos, la enseñanza de un
nuevo lenguaje es relativamente fácil.
15. Los elementos básicos constitutivos
de un programa o algoritmo son:
• Datos.
• Palabras reservadas (inicio, fin, si-entonces, etc.).
• Identificadores (nombres de variables esencialmente,
procedimientos, funciones, nombre del programa, etc.).
• Caracteres especiales (coma, apóstrofe, etc.).
• Constantes.
• Variables.
• Expresiones.
• Instrucciones.
16. • Además de estos elementos básicos, existen otros
elementos que forman parte de los programas, cuya
comprensión y funcionamiento será vital para el correcto
diseño de un algoritmo y naturalmente la codificación del
programa.
• Estos elementos son:
• Bucles.
• Contadores.
• Acumuladores.
• Interruptores.
• Estructuras: secuenciales, selectivas, repetitivas.
17. Datos, tipos de datos y
operaciones primitivas
• El primer objetivo de toda computadora es el manejo de la
información o datos. Estos datos pueden ser las cifras de ventas
de un supermercado o las calificaciones de una clase.
• En el proceso de resolución de problema el diseño de la
estructura de datos es tan importante como el diseño del
algoritmo y del programa que se basa en el mismo.
• Los distintos tipos de datos se representan en diferentes formas
en la computadora. A nivel de máquina, un dato es un conjunto
o secuencia de bits (dígitos 0 ó 1).
18. Los tipos de datos simples son los siguientes.
• Numéricos (integer, real)
• Lógicos (boolean).
• Carácter (char, string).
• Existen algunos lenguajes de programación que admiten trabajar
con números complejos.
19. • Datos numéricos: es el conjunto de los valores numéricos.
Éstos pueden representarse en dos formas distintas: tipo entero
(integer) y tipo entero (real).
• Enteros: es un subconjunto finito de los números enteros. Los
enteros son números completos, no tienen componentes
fraccionarios o decimales y pueden ser negativos o positivos.
• Ejemplos: 5, -15, 17, 30.
• Los enteros se denominan en ocasiones números de punto o
coma fija. Los números enteros máximos y mínimos de una
computadora suelen ser: -32768 a +32767.
20. • Reales: consiste en un subconjunto de los números reales. Los
números reales siempre tienen un punto decimal y pueden ser
positivos y negativos. Un número real consta de un entero y una
parte decimal.
• Ejemplos:
• 0.08
• -8.13
• 3.0
• Datos lógicos: es aquel dato que sólo puede tomar uno de dos
valores: cierto (true) y falso (false).
21. • Datos tipo carácter y tipo cadena: es el conjunto finito y
ordenado de caracteres que la computadora reconoce. Un dato
tipo carácter contiene un solo carácter. Los caracteres que
reconocen las diferentes computadoras son estándar, sin
embargo, la mayoría reconoce los siguientes caracteres alfabéticos
y numéricos:
• Caracteres alfabéticos (A, B,…Z) (a, b, ….z).
• Caracteres numéricos (1, 2, ..9, 0).
• Caracteres especiales (+, -, /, *, %, etc.)
22. • Una cadena (string) de caracteres es una sucesión de caracteres
que se encuentran delimitados por una comilla (apóstrofe) o
dobles comillas, según el tipo de lenguaje de programación.
• La longitud de una cadena de caracteres es el número de ellos
comprendidos entre los separadores o limitadores.
• Ejemplo:
• ‘Hola mundo’
• “12 de Octubre 1992”.