martes, 27 de octubre de 2009

PROGRAMANDO CON LOGO

LOGO es un lenguaje de programación diseñado para poder introducirnos en el fascinante mundo de la programación de computadores mediante una forma amena y divertida, dibujando figuras geométricas mediante instrucciones expresadas en un lenguaje natural.

Entre las instrucciones más importantes para poder empezar a dibujar podemos mencionar las siguientes.

INSTRUCCION FUNCION QUE REALIZA
fd 100 Avanza una cantidad de 100
bk 100 Retrocede una cantidad de 100
rt 75 Gira a la derecha 75 grados
lt 60 Gira a la izquierda 60 grados
pu Levanta el pincel
pd Baja el pincel
   

Con estas instrucciones básicas tu ya puedes dibujar una figura simple como la siguiente

fd 100

rt 90

fd 100

rt 90

fd 100

rt 90

fd 100

Con este pequeño código, hemos conseguido dibujar un cuadrado de un tamaño de lado de 100

EJERCICIOS APLICATIVOS

Visita los siguientes hipervínculos y resuelve los ejercicios propuestos.

http://www.trinitarias.net/torrent/organizacion/departamentos/Tecnologia/2ESO/Paralelas%20y%20Perpendiculares.pdf

http://neoparaiso.com/logo/ejercicios-de-geometria.html#sect2

Clase III. Sistemas Operativos

Check out this SlideShare Presentation:

domingo, 7 de junio de 2009

WEB Service con NUSOAP

En este ejemplo vamos a ver como podemos crear un SERVICIO WEB utilizando la libreria NUSOAP. Su forma de hacerlo es muy simple, si tienes ya conocimientos de PHP orientado a objetos, lo vas a poder hacer sin ningún problema

En nuestro caso vamos a enviar datos desde una aplicación realizada en VB.NET cuyos datos se encuentran almacenados en PostGresQL hacia una Base de datos MySQL.

PRIMER PASO

Vamos a definir un tipo de dato complejo en nuestro WEB Service, para esto tomemos en cuenta que los datos que va a manejar la estructura son los siguientes

  • CODIGO
  • NOMBRE
  • GRADO
  • CLAVE

//almaceno en la variable ruta la ruta de trabajo del servidor WEB

$ruta=$_SERVER['DOCUMENT_ROOT'];
require_once($ruta.'/nusoap/lib/nusoap.php');
require_once($ruta.'/webservices/base.php');
//procedo a crear el servidor
$server=new soap_server;
$server->configureWSDL('web service para control academico',$ruta.'/nusoap/lib/nusoap.php');
$nspace=$_SERVER['DOCUMENT_ROOT'];
$server->wsdl->schemaTargetNamespace=$nspace;
//se ha definido el esquema y el espacio de trabajo
//defino una estructura compleja para el alumno

En las líneas anteriores lo que hemos hecho es definir el espacio de trabajo del WEB SERVICE, seguido creamos un objeto del tipo soap_server, a continuación definimos información como: una descripción de lo que va a hacer el servicio WEB, la ruta o espacio de trabajo.

Ahora procedemos a crear la estructura compleja.

$server->wsdl->addComplexType(
    'MySoapObject',
    'complexType',
    'struct',
    'all',
    '',
    array(
    'alu_cod'=>array('name'=>'alu_cod','type'=>'xsd:int'),
    'alu_nom'=>array('name'=>'alu_nom','type'=>'xsd:string'),
    'alu_grado'=>array('name'=>'alu_grado','type'=>'xsd:string'),
    'alu_clave'=>array('name'=>'alu_clave','type'=>'xsd:string')
    )
);

 

  • La instrucción MySoapObject, es el nombre del nuevo tipo de dato se lo puede poner cualquiera.
  • Definimos un array que contendrá los datos que va a manipular con sus respectivos tipos de datos, en nuestro caso son alu_cod, alu_nom, alu_grado, alu_clave.

Seguidamente nuevamente voy a crear un nuevo tipo complejo que haga referencia la tipo complejo creado anteriormente.

$server->wsdl->addcomplexType(
    'ArrayObjetosSoap',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:MySoapObject[]')),
    'tns:MySoapObject');

 

Si te fijas este nuevo tipo complejo se va a llamar ArrayObjetosSoap y va a manejar la estructura compleja llamada MySoapObject.

Una vez definidos los tipos de datos que van a permitirnos manipular la información enviada desde VB.NET, procedemos a crear la función que receptara los datos y los almacenara en MYSQL en nuestro HOSTING.

//esta funcion es la que nos permite insertar datos con el webservices en la tabla alumno
function insertadatos1($MySoapObject,$nregistros){
    $db=base::getInstance();
    for($j=0;$j<=$nregistros;$j++){
    $vector=$MySoapObject[$j];
//saco la primera posicion o elemnto del vector
    $alu_cod=current($vector);
//obtengola siguiente posicion del vector
    $alu_nom=next($vector);
    $alu_grado=next($vector);
    $alu_clave=next($vector);
    if (existendatos($alu_cod)==0) {
        $db->setQuery("Insert into ALUMNO(ALU_COD,ALU_NOM,ALU_CURSO,ALU_CLAVE) values('".$alu_cod."','".$alu_nom."','".$alu_grado."','".$alu_clave."')");   
        if( $db->alter() ){  
        // return 1;
        }  
        else{  
//         return 0;
        } 
    }
    }

    return 0;
}

En este ejemplo hemos utilizado una referencia al MVC de joomla para acceder a la Base de Datos. Debes tomar en cuenta también que en tu Base de datos MySQL debes de tener una tabla con los mismos tipos de datos que los definidos en la estructura compleja.

Hasta este punto hemos creado un WEB SERVICE cuya función va a ser únicamente la de enviar datos hacia MySQL, podemos crear también otra función que devuelva datos, mucho mas simple.

Ahora fíjate en el código VB.NET que nos permite procesar los datos y enviarlos hacia MYSQL mediante este WEB SERVICE.

  • Primer paso definir un objeto de la referencia al WEB SERVICE creado
  • Diseñar un método que englobe el envío de datos

Dim metodoinsertaalumno As New datosonline.webserviceparacontrolacademico
    Private Sub agregaalumnos_ws(ByVal nregistros As Integer, ByVal tbl As DataTable)
        Dim objsoap(nregistros) As MySoapObject
        Dim j As Integer
        Dim aux As Integer
        Try
            For j = 0 To nregistros
                objsoap(j) = New MySoapObject
                objsoap(j).alu_cod = tbl.Rows(j).Item(0)
                objsoap(j).alu_nom = tbl.Rows(j).Item(1)
                objsoap(j).alu_grado = tbl.Rows(j).Item(2)
                objsoap(j).alu_clave = tbl.Rows(j).Item(3)
            Next
            aux = metodoinsertaalumno.insertadatos1(objsoap, nregistros)
            MessageBox.Show("Datos enviados con exito", "GMS", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

 

Y para ejecutarlo lo hacemos mediante el siguiente código

agregaalumnos_ws(tablaalumno.Rows.Count - 1, tablaalumno)

sábado, 7 de marzo de 2009

Herramientas de GOOGLE

GOOGLE, sin lugar a dudas esta palabra muy conocida usted la asocia con el famoso buscador de Internet; pero déjeme decirle que GOOGLE es más que un buscador, esta empresa a evolucionado hasta el punto de poner a nuestra disposición un conjunto de herramientas de software, diseñadas para trabajar sobre Internet y de hecho para poder utilizarlas debemos acceder al URL de GOOGLE .

Entre las aplicaciones más importantes podemos mencionar GOOGLE MAPS, GOOGLE EARTH, PICASA, GOOGLE DOCUMENTS, GMAIL, GOOGLE SKETCHUP, y muchas más aplicaciones que cubren varios campos como la publicidad, las redes sociales…

Este conjunto de programas software han sido diseñados para mejorar la productividad y se las puede utilizar en las actividades diarias de nuestra empresa o de manera personal.

Tómese un tiempo y deje volar su imaginación que junto con su creatividad puede obtener tener una muy grata experiencia a la hora de navegar en el Internet, y  todo de manera GRATUITA sin pagar un solo centavo.

martes, 20 de enero de 2009

El Software Libre


El movimiento del software libre se fundamenta en el hecho de poder compartir el código fuente de las aplicaciones informáticas que se crean y a las cuales nosotros podemos utilizarlas y modificarlas a nuestro gusto.
A parte de lo mencionado, que otros aspectos trata el software libre y que organizaciones o instituciones promueven su uso en el Ecuador.