Ubuntu
Ubuntu (AFI: /uˈbuntu/), o Ubuntu Linux, es una distribución Linux basada en Debian GNU/Linux, cuyo nombre proviene de la ideología sudafricana Ubuntu ("humanidad hacia otros")
Proporciona un sistema operativo actualizado y estable para el usuario promedio, con un fuerte enfoque en la facilidad de uso y de instalación del sistema. Al igual que otras distribuciones se compone de múltiples paquetes de software normalmente distribuidos bajo una licencia libre o de código abierto.
Ubuntu está patrocinando por Canonical Ltd., una compañía británica propiedad del empresario sudafricano Mark Shuttleworth que en vez de vender la distribución con fines lucrativos, se financia por medio de servicios vinculados al sistema operativo y vendiendo soporte técnico. Además, al mantenerlo libre y gratuito, la empresa es capaz de aprovechar el talento de los desarrolladores de la comunidad en mejorar los componentes de su sistema operativo. Canonical también apoya y proporciona soporte para tres derivaciones de Ubuntu: Kubuntu, Edubuntu y la versión de Ubuntu orientada a servidores ("Ubuntu Server Edition").
Cada seis meses se libera una nueva versión de Ubuntu la cual recibe soporte por parte de Canonical, durante dieciocho meses, por medio de actualizaciones de seguridad, parches para bugs críticos y actualizaciones menores de programas. Las versiones LTS (Long Term Support), que se liberan cada dos años, reciben soporte durante tres años en los sistemas de escritorio y cinco para la edición orientada a servidores.
Ubuntu fue seleccionado por los lectores de desktoplinux.com como una de las distribuciones más populares, llegando a alcanzar aproximadamente el 30% de las instalaciones de Linux en computadoras de escritorio tanto en 2006 como en 2007.
Gambas 2 el Visual Basic de Linux
Gambas es un lenguaje de programación libre derivado de BASIC. Es similar al producto de Microsoft Visual Basic y se distribuye con licencia GPL. Aunque desde otro punto de vista, está muy inspirado también por Java.
Permite crear formularios, botones de comando, cuadros de texto o enlazar bases de datos como MySQL, PostgreSQL o SQLite.
Es una herramienta sencilla e interesante para estudiantes, con una programación visual y gráfica. Gambas es un programa que permite crear aplicaciones de la forma mas fácil posible,
Instalación
Para tener Gambas, instalamos el paquete gambas de los repositorios oficiales de Ubuntu en el Gestor de paquetes Synaptic(requiere activar el repositorio universe).
Esto nos instalará la base para poder desarrollar sobre este lenguaje.
o
dijo: sudo apt-get install gambas2
Es más fácil y recomendable que lo hagas desde Synaptics.
Es necesario para su correcto funcionamiento instalar las librerías QT3 (las que creas convenientes usar)ejem. "libqt3-mt-dev" también desde el Synaptic.
Ejemplo de programa
Para empezar lo más sencillo es crear un «Hola mundo» (un programa sencillo que muestra, precisamente, la frase «¡Hola, mundo!» en pantalla), Gambas por el momento sólo puede instalarse en GNU/Linux y únicamente puede crear programas para este sistema operativo.
Para iniciar Gambas, ejecutamos el siguiente comando desde una terminal:
dijo: $ gambas
Para crear una programa basta con abrir un "formulario" desde la ventana proyecto. El formulario es la ventana que se abre al ejecutar el programa, donde van los botones, texto, etc.
Si quieres agregas algunas herramientas desde la ventana "herramienta", y también puedes agregar algo de código (ventana de modulo o clase). Puedes ejecutar tu programa antes de crearlo : en la ventana proyecto vas al menú proyecto, y luego presionas ejecutar.
Luego creas o compilas tu programa como .gambas (no puedes crear un .exe).
El programa creado se ejecuta desde consola, escribes:
dijo: $ ./nombredelprograma.gambas
Puedes escoger entre crearlo comprimido como .tar.gz, o empaquetado para algunas distribuciones GNU/Linux, sólo es cuestión de elegir.
para ver los ejemplos que trae y modificarlos tecleamos
dijo: sudo chmod -R 777 /usr/share/gambas2/examples
Programas realizados en Clase
1. Cédula
Código: Módulo MMain
PUBLIC SUB Main()
DIM num_cedula AS String
PRINT "INGRESE NUMERO DE CEDULA:"
INPUT num_cedula
IF cedula(num_cedula) THEN
PRINT "NUMERO DE CEDULA VALIDO"
ELSE
PRINT "NUMERO DE CEDULA INVALIDO !!!"
ENDIF
END
PUBLIC FUNCTION cedula(valor AS String) AS Boolean
DIM dv, i, a, res, m, aux, aux1, acu, d10, d3 AS Integer
DIM resul AS Boolean
d3 = Mid(valor, 3, 1)
IF d3 <>
FOR i = 1 TO 9
a = Mid(valor, i, 1)
m = i MOD 2
IF m = 1 THEN
aux = a * 2
ELSE
aux = a * 1
END IF
IF aux > 9 THEN
aux1 = aux - 9
ELSE
aux1 = aux
END IF
acu = acu + aux1
NEXT
res = acu MOD 10
IF res = 0 THEN
dv = 0
ELSE
dv = 10 - res
END IF
d10 = Mid(valor, 10, 1)
IF dv <> d10 OR valor = 0 OR valor = 2222222222 OR valor = 4444444444 OR valor = 5555555555 THEN
resul = FALSE
ELSE
resul = TRUE
END IF
ELSE
resul = FALSE
END IF
RETURN resul
END FUNCTION
2. Objetos
Código: Módulo Mmain
PUBLIC SUB Main()
'Instarciar Objetos
DIM mono AS SerVivo
DIM persona AS Hombre
DIM humano AS Hombre
DIM nom AS String
mono = NEW SerVivo
mono.nacido(CDate("2/2/1992"))
mono.PonePatas(2)
PRINT "La edad del mono es.....", mono.edad()
PRINT "Las patas del mono son...", mono.dicePatas()
persona = NEW Hombre
PRINT "Ingrese Nombre....."
INPUT nom
persona.nacido(CDate("2/18/1969"))
persona.PoneNombre(nom)
persona.PoneApellido("Picapiedra")
PRINT "La edad de la persona es.....", persona.edad()
PRINT "El Nombre completo es....", persona.NombreCompleto()
END
Clases SerVivo
PRIVATE patas AS Integer
PRIVATE nacimiento AS Integer
PUBLIC SUB nacido(fecha AS Date)
nacimiento = Year(fecha)
END
PUBLIC SUB PonePatas(numero AS Integer)
patas = numero
END
PUBLIC FUNCTION edad() AS Integer
RETURN Year(Now) - nacimiento
END
PUBLIC FUNCTION dicePatas() AS Integer
RETURN patas
END
Hombre
INHERITS SerVivo
PRIVATE Nombre AS String
PRIVATE Apellido AS String
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
3. Mayor, Menor e Intermedio
Módulo Mmain
PUBLIC SUB Main()
DIM a, b, c AS Integer
PRINT "Ingrese Valor A:"
INPUT a
PRINT "Ingrese Valor B:"
INPUT b
PRINT "Ingrese Valor C:"
INPUT c
IF ((a > b) AND (a > c)) THEN
PRINT "Mayor", a
IF (b > c) THEN
PRINT "Medio", b
PRINT "Menor", c
ELSE
PRINT "Medio", c
PRINT "Menor", b
ENDIF
ENDIF
IF ((b > c) AND (b > a)) THEN
PRINT "Mayor", b
IF (a > c) THEN
PRINT "Medio", a
PRINT "Menor", c
ELSE
PRINT "Medio", c
PRINT "Menor", a
ENDIF
ENDIF
IF ((c > b) AND (c > a)) THEN
PRINT "Mayor", c
IF (b > a) THEN
PRINT "Medio", b
PRINT "Menor", a
ELSE
PRINT "Medio", a
PRINT "Menor", b
ENDIF
ENDIF
END
4. Factorial
Código: Módulo Mmain
PUBLIC SUB Main()
DIM f, i, l AS Integer
DIM nombre, res AS String
f = 1
FOR i = 2 TO 5
f = f * i
NEXT
PRINT "El factorial de 5 ", f
PRINT "Ingrese un nombre"
INPUT nombre
l = Len(nombre)
FOR i = 1 TO l
res = Mid(nombre, i, 1)
PRINT res
NEXT
END
5. Funciones
Código: Módulo Mmain
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", Module1.suma(a, b)
PRINT "La resta de los valores es", Module1.resta(a, b)
PRINT "La multiplicacion de los valores es", Module1.mult(a, b)
PRINT "La division de los valores es", Module1.division(a, b)
END
6. Matrícula
Código: Módulo Mmain
PUBLIC SUB Main()
'Instarciar Objetos
DIM matricula AS Alumno
DIM nom AS String
DIM ape AS String
DIM curs AS Integer
DIM secc AS String
DIM fecha2 AS Date
DIM parcial AS Integer
matricula = NEW Alumno
PRINT "Ingrese Nombre:"
INPUT nom
PRINT "Ingrese Curso:"
INPUT curs
PRINT "Ingrese Sección:"
INPUT secc
PRINT "Ingrese Fecha Matricula:"
INPUT fecha2
'PRINT fecha2
PRINT "Ingrese Parcial 1:"
INPUT parcial
matricula.ParcialUno(parcial)
PRINT "Ingrese Parcial 2:"
INPUT parcial
matricula.ParcialDos(parcial)
PRINT "Ingrese Parcial 3:"
INPUT parcial
matricula.ParcialTres(parcial)
PRINT "El Promedio Final es....", matricula.PromedioFinal()
PRINT "La Fecha de Matricula es....", matricula.fechama(fecha2)
matricula.PoneNombre(nom)
matricula.PoneApellido("Peralta")
PRINT "El Nombre completo es....", matricula.NombreCompleto()
END
Clase Alumno
PRIVATE Promedio AS Integer
PRIVATE FechaMatricula AS Date
PRIVATE Nombre AS String
PRIVATE Apellido AS String
PRIVATE parcial1 AS Single
PRIVATE parcial2 AS Single
PRIVATE parcial3 AS Single
PUBLIC SUB ParcialUno(numero AS Integer)
parcial1 = numero
END
PUBLIC SUB ParcialDos(numero AS Integer)
parcial2 = numero
END
PUBLIC SUB ParcialTres(numero AS Integer)
parcial3 = numero
END
PUBLIC FUNCTION PromedioFinal() AS Single
RETURN (parcial1 + parcial2 + parcial3) / 3
END
PUBLIC FUNCTION fechama(fecha AS Date) AS Date
FechaMatricula = fecha
RETURN FechaMatricula
END
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