miércoles, 4 de noviembre de 2009

MANUAL DE LINUX CON EJERCICIOS EN GAMBAS 2

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

1 comentario: