viernes, 13 de diciembre de 2013

Unidad 2 Ejercicio 33 : calcular los divisores de un número N

/*
* 33. Escribir un programa que presente en pantalla todos los divisores de un valor entero positivo N leído por teclado, forzando a que a N sea positivo. No se escribirán como divisores el número 1 y N.

Si por ejemplo N vale 12, la salida generada por el programa sería:

Divisores del número 12:
2, 3, 4, 6

*/
package unidad2ejerc33;
import java.util.Scanner;

Examen Ejercicio 6

/*
* ,- Hacer un programa que pida por teclado 2 números enteros  A y B, obligando al usuario a que sean positivos, y que calcule y escriba los números impares que hay entre A y B (ambos incluidos) escritos de manera descendente. Hacer este seudocódigo utilizando la sentencia REPETIR-MIENTRAS en todos sus bucles.
*/
package exejerc6;
import java.util.Scanner;

Examen Ejercicio 5

/*
* 5.- Hacer un programa que pida por teclado un número n, forzando a que sea mayor o igual que 6 y par. 

A continuación, escribir en pantalla los  n primeros números de la sucesión de Fibonacci. Los dos primeros números de esta sucesión valen 1; cada uno de los demás elementos es igual a la suma de los dos anteriores. Por ejemplo, los siete primeros números de la sucesión de fibonacci son: 1,1,2,3,5,8,13......

*/
package exejerc5;
import java.util.Scanner;

Examen Ejercicio 4

/*
4.- Hacer un programa que nos pida por teclado un número N forzando a que N sea mayor o igual que cero, y que calcule y escriba en pantalla el factorial de N. El factorial de un número n se define de la siguiente manera:

Si n vale 0 su factorial es 1
Para otro valor de n: n! = 1*2*3*...*(n-1)*n
*/
package exejerc4;
import java.util.Scanner;

public class ExEjerc4 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int factorial=1, numero;
        Scanner leo = new Scanner(System.in);
       
 

Objetos Explicación 2: Clase jugador

Creamos una clase ObjetosJugador desde la cual iremos viendo buenas y malas prácticas de programación orientada a objetos, como la iremos modificando en sucesivas clases ponemos aquí la primera versión....con sus errores....

package objetosjugador;
import java.util.Scanner;

public class ObjetosJugador {


Objetos Explicación 1: Clase vehículo


Usamos dos clases ExplicaciónObjetos desde dónde haremos uso de la clase vehículo que también tenéis en esta misma entrada un poco más abajo:

package explicacionobjetos;


public class ExplicacionObjetos {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
      
        vehiculo miCoche = new vehiculo(-2,2);
        vehiculo otroCoche= new vehiculo(3,5);
        vehiculo camion = new vehiculo(20);
      
        //miCoche.plazas=-24;
        miCoche.setVolumen(-10);
            
   

Unidad 2 Ejercicio 38 (varias soluciones vuestras también)

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ud2ejerc38;

/**
*
* @author Juan
*/
public class Ud2Ejerc38 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int num=99, unid, dec, cent;
        do {num=num+1;
            cent=num/100;
            dec=num/10-cent*10;
            unid=num-cent*100-dec*10;
            if (num==Math.pow(cent,3)+Math.pow(dec,3)+Math.pow(unid,3)) System.out.printf("%d \t", num);
        } while (num!=999);

        // TODO code application logic here
        for (int i = 100; i < 1000; i++) {
            if (i==(Math.pow(i/100, 3)+Math.pow((i%100)/10,3)+Math.pow(i%10,3))) {
               System.out.print(" "+i);
            }
   

Examen Ejercicio 3

/*
Realizar un programa que lea por teclado dos números: el primero de ellos será un valor “baliza” y el segundo indicará la cantidad de números que introducirá el usuario para comparar con dicho valor baliza. Como salida el programa nos dirá cuántos valores son mayores que la baliza, cuántos menores y la suma de los mayores. Por ejemplo:
baliza: 5
valores: 7
el usuario introduciría ahora los 7 valores que le iría pidiendo el programa, p.e.:
1
2
3
4
5
6
7
*/
package exejerc3;
import java.util.*;
/**
*

Examen Ejercicio 2

/*
Dado un número descomponerlo en el producto de los factores primos -factorización-. Por ejemplo dado el número 40 la salida sería:

40 | 2
20 | 2
10 | 2
5   | 5
1
*/
package exejercicio2;
import java.util.*;

/**
*
* @author Juan
*/

Examen Ejercicio1

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package exejerc1;
import java.util.Scanner;
/*
* Escribir un programa que lea dos números por teclado y escriba el cociente y el resto resultados de dividir el mayor entre el menor. Los números a dividir deben ser obligatoriamente mayores que cero.
*/
public class ExEjerc1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
      
        int num1, num2, mayor, menor;
 

miércoles, 4 de diciembre de 2013

Servidor Web IIS, certificados y webdav en Windows Server 2012

Instalación de IIS y entidad certificadora

He decidido incorporar todo el material en una única práctica ya que lo podéis encontrar separada por partes en prácticas previas.
En primer lugar instalamos el servidor de aplicaciones, para ello, nos vamos a agregar roles e instalamos el servicios de certificados y el servidor web (IIS), Para el servidor Web añadimos (Publicación en WebDAV, Autenticación de Windows y Autorización para URL, en el caso del servidor de certificados, a la hora de configurar que funciones añadimos marcamos: Entidad de certificación e inscripción web de entidad de certificación. agregar roles

viernes, 29 de noviembre de 2013

Uva: Mario Jumping (El salto de mario) 11764

/*El salto de mario 11764 (uva
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package mariojumpinconwhile;

import java.util.Scanner;

/**
*
* @author Juan
*/
public class MarioJumpinconWhile {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        int casos,muros,altura,alturaSig;
        int saltoArriba,saltoAbajo;
        int i=1,j;
        Scanner entrada = new Scanner(System.in);
       
        casos= entrada.nextInt();
        while ( i <= casos) {
            saltoArriba=0;
            saltoAbajo=0;
            muros=entrada.nextInt();
            altura = entrada.nextInt();
            j=1;
            while( j < muros) {
                alturaSig= entrada.nextInt();
                if (altura<alturaSig) ++saltoArriba;
                 else if (altura>alturaSig) ++saltoAbajo;
                altura=alturaSig;
                j++;
            }
            System.out.println("Case "+i+": "+saltoArriba+" "+saltoAbajo);
            i++;
        }
    }
}

Unidad 2 Ejercicio 27: Cálculo de las medias de notas de los alumnos



package unidad2ejer27;
import java.util.Scanner;
/**
*
Hacer un programa que nos permita calcular la nota media de un alumno a partir de una serie de calificaciones leídas desde el teclado. No se puede permitir al usuario meter notas mayores de 10. El proceso de lectura finaliza cuando se introduzca una nota negativa. El programa puede ser ejecutado varias veces, para ello después de realizar el proceso para un alumno se visualizara el mensaje: ¿Desea calcular la media de otro alumno?, Teclee una S o una N. Si el usuario teclea S el programa vuelve a ejecutarse y si teclea N finalizara su ejecución


* @author Juan
*/
public class Unidad2Ejer27 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int nota,suma, media,cont;
        char mas;
        String cadena;
        Scanner leo = new Scanner(System.in);
   

Uva: Cost Cutting 11727

package pkg11727costcutting;
import java.util.Scanner;


public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

    byte casos,i=1;
    short medio,sal1,sal2,sal3;
    Scanner leo = new Scanner( System.in);

    casos=leo.nextByte();
    while(i<=casos){
        sal1 = leo.nextShort();
        sal2 = leo.nextShort();
        sal3 = leo.nextShort();
    
        System.out.print("Case "+i+": ");
        if (sal1>sal2)
            {if (sal2>sal3) System.out.println(sal2);
            //sal1>sal2 sal3>sal2
             else if (sal3>sal1) System.out.println(sal1);
                    else System.out.println(sal3);}
        else {if (sal1>sal3) System.out.println(sal1);
            //sal1>sal2 sal3>sal1
            else if (sal3>sal2) System.out.println(sal2);
            else System.out.println(sal3);}
        ++i;


    }

    }
}


Segunda solución (más rápida) /*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pkg11727costcuttingb;

import java.util.Scanner;

/**
*
* @author Juan
*/


public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

    byte casos,i=1;
    short medio,sal1,sal2,sal3;
    Scanner leo = new Scanner( System.in);
 
    casos=leo.nextByte();
    while(i<=casos){
        sal1 = leo.nextShort();
        sal2 = leo.nextShort();
        sal3 = leo.nextShort();
        System.out.print("Case "+i+": ");
     
        if ((sal1>sal2 && sal2 >sal3) || (sal3>sal2 && sal2>sal1)) System.out.println(sal2);
        else if ((sal1>sal3 && sal3 >sal2) || (sal2>sal3 && sal3>sal1)) System.out.println(sal3);
        else System.out.println(sal1);
        ++i;
           }
    }
}

Unidad 2 Ejercicio 26 (solución b: con bucles while en lugar de divisiones): Descomposición de una cantidad en billetes

package unidad2ejerc26b;
import java.util.Scanner;
/**
*
* @author Juan
*/
public class Unidad2Ejerc26b {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int dinero, cont=0;
        Scanner entrada = new Scanner(System.in);
      
        System.out.println("Introduzca la cantidad de dinero: ");
        dinero = entrada.nextInt();
      
        while(dinero>=100){
            ++cont;
            dinero-=100;
          
        }
 

Unidad 2 Ejercicio 23: Cálculo de la suma de pares e impares

/*

* 23. Leer por teclado dos números enteros positivos, forzando al usuario a
* que los dos números introducidos sean positivos;
* es decir, mientras el usuario esté introduciendo algún valor
* negativo visualizar un mensaje de error y volver a pedirle otro número.
* Calcular la suma de los números pares e impares comprendidos entre los dos números leídos.
* El programa tiene que funcionar independientemente de que el primero de los números tecleados sea mayor o menor que el segundo.
* 24. Añadirle al programa anterior lo necesario para que además no permita introducir los dos números iguales.
*/
package unidad2ejer23;
import java.util.Scanner;
/**
*
* @author Juan
*/
public class Unidad2Ejer23 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        int num1, num2, mayor, menor,sumaPar=0, sumaImpar=0;
        Scanner entrada = new Scanner (System.in);
       
  

miércoles, 27 de noviembre de 2013

Autenticación en Apache basada en PAM


Siguiendo con los artículos en que trataba la autenticación en Apache, además de la autenticación básica y la basada en LDAP, nos queda la basada en PAM, es decir, empleando las propias cuentas de usuario que se emplean en el propio equipo. Es importante señalar que sino empleamos encriptación (ssl/https) las contraseñas viajarán en plano, con lo que estamos exponiendo las contraseñas de sistema de nuestros usuarios, es decir, en un sistema real deberíamos combinar el artículo de certificados en Apache con este (en cualquier caso siempre que sea necesaria la autenticación en un sistema se debe encriptar el tráfico).
Para este artículo he empleado como material base el artículo del blog unlugarenelmundo que trata este tema de una manera muy sencilla.

En primer lugar instalamos el módulo mod_auth_pam:
# sudo apt-get install libapache2-mod-auth-pam

lunes, 25 de noviembre de 2013

Unidad 2 Ejercicio 22: Triángulo de Floyd

/*
* 22. Escribir un programa que nos pida un número por teclado un número n, y que dibuje el triángulo de FLOYD para ese número. El triángulo está formado por tantas líneas como el número leído, teniendo la primera línea un número, y uno más cada una de las líneas siguientes. Los números son los naturales empezando por el 1. El triángulo de floyd para n=5 sería

1
2    3
4    5   6
7    8   9 10
11   12 13 14 15

*/
package unidad2ejer22;
import java.util.Scanner;

/**
*
* @author Juan
*/

Unidad 2 Ejercicio 20 y 21: Calcular el mayor y menor de una serie de números

/*
*20. Leer por teclado 5 números enteros positivos, y escribir cual fue el mayor y el menor de los números introducidos. Hay que controlar que el usuario no introduzca números negativos. Si se da esta circunstancia hay que visualizar un mensaje de error, forzándolo a que meta números positivos.

21. Repetir el programa anterior, pero en vez de leer 5 números,
* antes tiene que introducir el usuario cuántos números van a ser leídos,
* visualizándose el mensaje:
*
Introduzca cuántos números tienen que leerse por teclado: _
*/
package unidad2ejer21y20;
import java.util.Scanner;

/**
*
* @author Juan
*/
public class Unidad2Ejer21y20 {

  

Unidad 2 Ejercicio 19: Cálculo de n potencias con bucle for

package unidad2ejercicio19;
import java.util.Scanner;

/**
*
* @author Juan
*/
public class Unidad2Ejercicio19 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int n;
        Scanner entrada = new Scanner(System.in);
        
        System.out.print("Introduzca un número: ");
        n = entrada.nextInt();
        for (int i = 1; i <=n; ++i) {
            System.out.println(Math.pow(2, i)+" ");
        }
    }
}

Unidad 2 Ejercicio 18: Sumas y medias con For

/*
* 17. Escribir un programa que escriba en pantalla los 30 primeros números naturales  (del 1 al 30, ambos incluidos), así como su media aritmética.
*/
package unidad2ejercicio17;

/**
*
* @author Juan
*/
public class Unidad2Ejercicio17 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int suma=0;
       
        for (int i = 1; i <= 30; i++) {
            System.out.println(i);
            suma+=i;// suma = suma +i;
        }
        System.out.println("La suma es "+ suma + " la media "+ ((double)suma/30));
        //System.out.printf("la media es %f",((double)suma/30));
    }
}

Unidad 2 Ejercicio 17: Cálculo de la media con un For

/*
* 17. Escribir un programa que escriba en pantalla los 30 primeros números naturales  (del 1 al 30, ambos incluidos), así como su media aritmética.
*/
package unidad2ejercicio17;

/**
*
* @author Juan
*/
public class Unidad2Ejercicio17 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int suma=0;
       
        for (int i = 1; i <= 30; i++) {
            System.out.println(i);
            suma+=i;// suma = suma +i;
        }
        System.out.println("La suma es "+ suma + " la media "+ ((double)suma/30));
        //System.out.printf("la media es %f",((double)suma/30));
    }
}

Unidad 2 Ejercicio 16: Uso bucle For

/*
16. Hacer un programa que escriba cinco veces el mensaje “estamos estudiando el lenguaje de programación Java”
*/
package unidad2ejercicio16;

/**
*
* @author Juan
*/
public class Unidad2Ejercicio16 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
       
        for (int i = 1; i <=6; i++) {
            System.out.println("Estamos estudiando el lenguaje d eprogramación Java");
        }
   
    }
}

lunes, 18 de noviembre de 2013

Unidad 2 Ejercicio 15 Comprobación fecha correcta

/*
15. Hacer un programa que compruebe si una fecha con el formato: dia, mes, año es correcta. Hay que controlar todas las situaciones anómalas que se puedan dar. Los meses de 31 días son: 1,3,5,7,8,10,12.
NOTA: utilizar la sentencia swith para diferenciar los meses de la fecha.
Un año es bisiesto si es divisible por 4 y no por 100, o si es divisible por 400.

AÑOS BISIESTOS:

1904, 1908, 1912, 1916, 1920, 1924, 1928, 1932, 1936, 1940, 1944, 1948, 1952, 1956, 1960, 1964, 1968, 1972, 1976, 1980, 1984, 1988, 1992, 1996,2000

1900 no es bisiesto

*/
package unidad2ejercicio152;
import java.util.Scanner;


Unidad 2 Ejercicio 11 y 12


/*
 *11. Hacer un programa  que dado un número de DNI obtenga la letra del NIF. La letra correspondiente a un número de DNI se calcula mediante el siguiente algoritmo. Se obtiene el resto de dividir el número de DNI entre 23. El número resultante nos indica la posición de la letra correspondiente a ese DNI, en la siguiente cadena:

Tabla de asignación
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
T R W A G M Y F P D X B N J Z S Q V H L C K E
No se utilizan las letras: I, Ñ, O, U.
La I y la O se evitan para evitar confusiones con otros caracteres, como 1, l ó 0.
11. Hacer un programa  que dado un número de DNI obtenga la letra del NIF. La letra correspondiente a un número de DNI se calcula mediante el siguiente algoritmo. Se obtiene el resto de dividir el número de DNI entre 23. El número resultante nos indica la posición de la letra correspondiente a ese DNI, en la siguiente cadena:

Tabla de asignación
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
T R W A G M Y F P D X B N J Z S Q V H L C K E
No se utilizan las letras: I, Ñ, O, U.
La I y la O se evitan para evitar confusiones con otros caracteres, como 1, l ó 0.

 */
package ud2ejer11;
import java.util.Scanner;
/**
 *
 * @author juan
 */

miércoles, 13 de noviembre de 2013

Unidad 2 Ejercicio 9

package ud2ejer9;

import java.util.Scanner;

/**
*
* @author juan
*/
public class Ud2Ejer9 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

    Scanner entrada = new Scanner (System.in);
        int n1,n2,n3;
   

Unidad 2 Ejercicio 8

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ud2ejerc8;
import java.util.*;

/**
*
* @author juan
*/
public class Ud2Ejerc8 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        Scanner entrada = new Scanner (System.in);
        int n1,n2,n3;

lunes, 21 de octubre de 2013

Seudocódigo 11 bis: otra manera de realizar los rectángulos de asteriscos


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package seudocodigo11bis;

import java.util.Scanner;

/**
*
* @author juan
*/
public class Seudocodigo11bis {

    /**
     * @param args the command line arguments
     */
 

Seudocódigo 11: Realizar un rectángulo de asteriscos de alto y largo variable


/*
* .- Pedir por teclado dos números A, B e imprimir un rectángulo formado por A asteriscos de largo y B asteriscos de alto (dejando espacios en blanco en el interior del rectángulo)
*/
package seudocodigo11;
import java.util.Scanner;
/**
*
* @author juan
*/
public class Seudocodigo11 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
/*

Ordinograma 15: Contar número de pares e impares introducidos


/*
* Introducimos números hasta que se introduce un cero en ese momento muestra:
* - cantidad de números pares
* - cantidad de números impares
*/
package ordinograma15;
import java.util.Scanner;
/**
*
* @author juan
*/
public class Ordinograma15 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int num, pares, impares;
        Scanner entrada = new Scanner(System.in);
     
        pares=0;
        impares=0;

Ordinograma 13: Contar números introducidos y su suma


/*
* Pedir números hasta que el usuario responda "N" a la pregunta
* ¿Quiere introducir más numeros?
* Mostrando:
* - Nºs introducidos hasta el momento
* - La suma de todos ellos.
*/
package ordinograma13;
import java.util.Scanner;
/**
*
* @author juan
*/
public class Ordinograma13 {


jueves, 17 de octubre de 2013

Servidor DHCP en Windows Server 2012

INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR DHCP EN WINDOWS 2012

  • Nos aseguramos de que la configuración del adaptador en VirtualBox este situado en Red interna
  • Arrancamos la maquina virtual de windows 2012
  • Configuramos la red para asignarle una ip fija, en caso contrario windows nos notificaría el error al intentar instalar el servidor, asignándole  la siguiente dirección de red:
    image
  • Aparecerá la opción de “Administrar servidor”, en caso contrarío la seleccionamos desde el menú de acceso rápido situado en la barra de tareas:
    image


miércoles, 16 de octubre de 2013

Ordinograma 11: Cálculo de años bisiestos

/*
* Calcular si un año es bisiesto. Controlar año mayor que cero
* Año bisiesto si:
*  - Divisible entre 4 pero no entre 100
*  - Divisible entre 400
*/
package ordinograma11;
import java.util.Scanner;

/**
*
* @author juan

Ordinograma 10: Conversión euros a pesetas y viceversa

/*
* Pasar de pesetas a euros y viceversa. El usuario debe indicar qué
* conversión E para euros a pesetas y p para pesetas a euros
*/
package ordinograma10;
import java.util.Scanner;
/**
*
* @author juan
*/
public class Ordinograma10 {

  

lunes, 14 de octubre de 2013

Seudocódigo 10: Cálculo de la serie

/*
* Pedir por teclado un número N, y a continuación calcular e imprimir el valor de la siguiente expresión:
(1/2)+(2/3)+.....+(N-1)/N

*/
package seudocódigo10;
import java.util.Scanner;

/**
*
* @author Juan
*/
public class Seudocódigo10 {

Ordinograma 9: Calcular área de un círculo

/*
* Calcular área de un círculo obligando a que el radio
* sea mayor que cero
*/
package ordinograma9;
import java.util.Scanner;
/**
*
* @author Juan
*/

viernes, 11 de octubre de 2013

Seudocódigo 9: Cálculo del factorial

/*
*Cálculo del factorial de un número (incrementando
* y/o decrementando )
*/
package seudocodigo9;
import java.util.Scanner;
/**
*
* @author Juan
*/

Seudocódigo 8: Bucles anidados

/*
* Bucles anidados
*/
package seudocodigo8;

/**
*
* @author Juan
*

Seudocódigo y Java 7: Bucle Para ii

/*
* Seudocódigo que lea desde el teclado 10 números y que cuente e imprima cuántos de ellos son positivos.
*/
package seudocodigo7;
import java.util.Scanner;
/**
*
* @author Juan
*/

Seudocódigo ya Java 6: Bucle Para

/*
Mostrar cinco números por pantalla
*/
package seudocodigo6;

/**
*
* @author Juan
*/
public class Seudocodigo6 {

 

Ejercicios Ordinogramas 8 (en Java)

/*
* Leer un caracter y decir si es vocal o no
*/
package ordinograma8;

import java.util.Scanner;

/**
*
* @author Juan
*/
public class Ordinograma8 {

Ejercicios ordinograma 4 en Java

/*
Leer precio de un producto, número e iva y calcular el pvp
*/
package ordinograma4;
import java.util.Scanner;
/**
*
* @author Juan
*/
public class Ordinograma4 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        float pvp,psiva,piva,precio,iva;
        int cantidad;
 

miércoles, 9 de octubre de 2013

Explicación: Bucle While en java

/*
 * Leer 10 numeros y calcular suma con while
 * Mismo ejercicio de antes con otro tipo de bucle (podría no ejecutarse el código interno)
 */
package explicacionwhile;

Explicación: Bucle do while en java

/*
 * Leer 10 números y calcular su suma (bucle do while)
 */
package explicacionbucles;
import java.util.Scanner;

/**
 *
 * @author Juan

Introducción a clases y objetos mediante el objeto String

/*
 * Breve introducción a los objetos,clases usando
 * como ejemplo una cadena
 */
package cadenassss;
import java.util.Scanner;
/**
 *
 * @author Juan
 */
public class CAdenassss {

Ejercicios Ordinograma 2 (en java)

/*
 * Leer dos números y mostrar cuál es el mayor y cuál el menor
 */
package ordinogramas2;

import java.util.Scanner;

/**
 *
 * leer dos números y escribir mayor seguido del menor
 */
public class Ordinogramas2 {


Ejercicios Ordinogramas 1 (en java)

/*
 * Leer tres números y calcular la media
 */
package ordinog1;
import java.util.Scanner;
/**
 *
 * @author Juan
 */
public class Ordinog1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        float num1,num2,num3;
        Scanner entrada = new Scanner(System.in);
       
        System.out.println("Introduzca el primer número");
        num1 = entrada.nextFloat();
        System.out.println("Introduzca el segundo número");
        num2 = entrada.nextFloat();
        System.out.println("Introduzca el tercer número");
        num3= entrada.nextFloat();
        //diferencia entre división entera y real
        System.out.printf("\nLa media de los tres números es %d",(int)((num1+num2+num3)/3));
        System.out.printf("\nLa media de los tres números es %.2f",((num1+num2+num3)/3));
    }
}

viernes, 4 de octubre de 2013

Seudocódigo y Java 5: Estructuras de control simple

/*
 * Comprobar si un número es positivo o negativo
 */
package seudocodigo4;

import java.util.Scanner;

/**
 *
 * @author Juan
 */
public class Seudocodigo4 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int a;
        Scanner entrada = new Scanner(System.in);
     
        System.out.print("Introduzca el valor de x: ");
        a = entrada.nextInt();
     
        if (a>0) {
            System.out.printf(" %d es positivo",a);
        } else {
            System.out.printf("%d es negativo",a);
        }
    }
}

Seudocódigo y Java 4: Estructuras de control simple

/*
 * Leer dos números y mostrar el mayor (no tener en cuenta caso de igualdad
 */
package seudocodigo3;

import java.util.Scanner;

/**
 *
 * @author Juan
 */
public class Seudocodigo3 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int a,b;
        Scanner entrada = new Scanner(System.in);
     
        System.out.print("Introduzca el valor de x: ");
        a = entrada.nextInt();
        System.out.print("Introduzca el valor de y: ");
        b = entrada.nextInt();
        if (a>b) {
            System.out.printf("El mayor es %d",a);
        } else {
            System.out.printf("El mayor es %d",b);
        }
    }
}


Otra posibilidad sería:
public static void main(String[] args) {
        int a,b, mayor;
        Scanner entrada = new Scanner(System.in);
     
        System.out.print("Introduzca el valor de x: ");
        a = entrada.nextInt();
        System.out.print("Introduzca el valor de y: ");
        b = entrada.nextInt();
        if (a>b) {
           mayor =a;
        } else {
           mayor = b;
        }
        System.out.printf("El mayor es %d",mayor);
    }

Seudocódigo y Java 3: Operadores y asignaciones

/*Leer dos variables e intercambiar su contenido
 * Entero x,y,z
 * ESCRIBIR "Introduzca variables"
 * LEER x,y
 * z = x
 * x = y
 * y = z
 * ESCRIBIR x,y
 *
 *
 */
package seudocodigo2;
import java.util.Scanner;
/**
 *
 * @author Juan
 */
public class Seudocodigo2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int x,y,z;
        Scanner entrada = new Scanner(System.in);
       
        System.out.print("Introduzca el valor de x: ");
        x = entrada.nextInt();
        System.out.print("Introduzca el valor de y: ");
        y = entrada.nextInt();
       
        z=x;
        x=y;
        y=z;
        System.out.print("ES z igual a x? ");
        //comparador
        System.out.print(z==x);
        System.out.printf("x: %d, y:%d, z:%d\n",x,y,z);
     
        //asignación
        System.out.print(z=x);
        System.out.printf("x: %d, y:%d, z:%d",x,y,z);
       
      //  System.out.printf("El nuevo valor de x es %d y el de y %d",x,y);
   
    }

Seudocódigo y Java: 2.- Asignación de variables

/*Leer dos variables e intercambiar su contenido
 * Entero x,y,z
 * ESCRIBIR "Introduzca variables"
 * LEER x,y
 * z <-- p="" x=""> * x <-- p="" y=""> * y <-- p="" z=""> * ESCRIBIR x,y
 *
 *
 */


miércoles, 2 de octubre de 2013

Ejercicios Seudocódigo 1

Escribir un seudocódigo que pida por teclado un número entero mostrando un mensaje. A continuación escribir en pantalla el número leído, el doble del número leído y el triple del mismo.

/*
 * UNIDAD leo
PROCESOS
PROCEDIMIENTO PRINCIPAL
Declaraciones privadas
    Real num
CODIGO
    ESCRIBIR “Introduce un numero:”
    LEER num
    ESCRIBIR “número leído:”, num
    ESCRIBIR “doble del número:”,num*2
    ESCRIBIR “triple del número:”,num*3
FIN PROCEDIMIENTO PRINCIPAL
FIN UNIDAD leo

lunes, 23 de septiembre de 2013

DAM Programación

1.-  Introducción á programación:



    Por si os enlaces anteriores non están dispoñibles deixovos os pdf´s os que fan referencia:
    1. Ordinogramas (descarga del programa dfd )
      1. Mayor de edad, dfd
      2. Mayor de tres valores, dfd
      3. Ordinogramas, página 6 boletín, dfds
    2. Ejercicios ordinogramas
      1. Ejercicio 1: otra solución con funciones, leer 3 números y calcular la media, enlace al dfd,
      2. Ejercicio 2: leer 2 números y mostrar el mayor y el menor
      3. Ejercicio 4: Leer precio, número e iva y calcular pvp
      4. Ejercicio 6: Calcular el área de un rectángulo, enlace al dfd
      5. Ejercicio 7: Comprobar si un número es par o impar, enlace al dfd
      6. Ejercicio 8: Leer un carácter y decir si es vocal o no, enlace al dfd
      7. Ejercicio 9: Calcular área de un círculo, enlace al dfd
      8. Ejercicio 10: Conversión entre euros y pesetas
      9. Ejercicio 11: Cálculo de año bisiesto, enlace al dfd
      10. Ejercicio 12: Contar el número de valores introducidos, enlace al dfd
      11. Ejercicio 13: Contar números introducidos y su suma
      12. Ejercicio 15: Contar número de pares e impares introducidos, enlace al dfd del 14 y 15 juntos
      13. Ordinograma 17: Mostrar el mes a partir de su ordinal
      14. Ordinograma 18: Mostrar los múltiplos de 4
      15.  Ordinograma 19: Ecuación de segundo grado
      16. Ordinograma 20: Suma de los números del 1 al 100
      17.  Ordinograma 21: Número de aprobados y medias

    3. Seudocódigo (resolución de los problemas de seudocódigo en java):
      1. Ejercicio 1: Leer un número y calcular el doble y el triple del mismo.
      2. Ejercicio 2: Asignación de variables: Leer dos variables y mostrar su contenido
      3. Ejercicio 3: Operadores y asignaciones. Leer dos números e intercambiar sus valores.
      4. Ejercicio 4: Estructuras de control simple. Comprobar si un número es mayor que otro.
      5. Ejercicio 5: Estrucutras de control simple. Comprobar si un número es positivo o negativo.
      6. Ejercicio 6: Bucle Para
      7. Ejercicio 7: Bucle para II
      8. Ejercicio 8: Bucles anidados
      9. Ejercicio 9: Cálculo del factorial (incrementando y decrementando)
      10. Ejercicio 10: Cálculo de la serie 1/2 + 2/3+....(n-1)/n
      11. Ejercicio 11 (5.2 resueltos): Realizar un rectángulo de asteriscos de longitud y altura vble.
        1. Ejercicio 11 bis: otra manera de resolver el anterior algoritmo
    4. Unidad 2:
      1. Ejercicio 8: Es un número la suma de los otros dos?
      2. Ejercicio 9: Cálcular la suma de dos pares comprendidos en un rango
      3. Ejercicios 11 y 12: Cálculo de la letra del DNI
      4. Ejercicio 15: Comprobar fecha correcta
      5. Ejercicio 16: Uso bucle for
      6. Ejercicio 17: Cálculo de la media con for
      7. Ejercicio 18: Sumas y medias con for
      8. Ejercicio 19: Cálculo de potencias con for
      9. Ejercicio 20 y 21: Cálculo del mayor y menor de una serie de números
      10. Ejercicio 22: Triángulo de Floyd
      11. Ejercicio 23: Cálculo de la suma de pares e impares
      12. Ejercicio 26: Descomposición de una cantidad en billetes (solución b: con bucles while)
      13. Ejercicio 27: Cálculo de la media de las notas de alumnos
      14. Ejercicio 33: Calcular los divisores de un número N introducido por teclado
      15. Ejercicio 34: División mediante restas sucesivas
      16. Ejercicio 38: Comprobar si un número es igual a la suma de los cubos de sus dígitos
      17. Ejercicio 39:
      18. Ejercicio 44: Realizar el triángulo de la imagen con *
      19. Ejercicio 45: Realizar el doble triángulo.
      20. Ejercicio 46: Realizar un rombo.
      21. Ejercicio 52: Contar el número de vocales en una cadena
      22. Ejercicio 53: Palíndromas.
      23. Ejercicio 65: Primitiva
      24. Ejercicio 66: Acertar un número al azar (Clases Random y Math.random);
      25. Ejercicio 73: Objeto Animal, Introducción a objetos.
      26. Ejercicio 74 y 75: Clase rectángulo
      27. Ejercicio 77: Clase Ecuación ,... segundo grado
      28. Ejercicio 78: Objeto Fecha...
      29. Ejercicio 79: Llamadas con Horas...
      30. Ejercicio 80: Cuenta corriente (empezando excepciones y paso de cadenas a números)
    5. Unidad 3:
      1. Ejercicio 1: Ventas anuales de cadena de tiendas.
      2. Ejercicio 2: Comprobar si un número está en un vector.
      3. Ejercicio 3: Simular lanzamiento de dado 10.000 veces
      4. Ejercicio 4: Vector de 100 elementos generados al azar.
      5. Ejercicio 5: Cálculo letra del dni
      6. Ejercicio 6:  Verificar si un NIF leído por teclado es correcto.
      7. Ejercicio 7: Almacenar 10 objetos de tipo fecha.
      8. Ejercicio 8:  Almacenar y solucionar 5 ecuaciones segundo grado.
      9. Ejercicio 9: Crear la clase Test
      10. Ejercicio 10:Crear un examen de 5 preguntas distintas a partir de 10 de la clase Test.
      11. Ejercicio 11: Array de 25 datos enteros generados aleatoriamente.
      12. Ejercicio 13: Arrays de cadenas con nombres y apellidos seleccionados aleatoriamente.
      13. Ejercicio 14: El array anterior ordenado
      14. Ejercicio 15: Uso de binarySearch en arrays.
      15. Ejercicio 17: Tablas o matrices leyendo y asignando valores aleatorios
      16. Ejercicio 18: Calcular menor y mayor y mostrar la matriz
      17. Ejercicio 19: Matriz de orden 10 con diagonal a 1.
      18. Ejercicio 20: Comprobar si una matriz es simétrica.
      19. Ejercicio 21 y 22: Sumar los elementos de las filas y los pares de las columnas....
      20. Ejercicio 24: Matriz latina
      21. Ejercicio 25: Punto de silla
      22. Ejercicio 26: Generar una matriz con números aleatorios y punto de silla
      23. Ejercicio 27: Cuadrado Mágico
      24. Ejercicio 29: Acertar parejas de números
      25. Ejercicio 36: TreeSet de números generados al azar
      26. Ejercicio 37: Imprimir los carácteres d euna cadena (el número)
      27. Ejercicio 38: Darle la vuelta a una cadena empleando una pila
    6. Unidad 4: Interfaz gráfica
      1. Nomenclatura de controles swing
      2. Interfaz gráfica de usuario en java.
      3. Ejercicio 19 de la unidad 2 con excepciones y cuadros de diálogo
      4. DocumentListener
      5. Paso de euros a pesetas al cambiar pulsaciones sin documentListener
      6. Convertir a pesetas
      7. Ejercicio 4: visualizar dos campos y convertir a pesetas en el segundo.
      8. Ejercicio5: incluir gridLayout y cambiar la fuente
      9. Ejercicio 8: Cambiar los colores de los paneles.
      10. Ejercicio 10: Diseño de la apariencia de una calculadora
      11. Botón con imagen cambiando color de fondo
      12. Agregando botones gridLayout y clase manejador
      13. Controles Swing
      14. Cálculo del dni
      15. Cálculo de las potencias de 2 hasta un número
      16. Palíndromas con Swing
      17. Contar vocales
      18. Simular tiradas de un dado
      19. Agregando controles para variar la fuente
    7. Examen Noviembre:
      1. Ejercicio 1
      2. Ejercicio 2
      3. Ejercicio 3
      4. Ejercicio 4
      5. Ejercicio 5
      6. Ejercicio 6
    8. Examen Febrero.
    9. UVA (Concurso programame):
        1. Mario jumping - 11764
        2. Cost Cutting - 11727
        3. Car - 11715
        4. 3n +1 (100)
      1. Acepta el reto:
        1. 124 Cuántas me llevo?
        2. 126 Divisores del factorial
      2. Programame:
        1. Regional 2013: G Súmale uno
        2. Regional 2013: H Área de un rectángulo
        3. Regional 2013: I Número Hyperpar
        4. Ourense 2014: H para modificar
        5. Ourense 2014: Presupuestos con objetos
      3. Acepta el reto:
        1. Hola Mundo (116)
    10. Ejercicios explicados en clase:
      1. Introducción a las cadenas, objetos, clases....
      2. Bucle do while
      3. Bucle while
      4. Clase Vehículo
      5. Clase Jugador
      6. Explicación Cadenas 1.
      7. Explicación Cadenas 2.
      8. Explicación Cadenas 3
      9. Explicación Cadenas 4: contando (ocurrencia) el número de caracteres en una cadena....
      10. Explicación Paso de cadenas a números (y viceversa) y excepciones genéricas.
      11. Preparando examen "recuperación"/control 2ª:
        1. Ejercicio salida/traza
        2. Ejercicio dar vuelta a número
        3. Acumuladores, comparadores, mayor, menor,...
      12. Explicación arrays 1
      13. Explicación arrays 2.
      14. Explicación métodos carácter, arrays y cadenas.
      15. Explicación enum
      16. Preparando examen 2ª Evaluación:
        1. Repaso ejercicio 26 con enum y arraylist
        2. Mostrar número letras de una cadena
        3. Objeto cadena contando/mostrando caracteres
        4. Sopa de letras cutre
        5. Ordenación fácil ....sin sort
      17. Herencia, polimorfismo, sobrescritura
      18. Herencia 2
      19. Interface, override, implements,...
      20. Ourense 2014: H para modificar
      21. Ourense 2014: Presupuestos con objetos
      22. Ejercicio 38: Darle la vuelta a una cadena empleando una pila
      23. Unidad3 ejercicio de colas
      24. GUI
        1. JOptionPane:
          1. explicación
          2. Unidad 2 ejercicio 19

    2.- Programación en Java: 

    Plantillas de código y atajos de teclado en Netbeans 7.3: pdf

    Además de los apuntes disponibles en vuestras carpetas compartidas os dejo un enlace a la página web del ies S. Clemente que también emplearemos en clase.

    3.- Enlaces relacionados:


    JDK 7u40 y Netbeans 7.3.1 (página de oracle)
    Netbeans
    Java

    * Iré colgando aquí enlaces a boletines de ejercicios y soluciones.




         
           

    domingo, 22 de septiembre de 2013

    ASIR Servizos de rede - Servicios de red


    Iré enlazando algunas entradas a las capturas de pantalla -a modo de apuntes- y explicaciones de clase :

    Instalar y configurar adaptadores de red en Virtual Box

    1.- DHCP: 
    Enlaces con documentación:
    • Videotutorial: cómo instalar y configurar básicamente un servidor de DHCP en Windows
    Prácticas de clase:
    1.  Instalación de VirtualBox y servidor DHCP en Windows 2003
    2.  Instalación y configuración del servidor DHCP en Linux (ubuntu 10.04)
    3.  Instalación de webmin, configuración remota del servidor de DHCP
    4.  Instalación y configuración del servidor DHCP en Windows 2008.
    5. Webquest configuración de red en linux

    2.- DNS
    Enlaces a la documentación:
    Prácticas de clase:
    1. Instalación y configuración del servidor DNS en Windows 2003
    2. Instalación y configuracón de DNS en Linux (ubuntu 10.04)
    3. Instalación y configuración DNS mediante Webmin.
    4. Instalación y configuración del servidor DNS en Windows 2008.


    3.- Servidor FTP: 
    Enlaces con documentación:
    • Servidor FTP en Ubuntu
    Prácticas de clase:
    1. Instalación y configuración del servidor FTP en Windows 2003
    2. Instalación y configuracón de FTP en Linux (ubuntu 10.04)
    3. Instalación de certificados en Proftpd.
    4. Instalación y configuración FTP mediante Webmin.
    5. Instalación y configuración del servidor FTP en Windows 2008.

    4.- Servidor Web, Servidor de aplicaciones: 
    Enlaces con documentación:
    Prácticas de clase:
    1. Instalación y configuración del servidor Web IIS en Windows 2003
    2. Instalación del servidor de Certificados en Windows 2003. Uso de certificados con IIS
    3. Instalación e integración de webdav con IIS en Windows 2003.
    4. Instalación y configuracón del servidor Web Apache en Linux (ubuntu 10.04)
    5. Instalación de certificados.
    6. Instalación y configuración web mediante Webmin.
    7. Instalación y configuración del servidor web en Windows 2008.
    8. Instalación y configuración de webdav y certificados en IIS windows 2008


    5.- Acceso remoto: 
    Enlaces a la documentación:
    1. Servidor de terminales en Ubuntu o Debian
    2. VNC:
      1. http://es.wikipedia.org/wiki/VNC
      2. VNC: Visor de Escritorios Remotos en Ubuntu o Debian
      3. vídeo: Terminal server client en ubuntu
    3. SSH:
      1. Cómo Instalar y configurar servidor ssh en Ubuntu
      2. Montar un directorio en Ubuntu desde/hacia un servidor ssh
      3. Dokan: fuse para windows
    4. Remote Desktop 
      1. Windows (para versiones anteriores a windows xp service pack 1)
      2. Escritorio remoto en linux
      3. rdesktop en ubuntu (hacia windows)
        1. Instalación: apt-get install rdesktop
        2. Página web: http://www.rdesktop.org/
    5. Teamviewer
      1. Información y descargas
      2. Videotutorial
    6. VPN:
      1. Windows
    7. Seguridad: ojo con las actualizaciones y/o versiones que empleamos: vídeo
    Prácticas de clase: 
    1. Conexión terminal server a linux. Autor: javier rivero iglesias
    2. Servidor ssh en linux y cliente putty en windows. Autor: Adrián Ayala Vásquez.
    3. Conexión a un escritorio remoto windows desde windows con SimpleDesktop. Autor: Rafael Diéguez Araújo
    4. Terminal server en windows 2008 desde windows7. Autor: Daniel Fernández Fernández
    5. Conexión de windows “interfaz gráfica” a Linux con VNC. Autor: Alfonso Rodríguez Nóvoa
    6. Conexión remota “interfaz gráfica” de linux a Windows con remmina. Autor: Fabio García Puga

     6.- Redes inalámbricas:
    Ejercicios propuestos: 
    1. Configuración de enrutadores
    2. PLC´s y cámaras web inalámbricas
    3. Configuración de redes inalámbricas
    7.- Servidor de correo:
    Enlaces a la documentación:
              (SIN LDAP) Instalación de un servidor de correo con autenticación PAM
    a.- Linux: Servidor de Correo integrado con LDAP en Ubuntu: Courier + Postfix + LDAP,

    1 .-Script para la creación automática de los directorios de los usuarios de correo.
    2 .-Fichero /etc/postfix/main.cf completo antes de encriptación, smtp-auth
    3 .-Squirrelmail: consulta del correo vía web
    4 .-Postfix sobre internet, SMTP Autenticado
    4.1 Configurando Postifx
    4.2 Creación de certificados y configuración de Postfix para su uso
    4.3 Autenticación con SASL
    4.4 Comprobación del funcionamiento de SMTP-AUTH y TLS
    4.5 Configuración y prueba sobre Evolution
    6.1 Instalación de ClamSMTP y ClamAV
    6.2 Configuración de Postfix para que use ClamSMTP
    6.3 Comprobando ClamSMTP
    9.1 /etc/postfix/main.cf
    9.2 /etc/init.d/master.cf
    b.- Windows: Servidor de Correo en Windows Server
              c.- Windows: hmailserver
                         Guía de configuración

    8.- Interconexión de redes:
    Enlaces a la documentación: 
    1. Tecnoloxía xa: Manual de Iptables
    2. Manual de iptables: http://iptables-tutorial.frozentux.net/iptables-tutorial.html 
    3. Tecnoloxía xa: Ejercicios Iptables. Enunciados 
    4.  dhcp + dns + iptables
    5. Cortafuegos basado en linux: smoothwall
    6. Instalar y configurar el proxy Squid


    Iré subiendo el resto de capítulos que faltan hasta completar el temario. Saludos.