sábado, 31 de octubre de 2009

Construcción del número PI

Esta construcción del número Pi está hecha por la sucesión de Madhava, James Gregory, Gottfried Wilhelm Leibnitz.

Para la sucesión se necesita de una función "potencia", para ir variando el signo.

Aquí está el código en C, su compilación y su testeo:



A continuación se muestra el diagrama de flujo, con las respectiva función potencia, que servirá para variar el signo + - :



Aquí está la función potencia antes mencionada:

miércoles, 28 de octubre de 2009

3 números perfectos pares y 3 números perfectos impares

Obtener los 3 primeros números perfectos pares y los tres primeros números perfectos impares.

El diagrama es algo grande, por lo que se ha resumido con 2 funciones, una llamada "perfecto", que determina si un número es perfecto o no, y la otra se llama "par", que determina si un número es par o impar.

A continuación se muestra el diagrama del programa principal, este hace las respectivas llamadas a las funciones:


Como no cabe en una página, se usa un conector 1 y se continua con esto:



Aquí están las funciones perfecto y par:





Aquí está el código en lenguaje C :

Obtener el promedio de N notas

Obtener el promedio de N notas.

Diagrama de flujo:



Aquí ilustro el código, compilación y ejecución del mismo programa:

Años bisiestos del siglo XXII

Mostrar todos los años que sean bisiestos dentro del rango del siglo XXII

Diagrama de flujo:



A continuación el código en lenguaje C, compilación y ejecución:

El n-esimo término de la sucesión de Fibonacci

Para resolver este problema, se plantea una función factorial iterativa que devuelve el n-esimo término de la sucesión de Fibonacci.

El programa principal que hace la llamada a la función:



Aquí está la función fibonacci iterativa:



Un ejemplo en C de este ejercicio, usando una función recursiva:



A continuación el código en C, recursivo, compilación y ejecución:

lunes, 26 de octubre de 2009

Mejore el problema calculando el número de meses necesarios para producir un número dado de parejas de conejos.

La misma solución iterativa, ahora implementamos un contador "k" que sirve como conteo de meses.



¿Cuántas parejas habrá después de un año? (Fibonacci)

Aquí está el diagrama de flujo, con solución iterativa:



Los primeros n numeros primos:

Hola, como tarea de la materia de fundamentos de programación, se nos encargó resolver una serie de ejercicios con diagramas de flujos, para esto me basaré en el software Dfd, que es bastante ilustrativo y sencillo para esto.

Se hace uso de funciones, si bien Dfd no posee de una sentencia "return", nos permite guardar el resultado en una variable que será visible y accesible en el programa principal.

Además, me reforzaré con código hecho en C y probado con su respectiva salida en pantalla, también se pondrá a la vista el pseudocódigo.

Aquí está el diagrama de flujo del programa principal:



Aquí está el diagrama de flujo de la función primo, usada por el programa principal:





sábado, 17 de octubre de 2009

Factorial de un número, código en Batch Scripting

Como ejercicio sobre algoritmos, me propuse crear el factorial de un número, en Batch Scripting.

Por si algunos no saben, Batch es un pseudolenguaje nativo de Windows, en donde por medio de archivos por lotes, podemos manejar el sistema.

Aquí ilustro el código del factorial de un número, el código es sencillo, casi como pseudocódigo:

Aquí la captura de la ejecución:
C:\>code.bat Numero! : 5 1 x 2 x 3 x 4 x 5 x 5! = 120 C:\>code.bat Numero! : 10 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 10! = 3628800 C:\>code.bat Numero! : 4 1 x 2 x 3 x 4 x 4! = 24 C:\>

Como se puede observar, se una básicamente un ciclo o bucle FOR y una sola variable, por supuesto, inicializada a 1.

Y el código en Bash Scripting es:
#!/usr/bin/bash
read -p "Numero : " numero;
let acumulador="1";
for i in $(seq 1 $numero);
do
let acumulador*="$i";
done
echo -e "$numero! : $acumulador";
read
exit 0;

jueves, 1 de octubre de 2009

Sistema de gasolinería


Análisis




Viéndolo desde la perspectiva del comprador de gasolina y no del operador, se presentan a la vista las acciones del proceso:

El auto llega, se posa frente a la gasolinera, el operador cuestiona cuánto será el depósito de gasolina, abre la tapa del tanque de la gasolina, pone la maneguera en el tanque, marca en la gasolinera el monto, abre el conducto de la manguera, la gasolina se deposita en el tanque, al terminar, el operador cierra el conducto de la gasolina, cierra el tanque de la gasolina, deja la manguera, y cobra el monto.

A simple vista, resaltan como objetos y clases lo siguiente:

Gasolina
Auto
Gasolinera
Operador
Manguera

A continuación se presenta el diagrama de casos de uso:

Clic en la imágen para ver en tamaño completo.





El diagrama de clases:
Ojo, es una gasolinería mexicana, no se dispone de una caja, solo se indica el monto a poner y se carga, no hay que indicar la caja.

Resulta sencillo el esquema, pero ahí se indican todas las funciones involucradas.