Bienvenidos/as al proceloso mar de las Oposiciones. Aquí hay fuentes de información, enlaces a páginas, libros y reflexiones sobre el duro trabajo del opositor/a (a Informática). Además, un podcast de Informática y 7.000 vídeos en Youtube.
Mostrando entradas con la etiqueta ejercicios. Mostrar todas las entradas
Mostrando entradas con la etiqueta ejercicios. Mostrar todas las entradas
sábado, 5 de mayo de 2012
sábado, 4 de febrero de 2012
martes, 10 de enero de 2012
Shell Script Sistemas de archivos ocupados al 90%
#!/bin/bash
#El comando df muestra el espacio disponible en los sistemas de archivos #montados. Su salida tiene esta forma:
# Filesystem 1024-blocks Used Available Capacity Mounted on
# /dev/hda2 1484386 433463 974213 31% /
# /dev/hda1 1228736 524576 704160 31% /dosc
# /dev/hda3 68263 63484 4779 93% /tmp
#Los campos están separados por espacios. El campo Capacity indica el porcentaje ocupado. Escribir un script espacio que invoque el comando df y muestre en su salida el nombre del sistema de archivo y su capacidad ocupada para los sistemas de archivos con 90% o más espacio ocupado.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
df | tr -s " " | cut -d" " -f1,5 | grep 9[0-9]%
#El comando df muestra el espacio disponible en los sistemas de archivos #montados. Su salida tiene esta forma:
# Filesystem 1024-blocks Used Available Capacity Mounted on
# /dev/hda2 1484386 433463 974213 31% /
# /dev/hda1 1228736 524576 704160 31% /dosc
# /dev/hda3 68263 63484 4779 93% /tmp
#Los campos están separados por espacios. El campo Capacity indica el porcentaje ocupado. Escribir un script espacio que invoque el comando df y muestre en su salida el nombre del sistema de archivo y su capacidad ocupada para los sistemas de archivos con 90% o más espacio ocupado.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
df | tr -s " " | cut -d" " -f1,5 | grep 9[0-9]%
Shell Script Hacer ping a máquinas en archivo /etc/hosts
#!/bin/bash
#Un administrador de una máquina UNIX debe revisar día a día si hay conexión hacia todas las máquinas contenidas en el archivo /etc/hosts. Para ello dispone del comando
# ping -c1 <nombre de la máquina destino>
#Un administrador de una máquina UNIX debe revisar día a día si hay conexión hacia todas las máquinas contenidas en el archivo /etc/hosts. Para ello dispone del comando
# ping -c1 <nombre de la máquina destino>
lunes, 9 de enero de 2012
Shell Script Sumadora usando expr
#Escribir un script sumadora para hacer sumas y restas de enteros. #Presentará al usuario una interfaz similar a ésta:
# SUMADORA: suma y resta enteros.
# Los símbolos aceptados son: + y -
# Debe haber espacio entre todos los operandos y operadores.
# Ejemplo: 5 + 3 - 20 + 35
# Ingrese operaciones:
# 3 * 2 + 10
# Resultado:
# 16
#Si la expresión ingresada es correcta, el script realizará el cálculo y #presentará el resultado; si no lo es, emitirá en lugar del resultado el #mensaje "Expresión incorrecta. Debe comenzar de nuevo" y saldrá.
#¿Qué dificultas se presentaría al incluír otras operaciones?
#Sugerencia: para controlar la validez de la expresión, capturar el valor #de retorno del comando que realiza la operación.
viernes, 6 de enero de 2012
C++ Clase cola circular de enteros
//archivo ccolacircular.h
// Class automatically generated by Dev-C++ New Class wizard
#ifndef CCOLACIRCULAR_H
#define CCOLACIRCULAR_H
// Class automatically generated by Dev-C++ New Class wizard
#ifndef CCOLACIRCULAR_H
#define CCOLACIRCULAR_H
C++ Clase card para almacenar y mostrar datos sobre libros
//archivo ccard.h
// Class automatically generated by Dev-C++ New Class wizard
#include <string>
#include <iostream>
#include <string.h> // Required by strcpy()
#include <stdlib.h>
#ifndef CCARD_H
#define CCARD_H
// Class automatically generated by Dev-C++ New Class wizard
#include <string>
#include <iostream>
#include <string.h> // Required by strcpy()
#include <stdlib.h>
#ifndef CCARD_H
#define CCARD_H
C++ Pila simple para almacenar caracteres mediante un array de caracteres
//archivo cpila.h
// Class automatically generated by Dev-C++ New Class wizard
#include <iostream>
#ifndef CPILA_H
#define CPILA_H
// Class automatically generated by Dev-C++ New Class wizard
#include <iostream>
#ifndef CPILA_H
#define CPILA_H
jueves, 5 de enero de 2012
C++ Clase entera simple con métodos para leer y escribir datos
//archivo centero.h
// Class automatically generated by Dev-C++ New Class wizard
#ifndef CENTERO_H
#define CENTERO_H
// Class automatically generated by Dev-C++ New Class wizard
#ifndef CENTERO_H
#define CENTERO_H
Java Clase Pez Añadir número de objetos de la clase Pez creados.
Hemos añadido a la clase base cPez, una variable pública que se inicializa a 0 al crear el primer objeto de la clase cPez. La variable está fuera de cualquier método y, al ser pública, puede ser accedida desde sus clases derivadas e incrementada, que es lo que se hace en las clases derivadas cada vez que se crea un objeto.
Java Clase Pez getNombre setNombre Crear 2 clases que extiendan la clase pez.
//archivo cPez.java
public class cPez {
protected String nombre;
public cPez(){
this("");
}
public class cPez {
protected String nombre;
public cPez(){
this("");
}
Java Realiza un programa que muestre por pantalla el siguiente cuadrado: 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70 El programa podrá generar cuadrados de cualquier dimensión. Utiliza la recursividad.
Sin recursividad.
//archivo cCuadroRecursivo
public class cCuadradoRecursivo {
private int n;
int [][] tabla;
//archivo cCuadroRecursivo
public class cCuadradoRecursivo {
private int n;
int [][] tabla;
miércoles, 4 de enero de 2012
Java Lucky Number Número de la suerte Calcula tu numero de la suerte a partir de tu fecha de nacimiento
//fichero cLuckynumber.java
import java.util.*;
import java.io.*;
import java.util.Calendar;
public class cLuckynumber {
protected Date fechanac;
import java.util.*;
import java.io.*;
import java.util.Calendar;
public class cLuckynumber {
protected Date fechanac;
Java Clase para calcular número de personas según el número de chocos y de papas
Ampliar el programa anterior creando una clase que permita almacenar los kilos de papas y chocos del restaurante.
import java.io.*;
public class cPapaschocos2 {
import java.io.*;
public class cPapaschocos2 {
Java Calcular el número de personas según los kilogramos de papas y chocos que tenga
El enunciado del ejercicio original está en http://pizarra2011.wikispaces.com/Ejercicio+11+t2
/*
Carlos Pascual Piles García
11. El restaurante mejicano de Israel cuya especialidad son las papas con chocos nos pide diseñar
/*
Carlos Pascual Piles García
11. El restaurante mejicano de Israel cuya especialidad son las papas con chocos nos pide diseñar
martes, 3 de enero de 2012
Shell Script Visitas a web de máquinas externas
#!/bin/bash
#*Ejercicio 11.* Un administrador de sistema quiere saber si hay accesos a
#su servidor Web desde máquinas desconocidas. Para ello dispone de un
#archivo de log accesos.log cuyo primer campo, separado por blancos, es el
#nombre de una máquina o su número IP, indistintamente; luego otros dos
#campos, luego fecha y página solicitada. La lista de máquinas de su propio
#dominio se encuentran en el archivo /etc/hosts. Escribir un script que
#muestre los nombres o números IP de máquinas que accedieron el Web y la
#fecha, omitiendo las máquinas del propio dominio. Recordar que el archivo
#/etc/hosts puede tener comentarios, y que accesos.log tiene varios campos.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
cat /etc/hosts | grep ^[^#.] | awk -F"[ \t]" '{print $1 }' > hosts.txt
while read linea
do
servidor=`echo $linea | cut -d" " -f1`
fecha=`echo $linea | cut -d" " -f4`
#echo $servidor
grep $servidor hosts.txt &>/dev/null
if [[ $? != 0 ]]
then
echo "$servidor $fecha"
fi
done < accesos.log
#*Ejercicio 11.* Un administrador de sistema quiere saber si hay accesos a
#su servidor Web desde máquinas desconocidas. Para ello dispone de un
#archivo de log accesos.log cuyo primer campo, separado por blancos, es el
#nombre de una máquina o su número IP, indistintamente; luego otros dos
#campos, luego fecha y página solicitada. La lista de máquinas de su propio
#dominio se encuentran en el archivo /etc/hosts. Escribir un script que
#muestre los nombres o números IP de máquinas que accedieron el Web y la
#fecha, omitiendo las máquinas del propio dominio. Recordar que el archivo
#/etc/hosts puede tener comentarios, y que accesos.log tiene varios campos.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
cat /etc/hosts | grep ^[^#.] | awk -F"[ \t]" '{print $1 }' > hosts.txt
while read linea
do
servidor=`echo $linea | cut -d" " -f1`
fecha=`echo $linea | cut -d" " -f4`
#echo $servidor
grep $servidor hosts.txt &>/dev/null
if [[ $? != 0 ]]
then
echo "$servidor $fecha"
fi
done < accesos.log
Shell Script A partir de un archivo con una lista de nombres, liste los que no están dados de alta en el sistema
#!/bin/bash
#*Ejercicio 10.* Construir un script que a partir de una lista de nombres de
#usuario contenida en el archivo alumnos.txt, uno por línea, determine si el
#usuario existe o no. El script emitirá un listado con los usuarios que
#figuren en el archivo alumnos.txt pero no existan en el sistema.
#*Ayuda:* el comando id usuario devuelve código de retorno 1 cuando el
#usuario no existe, 0 si existe. Redireccionar las salidas de id para no
#confundir el despliegue.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
while read linea
do
existe=`id -u $linea 2>/dev/null`
if [[ $existe == '' ]]
then
echo $linea
fi
done < alumnos.txt
#*Ejercicio 10.* Construir un script que a partir de una lista de nombres de
#usuario contenida en el archivo alumnos.txt, uno por línea, determine si el
#usuario existe o no. El script emitirá un listado con los usuarios que
#figuren en el archivo alumnos.txt pero no existan en el sistema.
#*Ayuda:* el comando id usuario devuelve código de retorno 1 cuando el
#usuario no existe, 0 si existe. Redireccionar las salidas de id para no
#confundir el despliegue.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
while read linea
do
existe=`id -u $linea 2>/dev/null`
if [[ $existe == '' ]]
then
echo $linea
fi
done < alumnos.txt
Shell Script Calcular cantidad de cuentas para cada shell y nombres de cuentas sin shell asignado
#!/bin/bash
#*Ejercicio 9.* Construir un script que:
#a) indique los nombres de los diferentes shells asignados a las cuentas de
#usuario en el archivo /etc/passwd y la cantidad de cuentas de cada uno de
#esos shells;
#b) muestre los nombres de cuentas sin shell asignado.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
echo "Usuarios con shell asignado y cantidad"
cat /etc/passwd | cut -d: -f7 | sort | uniq -c
echo "Usuarios sin shell asignado"
cat /etc/passwd | grep ".*:.*:.*:.*:.*:.*:$" | cut -f1 -d:
#*Ejercicio 9.* Construir un script que:
#a) indique los nombres de los diferentes shells asignados a las cuentas de
#usuario en el archivo /etc/passwd y la cantidad de cuentas de cada uno de
#esos shells;
#b) muestre los nombres de cuentas sin shell asignado.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
echo "Usuarios con shell asignado y cantidad"
cat /etc/passwd | cut -d: -f7 | sort | uniq -c
echo "Usuarios sin shell asignado"
cat /etc/passwd | grep ".*:.*:.*:.*:.*:.*:$" | cut -f1 -d:
Shell Script Contar páginas accedidas según el archivo log de Apache
#!/bin/bash
#*Ejercicio 8.* Se desea saber qué páginas de un servidor web son más
#accedidas. El archivo /var/log/apache/access.log contiene líneas del
#siguiente formato:
#127.0.0.1 - - [25/Jul/2002:20:21:51 -0300] "GET
#/fabmelo/version7/modif_clave.php?nombre=pa232&clave=madrid HTTP/1.1" 200
#1609
#127.0.0.1 - - [25/Jul/2002:20:21:58 -0300] "POST /fabmelo/version7/menu.php
#HTTP/1.1" 200 1012
#127.0.0.1 - - [25/Jul/2002:20:22:00 -0300] "GET
#/fabmelo/version7/presupuestos2.php?nombre=pa232&clave=belice HTTP/1.1" 200
#642
#Los accesos contienen la palabra GET, los nombres de las páginas terminan
#en espacio o en "?". Listar los nombres de páginas de las 5 más accedidas.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
cat log | grep "GET" | cut -d" " -f7 > paginaslog.txt
cat paginaslog.txt | sort | uniq -c > cuentawebs.txt
cat cuentawebs.txt | sort -gr | head -5
#*Ejercicio 8.* Se desea saber qué páginas de un servidor web son más
#accedidas. El archivo /var/log/apache/access.log contiene líneas del
#siguiente formato:
#127.0.0.1 - - [25/Jul/2002:20:21:51 -0300] "GET
#/fabmelo/version7/modif_clave.php?nombre=pa232&clave=madrid HTTP/1.1" 200
#1609
#127.0.0.1 - - [25/Jul/2002:20:21:58 -0300] "POST /fabmelo/version7/menu.php
#HTTP/1.1" 200 1012
#127.0.0.1 - - [25/Jul/2002:20:22:00 -0300] "GET
#/fabmelo/version7/presupuestos2.php?nombre=pa232&clave=belice HTTP/1.1" 200
#642
#Los accesos contienen la palabra GET, los nombres de las páginas terminan
#en espacio o en "?". Listar los nombres de páginas de las 5 más accedidas.
if [ $# -gt 1 ] #comprobar número de parámetros introducidos
then #gracias a Alejandro por sus buenas formas
echo "¡¡Horror!! Uso "$0" "
exit
fi
cat log | grep "GET" | cut -d" " -f7 > paginaslog.txt
cat paginaslog.txt | sort | uniq -c > cuentawebs.txt
cat cuentawebs.txt | sort -gr | head -5
Suscribirse a:
Entradas (Atom)