/*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++;
}
}
}
Este blog está dedicado a la recolección de información relacionada con las nuevas tecnologías ( tecnoloxía xa), especialmente, con las vinculadas a la informática. La idea es centralizar y compartir la información y cada manual o tutorial que voy recolectando para las clases tanto de administración de sistemas como de explotación de sistemas informáticos de modo que estén disponibles para alumnos y resto de interesados. (IES A Carballeira, Ourense)
viernes, 29 de noviembre de 2013
Uva: Mario Jumping (El salto de mario) 11764
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);
Etiquetas:
DAM,
programación
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;
}
}
}
Etiquetas:
programación,
uva
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;
}
Etiquetas:
DAM,
programación
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);
Etiquetas:
DAM,
programación
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
Etiquetas:
apuntes,
servizos de rede
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
*/
Etiquetas:
DAM,
ejercicios,
programación
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 {
Etiquetas:
DAM,
ejercicios,
programación
Suscribirse a:
Entradas (Atom)