Unidad 2. Tipos de datos y operadores

Anuncio
LÓGICA DEL PROCESO
Un proceso es un conjunto de actividades que debe realizar para transformar
los insumos materiales y obtener un producto.
Para crear productos software de alta calidad es necesario entender los
procesos y tener un orden mental de la forma como se generan, para poder
analizar sus causas y restricciones del proceso y tomar decisiones para la
solución acertada de dicho requerimiento.
Un proceso lógico está compuesto por:
1. Un conjunto de símbolos que pueden ser el alfabeto o vocabulario.
2. Un conjunto de reglas de formación que nos indique cómo construir fórmulas
bien formadas a partir de los símbolos. Ella es la gramática.
3. Un conjunto de axiomas o esquemas de axiomas.
4. Un conjunto de reglas de inferencia.
5. Una interpretación formal.
Análisis y solución de problemas
¿Qué es un problema?
Un problema es una situación en la que se busca alcanzar un objetivo (ósea la
salida a la solución del problema) y se hace necesario encontrar una forma
para conseguirlo para lo cual se debe realizar un proceso. Todo problema tiene
un estado inicial (la entrada) y un objetivo (la salida). Para resolver un problema
es necesario realizar algunas operaciones sobre la entrada para poder alcanzar
la salida o el objetivo, el cual es denominado (proceso).
A menudo, los problemas más importantes y más difíciles que tenemos que
resolver son los del diario vivir. Estos problemas pueden ser conseguir el
dinero para los gastos básicos, orientarse en una ciudad, desplazarse de un
lugar a otro, hacer una llamada telefónica o preparar un plato de comida.
Solución de problemas cotidianos
Los problemas de la vida real son complejos porque son problemas sistémicos,
es decir, intervienen en ellos agentes externos e interacciones sociales difíciles
de comprender. No obstante la forma de solucionarlos en términos generales
se puede representar de la siguiente forma:
Análisis
Entrada
Son los datos iniciales
que me proporciona el
problema y el análisis
realizado
Proceso
Son las operaciones
matemáticas
y
transformaciones para
llegar a la solución
Salida
Resultado, la solución
a la pregunta del
problema
Ejemplo: UD. se encuentra en un banco porque desea cambiar un cheque.
Análisis: Definir si UD. está en el banco correcto, si tiene el cheque que desea
cambiar por efectivo y su documento de identidad.
Entrada: el cheque que desea cambiar por efectivo y su documento de
identidad.
Proceso: (Pasos para el cobro del cheque)
1. Hacer la fila y esperar turno.
2. Endosar debidamente el cheque.
3. Al llegar su turno entregar el cheque al cajero con su documento de
identidad.
4. Esperar a que el cajero resuelva el problema de pagar el cheque.
5. Si el cajero paga el cheque recibir el dinero.
6. Contar el dinero, si esta correcta la cantidad, terminar proceso de cobro
de cheque.
Salida: Obtener el dinero en efectivo. Si logró el objetivo el problema quedó
solucionado satisfactoriamente, de lo contrario surge otro problema nuevo el
cual hay que volver a definir y precisar.
La definición del problema: Un problema suele ser una situación no deseada
del que se espera una rápida y efectiva solución.
Forma de trabajo de un sistema computacional
1. El sistema recibe datos - o información - a través de los periféricos de
entrada, que son almacenados en memoria.
2. Los
datos
almacenados
son
procesados,
es
decir
sufren
las
transformaciones necesarias para producir el resultado deseado.
3. El resultado del proceso es mostrado al usuario a través de las
periféricos de salida.
Así que se produce una Entrada, un Proceso y una Salida.
Una vez más, el análisis de un problema es lo fundamental. Tener claridad
sobre el problema, delimitarlo, definirlo, tener en cuenta los datos de entrada y
saber cuál es resultado esperado permitirá resolver un problema de manera
eficiente, de lo contrario, daremos solución a otro problema distinto o
causaremos más problemas que empeorarán la situación inicial
El paso más importante para la solución de un problema es el análisis del
mismo, se debe identificar cual es la pregunta del problema y a partir de ella se
determinan todas las operaciones matemáticas necesarias para dar solución al
problema.
Análisis
Es el paso más importante para la solución de todo problema. Todo el esfuerzo
que se dedique en esta etapa será bien recompensado. Aquí se requiere el
máximo
de
imaginación
y
creatividad
ya
que
se
debe
examinar
cuidadosamente el problema a fin de identificar los datos de entrada del
problema, la pregunta del problema y que tipo información se necesita producir
o alcanzar la salida. El analista debe identificar los elementos dados en el
problema que puedan ser útiles para obtener la solución. Para alcanzar el
objetivo - la solución - será necesario realizar un procedimiento, a partir de los
datos de entrada del problema, permitirá llegar a la solución o la salida. Este
procedimiento se llama algoritmo
Entrada
Una vez realizado el análisis, se determinan los datos de entrada que se
necesitan; para que por medio de una transformación (proceso) nos genere la
respuesta a la pregunta del problema
Proceso
En esta etapa se leen los datos de entrada; y se plantean todas las formulas u
operaciones matemáticas necesarias para transformar dichos datos y generar
la respuesta a la pregunta del problema
Salida
En esta etapa se refleja el valor generado a partir de la transformación de los
datos.
Pseudocódigo
Una vez definida alguna solución a un problema en el diagrama entrada /
proceso/ salida, ésta se representa en un lenguaje algorítmico. En este modulo
la práctica se basará en la implementación de los algoritmos en forma de
pseudocódigo.
El pseudocódigo es una mezcla de lenguaje natural, símbolos y términos
propios de otros lenguajes de alto nivel que se acerca o simula de forma
general el código empleado por un lenguaje de programación
Algunas características del pseudocódigo son:
1. Utiliza los símbolos usuales de los operadores aritméticos y relaciones,
como: +, -, *, /, <>, mod, <=, ^, etc.
2. Utiliza nombres simbólicos (identificadores) para representar valores
(variables, constantes, nombre de programa, etc.)
3. Uso de ciertas palabras claves reservadas propias de los lenguajes de
programación: begin, end, read, write, for, while, if, then, repeat, until,
etc.
4. Inclusión de comentarios que permiten documentar el algoritmo. algunos
símbolos utilizados apara este fin son: { }, [ ], /* */, /**, ', !
5. el pseudocódigo utiliza identaciones (sangrías) en los bloques de
instrucciones
ALGORITMOS
Algoritmo: Es una serie de pasos bien definida, ordenada y finita de
operaciones que permite hallar la solución a un problema. Los algoritmos son
objeto de estudio de la algoritmia.
Características de los algoritmos
El científico de computación Donald Knuth ofreció una lista de cinco
propiedades, que son ampliamente aceptadas como requisitos para un
algoritmo:
1. Carácter finito. "Un algoritmo siempre debe terminar después de un
número finito de pasos".
2. Precisión. "Cada paso de un algoritmo debe estar precisamente definido;
las operaciones a llevar a cabo deben ser especificadas de manera
rigurosa y no ambigua para cada caso".
3. Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son
dadas antes de que el algoritmo comience, o dinámicamente mientras el
algoritmo corre. Estas entradas son tomadas de conjuntos específicos
de objetos".
4. Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una
relación específica con las entradas".
5. Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido
de que todas las operaciones a realizar en un algoritmo deben ser
suficientemente básicas como para que en principio puedan ser hechas
de manera exacta y en un tiempo finito por un hombre usando lápiz y
papel".
Forma de descripción de algoritmos
1. Descripción verbal: en lenguaje natural y en pseudocódigo.
Ejemplos:
2. Descripción gráfica-verbal: diagramas de flujo
Ejemplo:
Técnicas de diseño de algoritmos
Los problemas son complejos y para dar solución se requiere de muchos
pasos, es decir, tomar ese problema y dividirlo en sub-problemas más fáciles
de resolver que el principal; esta técnica suele conocerse como divide y
vencerás (divide and conquer).
Esta técnica de subdividir el problema en subproblemas más pequeños nos
permite identificar las tareas más importantes a ser ejecutadas para resolver el
problema y disponerlas en un orden lógico.
Sugerencias para la elaboración de algoritmos
1. Plantear formalmente el problema a resolver.
2. Analizar los datos que se conocen y que se espera obtener.
3. Elaborar una tabla de datos.
4. Plantear varias alternativas y escoger la mejor.
5. Hacer una lista de formulas matemáticas que han de usarse.
6. Plantear el algoritmo.
Descargar