CLICK HERE FOR THOUSANDS OF FREE BLOGGER TEMPLATES »

martes, 29 de julio de 2008

INTRODUCCION A LA PROGRAMACION

JULIO 29

Este dia decidimos en clase hacer una pequeña introduccion al mundo de la programacion; Camilo nos explico un poco acerca de las clases de lenguaje que utilizan actualmente; hay varios de tipos de lenguajes en los que estan lo de bajo y alto nivel.

Los de bajo nivel son aquellos que se encuentran mas cerca a lo que la maquina entiende, por ende necesitara menos procesamiento ya que su ejecucion sera mas exacta.

Los de alto nivel son aquellos que son mas cercanos al entendimidnto del ser humano, pero tiende a tener problemas y vulnerabilidades puesto que no hay un logico entendimiento entre el lenguaje y la maquina lo que genera que pueda ser modificado facilmente; para evitar este tipo de cosas se utiliza la compilacion que lo que hace es como convertirla en un lenguaje que entienda la maquina. Esto conlleva a que ese programa que ya se ha compilado no pueda ser modificado.

Tambien encontramos otro tipo de lenguaje y es el lenguaje interpretado, este lenguaje no necesita de compilacion, pero al momento de visualizarlo simpre va a estar igual, la maquina de por medio debe tener un programa que haga la interpretacion y ejecucion.

Este es el lenguaje que empezamos a trabajar, ya que es algo "sencillo" y lo podemos hacer en bash, sh (linux), empezando por ejemplos y un par de ejercicios.

Despues de haber terminado con la explicacion coloco algunos ejercicios para aplicar lo que entendimos en clase los ejercicios propuestos fueron:

1. hacer un programa que multiplique y divida los numeros enteros positivos.

SOLUCION

Se realizo de la siguiente manera:

se crea el archivo con el nombre y ruta deseado; terminado en .sh

la primera linea de configuracion debe ser asi:

#!/bin/bash

Se definen las variables que se van a usar en este caso se hara con el comando "read -p " este comando lo que hace es que toma lo que el usuario escribe en pantalla y lo lleva a la variable:

read -p "Introduzca un numero: " A
read -p "Introduzca otro numero: " B

Despues utlizamos el comando let, este realiza operaciones aritmeticas

let 'C=A*B'
let 'd=A/B"

Para que muestre el resultado en pantalla se utiliza el comando "echo" que imprime en pantalla lo que en este caso son los resultados de la operaciones:

echo "la multiplicacion es: $C"
echo "la division es: $D"

Asi estaria por resuelto ese ejercicio.

2. hacer un programa que configure la red, que incluya ip, mascara, DNS, broadcast, gateway.

se inicia de la misma manera el archivo

#!/bin/bash

echo "este es el wizard para configurar la red"

read -p "Introduzca la direccion ip: " IP
read -p "Introduzca la mascara: " MASK
read -p "Introduzca el broadcast: " BRD
read -p "Introduzca la puerta de enlace: " GW
read -p "Introduzca DNS preferido: " DNS

ifconfig eth0 $IP netmask $MASK broadcast $BRD
route add default gw $GW
echo nameserver $DNS >/etc/resolv.conf

echo "OK, la red esta lista para usarse"

Estos ejercicios los realizamos en clase pero dejo unos de trabajo para la casa y esos son:

1. Crear un script que pida al usuario una ruta y una extencion de archivo. El script debe devolver el numero de ficheros a partir de esa ruta que tenga esa extencion.

#!/bin/bash

echo "buscaba algo??"

read -p "Introduzca la ruta donde se encuentra el archivo: " RUTA
read -p "Introduzca la extension del archivo a buscar: " EXT

find $RUTA -name $EXT | wc -l

echo "este es el listado de los archivos que contienes la $EXT en la ruta $RUTA"


2. Crear un script que pida al root una ruta un nombre se usuario del sistema. El script debe devolver el numero de archivos que pertenezcan al usuario en esa ruta.


#!/bin/bash

read -p "Ingrese la ruta de ubicacion del usuario: " RUTA
read -p "Ingrese el nombre del usuario: " USER

find $RUTA -user $USER | wc -l

echo "Este es el numero de archivos que tiene este usuario actualmente"

3. crear un script que compare dos numeros enteros positivos y diga caule es el mayor de ellos.
NOTA: investigar la sentencia if y esleif

if [ $1 -lt $2 ]
then
echo $1 es menor que $2
else
if [ $1 -gt $2 ]
then
echo $1 es mayor que $2
else
echo $1 es igual que $2
fi
fi