miércoles, 4 de noviembre de 2009

EJERCICIO CON EJEMLO ALEATORIOS

EJERCICIO UTILIZANDO EL DRAWING AREA DISEÑO:



CODIGO DEL EJERCICIO

PUBLIC x AS Integer
PUBLIC y AS Integer
PUBLIC r AS Integer
PUBLIC g AS Integer
PUBLIC b AS Integer

PUBLIC SUB Button1_Click()
Timer1.Enabled = TRUE
' Draw.Begin(area1)
' Draw.FillColor = Color.Red
'Draw.FillStyle = Fill.Solid
' Draw.Circle(200, 200, 80)
' Draw.Rect(80, 80, 80, 40)
' Draw.End
END

PUBLIC SUB Timer1_Timer()
x = Int(Rnd * 800)
y = Int(Rnd * 600)
r = Int(Rnd * 255)
g = Int(Rnd * 255)
b = Int(Rnd * 255)
Draw.Begin(area1)
Draw.FillColor = Color.Red
Draw.FillColor = Color.rgb(r, g, b)
Draw.FillStyle = Fill.Solid
Draw.Circle(x, y, 80)
Draw.Rect(100 + y, 100 + x, 100, 50)
Draw.End
END

PUBLIC SUB Button2_Click()
Timer2.Enabled = TRUE
' x = Int(Rnd * 800)
'y = Int(Rnd * 600)
' Draw.Begin(area1)
'Draw.FillColor = Color.Red
'Draw.FillStyle = Fill.Solid

' Draw.Ellipse(x, y, 80)
'Draw.Picture(100 + y, 100 + x, 100, 50)
'Draw.End
END

PUBLIC SUB Timer2_Timer()
x = Int(Rnd * 800)
y = Int(Rnd * 600)
Draw.Begin(area1)
Draw.FillColor = Color.Red
Draw.FillStyle = Fill.Solid
Draw.Circle(x, 20, 80)
'Draw.Picture(100 + y, 100 + x, 100, 50)
Draw.End
END

CODIGO

EMPRESAS TIA (EJERCICIO REALIZADO EN APLICACION CONSOLA, EN LENGUAJE ORIENTADO A OBJETOS.

PUBLIC cn AS NEW Connection
PUBLIC rs AS result
PUBLIC SUB conectar()
'with modulo.cn
cn.CLOSE
cn.type = "mysql"
cn.host = "localhost"
cn.login = "root"
cn.Port = "3306"
cn.Password = "root"
cn.name = "tia"
TRY cn.OPEN
IF ERROR THEN
Message("Error al Abrir Base de Datos")
ELSE
Message("Ingresandoo a Base de Datos")
ENDIF
END

ESTE ES EL DISEÑO DEL FORMULARIO DE ACCESSO



ESTA ES LA CODIFICACION

PUBLIC c AS Integer
PUBLIC n AS String
PUBLIC SUB TextBox1_Change()
TextBox2.Enabled = TRUE
END


PUBLIC SUB TextBox2_KeyPress()

IF Key.Code = 65293 THEN
IF TextBox1.Text = "" THEN
Message.Info("Ingrese Clave de Usuario...")
TextBox1.SetFocus
ELSE
Button1.Enabled = TRUE
Button2.Enabled = TRUE
Button1.SetFocus
ENDIF
ENDIF
END


PUBLIC SUB Form_Open()
ME.Center
modulo.conectar
' modulo.rs = modulo.cn.Exec("select * from claves")
n = "Administrador"
END


PUBLIC SUB Button1_Click()
DIM ban AS Integer
modulo.rs = modulo.cn.Exec("select * from claves")
DO WHILE modulo.rs.Available
n = modulo.rs["usuario"]
IF modulo.rs["usuario"] = Trim(TextBox1.Text) AND modulo.rs["contrasena"] = Trim(TextBox2.Text) THEN
modulo.rs = modulo.cn.Exec("select * from claves where usuario = '" & Trim(TextBox1.Text) & "'")
Message.Info("Bienvenido al sistema Sr(a). " & n, "Aceptar")
ME.Hide
menuprincipal.Show
ban = 1
ENDIF
modulo.rs.MoveNext()
LOOP
IF ban = 0 THEN
c = c + 1
IF c = 3 THEN
Message.Warning("Lo sentimos, El sistema se cerrar� por seguridad.")
ME.Close
ELSE
limpiar()
TextBox1.SetFocus
Message.Error("Usuario desconocido, intente nuevamente...", "Aceptar")
ENDIF
END IF
END


PUBLIC SUB limpiar()
Button1.Enabled = FALSE
Button2.Enabled = FALSE
TextBox1.Clear
TextBox2.Clear
TextBox2.Enabled = FALSE
TextBox1.SetFocus
END


PUBLIC SUB Button2_Click()
limpiar()
END


ESTE ES EL DISEÑO DEL FORMULARIO PARA EL MENU




'Y ESTA ES LA CODIFICACION
PUBLIC SUB Inventario_Click()
FMain.Show
END

PUBLIC SUB Salir_Click()
QUIT
END

PUBLIC SUB Usuarios_Click()
newusuario.Show
END


ESTE ES EL DISEÑO DEL FORMULARIO PARA REALIZAR LAS COMPRAS


'CODIFICACION REALIZADA EN EL MMain



'CODIGO PARA REALIZAR LAS COMPRAS

PUBLIC con AS Integer
PUBLIC fil AS Integer
PUBLIC col AS Integer

PUBLIC SUB Form_Open()
Modulo.conectar
Modulo.rs = modulo.cn.Exec("select * from producto")
mostrar()
limpiar
END

'BOTON GUARDAR
PUBLIC SUB Button3_Click()

TRY Modulo.cn.Exec("insert into producto values('" & Trim(UCase(TextBox1.Text)) & "','" & Trim(UCase(TextBox2.Text)) & "','" & (TextBox3.Text) & "','" & (ValueBox1.Text) & "');")
IF ERROR THEN
Message.Error("Imposible insertar el registro")
ELSE
Message.Info("Registro insertado")
limpiar
END IF
Modulo.rs = Modulo.cn.Exec("Select * from producto")
mostrar()
END

PUBLIC SUB mostrar()
Modulo.rs.MoveFirst
IF Modulo.rs.Count > 0 THEN
GridView1.Columns.Count = 4
GridView1.Rows.Count = Modulo.rs.Count + 2
GridView1.Columns[1].Width = 30
GridView1.Columns[1].Width = 30
GridView1[0, 0].Text = "Codigo"
GridView1[0, 1].Text = "Nombre"
GridView1[0, 2].Text = "Precio Unitario"
GridView1[0, 3].Text = "Cantidad"
fil = 1
Modulo.rs.MoveFirst
'con = Modulo.rs.Count
DO WHILE Modulo.rs.Available

GridView1[fil, 0].Text = Modulo.rs["codigo"]
GridView1[fil, 1].Text = Modulo.rs["nombre"]
GridView1[fil, 2].Text = Modulo.rs["precio"]
GridView1[fil, 3].Text = Modulo.rs["cantidad"]
fil = fil + 1
Modulo.rs.MoveNext()
LOOP
ENDIF
END

'ELIMINAR COMPLETADO
PUBLIC SUB Button4_Click()
SELECT Message.Question("Desea eliminar un Producto", "Si", "No")
CASE 1
TRY Modulo.cn.Exec("Delete from producto where codigo='" & Trim(UCase(TextBox1.Text)) & "'")
IF ERROR THEN
Message.Error("Imposible borrar el registro; Ingrese numero de Registro....! ")
limpiar
ELSE
Modulo.rs = Modulo.cn.Exec("select * from producto")
mostrar()

END IF
CASE 2
Message.Info("Registro no eliminado")
limpiar
CASE 3
END SELECT
limpiar()
END

'BUSCAR COMPLETADO
PUBLIC SUB Button6_Click()
DIM ban AS Integer
Button4.Enabled = TRUE
'Button5.Enabled = TRUE
Modulo.rs = Modulo.cn.Exec("select * from producto")
DO WHILE Modulo.rs.Available

IF modulo.rs["codigo"] = Trim(UCase(TextBox1.Text)) THEN
Modulo.rs = Modulo.cn.Exec("select * from producto where codigo = '" & Trim(UCase(TextBox1.Text)) & "'")
TextBox2.Text = Modulo.rs["nombre"]
TextBox3.Text = Modulo.rs["precio"]
ValueBox1.Value = Modulo.rs["cantidad"]
ban = 1
ENDIF
MODULO.rs.MoveNext()
LOOP
IF ban = 0 THEN
Message.Error("Registro Invalido; Ingrese Registro....! ")
limpiar()
END IF
END

'MODULO LIMPIAR COMPLETADO
PUBLIC SUB limpiar()
TextBox1.Clear
TextBox2.Clear
TextBox3.Clear
TextBox3.Text = 0
ValueBox1.Clear
TextBox1.SetFocus
END


'MODIFICAR COMPLETADO
PUBLIC SUB Button5_Click()
'TRY Modulo.cn.Exec("update producto set nombre='" & Trim(UCase(TextBox2.Text)) & "',precio='" & Trim(UCase(TextBox3.Text)) & "',cantidad='" & Trim(UCase(ValueBox1.Text)) & "' where=textbox1.text ")
TRY Modulo.cn.Exec("update producto set nombre='" & Trim(TextBox2.Text) & "',precio='" & Trim(TextBox3.Text) & "',cantidad='" & Trim(ValueBox1.Text) & "' where=textbox1.text ")
IF ERROR THEN
Message.Error("Imposible actualizar el registro")
ELSE
Message.Info("Registro actualizado")
END IF
mostrar
LIMPIAR
END



'finalizar
PUBLIC SUB TextBox2_KeyPress()

IF Key.Code = 65293 THEN
IF TextBox2.Text = "" THEN
Message.Info("Ingrese nombre del producto..")
TextBox2.SetFocus
ELSE
TextBox3.SetFocus
ENDIF
ENDIF
END

PUBLIC SUB TextBox1_KeyPress()

IF Key.Code = 65293 THEN
IF TextBox1.Text = "" THEN
Message.Info("Ingrese codigo del producto")
TextBox1.SetFocus
ELSE
TextBox2.SetFocus
ENDIF
ENDIF
END



'LIMPIAR COMPLETO
PUBLIC SUB Button2_Click()
limpiar()
END

PUBLIC SUB GridView1_DblClick()
IF GridView1.Current = NULL THEN RETURN
SELECT Message.Question("Desea eliminar un Producto", "Si", "No", "Ayuda")
CASE 1
TRY Modulo.cn.Exec("Delete from producto where codigo='" & Trim(UCase(GridView1.Current.Text)) & "'")
IF ERROR THEN
Message.Error("Imposible borrar el registro")
ELSE
Modulo.rs = Modulo.cn.Exec("select * from producto")
mostrar()

END IF
CASE 2
Message.Info("Registro no eliminado")
CASE 3
END SELECT
GridView1.Columns.Width = 100
END

PUBLIC SUB Button1_Click()
'Message("finalizando")
FMain.Hide

menuprincipal.Show

'QUIT

END


PUBLIC SUB TextBox3_KeyPress()
IF Key.Code = 65293 THEN
IF TextBox3.Text = "" THEN
Message.Info("Ingrese nombre del producto..")
TextBox3.SetFocus
ELSE
ValueBox1.SetFocus
ENDIF
ENDIF
END



'ESTE ES EL DISEÑO PARA EL FORMULARIO CREACION DE USUARIOS



ESTE ES EL CODIGO DEL FORMULARIO COMPRAS DE USUARIO

' Gambas class file
PUBLIC con AS Integer
PUBLIC fil AS Integer
PUBLIC col AS Integer

PUBLIC SUB Form_Open()
Modulo.conectar
Modulo.rs = modulo.cn.Exec("select * from claves")
mostrar()
limpiar
END

PUBLIC SUB Button1_Click()
limpiar
END

'BOTON GUARDAR
PUBLIC SUB Button2_Click()
DIM id AS Integer

'Modulo.rs = Modulo.cn.Exec("select * from claves")
'DO WHILE Modulo.rs.Available

'IF modulo.rs["idclave"] = Trim(UCase(TextBox1.Text)) THEN
'Modulo.rs = Modulo.cn.Exec("select * from claves where idclave = '" & Trim(UCase(TextBox1.Text)) & "'")
'id = modulo.rs

IF id = TextBox1.Text THEN
Message("ingrese un idcliente que no exista")
limpiar
ELSE
TRY Modulo.cn.Exec("insert into claves values('" & Trim(TextBox1.Text) & "','" & Trim(TextBox2.Text) & "','" & Trim(TextBox3.Text) & "');")

IF ERROR THEN
Message.Error("Imposible insertar el registro")
ELSE
Message.Info("Registro insertado")
limpiar
END IF
Modulo.rs = Modulo.cn.Exec("Select * from claves")
mostrar()
ENDIF
'ban = 1
'ENDIF
'MODULO.rs.MoveNext()
'LOOP

END

PUBLIC SUB limpiar()
TextBox1.Clear
TextBox2.Clear
TextBox3.Clear
TextBox1.Enabled = TRUE
TextBox2.Enabled = TRUE
TextBox3.Enabled = TRUE
Button2.Enabled = FALSE
Button4.Enabled = FALSE
Button7.Enabled = FALSE
TextBox1.SetFocus
END


PUBLIC SUB mostrar()
Modulo.rs.MoveFirst
IF Modulo.rs.Count > 0 THEN
GridView1.Columns.Count = 3
GridView1.Rows.Count = Modulo.rs.Count + 2
GridView1.Columns[1].Width = 30
GridView1.Columns[1].Width = 30
GridView1[0, 0].Text = "idclave"
GridView1[0, 1].Text = "usuario"
GridView1[0, 2].Text = "contrasena"
fil = 1
Modulo.rs.MoveFirst
'con = Modulo.rs.Count
DO WHILE Modulo.rs.Available
GridView1[fil, 0].Text = Modulo.rs["idclave"]
GridView1[fil, 1].Text = Modulo.rs["usuario"]
GridView1[fil, 2].Text = Modulo.rs["contrasena"]
fil = fil + 1
Modulo.rs.MoveNext()
LOOP
ENDIF
END

'eliminar
PUBLIC SUB Button4_Click()
SELECT Message.Question("Desea eliminar el usuario ", "Si", "No")
CASE 1
TRY Modulo.cn.Exec("Delete from claves where usuario='" & Trim(UCase(TextBox2.Text)) & "'")
IF ERROR THEN
Message.Error("Imposible borrar el registro; Ingrese nombre del usuario....! ")
limpiar
ELSE
Modulo.rs = Modulo.cn.Exec("select * from claves")
mostrar()
END IF
CASE 2
Message.Info("Registro no eliminado")
limpiar
CASE 3
END SELECT
limpiar()
Button2.Enabled = FALSE
Button4.Enabled = FALSE
Button7.Enabled = FALSE
END

'buscar
PUBLIC SUB Button5_Click()
DIM ban AS Integer
GridView1.Visible = TRUE
Button7.Enabled = TRUE
Button4.Enabled = TRUE
Message("Ingrese Id de Usuario..")
TextBox1.SetFocus
Modulo.rs = Modulo.cn.Exec("select * from claves")
DO WHILE Modulo.rs.Available
IF modulo.rs["idclave"] = Trim(UCase(TextBox1.Text)) THEN
Modulo.rs = Modulo.cn.Exec("select * from claves where idclave = '" & Trim(UCase(TextBox1.Text)) & "'")
TextBox1.Text = Modulo.rs["idclave"]
TextBox2.Text = Modulo.rs["usuario"]
TextBox3.Text = Modulo.rs["contrasena"]
TextBox1.Enabled = FALSE
TextBox2.Enabled = FALSE
TextBox3.Enabled = FALSE
'TextBox3.Text = Modulo.rs["precio"]
ban = 1
ENDIF
MODULO.rs.MoveNext()
LOOP
IF ban = 0 THEN
Message.Error("Registro Invalido; Ingrese Registro....! ")
limpiar()
END IF
END

PUBLIC SUB Button6_Click()
QUIT
END

PUBLIC SUB TextBox2_KeyPress()
'DIM t AS Integer
't = Len(TextBox2.Text)

' IF t < 6 THEN
'IF TextBox2_Change = "32" THEN
Button2.Enabled = TRUE
'Button2.SetFocus
END

PUBLIC SUB TextBox1_KeyPress()
'IF TextBox1.Text <> "" THEN
'TextBox2.SetFocus
'ELSE
'message.Info(" ingrese registrio ")
'TextBox1.Text = ""
'TextBox1.SetFocus
'ENDIF
END

PUBLIC SUB Button7_Click()
Button4.Enabled = TRUE
TextBox1.Enabled = TRUE
TextBox2.Enabled = TRUE
TextBox3.Enabled = TRUE
END

MUESTRA EL FACTORIAL DE UN NUMERO Y ADEMAS UN NOMBRE INGRESADO LETRA POR LETRA UTILIZANDO LA INSTRUCCION LEN(PARA EXTRAER EL TAMAÑO DE LA CADENA Y REA

'MUESTRA EL FACTORIAL DE UN NUMERO
PUBLIC SUB Main()
DIM nombre, res AS String
DIM f, l, i AS Integer
f = 1
FOR i = 2 TO 5
f = f * i
NEXT
PRINT "el factorial de 5 es ", f

'MUESTRA EL NOMBRE INGRESADO LETRA POR LETRA
PRINT "Ingrese nombre "
INPUT nombre
l = Len(nombre)
PRINT "\n"
PRINT "El resultado es:"
FOR i = 1 TO l
res = Mid(nombre, i, 1)
PRINT res
NEXT
END

INGRESA TRES NUMEROS Y MUESTRA EL VALOR MAYOR, EL INTERMEDIO Y EL VALOR MENOR DE LOS VALORES INGRESADOS.

EJERCICIO PARA DETERMINAR DE TRES VALORES INGRESADOS EL MAYOR, EL INTERMEDIO Y EL MENOR.

PUBLIC SUB Main()

DIM a, b, c AS Integer
INPUT a
PRINT "Ingrese el Primer Valor", a
INPUT b
PRINT "Ingrese el Segundo Valor", b
INPUT c
PRINT "Ingrese el Tercer Valor", c


IF (a > b) AND (a > c) THEN
IF b > c THEN
PRINT "El mayor valor ingresado es: ", a
PRINT "El intermedio valor ingresado es: ", b
PRINT "El menor valor ingresado es: ", c
ELSE
PRINT "El mayor valor ingresado es: ", a
PRINT "El intermedio valor ingresado es: ", c
PRINT "El menor valor ingresado es: ", b
ENDIF
ENDIF


IF b > a AND b > c THEN
IF a > c THEN
PRINT "El mayor es: ", b
PRINT "El intermedio es: ", a
PRINT "El menor es: ", c
ELSE
PRINT "El mayor valor ingresado es: ", b
PRINT "El intermedio valor ingresado es: ", c
PRINT "El menor valor ingresado es: ", a
ENDIF
ENDIF


IF c > b AND c > a THEN
IF a > b THEN
PRINT "El mayor valor ingresado es: ", c
PRINT "El intermedio valor ingresado es: ", a
PRINT "El menor valor ingresado es: ", b
ELSE
PRINT "El mayor : ", c
PRINT "El intermedio es: ", b
PRINT "El menor es: ", a
ENDIF
ENDIF
END

EJERCICIO DE EJEMPLO DE MATRICULA

'EJEMPLO DE MATRICULA BASADO EN FUNCIONES

PUBLIC SUB Main()
DIM matr AS matricula
DIM nom AS String
DIM nmatri AS Integer
DIM parc1, parc2, parc3 AS Integer
matr = NEW matricula
'mat.matri(Now)

PRINT "La fecha de matricula es.....:", matr.matri()
PRINT "Ingrese nombre..."
INPUT nom
matr.PoneNombre(nom)

PRINT "Ingrese numero de matricula..:"
INPUT nmatri
matr.PoneApellido("MOREIRA")
'PRINT "la fecha de matricula es..", mat.Ponefecha("18/12/1992")
matr.PoneCurso("5 B Sistemas")
matr.PoneSeccion("Nocturno")

' FUNCIONES...."
PRINT "El nombre completo es....", matr.NombreCompleto()
PRINT "Curso : ", matr.Cursoactual()
PRINT "Seccion : ", matr.Seccionactual()

'INGRESOS
PRINT "Ingrese primer parcial...."
INPUT parc1
matr.Poneparcial1(parc1)

PRINT "Ingrese segundo parcial...."
INPUT parc2
matr.Poneparcial2(parc2)

PRINT "Ingrese tercer parcial...."
INPUT parc3
matr.Poneparcial3(parc3)

PRINT "El promedio es...", matr.promedio()
matr.equiv(parc1, parc2, parc3)
END

FUNCIONES DEL EJERCICIO PARA RECIBIR LOS VALORES INGRESADOS Y REALIZAR LAS OPERACIONES

PRIVATE Nombre AS String
PRIVATE Apellido AS String
PRIVATE Curso AS String
PRIVATE Seccion AS String
PRIVATE Fmatricula AS Integer
PRIVATE parcial1 AS Single
PRIVATE parcial2 AS Single
PRIVATE parcial3 AS Single

PUBLIC SUB PoneNombre(cadena AS String)
Nombre = cadena
END
PUBLIC SUB PoneApellido(cadena AS String)
Apellido = cadena
END

PUBLIC FUNCTION NombreCompleto() AS String
RETURN Nombre & " " & Apellido
END

PUBLIC SUB Ponefecha(fecha AS Date)
Fmatricula = Year(fecha)
END

PUBLIC FUNCTION matri() AS Integer
RETURN Year(Now)
END

PUBLIC SUB PoneCurso(cadena AS String)
Curso = cadena
END

PUBLIC FUNCTION Cursoactual() AS String
RETURN Curso
END

PUBLIC SUB PoneSeccion(cadena AS String)
Seccion = cadena
END

PUBLIC FUNCTION Seccionactual() AS String
RETURN Seccion
END

PUBLIC SUB Poneparcial1(numero AS Integer)
parcial1 = numero
END

PUBLIC SUB Poneparcial2(numero AS Integer)
parcial2 = numero
END

PUBLIC SUB Poneparcial3(numero AS Integer)
parcial3 = numero
END

PUBLIC FUNCTION promedio() AS Single
RETURN (parcial1 + parcial2 + parcial3) / 3
END

PUBLIC FUNCTION equiv(parcial1 AS Integer, parcial2 AS Integer, parcial3 AS Integer) AS Integer
DIM tp AS Integer
PRINT "La Equivalencia es : "
tp = (parcial1 + parcial2 + parcial3) / 3
IF (tp > 0) AND (tp < 7) OR (tp = 0) THEN
PRINT "Insuficiente"
ELSE
IF tp = 7 THEN
PRINT "Buena"
ELSE
IF (tp = 8) OR (tp = 9) THEN
PRINT "Muy buena"
ELSE
IF tp = 10 THEN
PRINT "Sobresaliente"
ENDIF
ENDIF
ENDIF
ENDIF
END
PUBLIC SUB Main()
DIM a, b AS Integer
PRINT "Valor 1: "
INPUT a
PRINT "Valor 2: "
INPUT b
PRINT "La suma de los valores es :", opera(a, b)
PRINT "La resta de los valores es :", resta(a, b)
PRINT "La multiplicacion de los valores es :", multi(a, b)
PRINT "La division de los valores es :", divi(a, b)
END

ESTAS SON LAS FUNCIONES PARA QUE RECIBEN LOS VALORES INGRESADOS LOS TOMA Y CADA FUNCION DEVUELVE LOS VALORES CORRESPONDIENTE DE LA SUMA, RESTA, MULTIPLICACION, DIVISION......

PUBLIC FUNCTION opera(v1 AS Integer, v2 AS Integer) AS Integer
DIM su AS Integer
su = v1 + v2
RETURN su
END

PUBLIC FUNCTION resta(v1 AS Integer, v2 AS Integer) AS Integer
DIM re AS Integer
re = v1 - v2
RETURN re
END

PUBLIC FUNCTION multi(v1 AS Integer, v2 AS Integer) AS Integer
DIM mu AS Integer
mu = v1 * v2
RETURN mu
END

PUBLIC FUNCTION divi(v1 AS Integer, v2 AS Integer) AS Single
DIM di AS Single
di = v1 / v2
RETURN di
END

AL EJECUTAR Y INGRESAR DATOS TE DARA LOS SIGUIENTES RESULTADOS

Valor 1:
2
Valor 2:
5
La suma de los valores es : 7
La resta de los valores es : -3
La multiplicacion de los valores es : 10
La division de los valores es : 0,40000000596

PORCENTAJE DE PRODUCTOS DE EXPORTACION

ESTE EJERCICIO PERMITE VISUALIZAR EL TOTAL DE QUINTALES INGRESADOS ENTRE CAFE, CACAO Y MAIZ ADEMAS EL PORCENTAJE DE CADA UNO DE ELLOS

' El Ecuador Exporta cafe, cacao y maiz en qq, Encontrar el Total de Quintales Exportados y el
porcentaje de cada producto exportado
PUBLIC SUB Main()
DIM c, cc, m, s, p1, p2, p3 AS Integer
PRINT "Ingrese Quintales de Cafe ..... :", c
INPUT c
PRINT "Ingrese Quintales de Cacao .... :", cc
INPUT cc
PRINT "Ingrese Quintales de Maiz ..... :", m
INPUT m

'INPUT c, cc, m
s = c + cc + m
p1 = (c * 100) / s
p2 = (cc * 100) / s
p3 = (m * 100) / s
PRINT "El total de quintales es ... : " & Str(s) & " entre cafe, cacao y maiz"
PRINT "El porcentaje de cafe es .... : " & Str(p1) & ""
PRINT "El porcentaje de cacao es ... : " & Str(p2) & ""
PRINT "El porcentaje de Maiz es .... : " & Str(p3) & ""
END

PROMEDIO Y EQUIVALENCIA

ESTE EJECICIO PERMITE EL CALCULO DE PROMEDIO DE TRES NOTAS INGRESADAS ADEMAS LA EQUIVALENCIA DE CADA PROMEDIO ENCONTRADO: AÑO APROBADO O ARRASTRE. UTILIZANDO LLAMADA A CADA FUNCION MODULO1.SUMA Y MODULO1.PROME PARA LA REALIZACION DE LAS OPERACIONES:

CODIFICACION EN EL MMain.


' Gambas module file
' Ingresar 3 (notas) parciales calcular la suma y el promedio, si aprueba, o se queda a recuperacion o no aprueba la materia
'ademas la equivalencia segun la siguiente: 10 sobresaliente, 9-8 muy buena, 7 buena, 6-1 insuficiente

PUBLIC SUB Main()
DIM p1, p2, p3, sum AS Integer
PRINT "Ingrese NOta 1 :"
INPUT p1
PRINT "Ingrese NOta 2 :"
INPUT p2
PRINT "Ingrese NOta 3 :"
INPUT p3

PRINT "suma ", Module1.suma(p1, p2, p3)
PRINT "Promedio", Module1.prome(p1, p2, p3)
PRINT "\n"
Module1.equiv(p1, p2, p3)
PRINT "\n"
Module1.obser(p1, p2, p3)

END

DANDO CLIC DERECHO EN MMain ESCOJEMOS MODULO1 PARA CREAR LAS FUNCIONES PARA CADA LLAMADA

'FUNCION SUMA OBIAMENTE PARA REALIZAR LA SUMA
PUBLIC FUNCTION suma(v1 AS Integer, v2 AS Integer, v3 AS Integer) AS Integer
DIM res AS Integer
res = v1 + v2 + v3
RETURN res
END

'FUNCION PROMEDIO PARA CALCULAR EL PROMEDIO
PUBLIC FUNCTION prome(v1 AS Integer, v2 AS Integer, v3 AS Integer) AS Single
DIM pr AS Single
pr = (v1 + v2 + v3) / 3
RETURN pr
END

'FUNCION EQUIVALENCIA PARA DAR A CONOCER LA NOTA
PUBLIC FUNCTION equiv(v1 AS Integer, v2 AS Integer, v3 AS Integer) AS Integer
DIM tp AS Integer
PRINT "La Equivalencia es : "
tp = (v1 + v2 + v3) / 3
IF (tp > 0) AND (tp < 7) OR (tp = 0) THEN
PRINT "Insuficiente"
ELSE
IF tp = 7 THEN
PRINT "Buena"
ELSE
IF (tp = 8) OR (tp = 9) THEN
PRINT "Muy buena"
ELSE
IF tp = 10 THEN
PRINT "Sobresaliente"
ENDIF
ENDIF
ENDIF
ENDIF
END

'FUNCION OBSERVACION SIRVE PARA SABER SI APRUEVA O SE QUEDA CON ARRASTRE.
PUBLIC FUNCTION obser(v1 AS Integer, v2 AS Integer, v3 AS Integer) AS Integer
DIM totp AS Integer
PRINT "Observacion :"
totp = (v1 + v2 + v3) / 3
IF (totp > 6) AND (totp < 11) THEN
PRINT " AÑO APROBADO"
ELSE
IF (totp < 7) AND (totp > 0) OR (totp = 0) THEN
PRINT "ARASTRE"
ENDIF
ENDIF
END

CALCULADORA

ESTE EJERCICIO TE PERMITE MOSTRAR EL FORMATO DE UNA CALCULADORA COMPLETA
Y LO MÁS IMPORTANTE PODRAS CONOCER Y APRENDER L CODIGO PARA CONVERTIR UN NUMERO A OPTAL, HEXADECIMAL Y OPERACIONES COMO SUMA , RESTA, MULTIPLICACION, DIVICION ADEMAS SENO (SIN), COSENO (COS), Y TANGENTE(TAN).



OJO ADEMAS CON APOSTROFE ESTA INDICANDO PARA QUE SIRVE CADA CODIFICACION:

' Gambas class file
PUBLIC ban AS Integer
PUBLIC aux1 AS Integer
PUBLIC aux2 AS Integer

PUBLIC SUB Button16_Click()
ME.Close
END

'ASIGNACION DE NUMEROS A LOS BUTTON
PUBLIC SUB Button1_Click()
VISOR.Text = VISOR.Text & "1"
END

PUBLIC SUB Button2_Click()
VISOR.Text = VISOR.Text & "2"
END

PUBLIC SUB Button3_Click()
VISOR.Text = VISOR.Text & "3"
END

PUBLIC SUB Button4_Click()
VISOR.Text = VISOR.Text & "4"
END

PUBLIC SUB Button5_Click()
VISOR.Text = VISOR.Text & "5"
END

PUBLIC SUB Button6_Click()
VISOR.Text = VISOR.Text & "6"
END

PUBLIC SUB Button7_Click()
VISOR.Text = VISOR.Text & "7"
END

PUBLIC SUB Button8_Click()
VISOR.Text = VISOR.Text & "8"
END

PUBLIC SUB Button9_Click()
VISOR.Text = VISOR.Text & "9"
END

PUBLIC SUB Button10_Click()
VISOR.Text = VISOR.Text & "0"
END

PUBLIC SUB Button11_Click()
VISOR.Text = VISOR.Text & "."
END

PUBLIC SUB Button17_Click()
VISOR.Clear
END

'suma
PUBLIC SUB Button12_Click()
ban = 1
IF VISOR.Text <> 0 THEN
aux1 = VISOR.Text
ELSE
aux1 = 0
ENDIF
VISOR.Clear
END

'resta
PUBLIC SUB Button13_Click()
ban = 2
IF VISOR.text <> 0 THEN
aux1 = VISOR.Text
ELSE
aux1 = 0
ENDIF
VISOR.Clear
END

'multiplicacion
PUBLIC SUB Button14_Click()
ban = 3
IF VISOR.Text <> 0 THEN
aux1 = VISOR.Text
ELSE
aux1 = 0
ENDIF
VISOR.Clear
END

'Division
PUBLIC SUB Button15_Click()
ban = 4
IF VISOR.Text <> 0 THEN
aux1 = VISOR.Text
ELSE
aux1 = 0
ENDIF
VISOR.Clear
END

'x2
PUBLIC SUB Button19_Click()
ban = 5
IF VISOR.Text <> 0 THEN
aux1 = VISOR.Text
ELSE
aux1 = 0
ENDIF
END

'Igual
PUBLIC SUB Button18_Click()
IF VISOR.Text <> 0 THEN
aux2 = VISOR.Text
ELSE
aux2 = 0
ENDIF
VISOR.Text = operaciones(ban, aux1, aux2)
END

'FUNCIONES PARA LAS OPERACIONES DE LA CALCULADORA
PUBLIC FUNCTION operaciones(opera AS Float, v1 AS Float, v2 AS Float) AS Float
DIM respuesta AS Float
SELECT CASE opera
CASE 1
respuesta = v1 + v2
CASE 2
respuesta = v1 - v2
CASE 3
respuesta = v1 * v2
CASE 4
respuesta = v1 / v2
CASE 5
respuesta = v1 * v1
'x3
CASE 6
respuesta = v1 * v1 * v1
'xn
CASE 7
IF VISOR.Text <> "" THEN

' respuesta =
ENDIF
'1/x
CASE 8
'octal
CASE 9
respuesta = v1
END SELECT
RETURN respuesta

END

PUBLIC SUB VISOR_KeyPress()
END

'X3
PUBLIC SUB Button20_Click()
ban = 6
IF VISOR.Text <> 0 THEN
aux1 = VISOR.Text
ELSE
aux1 = 0
ENDIF
END

'Xn
PUBLIC SUB Button21_Click()
ban = 7
IF VISOR.Text <> 0 THEN
aux1 = VISOR.Text
ELSE
aux1 = 0
ENDIF


END
'hexadecimal
PUBLIC SUB Button33_Click()
DIM n, i, x1, x2 AS Integer
DIM cadena, cadena2 AS String
n = visor.Text
WHILE n > 0
x1 = (Int(n / 16))
x2 = n MOD 16
IF x2 < 10 THEN
cadena = cadena & Str(x2)
ELSE IF x2 = 10 THEN
cadena = cadena & "A"
ELSE IF X2 = 11 THEN
cadena = cadena & "B"
ELSE IF x2 = 12 THEN
cadena = cadena & "C"
ELSE IF X2 = 13 THEN
cadena = cadena & "D"
ELSE IF x2 = 14 THEN
cadena = cadena & "E"
ELSE IF X2 = 15 THEN
cadena = cadena & "F"
ENDIF
n = x1
WEND
FOR i = Len(cadena) TO 1 STEP -1
cadena2 = cadena2 & Mid(cadena, i, 1)
NEXT
visor.Text = cadena2
'Message("pulse aceptar para continuar..", "Aceptar")
END

PUBLIC SUB Button24_Click()
DIM ra AS Float
ra = Rad(VISOR.Text)
VISOR.Text = Cos(ra)
END

PUBLIC SUB Button25_Click()
DIM ra AS Float
ra = Rad(VISOR.Text)
VISOR.Text = Tan(ra)

END

PUBLIC SUB Button23_Click()
DIM ra AS Float
ra = Rad(VISOR.Text)
VISOR.Text = Sin(ra)
END

'1/x
PUBLIC SUB Button22_Click()
ban = 8
IF VISOR.Text <> 0 THEN
aux1 = VISOR.Text
ELSE
aux1 = 0
ENDIF

END

'Optal
PUBLIC SUB Button32_Click()
ban = 9
IF VISOR.Text <> 0 THEN
aux1 = VISOR.Text
ELSE
aux1 = 0
ENDIF
END

OPERACION FACTORIAL

ESTE EJERCICIO ES PARA REALIZAR UNA OPERACION FACTORIAL

Nota: Este ejercicio esta realizado con un ciclo for next para optimizar de una manera efectiva este proceso.........

PUBLIC SUB Main()
DIM nombre, res AS String
DIM f, l, i AS Integer
f = 1
FOR i = 2 TO 5
f = f * i
NEXT
PRINT "el factorial de 5 es ", f

PRINT "Ingrese nombre "
INPUT nombre
l = Len(nombre)
PRINT "\n"
PRINT "El resultado es:"
FOR i = 1 TO l
res = Mid(nombre, i, 1)
PRINT res
NEXT

nota: esperando que con estas instrucciones le sirva de guia para practica y desarrollo de un gran proyecto a medida que vas practicando y conociendo mas del programa y desarrollando la logica....

CODIGO DE LA "OPERACION SUMA" LLAMANDO A LA CLASE MEDIANTE FUNCIONES

EJERCICIO DE LAS OPERACIONES SUMA, RESTA, MULTIPLICACION REALIZADO CON FUNCION EN LA CLASE

Nota: Al dentrar en gambas con doble clic, luego clic en:
Nuevo Proyecto, luego Aplicacion de consola escojer el directorio (carpeta) luego siguiente y Programar o Ingresar el codigo. (Programacion).


CODIGO DE INICIO DANDO DOBLE CLIC EN EL MODULO MMain

PUBLIC SUB Main()

DIM operac AS operaciones
DIM num1, num2 AS Integer

operac = NEW operaciones

PRINT "Ingrese primer numero..."
INPUT num1
PRINT "Ingrese segundo numero..."
INPUT num2

operac.asignumero(num1, num2)
operac.sumarestmult(num1, num2)

END

LLAMADA DE LA CLASE DANDO CLIC DERECHO NUEVO Y CLIC EN CLASE

PRIVATE num1 AS Integer
PRIVATE num2 AS Integer

PUBLIC SUB asignumero(nume1 AS Integer, nume2 AS Integer)
num1 = nume1
num2 = nume2

END

PUBLIC FUNCTION sumarestmult(num1 AS Integer, num2 AS Integer)
DIM s1, r1, m1 AS Integer

s1 = num1 + num2
r1 = num1 - num2
m1 = num1 * num2

PRINT "la suma es :", s1
PRINT "la resta es :", r1
PRINT "la Multiplicacion es :", m1

END

viernes, 25 de septiembre de 2009

jueves, 24 de septiembre de 2009

martes, 22 de septiembre de 2009

SISTEMA DE INFORMACION Y TICS


En el racó he colgado también el documento titulado “Aplicaciones TIC para la Empresa. Productos, soluciones, servicios TIC para la empresa” (E3 SIS.pdf). Su lectura cubre los objetivos básicos del tema de Sistemas y TIC en la Empresa, haciendo un repaso, no exhaustivo, por los diferentes tipos de herramientas TICs con las que las empresas pueden construir sus sistemas de información con la intención de:
• cubrir satisfactoriamente las necesidades crecientes de procesar información de la empresa y sus partners (proveedores, clientes, …) y convertirla en inteligencia de negocio
• mejorar costes y aumentar la eficiencia de sus procesos
• innovar mediante su aplicación a los procesos intra-empresa y entre-empresas
• alterar la cadena de valor, des-intermediar, buscar nuevas fórmulas de intermediación
• desarrollar ventajas competitivas- innovar mediante la creación de nuevos servicios para el cliente
• innovar mediante la creación de nuevos modelos de negocio
• etc.
Y la lista seguiría y animo a que con vuestros comentarios la ampliéis. Igualmente, la lista de tecnologías y servicios basados en la tecnología que están disponibles para las empresas no se acaba con los que se mencionan en el documento y también os animo a contribuir en vuestros comentarios:
• Administración abierta: servicios de base tecnológica para relacionarse con la Administración
Banca electrónica: servicios de base tecnológica para relacionarse con la Banca
ERP Enterprise Resource Planning: software, el corazón de todo sistema de información empresarial
• CRM Customer Relationship Management: software, el sistema de información para mejorar los procesos de relación con los clientes
SCM Supply Chain Management: software: el sistema de información para mejorar los procesos de relación con los proveedores
MRP II Manufacturing Resource Planning: software, la extensión del ERP para gestionar la producción y, en parte, la logística de aprovisionamiento y distribución
eLearning: software y servicios de base tecnológica al servicio de la formación de los empleados más eficiente
Knowledge Management: software al servicio del aprovechamiento de la inteligencia colectiva -empleados, partners, clientes, …- en beneficio del negocio
EIS Executive Information Systems / Decisión Support Systems: software, a menudo módulos o extensiones de ERPs, para asistir a los directivos a ejercer las funciones de control y de toma de decisiones con un manejo más eficiente de la información
B2E Portales del empleado o intranet corporativa: software para proporcionar servicios a los empleados y distribuir comunicación e información, sirven también de substrato sobre el que ofrecer e-learning, KM, EIS, etc.
Business Intelligence: software al servicio del aprovechamiento de los crecientes volúmenes de datos que la empresa acumula para descubrir relaciones y patrones susceptibles de ser aplicados a la mejora del negocio
Marco Legal de las TIC en la empresa (LOPD, LSSI): por último se hacen breves referencias a la legislación que todo profesional de las TIC debe conocer mínimamente
Hay seguramente algunas ausencias, por ejemplo, lo relacionado con seguridad, con las nuevas formas de hacer marketing, ampliar el tema de eCommerce que queda enmascarado entre ERPs y CRMs, teletrabajo y coworking, etc. Pero es más que suficiente para tener una visión panorámica de lo que las TICs pueden ofrecer hoy día a las empresas.

Frenos a la expansión de las TIC

Las TIC, fruto del desarrollo científico, influyen a su vez en su evolución, contribuyendo al desarrollo socioeconómico y modificando el sistema de valores vigente. Aunque, como dice Sáez Vacas (1995), "la tecnología cambia rápidamente hasta la forma como vivimos, pero en cambio nuestras propias concepciones del mundo se modifican con pereza".

Por otra parte, aún queda camino por recorrer hasta que las TIC constituyan un instrumento "convivencial" en el sentido que lo enuncia Ivan Illich: instrumento que se puede manipular sin dificultad, no constituye el monopolio de una única clase de profesionales, respeta la autonomía personal y no degrada el entorno físico (p.e. el teléfono)
No obstante, a pesar de estas magníficas credenciales que hacen de las TIC instrumentos altamente útiles para cualquier persona, y por supuesto imprescindibles para toda empresa, existen diversas circunstancias que dificultan su más amplia difusión entre todas las actividades y capas sociales:

Problemáticas técnicas: incompatibilidades entre diversos tipos de ordenador y sistemas operativos, el ancho de banda disponible para Internet (insuficiente aún para navegar con rapidez y visualizar vídeo de calidad on-line), la velocidad aún insuficiente de los procesadores para realizar algunas tareas (reconocimiento de voz perfeccionado, traductores automáticos...)

Falta de formación: la necesidad de unos conocimientos teóricos y prácticos que todas las personas deben aprender, la necesidad de aptitudes y actitudes favorables a la utilización de estas nuevas herramientas (alfabetización en TIC).

Problemas de seguridad: Circunstancias como el riesgo de que se produzcan accesos no autorizados a los ordenadores de las empresas que están conectados a Internet y el posible robo de los códigos de las tarjetas de crédito al comprar en las tiendas virtuales, frena la expansión del comercio electrónico y de un mayor aprovechamiento de las posibilidades de la Red.

Barreras económicas: A pesar del progresivo abaratamiento de los equipos y programas informáticos, su precio aún resulta prohibitivo para muchas familias. Además, su rápido proceso de obsolescencia aconseja la renovación de los equipos y programas cada cuatro o cinco años.

Barreras culturales:
el idioma dominante, el inglés, en el que vienen muchas referencias e informaciones de Internet (hay muchas personas no lo conocen); la tradición en el uso de instrumentos tecnológicos avanzados (inexistente en muchos países poco desarrollados), etc.

APORTACIONES A LAS TICS




LAS GRANDES APORTACIONES DE LAS TIC

Las Tecnologías de la Información y las Comunicación (TIC) son incuestionables y están ahí, forman parte de la cultura tecnológica que nos rodea y con la que debemos convivir. Amplían nuestras capacidades físicas y mentales. Y las posibilidades de desarrollo social.

Incluimos en el concepto TIC no solamente la informática y sus tecnologías asociadas, telemática y multimedia, sino también los medios de comunicación de todo tipo: los medios de comunicación social ("mass media") y los medios de comunicación interpersonales tradicionales con soporte tecnológico como el teléfono, fax...


LAS TIC CONFIGURAN LA SOCIEDAD DE LA INFORMACIÓN. El uso extensivo y cada vez más integrado (en los mismos aparatos y códigos) de las TIC es una característica y factor de cambio de nuestra sociedad actual.
Sus principales aportaciones a las actividades humanas se concretan en una serie de funciones que nos facilitan la realización de nuestros trabajos porque, sean éstos los que sean, siempre requieren una cierta información para realizarlo, un determinado proceso de datos y a menudo también la comunicación con otras personas; y esto es precisamente lo que nos ofrecen las TIC.

lunes, 14 de septiembre de 2009

¿QUE ES LA FIRMA DIGITAL?


Firma digital
La firma digital hace referencia, en la transmisión de mensajes telemáticos y en la gestión de documentos electrónicos, a un método criptográfico que asocia la identidad de una persona o de un equipo informático al mensaje o documento. En función del tipo de firma, puede, además, asegurar la integridad del documento o mensaje.
La firma electrónica, como la firma ológrafa (autógrafa, manuscrita), puede vincularse a un documento para identificar al autor, para señalar conformidad (o disconformidad) con el contenido, para indicar que se ha leído y,en su defecto mostrar el tipo de firma y garantizar que no se pueda modificar su contenido.

La teoría



La firma digital de un documento es el resultado de aplicar cierto algoritmo matemático, denominado función hash, a su contenido y, seguidamente, aplicar el algoritmo de firma (en el que se emplea una clave privada) al resultado de la operación anterior, generando la firma electrónica o digital. El software de firma digital debe además efectuar varias validaciones, entre las cuales podemos mencionar:
• Vigencia del certificado digital del firmante,
• Revocación del certificado digital del firmante (puede ser por OCSP o CRL),
• Inclusión de sello de tiempo.
La función hash es un algoritmo matemático que permite calcular un valor resumen de los datos a ser firmados digitalmente.

Las posibilidades de red
Para que sea de utilidad, la función hash debe satisfacer dos importantes requisitos. Primero, debe ser difícil encontrar dos documentos cuyo valor para la función "hash" sea idéntico. Segundo, dado uno de estos valores, debe ser imposible producir un documento con sentido que de lugar a ese "hash".
Existen funciones "hash" específicamente designadas para satisfacer estas dos importantes propiedades. SHA y MD5 son dos ejemplos de este tipo de algoritmos.
Algunos sistemas de cifrado de clave pública se pueden usar para firmar documentos. El firmante cifra el "hash" calculado de un documento con su clave privada y cualquiera que quiera comprobar la firma y ver el documento, no tiene más que usar la clave pública del firmante para descifrar el "hash", y comprobar que es el que corresponde al documento..
La solución
Un algoritmo efectivo debe hacer uso de un sistema de clave pública para cifrar sólo la firma. En particular, el valor "hash" se cifra mediante el uso de la clave privada del firmante, de modo que cualquiera pueda comprobar la firma usando la clave pública correspondiente. El documento firmado se puede enviar usando cualquier otro algoritmo de cifrado, o incluso ninguno si es un documento público. Si el documento se modifica, la comprobación de la firma fallará, pero esto es precisamente lo que la verificación se supone que debe descubrir.
El Digital Signature Algorithm es un algoritmo de firmado de clave pública que funciona como hemos descrito. DSA es el algoritmo principal de firmado que se usa en GnuPG.
Formato de la firma electrónica
Las normas TS 101 733 y TS 101 903 definen los formatos técnicos de la firma electrónica. La primera se basa en el formato clásico PKCS#7 y la segunda en XMLDsig firma XML especificada por el consorcio W3C.
Bajo estas normas se definen tres modalidades de firma:
• Firma básica. Incluye el resultado de operación de hash y clave privada, identificando los algoritmos utilizados y el certificado asociado a la clave privada del firmante. A su vez puede ser "attached" o "detached", "enveloped" y "enveloping"
• Firma fechada. A la firma básica se añade un sello de tiempo calculado a partir del hash del documento firmado por una TSA (Time Stamping Authority)
Firma validada o firma completa. A la firma fechada se añade información sobre la validez del certificado procedente de una consulta de CRL o de OCSP realizada a la Autoridad de Certificación.
La firma completa libera al receptor de la firma del problema de ubicar al Prestador de Servicios de Certificación y determinar los procedimientos de validación disponibles.
El marco común de firma electrónica de la Unión Europea [editar]
El mercado interior de la Unión Europea implica un espacio sin fronteras interiores en el que está garantizada la libre circulación de mercancías. Deben satisfacerse los requisitos esenciales específicos de los productos de firma electrónica a fin de garantizar la libre circulación en el mercado interior y fomentar la confianza en la firma electrónica.
En ese sentido la Directiva 1999/93/CE sienta un marco común para la firma electrónica que se concretó con la transposición de la Directiva a las diferentes legislaciones nacionales de los países miembros.

Aplicaciones
• Mensajes con autenticidad asegurada
• Mensajes sin posibilidad de repudio
• Contratos comerciales electrónicos
• Factura_Electrónica
• Desmaterialización de documentos
• Transacciones comerciales electrónicas
• Invitación electrónica
• Dinero electrónico
• Notificaciones judiciales electrónicas
• Voto electrónico
• Decretos ejecutivos (gobierno)
• Créditos de seguridad social
• Contratación pública
• Sellado de tiempo

¿QUE ES COMERCIO ELECTRONICO?

Comercio electrónico
El comercio electrónico, también conocido como e-commerce, consiste en la compra y venta de productos o de servicios a través de medios electrónicos, tales como el Internet y otras redes de ordenadores. Originalmente el término se aplicaba a la realización de transacciones mediante medios electrónicos tales como el Intercambio electrónico de datos, sin embargo con el advenimiento de la Internet y la World Wide Web a mediados de los años 90 comenzó a referirse principalmente a la venta de bienes y servicios a través de la Internet, usando como forma de pago medios electrónicos, tales como las tarjetas de crédito.
La cantidad de comercio llevada a cabo electrónicamente ha crecido extraordinariamente debido a la propagación de la Internet. Una gran variedad de comercio se realiza de esta manera, estimulando la creación y utilización de innovaciones como la transferencia de fondos electrónica, la administración de cadenas de suministro, el marketing en Internet, el procesamiento de transacciones en línea (OLTP), el intercambio electrónico de datos (EDI), los sistemas de administración del inventario, y los sistemas automatizados de recolección de datos.
La mayor parte del comercio electrónico consiste en la compra y venta de productos entre personas y empresas, sin embargo un porcentaje considerable del comercio electrónico consiste en la adquisición de artículos virtuales (software y derivados en su mayoría), tales como el acceso a contenido "premium" de un sitio web.
El comercio electrónico realizado entre empresas es llamado en inglés Business-to-business o B2B. El B2B puede estar abierto a cualquiera que esté interesado (como el intercambio de mercancías o materias primas), o estar limitado a participantes específicos pre-calificados (mercado electrónico privado).

Origen y evolución histórica
A principio de los años 1920 apareció en los Estados Unidos la venta por catálogo, impulsado por empresas mayoristas. Este sistema de venta, revolucionario para la época, consiste en un catálogo con fotos ilustrativas de los productos a vender. Este permite tener mejor llegada a las personas, ya que no hay necesidad de tener que atraer a los clientes hasta los locales de venta. Esto posibilitó a las tiendas poder llegar a tener clientes en zonas rurales, que para la época que se desarrolló dicha modalidad existía una gran masa de personas afectadas al campo. Además, otro punto importante a tener en cuenta es que los potenciales compradores pueden escoger los productos en la tranquilidad de sus hogares, sin la asistencia o presión, según sea el caso, de un vendedor. La venta por catálogo tomó mayor impulso con la aparición de las tarjetas de crédito; además de determinar un tipo de relación de mayor anonimato entre el cliente y el vendedor.
A principio de los años 1970, aparecieron las primeras relaciones comerciales que utilizaban una computadora para transmitir datos, tales como órdenes de compra y facturas. Este tipo de intercambio de información, si bien no estandarizado, trajo aparejado mejoras de los procesos de fabricación en el ámbito privado, entre empresas de un mismo sector.
A mediados de 1980, con la ayuda de la televisión, surgió una nueva forma de venta por catálogo, también llamada venta directa. De esta manera, los productos son mostrados con mayor realismo, y con la dinámica de que pueden ser exhibidos resaltando sus características. La venta directa es concretada mediante un teléfono y usualmente con pagos de tarjetas de crédito.
A finales de los años 90, con el aparición de la burbuja .com, y con la creación de sitios como eBay, el comercio a través de la Internet creció de manera considerable, teniendo un alcance que jamás se hubiera imaginado, sin embargo el final de esta burbuja marco el cierre de muchas de las compañías basadas en la Internet.
Ventajas del comercio electrónico
Ventajas para las empresas
Mejoras en la distribución: La Web ofrece a ciertos tipos de proveedores (industria del libro, servicios de información, productos digitales) la posibilidad de participar en un mercado interactivo, en el que los costos de distribución o ventas tienden a cero, como por ejemplo en la industria del software, en la que los productos pueden entregarse de inmediato, reduciendo de manera progresiva la necesidad de intermediarios.
Comunicaciones comerciales por vía electrónica: Actualmente, la mayoría de las empresas utiliza la Web para informar a los clientes sobre la compañía, aparte de sus productos o servicios, tanto mediante comunicaciones internas como con otras empresas y clientes; esto facilita las relaciones comerciales, así como el soporte al cliente, ya que al estar disponible las 24 horas del día, las empresas pueden fidelizar a sus clientes mediante un diálogo asincrónico que sucede a la conveniencia de ambas partes.
Beneficios operacionales: El uso empresarial de la Web reduce errores, tiempo y sobrecostos en el tratamiento de la información. Los proveedores disminuyen sus costos al acceder de manera interactiva a las bases de datos de oportunidades de ofertas, enviar éstas por el mismo medio, y por último, revisar de igual forma las concesiones; además, se facilita la creación de mercados y segmentos nuevos, el incremento en la generación de ventajas en las ventas, la mayor facilidad para entrar en mercados nuevos, especialmente en los geográficamente remotos, y alcanzarlos con mayor rapidez. Todo esto se debe a la capacidad de contactar de manera sencilla y a un costo menor a los clientes potenciales, eliminando demoras entre las diferentes etapas de los subprocesos empresariales.
Usos del comercio electrónico
El comercio electrónico puede utilizarse en cualquier entorno en el que se intercambien documentos entre empresas: compras o adquisiciones, finanzas, industria, transporte, salud, legislación y recolección de ingresos o impuestos. Ya existen compañías que utilizan el comercio electrónico para desarrollar los aspectos siguientes:
Creación de canales nuevos de marketing y ventas.
• Acceso interactivo a catálogos de productos, listas de precios y folletos publicitarios.
Venta directa e interactiva de productos a los clientes.
Soporte técnico ininterrumpido, permitiendo que los clientes encuentren por sí mismos, y fácilmente, respuestas a sus problemas mediante la obtención de los archivos y programas necesarios para resolverlos.
Mediante el comercio electrónico se intercambian los documentos de las actividades empresariales entre socios comerciales. Los beneficios que se obtienen en ello son: reducción del trabajo administrativo, transacciones comerciales más rápidas y precisas, acceso más fácil y rápido a la información, y reducción de la necesidad de reescribir la información en los sistemas de información.
Los tipos de actividad empresarial que podrían beneficiarse mayormente de la incorporación del comercio electrónico son:
Sistemas de reservas. Centenares de agencias dispersas utilizan una base de datos compartida para acordar transacciones.
• Stocks. Aceleración a nivel mundial de los contactos entre proveedores de stock.
Elaboración de pedidos. Posibilidad de referencia a distancia o verificación por parte de una entidad neutral.
Seguros. Facilita la captura de datos.
Empresas proveedoras de materia prima a fabricantes. Ahorro de grandes cantidades de tiempo al comunicar y presentar inmediatamente la información que intercambian.
Ejemplos de aplicaciones para comercio electrónico
• OpenXpertya es un ERP open source en español, especialmente adaptado para la legislación y el mercado español e hispanoamericano. Incluye solución de CRM y comercio electrónico a tres niveles, con soporte EDI, B2B y B2C. openXpertya es Software Libre.
• EDIWIN es un software de comunicaciones EDI multiformato (EDIFACT, XML, ODETTE, etc.) y multiprotocolo (SMTP, VAN, AS2, etc.). Permite la integración con la mayoría de ERP's del mercado y sitios Web. Desarrollado por la empresa EDICOM, está homologado para factura telemática con firma electrónica por la organización privada AECOC. Ediwin es Software privado
• Interges Online Es un sencillo programa muy eficaz para implementar comercios electrónicos de forma sencilla y rápida.
• NIC E-commerce es un software de comercio electrónico, enlatado, muy simple, completo y económico, se puede integrar con cualquier software de gestión interno de las empresas automatizando todo el proceso del comercio electrónico, desarrollado por Grupo Netcom.

domingo, 6 de septiembre de 2009

miércoles, 2 de septiembre de 2009

BIENVENIDOS A MI BLOGS.

HOLA GRACIAS POR VISITAR MI BLOGS MI NOMBRE ES DANIEL MOREIRA LE DOY LA BIENVENIDA ES USTED MUY AFORTUNADO ESTOY MUY CONTENTO YA QUE ESTA INFORMACION ES MUY IMPORTANTE YA QUE LE PUEDE CAMBIAR LA VIDA SOLO ABRE TU MENTE Y TU CORAZON Y TE PROMETO QUE NI UN SOLO MINUTO TE VAS ABURRIR PROMETIDISIMO......?

BIENVENIDOS A MI BLOGS.

BIENVENIDOS A MI BLOGS AUTOR DANIEL MOREIRA
TE FELICITO POR ENTRAR EN MI BLOGS MUCHAS GRACIAS POR EXISTIR TE PROMETO QUE NO TE VAS ABURRIR UN SOLO MINUTO, TE VA A ENCANTAR QUEDATE CONMIGO Y SIGUE PASO MA PASO ESTE BLOGS PORQUE VAS A APRENDER UNOS TICS GENIALES PARA SER UN MEJOR SER HUMANO, PARA QUE TENGAS UNA MEJOR SALUD UNA MEJOR ECONOMIA, MEJOR EDUCACION ACADEMICA, UNA MEJOR CALIDAD DE VIDA Y SOBRE TODO UN BUEN NIVEL DE ESPITITUALIDAD SIN IMPORTAR DE QUE RELIGION SEAS DE QUE RELIGION PROFESES; PROMETIDISIMO QUE ESTA INFORMACION TE VA A CAMBIAR SOLO DEPENDE DE TI QUE HABRAS TU MENTE HABRAS TU CORAZON Y ESTES DISPUESTO A APRENDER QUEDATE CONMIGO Y SIGUE PASO A PASO....?