Pages

Mostrando entradas con la etiqueta diagrama flujo. Mostrar todas las entradas
Mostrando entradas con la etiqueta diagrama flujo. Mostrar todas las entradas

sábado, 16 de febrero de 2013

Convertir a números ordinales entre 1 y 999 – Diagrama de flujo

Realizar un algoritmo que permita convertir un número arábigo comprendido entre 1 y 999 a números ordinales. Ejemplo
  • Entrada: 697
  • Salida:  sexcentesimo nonagesimo séptimo
Se llama a la subrutina Inicializar, donde inicializamos los arreglos correspondientes, luego se solicita al usuario ingrese un numero entre 1 y 999, luego se captura el numero ingresado en la variable “N”, llamamos a la Subrutina ObtenerUnidadesDecenasCentenas para obtener las unidades, decenas y centenas del numero ingresado, luego llamamos a la subrutina  ConvertirNumero el cual retornara el numero ingresado en números ordinales.

Diagrama de Flujo - Convertir Numero Entero a Numero Ordinal

Diagrama de Flujo - Subrutina InicializaUnidades

En la Subrutina InicializaDecenas, se crea un arreglo Decena que contiene a los números ordinales, Decena ={“”,“decimo”,“vigesimo”,“trigesimo”,“cuadragesimo”,”quincuagesimo”,“sexagesimo”,“septuagesimo”,“octogesimo”,“nonagesimo” }, donde Decena(9)=“nonagesimo” que corresponde al número noventa. 
Diagramas de Flujo - Subrutina InicializaDecenas


La Subrutina InicializaCentenas, se crea el arreglo Centena la cual contiene los números ordinales entre 100 y 900, Centena = {“”,“centesimo”,“ducentesimo”,“tricentesimo”,“ cuadringentesimo”,“ quingentesimo”,“ sexcentesimo”,“ septingentesimo”,“ octingentesimo”,“ noningentesimo”}, donde Centena(7)=” septingentesimo” que corresponde al número 700.

 Diagrama de Flujo - Subrutina InicializaCentenas

En la subrutina ObtenerUnidadesDecenasCentenas, se obtiene las unidades con N MOD 10 y se guarda en la variable “u”, las decenas con TRUNC(N/10) MOD 10 y se guarda en la variable “d”, las centenas con  TRUNC(N/100) y se guarda en la variable “c”.
Ejemplo
Numero = 584
u = 584 MOD 10 = 4
d = TRUNC(584/10) MOD 10 = 8
c = TRUNC(584/100) = 5
Las variable c, d, u nos sirven como índices en los arreglos respectivos para hallar número ordinal correspondiente.
 Diagrama de Flujo - Subrutina ObtenerUnidadesDecenasCentenas


En la subrutina ConvertirNumero
Se compara si el número es mayor igual a 100(N>=0)
Si es Verdadero (Si)
    Mostramos como respuesta los números entre 100 y 999 en ordinales
Si es Falso (No)
    Se compara si el número  es mayor igual a 10 (N>=0)
    Si  es Verdadero (Si)
    Mostrará como respuesta los números entre 10 y 99 en ordinales
    Si es Falso (No)
    Mostrará como respuesta los numero entre 1 y 9 en ordinales

Diagrama de Flujo - Subrutina ConvertirNumero

 Diagrama de Flujo en FreeDFD
 Código fuente en Java
 Código fuente en C++
 Código fuente en C
 Código fuente en C#
 Código fuente en Python
 Código fuente en Visual Basic

jueves, 3 de enero de 2013

Calcular el descuento y sueldo neto de un trabajador dado su sueldo – Diagrama de flujo

Problema
A un trabajador le descuentan de su sueldo el 10%, si su sueldo es menor o igual a 1000, si es por encima de 1000 y hasta 2000 el 5% del adicional (es decir del monto que sobrepasa de 1000), y por encima de 2000 el 3% del adicional (es decir del moto que sobrepasa de 2000). Calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo.

Solución
Entrada: 1000
Salida: Sueldo 900, descuento 100
Se solicita que el trabajador ingrese su sueldo, el cual se calcula en la variable “s”, luego
Se comprueba si el sueldo es mayor a 2000 (s > 2000)
Si es Verdadero (Si)
Se calcula el descuento con 100 + (s-1000)*0.03, donde 100 es el descuento base que se da si gana 1000. Se calcula el monto a recibir con ( s – d)
Si es Falso (No)
    Se comprueba si el sueldo esta entre 1000 y 2000 (s > 1000 and s <= 2000)
    Si es Verdadero (Si)
Se calcula el descuento con 100 + (s-1000)*0.05, donde 100 es el descuento base que se da si gana 1000. Se calcula el monto a recibir con (s – d)
    Si es Falso (No)
Se calcula el descuento con s*0.10, Se calcula el monto a recibir con (s – d)
Se muestra el descuento y el monto a recibir por parte del trabajador.
Fin.


Diagrama de flujo - Calcular el descuento y sueldo neto de un trabajador dado su sueldo.

 Diagrama en FreeDFD
 Código fuente en Java
 Código fuente en C++
 Código fuente en C
 Código fuente en C#
 Código fuente en Python
 Código fuente en Visual Basic

Calcular porcentaje de aporte de tres socios – Diagrama de flujo

Problema
Juan, Raquel y Daniel aportan cantidades de dinero para formar un capital. Juan y Raquel aportan en dólares y Daniel en soles. Diseñe un programa que determine el capital total en dólares y que porcentaje de dicho capital aporta cada uno. Considere que: 1 dólar = 3.25 soles.


Solución
Se solicita al usuario ingrese le monto de los aportes de juan, Raquel y Daniel, el cual se guarda en las variables “ju”, “ra” y “da”, luego realizamos una conversión del monto de Daniel de soles a dólares con (da / 3.25), luego se realiza el calculo del total con (ju + ra + dol), luego se calcula el porcentaje de los aportes de cada socio, el porcentaje de Raquel con (ra/tota*100),  el porcentaje de juan con (ju/total*100), el porcentaje de Daniel con (dol/total*100), se muestra los resultados. Fin.



Diagrama de flujo - Calcular porcentaje de aporte de tres socios.

 Diagrama en FreeDFD
 Código fuente en Java
 Código fuente en C++
 Código fuente en C
 Código fuente en C#
 Código fuente en Python
 Código fuente en Visual Basic

Calcular la secuencia de asteriscos en forma de triángulo – Diagrama de flujo

Problema
Diseñar un algoritmo que muestre la siguiente serie
*
**
***
****
*****

Solución
Se solicita al usuario ingrese un numero para indicar el número de niveles que tendrá el triángulo de asteriscos, se captura este valor en la variable “n”, se crea un ciclo For, que realizara “n” iteraciones, en  cada iteración, se inicializa la variable “x” con una cadena vacia, se crea un ciclo For,el cual concatenara los asteriscos, y los asigna en la variable “x”, finaliza el ciclo interior, se muestra la cadena de asteriscos, se finaliza el ciclo. Fin.


Diagrama de flujo - Calcular la secuencia de asteriscos en forma de triángulo

 Diagrama en FreeDFD
 Código fuente en Java
 Código fuente en C++
 Código fuente en C
 Código fuente en C#
 Código fuente en Python
 Código fuente en Visual Basic

Calcular la serie 1223334444… – Diagrama de flujo

Problema
Diseñar un algoritmo que muestre la siguiente serie 1223334444...NNNN.

Solución
Se  solicita al usuario ingresar un numero  hasta donde se desea que  se muestre la serie, se captura este valor en la variable “n”, se crea un ciclo For, en el cual realizara “n” iteraciones , en cada iteración se crea un ciclo For que tendrá “y” iteraciones , en cada iteración se muestra el valor de la variable “y”, finalizan los ciclos. Fin.


Diagrama de flujo - Calcular la serie 1223334444…

 Diagrama en FreeDFD
 Código fuente en Java
 Código fuente en C++
 Código fuente en C
 Código fuente en C#
 Código fuente en Python
 Código fuente en Visual Basic

Calcular el cubo de un numero – Diagrama de flujo

Problema
  • Diseñar un algoritmo que escriba el cubo de los números del 1 al 20.
  • Diseñar un algoritmo que escriba el cubo de los números naturales tales que el cubo tenga como máximo cuatro cifras.
  • Diseñar un algoritmo que escriba el cubo de los números naturales tales que el cubo tenga exactamente cuatro cifras
Solución
Se solicita al usuario elija tres opciones, el cual se captura en la variable n,
Se comprueba si el valor ingresado es uno (n =1)
Si es Verdadero (Si)
Se llama a la subrutina Cubos1a20 en el cual se calculan los cubos de los primeros 20 números.
Si es Falso (No)
    Se comprueba si el valor ingresado es 2 (n = 2)
    Si es Verdadero (Si)
Se llama a la subrutina cubosmaximo4digitos en el cual solo se mostrarán los cubos que tengan menor o igual a 4 dígitos.
    Si es Falso (No)
Se llama a la subrutina Cubosigual4digitos en el cual solo se muestran los cubos que tengan exactamente 4 dígitos.
Fin.


Diagrama de flujo - Calcular el cubo de un numero

En la Subrutina Cubos1a20, se crea un ciclo For, en cada iteración  se muestra el cubo de un número, finaliza el ciclo.


Diagrama de flujo - Subrutina Cubos1a20

 En la Subrutina  cubosmaximo4digitos, se inicializa las variables “c” y “u” con 1, se crea un ciclo While, en cada iteración se muestra el número al cubo, se actualiza el valor de la variable “c” con u^3, se actualiza “u” sumándole 1, finaliza el ciclo.  


Diagrama de flujo - Subrutina  cubosmaximo4digitos
 En la Subrutina  Cubosigual4digitos , se actualiza las variables “c”  y “u” en 1, se crea un ciclo While, el cual termina si el valor es mayor a cuatro dígitos, luego
Se compara si el número es mayor o igual a cuatro dígitos (c >= 1000)
Si es Verdadero (Si)
    Se muestra el número.
Si es Falso (No)
    No se hace nada.
Se actualiza la variable “c” con u^3, se actualiza “u” agregándole 1, finaliza el ciclo.


Diagrama de flujo -  Subrutina  Cubosigual4digitos

 Diagrama en FreeDFD
 Código fuente en Java
 Código fuente en C++
 Código fuente en C
 Código fuente en C#
 Código fuente en Python
 Código fuente en Visual Basic