miércoles, 10 de agosto de 2016

Capítulo 60. Ejercitando lo aprendido en PHP. Parte 1

Diario de un programador.- Dia 149


Al igual que en la clase de Python, es hora de realizar unos ejercicios para practicar y comprobar lo aprendido. esta vez en php.

1.- Escriba un programa que calcule el promedio de 3 números
   
<?php
                $numero1 = 5;
                $numero2 = 10;
                $numero3 = 15;
                $promedio = ($numero1 + $numero2 + $numero3) / 3;
               
                echo "El promedio es: ", $promedio;

?>

Diario de un programador.- Dia 150


2.- Escriba un programa que invierta un número almacenado en una variable
            Ej. variable = 123 y el programa responde 321


<?php
                $numero = 123;
                $centena = $numero / 100;
                $decena = ($numero % 100) / 10;
                $unidad = ($numero % 100) % 10;
               
                printf ("%d%d%d", $unidad, $decena, $centena);
?>   


Diario de un programador.- Dia 151

3.- Escriba un programa que calcule el largo de la hipotenusa, según el valor de sus catetos almacenados en variables.


<?php
                $cateto1 = 6;
                $cateto2 = 8;
                $sumaCatetos = ($cateto1 * $cateto1) + ($cateto2 * $cateto2);
                $hipotenusa = sqrt($sumaCatetos);
               
                echo "La hipotenusa es: ", $hipotenusa;
?>


Diario de un programador.- Dia 152

4.- Escriba un programa que calcule la división de dos variables, indicando si la división es exacta o no.

<?php
                $numero1 = 21;
                $numero2 = 3;

                if($numero1 % $numero2 == 0){
                               echo "La división es exacta";
                }
                else{
                               echo "La división no es exacta";
                }
?>


5.- Escriba un programa que compare dos palabras, y que indique cuál de ellas es la más larga y por cuántas letras lo es.

<?php

  $palabra1 = "Hola";
  $palabra2 = "mundo";

  $conteo1 = strlen($palabra1);
  $conteo2 = strlen($palabra2);
  $diferencia = abs($conteo1 - $conteo2);
 
  if ($conteo1 > $conteo2){
                  echo "La palabra mayor es: ", $palabra1, "<br>";
  }
  if ($conteo1 < $conteo2){
                  echo "La palabra mayor es: ", $palabra2, "<br>";
  } 
  if ($conteo1 == $conteo2){
                  echo "Las palabras tienen la misma longitud";
  } 
  printf("La diferencia es de %d letra(s)", $diferencia);
?>


6.- escriba un programa que ordene cinco números almacenados en un arreglo:

<?php
                $numeros = array(3, 1, 2, 5, 4);
               
                for($i = 1; $i < 5; $i++){
                               for($j = 0; $j < 5 - $i; $j++){
                                               if($numeros[$j] > $numeros[$j + 1]){
                                                               $aux = $numeros[$j];
                                                               $numeros[$j] = $numeros[$j + 1];
                                                               $numeros[$j + 1] = $aux;
                                               }
                               }
                }
                printf("%d,%d,%d,%d,%d",$numeros[0],$numeros[1],$numeros[2],$numeros[3],$numeros[4]);
?>


Diario de un programador.- Dia 153


7.- Escribir un programa que calcule el mínimo común múltiplo de tres números


<?php

  $num  = array(4,6,8);
  $mayor = 0;
  $interruptor = 0;
  $multiplicador = 0;
 
  for ($i = 0; $i < 3; $i++){
    if ($num[$i] > $mayor){
      $mayor = $num[$i];
    }
  }

  while ($interruptor == 0){
    $contador = 0;
    $multiplicador++;
    $multiplo = $mayor * $multiplicador;
   
                for ($j = 0; $j < 3; $j++){
      if ($multiplo % $num[$j] == 0){
        $contador++;
      }
    }
    if ($contador == 3){
      $interruptor = 1;
    }
  }
  printf("El M.C.M es: %d", $multiplo);                 
?>


Diario de un programador.- Dia 154

8.- Los tres lados a, b y c de un triángulo deben satisfacer la desigualdad triangular: cada uno de los lados no puede ser más largo que la suma de los otros dos.
Escriba un programa que  indique si el triángulo es válido y  si lo es, a que tipo corresponde. Ej:
lado1: 2
lado2: 3
lado3: 7
No es un triangulo valido.

 a: 3
 b: 2
 c: 2
El triangulo es isósceles.

<?php

  function Tipo($lado1, $lado2, $lado3){
                      if ($lado1 == $lado2 and $lado1 == $lado3){
                                         echo "Es equilatero";
                      }
       if ($lado1 == $lado2 and $lado1 != $lado3 or $lado1 == $lado3 and $lado1 != $lado2 or $lado2 == $lado3 and $lado2 != $lado1){
                                            echo "Es isosceles";
                       }
                       if ($lado1 != $lado2 and $lado1 != $lado3 and $lado2 != $lado3){
                                            echo "Es escaleno";
                       }               
  }
  $desigual = 0;
  $lado1 = 7;
  $lado2 = 7;
  $lado3 = 7;
 
  echo "Lado1: ", $lado1, "<br>";
  echo "Lado2: ", $lado2, "<br>";
  echo "Lado3: ", $lado3, "<br>";
 
  if (($lado1 + $lado2) < $lado3){
                    $desigual = $desigual + 1;   
  }
  if (($lado1 + $lado3) < $lado2){
    $desigual = $desigual + 1;
  }
  if (($lado2 + $lado3) < $lado1){
    $desigual = $desigual + 1;
  }
  if ($desigual > 0){
    echo "No es un triangulo valido";
  }
  else{
    tipo($lado1,$lado2,$lado3);           
  }
 
?>

Esto es todo, por ahora. En la segunda parte se finalizaran los ejercicios, para que así en el capítulo siguiente, poder empezar con nueva materia. 
Saludos. 


Gustavo J. Cerda Nilo
Febrero 2016, Agosto 2016




domingo, 7 de agosto de 2016

Capítulo 59. Ejercitando lo aprendido en Python. Parte 2

Diario de un programador.- Dia 146

9.- Escriba un programa que muestre la tabla de multiplicar del 1 al 10 del número ingresado por el usuario:

def Tabla(numero):
    for i in range(1,11):
        print("%d x %d = %d" %(numero,i,(i * numero)))

numero = int(input("ingresa un numero: "))

Tabla(numero)


10.- Escriba un programa que pida al usuario dos números enteros, y luego entregue la suma de todos los números que están entre ellos. Por ejemplo, si los números son 1 y 7, debe entregar como resultado 2 + 3 + 4 + 5 + 6 = 20.

aux = 0
num1 = int(input("Ingresa un numero: "))
num2 = int(input("Ingresa otro numero: "))

for i in range(num1 + 1, num2):
    aux = aux + i

for j in range(num1 + 1, num2):
    if j == num2 - 1:
        print("%d = " % (j), end = "")
    else:
        print("%d + " % (j), end = "")

print("%d" % (aux))


11.- Escriba un programa que muestre una tabla de multiplicar como la siguiente:

 1     2    3    4     5    6     7    8    9  10
 2     4    6    8   10  12  14  16  18  20
 3     6    9   12  15  18  21  24  27  30
 4     8  12  16  20   24  28  32  36  40
 5   10  15  20  25   30  35  40  45  50
 6   12  18  24  30   36  42  48  54  60
 7   14  21  28  35   42  49  56  63  70
 8   16  24  32  40   48  56  64  72  80
 9   18  27  36  45   54  63  72  81  90
10  20  30  40  50   60  70  80  90 100

for a in range(1,11):
    for b in range(1,11):
        if a * b < 10:
            print("%d  " %(a * b), end = "")
        else:
            print("%d " % (a * b), end = "")

        if b == 10:
            print("")


Diario de un programador.- Dia 147

12.- Escriba un programa que entregue  los divisores del número entero ingresado. Ej:
Si el usuario ingresa un 20, el programa responde:
20, 10, 5, 4, 2
Se omite el 1 ya que todos los número son divisibles por 1 y a pesar de que todos los números son divisibles por sí mismo, debe ser agregado de igual forma.


divisor = 0
num = int(input("Ingresa un numero: "))

if num % 2 == 0:
    iterar = num / 2
else:
    iterar = (num - 1) / 2

#hubo que convertirlo a entero debido a que la
#instruccion for no puede trabajar con float
#dando error en iterar + 1
iterar = int(iterar)   

for i in range(1, iterar + 1):
    if num % i == 0:
        aux = num / i
        if aux != divisor:
            divisor = aux

        if i == iterar:
            print("%d" % (divisor), end = "")
        else:
            print("%d," % (divisor), end = "")


13 Escriba un programa que pida al usuario ingresar la altura y el ancho de un rectángulo y lo dibuje utilizando asteriscos:
Alto: 3
Ancho: 4

****
****
****

alto = int(input("Alto: "))
ancho = int(input("Ancho: "))

for a in range(1, ancho + 1):
    for b in range(1, alto + 1):
        print("*", end = "")
    print("")


Diario de un programador.- Dia 148

14 Escriba un programa que dibuje el triángulo del tamaño indicado por el usuario de acuerdo al ejemplo:
Altura: 5

*
**
***
****
*****

alto = int(input("Alto: "))

for a in range(1, alto + 1):
    for b in range(1, alto + 1):
        if b <= a:
            print("*", end = "")
    print("")


15.- Escriba un programa que determine la cantidad de dígitos en un número natural ingresado por el usuario:
Ingrese numero: 12345
12345 tiene 5 digitos

num = int(input("Ingresa un numero: "))
cadena = str(num)
contar = len(cadena)

print("Tiene %d digitos" % (contar))


Esto es todo en cuanto a ejercicios para Python. Saludos


Gustavo J. Cerda Nilo
Febrero 2016, Agosto 2016





viernes, 5 de agosto de 2016

Capítulo 59. Ejercitando lo aprendido en Python. Parte 1

Diario de un programador.- Dia 140


Al igual que en la clase de C++, es hora de realizar unos ejercicios para practicar y comprobar lo aprendido.
Como se podrá observar, en python a diferencia de los otros lenguajes que he mostrado, no se necesitan tantas lineas de código para realizar una misma tarea. Algo a tener presente al momento de escoger en que lenguaje realizar tal o tal proyecto.

1.- Escriba un programa que calcule el promedio de 5 números ingresadas por el usuario:


suma = 0
for i in range(1,6):
    numero = int(input("Ingreso nro. %d: " %(i)))
    suma = suma + numero

promedio = suma / 5


print ("El promedio es", promedio)


Diario de un programador.- Dia 141


2.- Escriba un programa que pida al usuario un entero de tres dígitos, y entregue el número con los dígitos en orden inverso:
            Ej. El usuario escribe 123 y el programa responde 321

numero = int(input("Ingresa un numero de 3 digitos: "))

centena = numero / 100
decena = (numero % 100) / 10
unidad = (numero % 100) % 10

print("%d%d%d" % (unidad, decena, centena))


Diario de un programador.- Dia 142

3.- Escriba un programa que reciba como entrada las longitudes de los dos catetos a y b de un triángulo rectángulo, y que entregue como salida el largo de la hipotenusa c del triángulo, dado por el teorema de Pitágoras: c2=a2+b2.

import math

catetoA = int(input("Ingresa el primer cateto: "))
catetoB = int(input("Ingresa el segundo cateto: "))

catetoA = catetoA * catetoA
catetoB = catetoB * catetoB
sumaCatetos = catetoA + catetoB
hipotenusa = math.sqrt(sumaCatetos)

print("La hipotenusa es: %f" % (hipotenusa))


Diario de un programador.- Dia 143

4.- Escriba un programa que pida dos números enteros y que calcule la división, indicando si la división es exacta o no.

dividendo = int(input("Ingresa el dividendo: "))
divisor = int(input("Ingresa el divisor: "))

if dividendo % divisor == 0:
    print("La division es exacta")
else:
    print("La division no es exacta")

5.- Escriba un programa que pida al usuario dos palabras, y que indique cuál de ellas es la más larga y por cuántas letras lo es.

palabra1 = input("Ingresa una palabra: ")
palabra2 = input("Ingresa otra palabra: ")

conteo1 = len(palabra1)
conteo2 = len(palabra2)
diferencia = abs(conteo1 - conteo2)

if conteo1 > conteo2:
    print("La palabra mayor es: ", palabra1)

if conteo1 < conteo2:
    print("La palabra mayor es: ", palabra2)

if conteo1 == conteo2:
    print("Las palabras tienen la misma longitud")

print("La diferencia es de %d letra(s)" % (diferencia))   


6.- escriba un programa que ordene cinco números:

a = []
for i in range(5):
    ingreso = int(input("Ingresa un numero: "))
    a.append(ingreso)

for i in range(1, 5):
    for j in range(0, 5-i):
        if a[j] > a[j + 1]:
            aux = a[j]
            a[j] = a[j + 1]
            a[j + 1] = aux

print("%d,%d,%d,%d,%d" % (a[0],a[1],a[2],a[3],a[4]))


Diario de un programador.- Dia 144


7.- Escribir un programa que calcule el mínimo común múltiplo de tres números

num = []
mayor = 0
casilla = 0

print("Ingresa 3 numeros")
for i in range(3):
    num1 = int(input("%d: " %(i + 1)))
    num.append(num1)
    if num[i] > mayor:
        mayor = num[i]

interruptor = 0
multiplicador = 0
multiplo = 0

while interruptor == 0:
    contador = 0
    multiplicador = multiplicador + 1
    multiplo = mayor * multiplicador
    for i in range(3):
        if multiplo % num[i] == 0:
            contador = contador + 1

    if contador == 3:
        interruptor = 1
print ("El M.C.M es: %d" %(multiplo))


Diario de un programador.- Dia 145

8.- Los tres lados a, b y c de un triángulo deben satisfacer la desigualdad triangular: cada uno de los lados no puede ser más largo que la suma de los otros dos.
Escriba un programa que reciba como entrada los tres lados de un triángulo, e indique si el triángulo es válido y  si lo es, a que tipo corresponde. Ej:
Ingrese lado1: 2
Ingrese lado2: 3
Ingrese lado3: 7
No es un triangulo valido.

Ingrese a: 3
Ingrese b: 2
Ingrese c: 2
El triangulo es isósceles.

def tipo(lado1,lado2,lado3):

    if lado1 == lado2 and lado1 == lado3:
        print("Es equilatero")

    if lado1 == lado2 and lado1 != lado3 or lado1 == lado3 and lado1 != lado2 or lado2 == lado3 and lado2 != lado1:
        print("Es isosceles")

    if lado1 != lado2 and lado1 != lado3 and lado2 != lado3:
        print("Es escaleno")

desigual = 0

lado1 = int(input("Ingresa el lado 1: "))
lado2 = int(input("Ingresa el lado 2: "))
lado3 = int(input("Ingresa el lado 3: "))

if (lado1 + lado2) < lado3:
    desigual = desigual + 1         

if (lado1 + lado3) < lado2:
    desigual = desigual + 1

if (lado2 + lado3) < lado1:
    desigual = desigual + 1

if desigual > 0:
    print("No es un triangulo valido")
else:
    tipo(lado1,lado2,lado3)            


Esto es todo por ahora.  Saludos

Gustavo J. Cerda Nilo
Febrero 2016, Agosto 2016




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...