Está en la página 1de 6

UNICARIBE

Alexander Cabrera
Mat: 2016-1346
ID A00058760

I. Simbología: Escribe el nombre y una descripción para cada uno de los


siguientes símbolos de diagrama de flujo.

Solucion en otro file anexo

A) Investiga sobre uno de los símbolos según el número asignado a cada


estudiante.

B) Escribe su nombre, realiza una descripción y su forma de uso.

Este simbolo se llama proceso e Indica un determinado proceso y sus funciones y actividades.

B) Realiza un ejemplo con el símbolo investigado.

Diagrama de flujo de proceso de selección de personal

Dentro del proceso de selección de personal se pueden presentar diferentes variantes que
tienen que ser direccionadas de manera clara. En el siguiente diagrama de flujo de proceso
observamos que, desde que se inicia la búsqueda del candidato a la vacante, hay que decidir si
se va a escoger a alguien de la misma empresa (lo cual es más rápido), o si se va a buscar fuera.

Cuando se elige esta última opción el proceso se alarga: se pasa a la revisión de solicitudes y de
curriculum vitae; se entrevista a los preseleccionados, luego se les realizan las pruebas
necesarias para determinar sus conocimientos respecto al puesto. En caso de que les falten
algunas habilidades se pasa a la capacitación; después, hay que verificar sus antecedentes en
otros trabajos, revisar sus exámenes médicos, elegir al candidato indicado y contratarlo.
II. Realiza una investigación sobre los siguientes temas:
1. Análisis del problema

El primer paso, análisis del problema, requiere un estudio a fondo del problema y de todo lo
que hace falta para poder abordarlo.

El propósito del análisis de un problema es ayudar al programador (Analista) para llegar a una
cierta comprensión de la naturaleza del problema. Una buena definición del problema, junto
con una descripción detallada de las especificaciones de entrada/salida, son los requisitos más
importantes para llegar a una solución eficaz.

Para realizar el análisis del problema realizamos varios pasos:

Definición del problema: Tenemos que entender y comprender la naturaleza del problema,
tenemos que dominar los conceptos con los que estamos trabajando y conocer que
operaciones hay que realizar para solucionar el problema y obtener la información de salida.

Especificación de los datos de entrada: Hay que determinar que datos de entrada necesitamos
para resolver el problema.

Especificación de los datos de salida: También hay que determinar los datos de salida que van
a ofrecer la solución del problema.
2. Diseño del algoritmo

A partir de los requerimientos, resultados del análisis, empieza la etapa de diseño donde
tenemos que construir un algoritmo que resuelva el problema.

Definición de algoritmoPermalink

Un algoritmo es un conjunto de acciones que especifican la secuencia de operaciones realizar,


en orden, para resolver un problema. Los algoritmos son independientes tanto del lenguaje de
programación como del ordenador que los ejecuta.

Las características de los algoritmos son:

Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.

Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o
sea, debe tener un número finito de pasos.

Ejemplo tradicional de un algoritmo: Cambiar la rueda pinchada de un coche.

Etapa de diseñoPermalink

Aunque en la solución de problemas sencillos parezca evidente la codificación en un lenguaje


de programación concreto, es aconsejable realizar el diseño del algoritmo, a partir del cual se
codifique el programa.

La soluciones a problemas más complejos pueden requerir muchos más pasos. Las estrategias
seguidas usualmente a la hora de encontrar algoritmos para problemas complejos son:

Partición o divide y vencerás: consiste en dividir un problema grande en unidades más


pequeñas que puedan ser resueltas individualmente.

Ejemplo: Podemos dividir el problema de limpiar una casa en labores más simple
correspondientes a limpiar cada habitación.

Resolución por analogía: Dado un problema, se trata de recordar algún problema similar que
ya esté resuelto. Los dos problemas análogos pueden incluso pertenecer áreas de
conocimiento totalmente distintas.

Ejemplo: El cálculo de la media de las temperaturas de las provincias andaluzas y la media de


las notas de los alumnos e una clase se realiza del mismo modo.

La descomposición del problema original en subproblemas más simples y a continuación dividir


estos subproblemas en otros mas simples se denomina diseño descendente (top-down
design). Tras la primera descripción del problema (poco específica), se realiza una siguiente
descripción mas detallada con mas pasos concretos. Este proceso se denomina refinamiento
del algoritmo.
3. Codificación de un programa

Una vez que los algoritmos de una aplicación han sido diseñados, ya se puede iniciar la fase de
codificación. En esta etapa se tienen que traducir dichos algoritmos a un lenguaje de
programación específico, en nuestro caso C; es decir, las acciones definidas en los algoritmos
las vamos a convertir en instrucciones, también llamadas sentencias, del lenguaje C.

EJEMPLO Al codificar en C el algoritmo del programa Sumar, visto en el aparado anterior


(Diseño), se escribirá algo parecido a:

#include <stdio.h>
int main()
{
int a, b, c;
printf( "\n Introduzca el primer n%cmero (entero):
", 163 );
scanf( "%d", &a );
printf( "\n Introduzca el segundo n%cmero (entero):
", 163 );
scanf( "%d", &b );
c = a + b;
printf( "\n La suma es: %d", c );
return 0;
}
Para codificar un algoritmo hay que conocer la sintaxis del lenguaje al que se va a
traducir. Sin embargo, independientemente del lenguaje de programación en que esté
escrito un programa, será su algoritmo el que determine su lógica. La lógica de un
programa establece cuáles son sus acciones y en qué orden se deben ejecutar. Por
tanto, es conveniente que todo programador aprenda a diseñar algoritmos antes de
pasar a la fase de codificación.

4. Compilación y ejecución de un programa

Es una técnica para mejorar el rendimiento de sistemas de programación que


compilan a bytecode, consistente en traducir el bytecode a código máquina nativo en
tiempo de ejecución.

5. Documentación y mantenimiento

La documentación para el usuario constituye un elemento de consulta para toda


aquella persona que va a usar el programa por primera vez o que trata de saber si el
programa servirá a sus objetivos. Igualmente es útil para usuarios que ya realizan un
manejo básico y quieren profundizar hacia un conocimiento avanzado.
Una documentación completa contendría:

· Portada con el nombre del programa, versión y autor o autores.

· Índice.

· Descripción muy breve de las funciones y posibilidades del programa.

· Descripción breve del método de cálculo principal.

Explicación breve de cómo debe usarse el programa y de los datos de entrada,


opciones y resultados.

· Ejemplos paso a paso de uso del programa en número suficiente para comprender
las posibilidades que se brindan.

· Diagrama de flujo del programa de carácter sintético y descriptivo.

· Especificación detallada de todas las opciones contenidas en menús.

· Especificación detallada de todos los cálculos, principales y secundarios

La extensión de la documentación para el usuario será variable en función de la


complejidad y características del programa: puede ir desde un párrafo para programas
muy sencillos y de fácil uso hasta centenares de páginas para programas comerciales
complejos. Los puntos contenidos en la documentación también son variables, siendo
los enumerados anteriormente una orientación. Para programas sencillos puede
reducirse a un título, una explicación breve del funcionamiento, entradas y salidas y un
ejemplo de uso.

La documentación para mantenimiento constituye el elemento de referencia para el


programador que haya de realizar cambios o ampliaciones del programa en el futuro.
La necesidad de mantenimiento deriva de:

· Defectos del programa no detectados y que es necesario corregir.

· Cambios externos de índole política, técnica, social, etc. que afectan al programa:
normativa, moneda, novedades de un sistema operativo, etc.

· Solicitudes de los clientes o usuarios.

El mantenimiento de un programa puede afectar a su esqueleto o diseño básico, a


funciones importantes pero desligadas del núcleo del programa o a cuestiones
meramente estéticas. De cualquier forma, el mantenimiento debe considerarse como
programación en todos sus sentidos, debiendo partir del conocimiento del problema y
avanzar con detenimiento siguiendo las normas para una programación sólida. Es
ideal un mantenimiento que respete la filosofía y el estilo del programa que se
mantiene, de modo que un auditor no pudiera detectar qué parte del programa
corresponde al código original y qué parte a la ampliación o corrección.

También podría gustarte