Tag Archive for condici

Ciclo while en Python

En Python tenemos una palabra reservada llamada “while” que nos permite ejecutar ciclos, o bien secuencias periódicas que nos permiten ejecutar codigo múltiples veces.

El ciclo while nos permite realizar multiples iteraciones basandonos en el resultado de una expresión logica que puede tener como resultado un valor verdadero o falso (true o false).

Para utilizar este ciclo tenemos la siguiente sintaxis.

Sintaxis del ciclo while

#donde expresion es verdadero

while (expresion):
      #codigo...

En este ejemplo es importante comprender que “expresion” es una evaluación logica que al dar como resultado un valor verdadero, se permitira que el ciclo while siga ejecutandose continuamente, cuando la expresión cambie a un valor falso, el ciclo cesará. Veamos el siguiente ejemplo para comprenderlo mejor.

Ejemplo 1 – contador

#!/usr/bin/python

contador = 0
while (contador < 5):
   print 'El contador es :', contador
   contador = contador + 1

print "Fin del programa"

En este ejemplo tenemos un contador con un valor inicial de cero, cada iteración del sitio while manipula esta variable de manera que incremente su valor en 1, por lo que despues de su primera iteración el contador tendrá un valor de 1, luego 2, y así sucesivamente. Eventualmente cuando el contador llegue a tener un valor de 5, la condición del ciclo “contador < 5″ sera falsa, por lo que el ciclo terminará arrojando el siguiente resultado.

El contador es : 0
El contador es : 1
El contador es : 2
El contador es : 3
El contador es : 4
Fin del programa

 Interrupción de ciclos con break

Adicionalmente existe una forma alternativa de interrumpir o cortar los ciclos utilizando la palabra reservada “break”. Esta nos permite salir del ciclo incluso si la expresión evaluada en while (o en otro ciclo como for) permanece siendo verdadera. Para compender mejor usaremos el mismo ejemplo anterior pero interrumpiremos el ciclo usando break.

#!/usr/bin/python

contador = 0
while (contador < 5):
   print 'El contador es :', contador
   contador = contador + 1
   if (contador > 3):
       break

print "Fin del programa"

En este ejemplo evaluamos dentro del ciclo while si la condición de “contador > 3″ es verdadera, al ser así se utilizará break para interrumpir el ciclo, de manera que el resultado de este programa seria el siguiente:

El contador es : 0
El contador es : 1
El contador es : 2
Fin del programa

Espero que con este tutorial hayan podido comprender mejor la función while en python. No olviden dejar sus comentarios y recomendaciones, y seguir al tanto para mas tutoriales.

 

If – Unless en Ruby.

Definitivamente si has programado en otros lenguajes estarás familiarizado con la sentencia if, sin embargo, la instrucción unless probablemente te parezca interesante así que te invito a seguir leyendo el artículo.

La instrucción if permite evaluar una operación lógica y en base al resultado ejecutar ciertas instrucciones u otras, en la vida real es como tomar una decisión y elegir entre dos caminos.

La estructura de la sentencia if es la siguiente:

 if condicion
   #Conjunto de instrucciones a realizar
 end

Donde como sabes, “condicion” será reemplazado con una operación lógica, y el comentario “#Conjunto de instr…” se reemplazará con las sentencias de código que quieras que se ejecuten si se cumple la condición.

Los lenguajes de programación dan la facilidad de también ejecutar algo si la condición no se cumple, esto a través de la instrucción else. Veamos la estructura:

if condicion
   #Se cumplio la condicion
else
   #No se cumplio la condicion
end

Como verás, en este caso sustituyes el comentario “No se cumplio…” por las instrucciones de código a ejecutar si no se cumple la condición.

Unless.

En programación como en matemáticas existe el operador ! o NOT, que básicamente invierte la respuesta de una operación lógica, es decir, si la operación es verdadera la vuelve falsa y si es falsa la vuelve verdadera, este operador se utiliza mucho cuando queremos que se ejecuten instrucciones cuando NO se cumpla una condición, ejemplo:

if not div == 0
 puts 5/div
end

En el ejemplo anterior evaluamos que el valor entre el que dividimos no sea 0, para que no mande un error, y para ello utilizamos el operador NOT. Todo esto se menciona porque en Ruby existe la instrucción UNLESS, que literalmente cumple la función del operador NOT, veamos el mismo ejemplo anterior.

unless div == 0
 puts 5/div
end

Unless ejecuta las instrucciones si la condición es falsa, literalmente dice ejecuta esto A MENOS QUE esta condición sea verdadera, a mi parecer bastante práctico y más claro.

Con esto concluimos este artículo, en el siguiente hablaremos de la sentencia case.

Expresiones booleanas y operadores lógicos

Como en todos los lenguajes, Ruby tiene variables booleanas y operadores lógicos para el manejo de instrucciones de control, como el if, el switch y los ciclos. En realidad, en Ruby existen los objetos booleanos, es decir incluso este tipo de dato es un objeto en Ruby. Déjame explicarte esto claramente porque puede ser un poco confuso, en Ruby existen dos clases peculiares TrueClass y FalseClass, son clases muy peculiares porque tú no puedes crear objetos a partir de esas clases, de hecho, en el lenguaje sólo hay un objeto de la clase TrueClass y es el objeto True, del mismo modo la clase FalseClass sólo es la instancia de un objeto, False. Lo anterior puede parecer un poco confuso, ya que en lenguajes como JAVA true y false son palabras reservadas del lenguaje, y no objetos, como en Ruby, sin embargo su uso es similiar, así que no te preocupes por eso. Veamos a través de un ejemplo cómo es que funcionan los objetos True y False de Ruby.

  if True 
    puts "Esto siempre se ejecuta porque True siempre adopta el valor verdadero de un booleano"
  end
  if False
    puts "Esto nunca se ejecutara porque False siempre adopta el valor falso de un booleano"
  end

El ejemplo, creo expresa el funcionamiento de cada uno de ellos, aunque en realidad no es práctico. Antes de pasar a las expresiones lógicas, cabe mencionar que sólo dos clases son falsas en Ruby, es decir, cumplen un valor falso en un boolean, éstas son FalseClass y NilClass, hablaremos del objeto Nil más adelante en el curso. Operadores Lógicos. Si has programado en cualquier lenguaje, seguro estás familiarizado con las operaciones lógicas, que básicamente son expresiones que sólo pueden retornar un valor booleano verdadero cuando se cumple una condición, o un valor booleano falso cuando no se cumple la condición, en el caso particular de Ruby, sería retornar el objeto True y el objeto False respectivamente. Cabe apuntar que la condición a evaluar está dada por ciertos operadores, en este tutorial veremos los siguientes.

  • “< ” Menor que, evalúa si el objeto de la derecha es menor que el de la izquierda. Ejemplo:
     if 2<3 puts "2 es menor que 3"
  • “> ” Mayor que, evalúa si el objeto de la derecha es mayor que el de la izquierda. Ejemplo:
     if 3>2 puts "3 es mayor que 2"
  • “and/&& ” Se puede usar “&&” y “and”, ambos cumplen la función de retornar True cuando dos condiciones son True.
     if 2<3 and 3>2 puts "Retorna True :)"
  • “or/&& ” Se puede usar “||” y “or”, ambos cumplen la función de retornar True cuando una de dos condiciones es True, o ambas son True.
     if 2<3 or 3>2 puts "Alguna de las dos condiciones se cumplio"

Como anotación en los operadores and y or, te recomiendo usar las palabras en lugar de los símbolos || y &&. Como ves son los operadores básicos, no tomamos en cuenta el operador de negación porque en el siguiente artículo conocerás la contraparte de la instrucción if. En general estas operaciones, como te mencionaba, se usan para controlar el flujo de la aplicación, pero puede usarse para asignación de valores, ejecutar excepciones y más. Por ahora lo dejaremos en lo básico y comenzaremos usándolas con instrucciones de control en los siguientes tutoriales.

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");
        }
    }
}