Factura en DFD

Para emprezar en una figura de lectura declaramos las variables canart y precio.

Elemento Variable
Cantidad de articulos canart
Precio del articulo precio

Luego en una figura de asignacion asignamos a las constantes itbis, subtotal y total las siguientes operaciones:
Constante Operacion
itbis cantart*precio* 0.16
subtotal cantart *precio
total cantart *precio + itbis

En una figura de Salida escribimos el sigte mensaje (entre comillas simples):
'Desea aplicar descuento : si/no'

En la figura de lectura leemos la variable "d". Para cuando se lea esta variable si deseamos aplicar el descuento escribimos 'si', si no deseamos aplicar descuento entonces escribimos 'no' (entre comillas simples).

Despues colocamos una variable de Desicion con el texto: d='si'. Esto pregunta si la variable "d" es igual a 'si'. Si es asi el programa seguira ejecutandose hacia la derecha, de lo contrario se ira hacia la izquieda.

En caso de que se aplique el descuento, utilizaremos una variable de lectura con llamada "desc" que representara el valor del descuento a aplicar a la factura. 

Despues con una figura de asignacion asignamos a las variables p_desc, tdesc y total_desc las sigtes opetaciones.

ConstanteOperacion
p_descdesc /100
tdesctotal * p_desc
total_desctotal -tdesc


En caso de que no se valla a aplicar un descuento a la factura es necesario asignar a las constantes p_desc y total_desc el valor de 0, en ua figura de asignacion de el lado izquierdo de la figura de Desicion.

Finalmente en una figura de Salida insertar las variable necesarias para imprimir la factura.

'precio=',precio, '   ','itbis=',itbis ,'   ','subtotal=',subtotal ,'   ','total=',total ,'   ', 'descuento=' ,p_desc, '%', '  ' ,'descuento aplicado=',total_desc





Convertir de numeros a letras en Visual Basic 6.0

El siguiente programa convertira los numeros en letras del 0 al 10,000. Para ellos utilizaremos 2 textbox llamado txtvalor y txtletras, y un commandbutton que se llamara Command1.

El siguiente es el codigo para hacer funcionar el programa. Copiar y pegar en el commandbutton Command1. 




Dim n, z, y, t As String


Private Sub Command1_Click()
n = Val(txtvalor)

If n = 0 Then
nn = ("cero")
End If

z = ""
y = ""
t = ""

For x = 1 To 4


If n = 1 Then
nn = ("uno")
End If


If n = 2 Then
nn = ("dos")
End If


If n = 3 Then
nn = ("tres")
End If


If n = 4 Then
nn = ("cuatro")
End If


If n = 5 Then
nn = ("cinco")
End If


If n = 6 Then
nn = ("seis")
End If


If n = 7 Then
nn = ("siete")
End If


If n = 8 Then
nn = ("ocho")
End If


If n = 9 Then
nn = ("nueve")
End If


If n = 10 Then
nn = ("dies")
End If


If n = 11 Then
nn = ("once")
End If


If n = 12 Then
nn = ("doce")
End If


If n = 13 Then
nn = ("trece")
End If


If n = 14 Then
nn = ("catorce")
End If


If n = 15 Then
nn = ("quince")
End If


If n = 16 Then
nn = ("dieciseis")
End If


If n = 17 Then
nn = ("diecisiete")
End If


If n = 18 Then
nn = ("dieciocho")
End If


If n = 19 Then
nn = ("diecinueve")
End If


If n = 20 Then
nn = ("veinte")
End If


If n = 21 Then
nn = ("veintiuno")
End If


If n = 22 Then
nn = ("veintidos")
End If


If n = 23 Then
nn = ("veintitres")
End If


If n = 24 Then
nn = ("veinticuatro")
End If


If n = 25 Then
nn = ("veinticinco")
End If


If n = 26 Then
nn = ("veintiseis")
End If


If n = 27 Then
nn = ("veintisiete")
End If


If n = 28 Then
nn = ("veintiocho")
End If


If n = 29 Then
nn = ("veintinueve")
End If

If n = 30 Then
nn = ("treinta")

End If


If n > 30 And n < 40 Then
z = "treinta"
s = n - 30
n = s
End If

If n = 40 Then
nn = ("cuarenta")

End If

If n > 40 And n < 50 Then
z = "cuarenta"
s = n - 40
n = s
End If

If n = 50 Then
nn = ("cincuenta")

End If

If n > 50 And n < 60 Then
z = "cincuenta"
s = n - 50
n = s
End If



If n = 60 Then
nn = ("sesenta")

End If

If n > 60 And n < 70 Then
z = "sesenta"
s = n - 60
n = s
End If


If n = 70 Then
nn = ("setenta")

End If

If n > 70 And n < 80 Then
z = "setenta"
s = n - 70
n = s
End If

If n = 80 Then
nn = ("cincuenta")

End If

If n > 80 And n < 90 Then
z = "ochenta"
s = n - 80
n = s
End If



If n = 90 Then
nn = ("noventa")

End If

If n > 90 And n < 100 Then
z = "noventa"
s = n - 90
n = s
End If

If n = 100 Then
nn = ("cien")

End If


If n > 100 And n < 200 Then
y = "ciento"
s = n - 100
n = s
End If

If n = 200 Then
nn = ("doscientos")

End If

If n > 200 And n < 300 Then
y = "doscientos"
s = n - 200
n = s
End If

If n = 300 Then
nn = ("trescientos")

End If

If n > 300 And n < 400 Then
y = "trescientos"
s = n - 300
n = s
End If

If n = 400 Then
nn = ("cuatrocientos")

End If

If n > 400 And n < 500 Then
y = "cuatrocientos"
s = n - 400
n = s
End If

If n = 500 Then
nn = ("quinientos")

End If

If n > 500 And n < 600 Then
y = "quinientos"
s = n - 500
n = s
End If


If n = 600 Then
nn = ("seiscientos")

End If

If n > 600 And n < 700 Then
y = "seiscientos"
s = n - 600
n = s
End If


If n = 700 Then
nn = ("setecientos")

End If

If n > 700 And n < 800 Then
y = "setecientos"
s = n - 700
n = s
End If


If n = 800 Then
nn = ("ochocientos")

End If

If n > 800 And n < 900 Then
y = "ochocientos"
s = n - 800
n = s
End If


If n = 900 Then
nn = ("novecientos")

End If

If n > 900 And n < 1000 Then
y = "novecientos"
s = n - 900
n = s
End If

If n = 1000 Then
nn = ("mil")

End If

If n > 1000 And n < 2000 Then
t = "mil"
s = n - 1000
n = s
End If

If n = 2000 Then
nn = ("dos mil")

End If

If n > 2000 And n < 3000 Then
t = "dos mil"
s = n - 2000
n = s
End If

If n = 3000 Then
nn = ("tres mil")

End If

If n > 3000 And n < 4000 Then
t = "tres mil"
s = n - 3000
n = s
End If

If n = 4000 Then
nn = ("cuatro mil")

End If

If n > 4000 And n < 5000 Then
t = "cuatro mil"
s = n - 4000
n = s
End If

If n = 5000 Then
nn = ("cinco mil")

End If

If n > 5000 And n < 6000 Then
t = "cinco mil"
s = n - 5000
n = s
End If

If n = 6000 Then
nn = ("seis mil")

End If

If n > 6000 And n < 7000 Then
t = "seis mil"
s = n - 6000
n = s
End If

If n = 7000 Then
nn = ("siete mil")

End If

If n > 7000 And n < 8000 Then
t = "siete mil"
s = n - 7000
n = s
End If

If n = 8000 Then
nn = ("ocho mil")

End If

If n > 8000 And n < 9000 Then
t = "ocho mil"
s = n - 8000
n = s
End If

If n = 9000 Then
nn = ("mil")

End If

If n > 9000 And n < 10000 Then
t = "nueve mil"
s = n - 9000
n = s
End If

If n = 10000 Then
nn = ("dies mil")

End If

txtletras.Text = t & " " & " " & y & " " & z & " " & nn

Next
End Sub



Como funcionara el codigo este código:

Dim n, z, y, t As String: Se declaran las variables n, z, y, t tipo cadena.

n = Val(txtvalor): Se asigna a la variable "n" el valor del textbox "txtvalor" en el cual insertaremos el numero que queramos convertir a letra.

If n = 0 Then nn = ("cero") End If: Empezamos preguntando que si el valor de la variable "n"es igual a cero entonces la variable "nn" sera igual a la cadena "cero", este es el numero en letra.

t = "": Se inicializa la variable t con un valor vacio, se le asignas comillas por ser una variable tipo cadena.

For x = 1 To 4: El "For" sirve para repetir un evento la cantidad de veces especificadas en el mismo. En este caso el se repetira 4 veces ya que como se convertiran los numeros hasta el 10,000 las cifras de los numeros  que estan antes del 10,000 son 4.

Luego al igual se continuara preguntando con el If que numero es cual para imprimirlos en letras.

If n > 30 And n < 40 Then z = "treinta" s = n - 30 n = s End If: A partir de el numero 30 se utilizara la variable z para imprimir los numeros correspondientes a la decena. Con la variable "s" se resta a la variable "n" (el valor del textbox) en este caso 30, para conseguir el numero restante en letras.

Y asi sucesivamente...

La variable "t" representa la unidad de mil, la variable "y" la centena, "z" la decena y la variable "nn" representa la unidad.



Foto Christine by matmoon

PHP conexión a base de datos MySQL

Para conectarse a una base de datos en MySQL con PHP primero debemos crear la base de datos en MySQL, utilizando alguna interfaz, en my caso utilizo phpmyadmin que viene con el Appserv, el cual es mi servidor web local.  Los siguientes son los pasos para lograr la conexion:

1- Luego de haber instalado nuestro servidor web escribir en el navegador localhost/phpmyadmin.
2- Este pedira una auntetificacion de usuario mayormente el nombre de usuario por defecto es 'root', la contrasena sera la que hayas especificado en la instalacion del servidor web (esto dependera de cual servidor instales).
2- Especificar el nombre de la nueva base de datos (en phpmyadmin). Luego de esto preciona "Crear" o "Create" si esta en ingles.



4- Luego de haber creado la base de datos ir a nuestro editor y escribir el siguiente codigo:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin titulo</title>
</head>

<body>


<?php
$server='localhost'; //Los mismo que 127.0.0.1
$user='root'; // Nombre de usuario de MySQL con el que te quiere conectar
$pass='admin'; // Contrasena de MySQL correspondiente al usuario
$db='bdConexion'; // Nombre de la base de datos

$conexion=mysql_connect($server,$user,$pass)or die("Error al conectarse a la base de datos").mysql_error();
mysql_select_db($db,$conexion) or die ("Error al seleccionar base de datos").mysql_error();
if ($conexion > 0)  {
echo "Conectado";
}
else
{
echo "No conectado";
}
?>

</body>
</html>


3- Si se ha conectado satisfactoriamente aparecera en la pantalla en mensaje "Conectado" de lo contrario aparecera "No conectado".

Notas:

mysql_connect: Abre una conexión al servidor MySQL
mysql_select_db: Seleccionar una base de datos MySQL

:)


Articulo relacionado 
¿Como programar en PHP?


Visual Basic 6.0: Convertir de Decimal a Binario

Para hacer este programa vamos a utilzar dos textboxes txt_entrada y txt_salida. Y un CommandButtom cmd_calcular.

El sigte es el codigo completo para realizar el programa:



Dim dec, bin As Integer
Dim sal As String


Private Sub cmd_calcular_Click()

dec = Val(txt_entrada.Text)
sal = ""


While dec > 0

bin = Fix(dec) Mod 2
dec = Fix(dec) / 2
sal = bin & sal
txt_salida.Text = Val(sal)

Wend

txt_salida.SetFocus

End Sub

 


Explicacion del código:

Dim dec, bin As Integer: Declaramos las variables dec y bin tipo entero.

Dim sal As String: Declaramos la variable sal tipo cadena.

dec = Val(txt_entrada.Text): Asignamos a la variable dec el valor del textbox txt_entrada al mismo tiempo que la funcion "Val" convierte el textbox en entero.

sal = "": Inicializamos la variable sal con un valor vacío.

While dec > 0: Mientras la variable dec sea mayor que 0 entonces ...

bin = Fix(dec) Mod 2: La variable "bin" será igual al valor de la variable dec Mod 2.. El mod se utiliza para obtener el residuo de una división. La división será entre el número que le indiquemos al lado, en este caso el numero 2, por ser 2 la base de los numeros binarios.

dec = Fix(dec) / 2: Luego de obtener el primer residuo la variable "dec" tendra el valor de ella misma entre 2.

sal = bin & sal: La variable "sal" sera igual al valor de la variable bin (que contiene el residuo de la división) concatenada con la misma variabe "sal" para ir acumulando el valor de los demas residuos que se generen mientras se ejecuta el WHILE.

txt_salida.Text = Val(sal) :  Finalmente se asigna a el textbox txt_salida el valor de "sal".

Wend: Aqui termina de ejecutar el While y vuelva hacia arriba mientras se cumpla la condición especificada en el mismo.



*Notas: 

Funcion Val: Devuelve los números contenidos en una cadena como un valor numérico del tipo adecuado.
Funcion Fix: Devuelven la parte entera de un número.
& : Se utiliza para concatenar caracteres.


C#: Convertir de decimal a binario

El siguiente programa va a convertir un numero decimal (base 10) en su representacion binaria (base 2).

Para ello necesitamos crear un form con:
2 textbox llamados txt_entrada y txt_salida
1 button llamado btn_calcular

En el botón btn_calcular digitar el siguiente codigo:


             
                int dec, bin;
                string sal = "";
                dec = Convert.ToInt16(txt_entrada.Text);
   

                while (dec > 0)
                {

                    bin = dec % 2;
                    dec = dec / 2;
                    Convert.ToString(bin);
                    sal = bin + sal;
                    txt_salida.Text = Convert.ToString(sal);

                }

                txt_entrada.Focus();



Explicacion del código:

int dec, bin: Declaramos las variables dec y bin tipo entero.

string sal = "": Declaramos la variable sal tipo cadena igualada a 'nada'.

dec = Convert.ToInt16(txt_entrada.Text): Asignamos a la variable dec el valor del textbox txt_entrada al mismo tiempo convertimos el textbox en entero.

while (dec > 0): Mientras la variable dec sea mayor que 0 entonces ...

bin = dec % 2: La variable bin sera igual al valor de la variable dec % 2. (% es la representacion del MOD en C#). El mod se utiliza para obtener el residuo de una division. La division sera entre el numero que le indiquemos al lado, en este caso el numero 2, por ser 2 la base de los numeros binarios.

dec = dec / 2: Luego de obtener el primer residuo la variable dec tendra el valor de ella misma entre 2.

Convert.ToString(bin): convertimos la variable "bin" en tipo string para poder proceder con la conatenacion.

sal = bin + sal: La variable "sal" sera igual al valor de la variable bin (que contiene el residuo de la division) concatenada con la misma variabe "sal" para ir acumulando el valor de los demas residuos que se generen mientras se ejecuta el WHILE.

txt_salida.Text = Convert.ToString(sal): Finalmente se asigna a el textbox txt_salida el valor de "sal".

Ejercicios resueltos en C# : Categoría de un empleado

1. En una empresa cada empleado debe teclear un código identificador de 3 cifras en la entrada. Escribir un algoritmo que muestre por pantalla la categoría del empleado teniendo en cuenta que:
• Si el código es divisible por 2, por 3 y por 5, la categoría del empleado es “Director general”.
• Si el código es divisible por 3 y por 5 pero no por 2, la categoría del empleado es “Directivo”.
• Si el código es divisible por 2, pero no por 3 ni por 5, la categoría del empleado es “Staff”.
• Si el código no es divisible por 2, ni por 3 ni por 5, la categoría del empleado es “Seguridad”.


Como realizar este ejercicio en C#?


1ro. Crear un formulario con dos textboxes, el que contendra el Codigo identificador se llamara txtcodide y que contendra la categoria del empleado txtcatemp.

2do. El botón "Generar" hará el trabajo, por lo que este es el codigo que hará que el mismo funcione:


  if (txtcodide.TextLength < 3)
                {
                    MessageBox.Show("El codigo no debe contener menos de 3 caracteres");
                    txtcodide.Clear();
                    txtcodide.Focus();
                }
                else
                {

                    int ci;

                    ci = Convert.ToInt16(txtcodide.Text);

                    if (ci % 2 == 0 && ci % 3 == 0 && ci % 5 == 0)
                    {

                        txtcatemp.Text = "Director General";

                    }
                    else
                    {

                        if (ci % 3 == 0 && ci % 5 == 0 && ci % 2 != 0)
                        {

                            txtcatemp.Text = "Directivo";

                        }
                        else
                        {

                            if (ci % 2 == 0 && ci % 3 != 0 && ci % 5 != 0)
                            {

                                txtcatemp.Text = "Staff";

                            }
                            else
                            {

                                if (ci % 2 != 0 && ci % 3 != 0 && ci % 5 != 0)
                                {

                                    txtcatemp.Text = "Seguridad";

                                }
                             }
                        }
                   }
             }




3ro. Adicionalmente el botón "Limpiar":

txtcodide.Clear();
txtcatemp.Clear();
txtcodide.Focus();




y el botón "Salir":

Close();


Explicación del código


if (txtcodide.TextLength < 3): Pregunta si la longitud del texto del codigo identificador es menor que 3.


MessageBox.Show("El codigo no debe contener menos de 3 caracteres"): Muestra un mensaje en la pantalla.

txtcodide.Clear(): Limpia el contenido del referido textbox.

txtcodide.Focus(): Lleva el cursor al textbox referido.



int ci: Declara una variable tipo entero.

ci = Convert.ToInt16(txtcodide.Text): la variable que declaramos tomara el valor de el txtcodide, al mismo tiempo que se convierte ese textbox en tipo entero.


if (ci % 2 == 0 && ci % 3 == 0 && ci % 5 == 0) { txtcatemp.Text = "Director General"; }: Pregunta que si la variable ci al dividirla entre 2 es igual a 0 y si la variable ci dividida entre 3 es igual a cero y el mismo proceso entre 5 es igual a 0 entonces el textbox que mostrara la categoria del empleado sera igual a Director General en este caso. Asi consecutivamente el mismo proceso para saber las demas categorias.


Nota: El caracter "%" representa el mod en C Sharp. El mod devuelve el residuo de una division.