martes, 23 de agosto de 2011

martes, 16 de agosto de 2011

Algoritmos: Cálculo de áreas

Círculo

Datos de entrada

Fórmula

Cálculos a sustitución

Datos de Salida


Radio


Pi



A= (Pi)(r)(r)



A=(3.1416) (r)(r)



Área



Radio= 3


Pi= 3.1416



A= (Pi)(r)(r)



A=(3.1416) (3)(3)



Área= 28.27

Algoritmo
1. Solicitar datos de entrada, radio y pi
2. Sustituir valores en fórmula A=3.1416 (r)(r)
3. Realizar la operación
4. Dar el resultado
Triángulo


Datos de entrada

Fórmula

Cálculo a sustitución

Datos de salida

Base


Altura


A= (b)(h)(0.5)


A=(b)((h)(.5)


Área


Base 5


Altura 4



A=(b)(h)(0.5)



A=(5)(4)(.5)




A=10 cm^2


Algoritmo
1. Solicitar datos de entrada, base y altura
2. Sustituir valores en fórmula A=(b)(h) (.5)
3. Realizar la operación
4. Dar el resultado
Rectángulo

Datos de entrada

Fórmula

Cálculo a sustitución

Datos de salida

Base


Altura


A= (b)(h)


A=(b)(h)



Área


Base 6


Altura 8



A=(b)(h)



A=(6)(8)




A=40 cm^2


Algoritmo
1. Solicitar datos de entrada, base y altura
2. Sustituir valores en fórmula A=(b)(h)
3. Realizar la operación
4. Dar el resultado

Diagrama de flujo
Círculo

Rectángulo

jueves, 11 de agosto de 2011

Introducción al razonamiento algorítmico


Metodología de Resolución de Problemas
La solución de un problema por computadora, requiere de siete pasos, dispuestos de tal forma que cada uno es dependiente de los anteriores, lo cual indica que se trata de un proceso complementario y por lo tanto cada paso exige el mismo cuidado en su elaboración. Los siete pasos de la metodología son los siguientes:

1. Definición del problema

2. Análisis de la solución

3. Diseño de la solución

4. Codificación

5. Prueba y Depuración

6. Documentación

7. Mantenimiento

1.2.1 Definición del problema

Es el enunciado del problema, el cual debe ser claro y completo. Es fundamental conocer y delimitar por completo el problema, saber que es lo se desea realice la computadora, mientras esto no se conozca del todo, no tiene caso continuar con el siguiente paso.

.2.2 Análisis de la solución

Consiste en establecer una serie de preguntas acerca de lo que establece el problema, para poder determinar si se cuenta con los elementos suficientes para llevar a cabo la solución del mismo, algunas preguntas son:

¿Con qué cuento?

Cuáles son los datos con los que se va a iniciar el proceso, qué tenemos que proporcionarle a la computadora y si los datos con los que cuento son suficientes para dar solución al problema.

¿Qué hago con esos datos?

Una vez que tenemos todos los datos que necesitamos, debemos determinar que hacer con ellos, es decir que fórmula, cálculos, que proceso o transformación deben seguir los datos para convertirse en resultados.

¿Qué se espera obtener?

Que información deseamos obtener con el proceso de datos y de que forma presentarla; en caso de la información obtenida no sea la deseada replantear nuevamente un análisis en los puntos anteriores.

Es recomendable que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.

1.2.3 Diseño de la solución

Una vez definido y analizado el problema, se procede a la creación del algoritmo (Diagrama de flujo ó pseudocódigo), en el cual se da la serie de pasos ordenados que nos proporcione un método explícito para la solución del problema.

Es recomendable la realización de pruebas de escritorio al algoritmo diseñado, para determinar su confiabilidad y detectar los errores que se pueden presentar en ciertas situaciones. éstas pruebas consisten en dar valores a la variable e ir probando el algoritmo paso a paso para obtener una solución y si ésta es satisfactoria continuar con el siguiente paso de la metodología; de no ser así y de existir errores deben corregirse y volver a hacer las pruebas de escritorio al algoritmo.

1.2.4 Codificación

Consiste en escribir la solución del problema (de acuerdo al pseudocódigo); en una serie de instrucciones detalladas en un código reconocible por la computadora; es decir en un lenguaje de programación (ya sea de bajo o alto nivel), a esta serie de instrucciones se le conoce como PROGRAMA.

1.2.5 Prueba y Depuración

Prueba es el proceso de identificar los errores que se presenten durante la ejecución del programa; es conveniente que cuando se pruebe un programa se tomen en cuenta los siguientes puntos:

1. - Tratar de iniciar la prueba con una mentalidad saboteadora, casi disfrutando la tarea de encontrar un error.

2. - Sospechar de todos los resultados que arroje la solución, con lo cual se deberán verificar todos.

3. - Considerar todas las situaciones posibles, normales y aún las anormales.

La Depuración consiste en eliminar los errores que se hayan detectado durante la prueba, para dar paso a una solución adecuada y sin errores.

1.2.6 Documentación

Es la guía o comunicación escrita que sirve como ayuda para usar un programa, o facilitar futuras modificaciones.

A menudo un programa escrito por una persona es usado por muchas otras, por ello la documentación es muy importante; ésta debe presentarse en tres formas: EXTERNA, INTERNA y AL USUARIO FINAL.

Documentación Interna

Consiste en los comentarios o mensajes que se agregan al código del programa, que explican las funciones que realizan ciertos procesos, cálculos o fórmulas para el entendimiento del mismo.

Documentación Externa

También conocida como Manual Técnico, está integrada por los siguientes elementos: Descripción del Problema, Nombre del Autor, Diagrama del Flujo y/o Pseudocódigo, Lista de variables y constantes, y Codificación del Programa, esto con la finalidad de permitir su posterior adecuación a los cambios.

Manual del Usuario

Es la documentación que se le proporciona al usuario final, es una guía que indica el usuario como navegar en el programa, presentando todas las pantallas y menús que se va a encontrar y una explicación de los mismos, no contiene información de tipo técnico.

1.2.7 Mantenimiento

Se lleva a cabo después de determinado el programa, cuando se ha estado trabajando un tiempo, y se detecta que es necesario hacer un cambio, ajuste y/o complementación al programa para que siga trabajando de manera correcta. Para realizar esta función, el programa debe estar debida mente documentado, lo cual facilitará la tarea.

Algoritmo

Un algoritmo es un conjunto preescrito 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. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.

Algoritmo para enviar un mensaje de texto

1. Encender celular

2. Entrar a la sección "SMS y MMS"

3.Seleccionar la pestaña de "Redactar SMS"

4. Redactar el mensaje a enviarse.

5. Seleccionar el destinatario a través de la función "elegir contacto"

6. Seleccionar la opción enviar.

Diagrama de flujo

Un diagrama de flujo es una representación gráfica de un algoritmo o proceso. Se utiliza en disciplinas como la programación, la economía, los procesos industriales y la psicología cognitiva. Estos diagramas utilizan símbolos con significados bien definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de término.

Elementos básicos de un diagrama de flujo

  • Círculo: Procedimiento estandarizado.
  • Cuadrado: Proceso de control.
  • Línea Ininterrumpida: Flujo de información vía formulario o documentación en soporte de papel escrito.
  • Línea Interrumpida: Flujo de información vía formulario digital.
  • Rectángulo: Formulario o documentación. Se grafica con un doble de ancho que su altura.
  • Rectángulo Pequeño: Valor o medio de pago (cheque, pagaré, etcétera).Se grafica con un cuádruple de ancho que su altura, siendo su ancho igual al de los formularios.
  • Triángulo (base inferior): Archivo definitivo.
  • Triángulo Invertido (base superior): Archivo Transitorio.
  • Semi-óvalo: Demora.
  • Rombo: División entre opciones.
  • Trapezoide: Carga de datos al sistema.
  • Elipsoide: Acceso por pantalla.
  • Hexágono: Proceso no representado.
  • Pentágono: Conector.
  • Cruz de Diagonales: Destrucción de Formularios.