martes, 9 de junio de 2015

Soluciones scripts II

Como podéis comprobar la mayoría de los ejercicios se pueden hacer de varias formas, pero recordar QUE LA ÚNICA LIMITACIÓN QUE TIENE EL PROGRAMADOR ES SU PROPIA IMAGINACIÓN.

Solución al ejercicio número 1:

También puedes poner solamente la secuencia de números pares

for var in 0 1 2 3 4 5 6 7 8 9 10 12 -- también for var in `seq 1 12;` o $(seq 1 12)

do

if [ `expr $var % 2` -eq 0 ]

then

for var2 in 0 1 2 3 4 5 6 7 8 9 10

do

echo "$var x $var2" = `expr $var \* $var2`

done

fi

read

done

Solución al ejercicio número 2:

linea="linea"

while [ ! -z "$linea" ]

do

read linea

if [ ! -z "Slinea" ]

then

numlinea=`expr $numlinea + 1`

echo " La linea numero: $numlinea del fichero es: $linea"

fi

done</home/alumno/fichero.txt

Otras formas o posibles soluciones:

  • nl fichero.txt|tr -s"\t" " "|cut -d " " -f2|tail -1
  • otra:
    • cat -n fichero.txt
    • cat fichero.txt|wc -l

Solución al ejercicio número 3:

if test $# -ne 2 –a $1 –lt $2

then

echo “Introduce solo dos números y el segundo mayor que el primero”

else

for (( i=$1; i<=$2;i++))

do

echo “$i”

done

fi

Solución al ejercicio número 4:

for var in $*

do

if [ -d $var ]

then

echo $var es un directorio

rm –ri $var

fi

if [ -f $var –a `find . –name $var –a –size +100c` ]

then

echo $var es un fichero de mas de 100 bytes

rm $var

else

echo $var no tiene 100

fi

done

lunes, 8 de junio de 2015

Scripts II

Más ejemplos para programar.

Ejercicios propuestos en el examen de Junio del 2013

  1. Realiza un script que muestre todas las tablas de multiplicar de los números pares hasta el 12 incluido.
  2. Realiza un guión que nos muestre las líneas de un fichero numeradas y nos diga el número total de líneas(igual que wc).
  3. Realiza un script que devuelva todos los números comprendidos entre dos números enteros que se le pasen como parametros. Se tiene que comprobar que se le pasan dos números y que el primero es menor que el segundo, en casos contrarios mostrar un error.
  4. Realiza un sript que borre los todos los directorios y ficheros que le pasamos. El fichero tiene que tener un tamaño superior a 100bytes.

viernes, 5 de junio de 2015

Soluciones Scripts I

Solución al ejercicio numero 1:

creamos el script : copiaseguridad cp -R /home /mnt/respaldo

ejecutamos el crontab -e: 00 10 * * 7 ./home/copiaseguridad

Solución al ejercicio numero 2:

ps aux|sort -r -k3|grep -w $usuario|head -1

ps -eo user -o %cpu -o cmd|sort -r|grep $usuario|head -1

Solución al ejercicio numero 3:

clear

echo "Introduzca el nombre de usuario a comprobar: "

read nombre

if `who|grep $nombre >/dev/null`

then

echo "El usuario está conectado"

ps –u $nombre|wc -l

else

echo "El usuario no está conectado"

fi

miércoles, 27 de mayo de 2015

Soluciones ejercicios de JavaScript.

Ejercico 1 .
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Calculo de la letra del DNI</title>
<script type="text/javascript">
var letras = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E'];
var letras2 = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
var i;
var x;
var resul;
for(i in letras2)
{
    for(x in letras)
        {
              if(letras2[i]==letras[x])
            {
              resul += 1;
              }
        }
        if (resul == 0)
        {
           alert(letras2[i]);
           }
        resul=0;
}
</script>
</head>
<body>
<p>ok</p>
</body>
</html>
Ejercicio 2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejercicio 2</title>
 <script type="text/javascript">
function alreves(cadena) {
  var cadenaarray = cadena.split(" "); 
 var cadenareves=cadenaarray.reverse();
 var cadenafin=cadenareves.join(" ");
    return cadenafin;
}
 var mensaje=prompt("Introcuce tu nombre y dos apellidos");
alert(alreves(mensaje));
</script>
</head>
 <body>
<p> HOLA</p>
</body>
</html>
Ejercicio 5.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>numero de caracteres</title>
 <script type="text/javascript">
var texto="5.    Realizar un ejercicio que cuando se pulse en el enunciado nos muestre el número de caracteres."
var numero = texto.length;
</script>
</head>
 <body>
<p onclick="alert(numero)">5.    Realizar un ejercicio que cuando se pulse en el enunciado nos muestre el número de caracteres.</p>
</body>
</html>
Ejercicio 6.
 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>mayor</title>
 <script type="text/javascript">
var numeros = prompt("Introduce los números ");
var numero=0;
numero = numeros.split(" ");
var mayor=0;
for(var i = 0; i <=numero.length; i++)
{
     if (numero[i] >= mayor)
     {
        mayor= numero[i];
     }
}
alert(mayor);
</script>
</head>
 <body>
ok
</body>
</html>
Ejercicio 7.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>posicion</title>
 <script type="text/javascript">
var numeros = prompt("Introduce los números ");
var numero=0;
numero = numeros.split(" ");
var mayor=0;
for(var i = 0; i <=numero.length-1; i++)
{
     if (numero[i] >= mayor)
     {
        mayor= numero[i];
     }
}
var posicion = numero.indexOf(mayor);
alert(posicion);
</script>
</head>
 <body>
ok
</body>
</html>

martes, 26 de mayo de 2015

Scripts I

Ejemplos para programar.

Estos ejercicios han sido propuestos en distintos exámenes. En estos casos utilizar el demonio cron y los comandos tar y ps.

  1. Haz un guión que haga una copia de seguridad del nuestro home, en el directorio /mnt/respaldo, todos los domingos a las 10:00.
  2. Muéstrame el proceso con mayor carga en el sistema del usuario que le pasas como parámetro.
  3. Haz un script que compruebe que el usuario que le pides por teclado esta conectado y si es así, muestra el numero de procesos que tiene en el sistema.
  4. Haz un script que cree un archivo tar comprimido con la lista de directorio que le pasas. Tienes que comprobar que en esa lista, todos son directorios, si no fuera así, muestras el error y se sale.El nombre del fichero tar será dd-mm-yyyy.tar.gz. Crea también un archivo dd-mm-yyyy.lista, con los nombres de los directorios comprimidos. Si el fichero lista existiera, muestra el error y te sales.

lunes, 25 de mayo de 2015

Ejercicios de Javascript.

EXAMEN 3ª EVALUACIÓN 10-6-2013

  1. Estas son las letras con las que se calcula la letra del DNI: 'T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E'. Realiza un programa que me devuelva el número de letras que faltan del abecedario (excepto ñ) y cuáles son.
  2. Realiza un programa que pida tu nombre y tus apellidos y me los muestre al revés. Utiliza una función.
  3. Realiza un programa que pida un número y me devuelva todos los números hasta ese número repetidos tantas veces como indique su valor. Por ejemplo: si meto el 4, me devuelve, 1223334444.
  4. Realiza un programa que pida un texto y me devuelva ese mismo texto sin vocales.
  5. Realizar un ejercicio que cuando se pulse en el enunciado nos muestre el número de caracteres.
  6. Realiza un ejercicio que nos muestre el mayor de los números (caracteres) que introducimos.
  7. Realiza un ejercicio que nos muestre la posición del mayor de los números( caracteres) que introducimos.

martes, 12 de mayo de 2015

Gestión de usuarios en Linux. I parte.

  1. Crea un usuario con el comando correspondiente, indicando el directorio de trabajo, el identificador de usuario (1100), el shell que quieres por defecto, el grupo de trabajo principal (primero, que existe) y otros grupos adicionales. Ejecuta a continuación el comando oportuno que te indique que se ha realizado con existo la operación anterior.
  2. Crea el grupo clase y a continuación añade el usuario anterior al grupo clase. Ejecuta a continuación el comando oportuno que te indique que se ha realizado con existo la operación anterior.
  3. Cambia el grupo inicial del usuario para que sea clase. Ejecuta a continuación el comando oportuno que te indique que se ha realizado con existo la operación anterior.
  4. Distintas formas para avisar de la caducidad de una cuenta. Como afecta esto al fichero oportuno.
  5. chage –d 0 usuario, passwd –e usuario. Como afecta esto al fichero oportuno.