Tag Archive for esto

Operaciones usando arreglos con Ruby

Los arreglos tienen utilidad en muchísimas aplicaciones, en el artículo anterior vimos cómo definirlos en Ruby, y en éste veremos algunas operaciones básicas utilizando arreglas, todas éstas provenientes del Kernel de Ruby.

La primera operación que querrás ejecutar sobre un arreglo, seguramente será la de recorrerlo, es decir, ir a través de todos sus elementos, ya sea para usarlos o para buscar algún elemento.

Mi ciclo de recorrido favorito en Ruby, es el que se ejecuta a través del método each, éste método pertenece a la clase Array en Ruby, lo que significa que todos los arreglos lo tienen. Cabe mencionar que hay varias formas de recorrer arreglos en Ruby además de las que veremos (un par), luego de haber dicho ésto veamos el ejemplo:

lenguajes = ["Ruby","Python","JAVA","javaScript"]
lenguajes.each do |lenguaje|
  puts lenguaje
end

Lo que me gusta acerca de each es lo claro de la sintaxis, es decir, a simple vista puedes ver cómo funciona el método. Si aún hay cosas que no te quedan claras, te explico. El método each se aplica sobre el arreglo, en el ejemplo, nuestro arreglo es lenguajes, y se manda un bloque (ojo con esto), este bloque itera cada elemento dentro del arreglo y lo almacena sobre la variable lenguaje, es decir, en cada iteración, el elemento actual está en lenguaje, por eso si ejecutas lo anterior verás como con puts, imprimimos cada cadena del arreglo.

Lo anterior, fue algo bastante del estilo Ruby, si quieres algo más convencional podrías recorrer el arreglo con un ciclo for in, veamos el ejemplo:

for i in lenguajes
  puts i
end

Como ves, esto es algo más parecido a lenguajes comunes como JAVA, i es la variable que toma el valor dentro del arreglo, que en este ejemplo retomamos el anterior arreglo lenguajes. Sencillo ¿no?

Veamos ahora algo un poco más complicado. Lo que veremos es el método map, que también es parte de la clase Array. Map, itera cada uno de los elementos, le aplica las modificaciones que tú definas en un bloque, y retorna un nuevo arreglo con las modificaciones, aquí el ejemplo:

lenguajes = ["python","ruby","java"] #todos minusculas
nuevoArreglo = lenguajes.map{|lenguaje| lenguaje.capitalize}
nuevoArreglo.each do |l|
   puts l
end

Te invito a que pruebes el anterior ejemplo en tu instalación de Ruby, lo que verás es cómo cada uno de los elementos en lenguaje se pasan a nuevoArreglo, pero con la primera letra en mayúsucula (por el método capitalize), como verás, map también se ejecuta con un bloque, ésta vez delimitado por {}, adentro definimos una variable para almacenar cada iteración del arreglo, llamada lenguaje, y luego modificamos la variable, en éste ejemplo colocamos la primera letra en mayúscula, genial ¿no?

Lo anterior puede que haya sido un poco complejo si estás iniciando a programar, no te preocupes si no te quedó del todo claro, te aseguro que en el momento en que requieras una operación como la anterior, podrás venir aquí y todo quedará más claro.

Existen muchísimas otras operaciones que se pueden ejecutar con arreglos, por ejemplo ordenarlo:

calificaciones = [10,8,6,9]
calificaciones.sort

Obtener el tamaño del arreglo:

calificaciones.size()

Y así podríamos seguir mencionando otros, pero para no complicar más el curso básico, lo dejaremos ahí por ahora.

Bien, por ahora dejaremos los arreglos para que en el siguiente artículo pasemos a ver los Hashes o Diccionarios.

Como subir archivos a servidor con PHP

Subir archivos a un servidor web no es nada del otro mundo, de hecho es algo muy sencillo de hacer, y podemos hacerlo utilizando una sencilla forma de HTML y un programa en PHP que guarde el archivo en donde nosotros queramos.

Lo primero que necesitaremos sera el archivo html donde tendremos la forma de subida.

El siguiente codigo representa esta forma. Lo que se tiene que hacer es crear una forma, establecer el parametro de “action” donde especificaremos el script php que guardara nuestro archivo, también el parametro “method” en el cual he seleccionado post, y “enctype”, que basicamente especifica que tipo de datos vamos a subir, esto es necesario.

Forma de subida en html

<!DOCTYPE html>
<html>
	<head>
	</head>
	<body>
		<form action="file.php" method="post" enctype="multipart/form-data">
			<input type="file" name="archivo" id="archivo"></input>
			<input type="submit" value="Subir archivo"></input>
		</form>
	</body>
</html>

 

Recuerden especificar el “name” del archivo, el cual es necesario para poder encontrar el archivo en nuestro script PHP.

Del lado del servidor…

Ahora vamos con el PHP, es la parte mas importante ya que desde aqui accederemos a nuestro archivo y seremos capaces de ver sus propiedades, asi como de guardarlo en una ruta especifica. Para esto tenemos el arreglo bidimensional “$_FILES” donde se puede acceder al archivo y sus propiedades (como ‘error’, ‘name’,’tmp_name’).

Archivo PHP para controlar la subida del archivo

if ($_FILES['archivo']["error"] > 0)
  {
  echo "Error: " . $_FILES['archivo']['error'] . "<br>";
  }
else
  {
  echo "Nombre: " . $_FILES['archivo']['name'] . "<br>";
  echo "Tipo: " . $_FILES['archivo']['type'] . "<br>";
  echo "Tamaño: " . ($_FILES["archivo"]["size"] / 1024) . " kB<br>";
  echo "Carpeta temporal: " . $_FILES['archivo']['tmp_name'];

  /*ahora co la funcion move_uploaded_file lo guardaremos en el destino que queramos*/
   move_uploaded_file($_FILES['archivo']['tmp_name'],
      "subidas/" . $_FILES['archivo']['name']); 

A continuación un pequeño video tutorial de como hacer este ejercicio

Crear una calculadora básica en c#

Hola mi nombre es Eulises Rodríguez y les estaré publicando principalmente tutoriales de C#, y hoy empezaremos con el primero sobre cómo crear una calculadora básica que nos permita realizar las 4 operaciones matemáticas básicas como son (Suma, Resta, Multiplicación y División), lo haremos creando un menú para seleccionar a opción a elegir. Asi se mostrara nuestro programa ya terminado.

Lo primero que haremos será agregarle un nombre a nuestra clase en este caso le pondremos “Calculadora” posteriormente le asignaremos un título a nuestra ventana en mi caso le pondré “Mini Calculadora – Eulises rodríguez”

class Calculadora //Nombre de nuestra clase.
    {
        static void Main(string[] args)
        {
		Console.Title = "Mini Calculadora - Eulises Rodriguez"; //Sirve para agregarle un titulo a la ventana
        }
    }

Después vamos a declarar la siguiente variable y agregaremos el ciclo DO WHILE.

string resp = ""; //Esta variable nos servira para salir de la aplicacion.
do
  {
} while (resp == "s" || resp == "s"); //Aqui agregaremos la condición para salir, esto nos sera util mas adelante.

Luego vamos a declarar tres variables de tipo entero.

int valor1 = 0; //Aqui se almacenara el primer valor ingresado.
int valor2 = 0; //Aqui se almacenara el segundo valor ingresado.
int R = 0; //Aqui se almacenara el resultado de la operacion.

Ahora mostraremos los mensajes que llevara nuestro menú de selección.

//Aqui mostraremos los mensajes que apareceran en nuestra consola igual que el menu de seleccion.
Console.WriteLine("Presione el simbolo para realizar la operacion:n");
Console.WriteLine("+ para sumar");
Console.WriteLine("- para restar");
Console.WriteLine("* para multiplicar");
Console.WriteLine("/ para dividir");
Console.Write("n Eliga Una Opcion: "); //Aqui es donde indicaremos que operacion vamos a realizar
resp = Console.ReadLine();
string eleccion = Convert.ToString(resp); //Se hace la convercion a caracter.

Ahora vamos agregar los mensajes para introducir los valores.

//Aqui se agregaran los mensajes para poder ingresar los datos.
Console.WriteLine("nIngrese sus dos numerosn");
Console.Write("Valor1: ");
valor1 = int.Parse(Console.ReadLine());
Console.Write("Valor2: ");
valor2 = int.Parse(Console.ReadLine());
Console.WriteLine();

Para fianlizar vamos a usar la sentencia switch y ahí colocaremos las operaciones que se podran realizar.

switch (eleccion)
          {
case "+": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la suma es:");
R = valor1 + valor2;
Console.WriteLine("{0} + {1} = {2}", valor1, valor2, R);
break;
case "-": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la resta es:");
R = valor1 - valor2;
Console.WriteLine("{0} - {1} = {2}", valor1, valor2, R);
break;
case "*": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la multiplicacion es:");
R = valor1 * valor2;
Console.WriteLine("{0} * {1} = {2}", valor1, valor2, R);
break;
case "/": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la division es:");
R = valor1 / valor2;
Console.WriteLine("{0} / {1} = {2}", valor1, valor2, R);
break;
       }

Ahora mostraremos un mensaje si deseamos continuar o salir de la aplicación.

Console.Write("n¿Desea Continuar? s/n: "); //Si para realizarlo de nuevo y no para salir.
resp = Console.ReadLine();

Y asi se muestra nuestro programa en ejecucion.

CODIGO COMPLETO

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication15
{
    class Calculadora //Nombre de nuestra clase.
    {
        static void Main(string[] args)
        {
            Console.Title = "Mini Calculadora - Eulises Rodriguez"; //Sirve para agregarle un titulo a la ventana
            string resp = "";
            do
            {
                int valor1 = 0; //Aqui se almacenara el primer valor ingresado.
                int valor2 = 0; //Aqui se almacenara el segundo valor ingresado.
                int R = 0; //Aqui se almacenara el resultado de la operacion.

                //Aqui mostraremos los mensajes que apareceran en nuestra consola igual que el menu de seleccion.
                Console.WriteLine("Presione el simbolo para realizar la operacion:n");
                Console.WriteLine("+ para sumar");
                Console.WriteLine("- para restar");
                Console.WriteLine("* para multiplicar");
                Console.WriteLine("/ para dividir");
                Console.Write("n Eliga Una Opcion: "); //Aqui es donde indicaremos que operacion vamos a realizar
                resp = Console.ReadLine();
                string eleccion = Convert.ToString(resp);
                //Aqui se agregaran los mensajes para poder ingresar los datos.
                Console.WriteLine("nIngrese sus dos numerosn");
                Console.Write("Valor1: ");
                valor1 = int.Parse(Console.ReadLine());
                Console.Write("Valor2: ");
                valor2 = int.Parse(Console.ReadLine());
                Console.WriteLine();

                switch (eleccion)
                {
                    case "+":
                        Console.WriteLine("El resultado de la suma es:");
                        R = valor1 + valor2;
                        Console.WriteLine("{0} + {1} = {2}", valor1, valor2, R);
                        break;
                    case "-":
                        Console.WriteLine("El resultado de la resta es:");
                        R = valor1 - valor2;
                        Console.WriteLine("{0} - {1} = {2}", valor1, valor2, R);
                        break;
                    case "*":
                        Console.WriteLine("El resultado de la multiplicacion es:");
                        R = valor1 * valor2;
                        Console.WriteLine("{0} * {1} = {2}", valor1, valor2, R);
                        break;
                    case "/":
                        Console.WriteLine("El resultado de la division es:");
                        R = valor1 / valor2;
                        Console.WriteLine("{0} / {1} = {2}", valor1, valor2, R);
                        break;
                }
                Console.Write("n¿Desea Continuar? s/n: "); //Si para realizarlo de nuevo y no para salir.
                resp = Console.ReadLine();
            }
            while (resp == "s" || resp == "s");
        }
    }
}

Condicionales if y else en Python

Algunas veces en nuestros programas es necesario que tomemos algunas “decisiones”, esto en el sentido de que necesitamos decidir si ejecutar una pieza en especial de codigo o no, o tal vez dadas ciertas condiciones tendríamos varias alternativas de código que ejecutar.

Para esto tenemos una sentencia llamada if y otra llamada else.

Sentencia if en python

La sentencia If evalua basicamente una operación logica, es decir una expresión que de como resultado verdadero o false (true o false), y ejecuta la pieza de codigo siguiente siempre y cuando el resultado sea verdadero.

Sintaxis:

La sintaxis va de la siguiente manera:

if expresion: #donde la expresion es verdadera
#dejar una indentacion
     codigo_a_ejecutar
fin

#alternativa
if expresion: codigo a ejecutar
#sin indentacion no se evalua el if
fin

 

Ejemplo basico .

#!/usr/bin/python

a = 7

if ( a  > 5) : print "La variable es mayor a 5!"

print "fin"

Lo que haz visto en este ejemplo es una evaluación de (a > 5) dado que “a” tiene un valor a 7, y 7 es mayor a 5, el resultado de la operación logica es verdadero, por lo tanto si ejecutas este programa tu resultado sera:

La variable es mayor a 5!
fin

Si por otro lado cambiaramos el programa y dijeramos que “a” es igual a 3. El resultado seria unicamente:

fin

Pues la condición habrá dejado de ser verdadera.

Ejemplo con sintaxis alternativa:

#!/usr/bin/python

a = 10

if ( a  ==  10) :
       print "La variable es igual a 10!"

print "fin"

 

Usando if y else

El utilizar else lo que hace es que podemos tener la capacidad de ejecutar un codigo alternativo en caso de que el resultado logico de la expresion evaluada sea falso. Esta es una forma de tener varias alternativas de codigo a ejecutar.El uso con un ejemplo seria el siguiente.

#!/usr/bin/python

a = 10

if ( a  !=  10) :
       print "La variable es diferente de 10!"
else:
      print "La variable es igual a 10!"

print "fin"

En este ejemplo se puede ver que la expresion solo sera verdadera si la variable es diferente de 10, dado que esto no es cierto, ejecutaremos la alternativa con “else”, el resultado de este programa sera el siguiente.

La variable es igual a 10!
fin

Espero que este tutorial les ayude a comprender mejor el uso de las sentencias if y else. No olviden dejar sus comentarios.