lunes, 27 de junio de 2016

Ejemplo uso IF en C, Java, Python, Small Basic

Diario de un programador. Anexo B: Códigos


Ejemplo uso IF: Sintaxis del uso de la instrucción IF


C
Programa utilizado: Code Blocks 13.12



#include<stdio.h>

int main(void){
  int numero;

  printf("Ingresa el numero 1: ");
  scanf("%d", &numero);

  if(numero == 1){
    printf("Gracias !!!\n");
  }
  else{
    printf("Yo queria el 1 :(\n");
  }
return 0;
}

//Escrito por Gustavo J. Cerda Nilo, diciembre 2015

EJEMPLO 2

#include<stdio.h>

int main(void){
  int edad;

  printf("Ingresa tu edad: ");
  scanf("%d", &edad);

  if(edad >= 18){
    printf("Eres mayor de edad\n");
  }
  if (edad < 18){
    printf("Eres menor de edad\n");
  }
return 0;
}

//Escrito por Gustavo J. Cerda Nilo, diciembre 2015

EJEMPLO 3

#include<stdio.h>

int main(void){
  int opcion;

  printf("Opcion 1\nOpcion 2\nOpcion 3\n\n");
  printf("Ingresa una opcion: ");
  scanf("%d", &opcion);

  if(opcion == 1){
    printf("Has escogido la opcion 1\n");
  }
  else if(opcion == 2){
    printf("Has escogido la opcion 2\n");
  }
  else if(opcion == 3){
    printf("Has escogido la opcion 3\n");
  }
  else{
    printf("Opcion no valida\n");
  }

return 0;
}

//Escrito por Gustavo J. Cerda Nilo, diciembre 2015

JAVA
Programa utilizado: Net Beans 8.0.1

import java.util.Scanner;
public class usoIf{
  public static void main(String[]args){
     String usuario = "Gus";
     Scanner ingreso = new Scanner(System.in);
     String nombre;
    
     System.out.print("Ingresa tu nombre de usuario: ");
     nombre = ingreso.next();
    
     if(nombre.equals(usuario)){
         System.out.println("Bienvenido al sistema!!!");
     }
     else{
         System.out.println("Nombre de usuario no valido");
     }
    }//fin main
}//fin class


//Escrito por Gustavo J. Cerda Nilo, diciembre 2015

EJEMPLO 2

import java.util.Scanner;
public class usoIf{
  public static void main(String[]args){
     Scanner ingreso = new Scanner(System.in);
     int edad;
    
     System.out.print("Cual es tu edad?: ");
     edad = ingreso.nextInt();
    
     if(edad >= 18){
         System.out.println("Eres mayor de edad");
     }
     if (edad < 18){
         System.out.println("Eres menor de edad");
     }
    }//fin main
}//fin class

//Escrito por Gustavo J. Cerda Nilo, diciembre 2015

EJEMPLO 3

import java.util.Scanner;
public class usoIf{
  public static void main(String[]args){
     Scanner ingreso = new Scanner(System.in);
     int opcion;
    
     System.out.println("Opcion 1");
     System.out.println("Opcion 2");
     System.out.println("Opcion 3\n");
     System.out.print("Ingresa una opcion: ");
     opcion = ingreso.nextInt();
    
     if(opcion == 1){
         System.out.println("Has escogido la opcion 1");
     }
     else if (opcion == 2){
         System.out.println("Has escogido la opcion 2");
     }
     else if (opcion == 3){
         System.out.println("Has escogido la opcion 3");
     }
     else{
         System.out.println("Opcion no valida");
     }
    }//fin main
}//fin class

//Escrito por Gustavo J. Cerda Nilo, diciembre 2015


PYTHON 3.5
Programa utilizado: Idle

suma = int(input("Cuanto es 5 + 5 "))

if suma == 10:
    print("Muy bien, si sabes sumar, puedes programar")
else:
    print("Mmm, deberas estudiar un poco mas XD")

#Escrito por Gustavo J. Cerda Nilo, diciembre 2015


EJEMPLO 2

edad = int(input("Ingresa tu edad: "))

if edad >= 18:
    print("Eres mayor de edad")
if edad < 18:
    print("Eres menor de edad")

#Escrito por Gustavo J. Cerda Nilo, diciembre 2015


EJEMPLO 3

print("opcion 1\nOpcion 2\nOpcion 3\n")
opcion = int(input("Ingresa una opcion: "))

if opcion == 1:
    print("Has escogido la opcion 1")
elif opcion == 2:
    print("Has escogido la opcion 2")
elif opcion == 3:
    print("Has escogido la opcion 3")
else:
    print("La opcion no es valida")

#Escrito por Gustavo J. Cerda Nilo, diciembre 2015

SMALL BASIC
Programa utilizado: Small Basic 1.1

TextWindow.Write("Ingresa tu nombre de usuario ")
usuario = TextWindow.Read()

If usuario = "estudiante" Then
  TextWindow.WriteLine("Bienvenido al sistema!!!")

Else
    TextWindow.WriteLine("Nombre de usuario no valido")
EndIf

'Escrito por Gustavo J. Cerda Nilo, Junio 2015


EJEMPLO 2

TextWindow.Write("Cual es tu edad? ")

edad = TextWindow.ReadNumber()

If edad >= 18 Then
  TextWindow.WriteLine("Eres mayor de edad")
EndIf

If edad < 18  Then
  TextWindow.WriteLine("Eres menor de edad")
EndIf

'Escrito por Gustavo J. Cerda Nilo, Julio 2015


EJEMPLO 3

If Clock.Hour < 12 Then
  TextWindow.WriteLine("Buenos días")

ElseIf Clock.Hour < 20 Then
  TextWindow.WriteLine("Buenas tardes")

ElseIf Clock.Hour < 24 Then
  TextWindow.WriteLine("Buenas noches")
EndIf

'Escrito por Gustavo J. Cerda Nilo, Julio 2015

viernes, 24 de junio de 2016

Capítulo 44. Java: Arreglos, vectores, arrays...


Diario de un programador.- Dia 89

Arreglos, vectores, arrays...

Para mostrar la sintaxis de los arreglos en Java, me basaré en los ejemplos propuestos en su oportunidad para el lenguaje Small Basic (Capitulo 12) y puede que agregue algunos extras que se me ocurran en el camino.

La sintaxis para crear un arreglo dice así:

TipoDeDato nombreDelArreglo[] = new tipoDeDato[dimension]

TipoDeDato = Se refiere a que si será un arreglo de tipo int, float, etc.

nombreDelArreglo[] = Al igual que las variables, los arreglos necesitan un nombre y utilizan llaves de corchete.

new tipoDeDato[dimension] = Se crea un arreglo y se asigna la cantidad de elementos que puede contener[dimensión]. Por ejemplo, si la dimensión es de 5, entonces el arreglo puede contener solo 5 elementos.

Por ejemplo, para crear un arreglo de 4 elementos, se puede hacer así:

Int[] edades = new int[4];

El arreglo “edades” tiene 4 elementos.

A diferencia de Small Basic, el primer elemento del arreglo es cero. O sea que en este caso, el arreglo es...

edades[0]
edades[1]
edades[2]
edades[3]

Ahí están los 4 elementos del arreglo. Como se puede ver el primer elemento es cero y el último es N-1, donde N corresponde al número indicado en la dimensión del arreglo.

El ejemplo mostrado a continuación, será un promedio de 3 números, los cuales serán solicitados al usuario.

import java.util.Scanner;
public class ejemplo01 {
    public static void main(String[]args){
        Scanner ingreso = new Scanner(System.in);
        int suma = 0,promedio, i;
        int numero[] = new int[3];
       
        System.out.println("Ingresa 3 numeros.");
        for( i = 0; i < 3; i++){
            System.out.println("Elemento nro. " + (i+1));
            numero[i] = ingreso.nextInt();
            suma = suma + numero[i];
        }//fin for
        promedio = suma / 3;
       
        System.out.println("El promedio es: "+ promedio);
       
    }//fin main
}//fin class




Arreglos 1.1 (actualización Abril 2016)

En caso de que el programador quiera asignar  valores al arreglo, esto se puede realizar de la siguiente manera.

Sintaxis
tipoDeDato nombreArreglo[] = {dato1, dato2, dato3... datoN};

En el ejemplo del código anterior, esto quedaría así:

int numero[] = {8, 12, 7};

De esta forma, al estar asignados los valores a cada índice del arreglo, no se utiliza la línea “new int[dimension]”. Y el corchete no lleva un número que asigne la cantidad de elementos, ya que la cantidad de elementos corresponden a los asignados entre las llaves {}

Ejemplo:

public class ejemplo01 {
    public static void main(String[]args){
        int suma = 0,promedio, i;
        int numero[] = {8, 12, 7};
          
        for( i = 0; i < 3; i++){
            suma = suma + numero[i];
        }//fin for
        promedio = suma / 3;
       
        System.out.println("El promedio es: "+ promedio);
       
    }//fin main

}//fin class


En el siguiente ejemplo se solicita al usuario que ingrese un índice. Dependiendo de qué número se ingrese, se verá el nombre asociado a ese índice. El primer nombre del arreglo es “Gustavo”, el cual se encuentra en el índice cero. El siguiente el “Ximena”, nombre ubicado en el el índice 1 y por último, “Javiera”, en el índice 2.

import java.util.Scanner;
public class ejemplo01 {
    public static void main(String[]args){
        Scanner ingreso = new Scanner(System.in);
        String nombres[] = {"Gustavo", "Ximena", "Javiera"};
        int indice;
       
        System.out.println("Que indice consultaras?: ");
        System.out.println("Indices disponibles: 0, 1, 2");
        indice = ingreso.nextInt();
       
        switch(indice){
            case 0:
                System.out.println(nombres[0]);
                break;
            case 1:
                System.out.println(nombres[1]);
                break;
            case 2:
                System.out.println(nombres[2]);
                break;
            default:
                System.out.println("Opcion no es valida");
                break;
        }//fin switch
     
    }//fin main
}//fin class




Modificando los arreglos

Para modificar un dato de  un arreglo, simplemente hay que indicar el índice a modificar. Ejemplo

arreglo[] = {1, 2, 3, 4, 5};
arreglo[2] = 10;
arreglo[] = {1, 2, 10, 4, 5};

La segunda variable modifica el índice número 2 del arreglo y en la tercera variable se pude ver la modificación realizada. 

Ejemplo en un programa.

import java.util.Scanner;
public class ejemplo01 {
    public static void main(String[]args){
        Scanner ingreso = new Scanner(System.in);
        int numeros[] = {10, 20, 30};
        int indice;
       
        System.out.printf("Indice 0 = %d\nIndice 1 = %d\nIndice 2 = %d\n",
                numeros[0],numeros[1],numeros[2]);
       
        System.out.print("Que indice vas a cambiar: ");
        indice = ingreso.nextInt();
       
        System.out.print("Ingresa nuevo indice: ");
        numeros[indice] = ingreso.nextInt();
       
        System.out.println("\nIndice modificado!!!");
       
        System.out.printf("Indice 0 = %d\nIndice 1 = %d\nIndice 2 = %d\n",
                numeros[0],numeros[1],numeros[2]);
        
    }//fin main
}//fin class



Arreglos multidimensionales

Los arreglos también permiten añadirles más de un índice. Cuando un arreglo tiene más de un índice, se le conoce como arreglo multidimensional, siendo el arreglo de dos índices el de uso más común, el cual es conocido como matriz.
La sintaxis para un arreglo de dos dimensiones o matriz es la siguiente:

tipoDatos nombreArreglo[][] = new tipoDatos[dimension][dimension]

Como se puede ver, la cantidad de dimensiones del arreglo se puede apreciar por los corchetes que lleva.

Una matriz se caracteriza por estar formada por filas y columnas. Aquí un ejemplo:

public class ejemplo01 {
    public static void main(String[]args){

        String matriz[][] = new String[10][10];
        int fila, columna;
        for(fila = 0; fila < 10; fila++){
            for(columna = 0; columna < 10; columna++){
                matriz[fila][columna] = "#";
                System.out.print(matriz[fila][columna]);
            }
            System.out.print("\n");
        }
    }//fin main
}//fin class



En los siguientes enlaces se pueden apreciar códigos que muestran cómo crear y mostrar matrices y arreglos, además de realizar operaciones como sumar una matriz, cómo sumar un arreglo, cómo sumar filas y columnas a las matrices.



Eso es todo por ahora, si las matrices no quedaron muy claras, siempre se puede revisar el capitulo 12 donde quedó mejor explicado de que se trata. Como he dicho, en estos capítulos trataré de no extenderme mucho ya que es una materia ya vista. Solamente trataré de explicar la sintaxis en cada idioma.

Gustavo J. Cerda Nilo
Febrero 2016, última actualización Junio 2016




Código en C, Java, Python, Small Basic, para saber si un dígito está presente en un número

Diario de un programador. Anexo B: Códigos


Busca dígitos: Programa que verifica si un dígito está presente en un número.


C
Programa utilizado: Code Blocks 13.12


#include <stdio.h>
  int main(void){
  int num, resto, a, i = 0, buscar, encontrar = 0, x;
  int arreglo[20];
  printf("Ingresa un numero: ");
  scanf("%d", &num);

  while(num > 0){
    i++;
    resto = num % 10;
    num = num / 10;
    arreglo[i] = resto;
  }//fin while

  printf("Ingresa un digito a buscar: ");
  scanf("%d", &buscar);

  for(x = 0; x < i; x++){
    if(arreglo[x] == buscar){
      encontrar++;
    }//fin if
  }//fin for

  if(encontrar > 0){
    printf("El digito esta en el numero ingresado\n");
    }
  else{
    printf("El digito no se encuentra\n");
    }

  return 0;
}//fin main


//Escrito por Gustavo J. Cerda Nilo, diciembre 2015


JAVA
Programa utilizado: Net Beans 8.0.1

import java.util.Scanner;
public class buscaDigito{
  public static void main(String[]args){
   
    Scanner ingreso = new Scanner(System.in);
    int num, resto, a, i = 0, buscar, encontrar = 0, x;
    int arreglo[] = new int[20];
   
    System.out.print("Ingresa un numero: ");
    num = ingreso.nextInt();

    while(num > 0){
     
      resto = num % 10;
      num = num / 10;
      arreglo[i] = resto;
      i++;
    }//fin while
   
    System.out.print("Ingresa el numero a buscar: ");
    buscar = ingreso.nextInt();
   
    for(x = 0; x < i; x++){
      if(arreglo[x] == buscar){
        encontrar++; 
      }//fin if 
    }//fin for
   
    if(encontrar > 0){
        System.out.println("El digito esta en el numero ingresado");
    }
    else{
        System.out.println("El digito no se encuentra");
    }

  }//fin main   
}//fin class
//Escrito por Gustavo J. Cerda Nilo, diciembre 2015


PYTHON 3.5
Programa utilizado: Idle

numero = int(input("Ingresa un numero: "))
i = 0
arreglo = []
encontrar = 0

while numero > 0:
    i = i + 1
    resto = numero % 10
    numero = int(numero / 10)
    arreglo.append(resto)

buscar = int(input("Ingresa el numero a buscar: "))

for x in range(i):
    if arreglo[x] == buscar:
        encontrar = encontrar + 1

if encontrar > 0:
    print("El digito esta en el numero ingresado")
else:
    print("El digito no se encuentra")

         
#Escrito por Gustavo J. Cerda Nilo, diciembre 2015


SMALL BASIC
Programa utilizado: Small Basic 1.1

TextWindow.Write("Ingresa un numero: ")
numero = TextWindow.ReadNumber()
i = 0
While numero > 1
  i = i + 1
  resto = Math.Floor(Math.Remainder(numero, 10))
  numero = numero / 10
  arreglo[i] = resto
EndWhile

TextWindow.Write("Ingresa el numero a buscar: ")
buscar = TextWindow.ReadNumber()

encontrar = 0
For x = 1 To i
  If arreglo[x] = buscar Then
    encontrar = encontrar + 1
  EndIf
EndFor

If encontrar > 0 Then
  TextWindow.WriteLine("El digito esta en el numero ingresado")
Else
  TextWindow.WriteLine("El digito no se encuentra")
EndIf

'Escrito por Gustavo J. Cerda Nilo, diciembre 2015


C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...