Contenido, Ruby

Bucles

Hemos estado trabajando todo este tiempo con ruby, el último tema ha tratado sobre los bucles o estructuras iteractivas.

Un bucle es una serie de instrucciones que se repite un número definido de veces hasta que se cumpla lo que se quiere conseguir en el programa. Si el usuario introduce una información no acorde con lo que pida el programa, este lo detecta y los bucles hacen que se repita la operación hasta que el usuario realice adecuadamente lo que le pide dicho programa. Además de los bucles a veces también se necesitan contadores con variables como la letra «i», que hacen que el programa se repita  un número de veces predeterminadas y que no siga en bucle infinitamente.

En clase hemos aprendido los siguientes bucles:

While: Es el bucle que más utilizamos y nos abre un gran abanico de posibilidades para introducir condiciones diferentes. «While» repetirá algo en nuestro programa tantas veces hasta que se cumpla una condición. Es como decir “Mientras suceda esto… haz esto”.

Un ejemplo de este bucle podría ser:

puts «Introduzca un número:»
num=Integer(gets.chomp)
i=1
while i<num
puts i
i=i+1
end

Imagen relacionada

Until:  Este es el inverso de while, es decir, un ciclo que se ejecuta siempre y cuando la condición sea falsa.

Un ejemplo podría ser:

puts «Introduce un número»
mayor=Integer(gets.chomp)
puts «Introduce un número menor que el anterior»
menor=Integer(gets.chomp)
i=menor
until i>mayor
puts i*2
i=i+1
end

Resultado de imagen de bucle until

For: Es un bucle sencillo porque no necesitamos poner otra variable dentro como en los casos anteriores. Se define un rango, y si se cumple la condición se repite un proceso un determinado número de veces.

Un ejemplo sería:

puts «Introduzca un número:»
num=Integer(gets.chomp)
i=1
for i in 1..10
puts num*i
end

Resultado de imagen de bucle for

 

MI EXPERIENCIA:

Con el trabajo que hemos realizado haciendo diferentes actividades con bucles en Ruby, me han surgido algunos problemas que después he ido solucionando. Como es el caso de saber en concreto qué me pedía el ejercicio, pero eso se solucionó en clase a medida que hacíamos más ejercicios, ya que le acabas pillando el truco.
También me costaba entender los primeros día qué bucle debía utilizar y me liaba bastante, a veces no veía que el más sencillo era FOR y hacía operaciones más complejas, a medida que hemos ido practicando y dándome  cuenta de dónde fallaba, se han ido solucionando los errores y me iba enterando más de las cosas porque al principio estaba perdida.
A parte de estas dificultades, y de que me resulta más complejo que los primeros ejercicios que hicimos de programación, pienso que nos facilita bastante el trabajo la página en la que programamos porque te dice dónde está el error y en despistes pues es de gran ayuda para que no deje de funcionar el programa por un descuido.
Contenido, Ruby

Ruby

Estas últimas semanas hemos estado trabajando en clase con Ruby, que es un lenguaje de programación interpretado, reflexivo y orientado a objetos, hemos hecho bastantes ejercicios diferentes, en los que se utilizan comandos como «puts» o «print», métodos como «.upcase» o «.downcase» y variables como cadenas y números. Algunos de ellos son estos:

  1. Diseña un programa que pida al usuario dos números, calcula la suma de los mismos, lo muestre por pantalla y luego diga si el resultado es par o impar.
    puts "introduce un numero:"
    num1=Integer(gets.chomp)
    puts "introduce otro numero:"
    num2=Integer(gets.chomp)
    suma=num1+num2
    puts "Calculando....."
    puts "La suma de #{num1} y #{num2} es #{suma}"
    if suma%2==0 
    puts "#{suma} es un numero par"
    else 
    puts "#{suma} es un numero impar"
    end
  2. Escribe un programa que pregunte al usuario los dos lados de un rectángulo y presente por pantalla el cálculo del perímetro (suma de los lados) y el área (base por altura).
    puts "Dime cuanto mide la base del rectangulo:"
    num1=Integer(gets.chomp)
    puts "Dime cuanto mide la altura del rectangulo"
    num2=Integer(gets.chomp)
    
    perimetro=(num1*2)+(num2*2)
    puts "El perimetro del rectangulo es #{perimetro}"
    area=(num1*num2)
    puts "El area del rectangulo es #{area}"
  3. Escribir un programa que pida por teclado cuatro números y calcule y presente la media de los cuatro.
    puts "Escribe un numero"
    num1=Float(gets.chomp)
    puts "Escribe otro numero"
    num2=Float(gets.chomp)
    puts "Escribe otro numero más"
    num3=Float(gets.chomp)
    puts "Escribe un ultimo numero"
    num4=Float(gets.chomp)
    
    media=(num1+num2+num3+num4)/4
    puts "La media de los cuatro numeros es: #{media}"
  4. Realizar un programa que pida al usuario dos números y diga cuál es el mayor y cuál el menor.
    =begin
    Autora: Nerea
    Ejercicio 5
    =end
    puts "Introduce un número"
    num1=Integer(gets.chomp)
    puts "Introduce otro número"
    num2=Integer(gets.chomp)
    if num1<num2
    puts "#{num1} es más pequeño que #{num2}"
    else num1>num2
    puts "#{num1} es mayor que #{num2}"
    elsif num1=num2
    puts "#{num1} y #{num2} son iguales"
  5. Realizar un programa que pregunte al usuario el momento del día con una letra (mmañana, t-tarde, n-noche), el sexo con otra letra (m-masculino, f-femenino). El programa dirá: buenos días, tardes, o noches (según el momento) señor o señora según el sexo.
    puts "Momento del día (m-t-n):"
    letter1=(gets.chomp)
    puts "Sexo (h-m):"
    letter2=(gets.chomp)
    if letter1=="m" && letter2=="m"
    puts "Buenos días señora" 
    elsif  letter1=="m" && letter2=="h"
    puts "Buenos días señor"
    end
    if letter1=="t" && letter2=="m"
    puts "Buenas tardes señora" 
    elsif  letter1=="t" && letter2=="h"
    puts "Buenas tardes señor"
    end
    if letter1=="n" && letter2=="m"
    puts "Buenas noches señora" 
    elsif  letter1=="n" && letter2=="h"
    puts "Buenas noches señor"
    end
  6. Escriba un programa que pida configurar nombre de usuario y contraseña para un sistema, siguiendo las siguientes instrucciones:

    – El nombre de usuario se guardará en minúsculas independientemente de cómo lo ponga el usuario

    – La contraseña deberá contener exactamente 8 caracteres. Si no tiene 8 caracteres, el sistema devolverá un mensaje diciendo que la contraseña es incorrecta y volviendo a pedir una nueva. Se volverá a hacer la misma comprobación y si es errónea, dará un mensaje diciendo que se cancela el proceso.

    – Si todo el proceso es correcto, se mostrará por pantalla un mensaje de confirmación diciendo cómo queda el nombre de usuario y la contraseña.

    puts "Introduzca su nombre de usuario: "
    user=gets.chomp.downcase
    print "Introduzca su contraseña (8 caracteres): "
    password=gets.chomp
    no_error=true
    if password.length!=8
    no_error=false
    puts "Error en la longitud de la contraseña"
    puts "Le recordamos que debe ser de 8 caracteres"
    print "Introduzca su contraseña de nuevo (8 caracteres): "
    password=gets.chomp
    if password.length!=8
    puts "ERROR DE NUEVO. SE CANCELA EL PROCESO"
    else
    no_error=true
    end
    end
    if no_error
    puts "Su usuario es #{user} y su contraseña es #{password}"
    end
  7. Crear un programa que pida al usuario que introduzca tres palabras y devuelva la que es más larga de las tres.
    puts "Vamos a comparar palabras y a devolver la más larga."
    puts "Introduzca la primera palabra: "
    palabra1=gets.chomp
    puts "Introduzca la segunda palabra: "
    palabra2=gets.chomp
    puts "Introduzca la tercera palabra: "
    palabra3=gets.chomp
    if palabra1.length>palabra2.length
      if palabra1.length>palabra3.length
      mas_larga=palabra1
      else
      mas_larga=palabra3
      end
    else
      if palabra2.length>palabra3.length
      mas_larga=palabra2
      else
      mas_larga=palabra3
      end
    end
    puts "La palabra más larga es: #{mas_larga}"
  8. Diseña un programa que pida al usuario una letra:

    – Si es una vocal, mostrar un mensaje diciendo que es una vocal

    – Si es una consonante, pedirle al usuario su nombre y devolverle un mensaje donde se use nombre y se le diga qué consonante ha introducido.

    puts "Introduzca una letra:"
    letra=gets.chomp
    if letra.length!=1
     puts "Ha introducido más de una letra."
     print "Intruduzca solo una"
    else
     if letra=="a" || letra="e" || letra=="i" || letra=="o" ||letra=="u"
     puts "Es una vocal"
     else
     puts "Introduzca su nombre"
     name=gets.chomp
     puts "Muy buenas #{name}."
     print "Ha introducido la consonante #{letra}"
     end
    end
Ciberseguridad, Contenido

Marlwer

VIRUS INFORMÁTICO: Un virus informático es una amenaza programada, es decir, es un pequeño programa escrito intencionadamente para instalarse en el ordenador de un usuario sin el conocimiento o el permiso de este, pero el cual necesita la intervención del usuario para que comience a funcionar.

GUSANO INFORMÁTICO: No necesita la intervención del usuario y se replica a sí mismo para difundirse por la red, cuando infecta un equipo trata de conseguir las direcciones de otros ordenadores para infectarlos también. Se puede ver si has sido infectado mirando si se han enviado mensajes sin tu conocimiento.

TROYANO: Pasa desapercibido y trata de  abrir puertas traseras para que  otras aplicaciones  accedan al ordenador. Llegan camuflados como archivos que no parecen maliciosos, pero que empiezan a serlo al ejecutarlos.

SPYWARE: Programa que se instala por si solo o por culpa de otra aplicación, su finalidad es la de obtener información, espían la actividad del usuario, y así obtienen información.

ADDWARE: Es un tipo de spyware en algunos casos, ya que espían información personal, pero mucha gente no suele considerarlos virus, ya que no daña al ordenador. Muestra publicidad en determinados momentos, cuando navegas o cuando abres aplicaciones.

RAMSOMWARE: Captura datos de un ordenador y luego pide un rescate para que el usuario pueda recuperarlos. Normalmente se suelen cifrar los datos y se pide un rescate económico con el que después se te envía una clave para desencriptar tus datos. Es uno de los más utilizados, es bueno tener copias de seguridad por si se es infectado.

Ciberseguridad, Contenido

SAI

 

Un SAI o sistema de alimentación ininterrumpida es un dispositivo electrónico que permite proteger a los equipos frente a los picos o caídas de tensión. De esta manera se dispone de una mayor estabilidad frente a los cambios del suministro eléctrico y de una fuente de alimentación auxiliar cuando se produce un corte de luz.
Este tipo de sistemas nacieron originalmente con el objetivo de proteger el trabajo que se estaba realizando en el momento en que se producía un apagón. La idea consistía en proporcionar al usuario del equipo el tiempo suficiente para guardar la información y apagar correctamente los equipos cuando se producía un corte en el suministro eléctrico, aunque posteriormente se le ha agregado capacidad para poder continuar trabajando cierto tiempo, aunque no se disponga de suministro.

Algunas características son:

  • Se puede conectar de uno a varios equipos al mismo SAI
  • Permiten seguir trabajando con el ordenador de 15 a 270 minutos cuando se produce un corte en el suministro eléctrico
  • No están diseñados para conectar dispositivos de alto consumo de energía

Tipos de SAI:

  • Sistemas de alimentación en estado de espera: Activa la alimentación desde baterías automáticamente cuando detecta un fallo en el suministro eléctrico.
  • SAI en línea: Alimenta el ordenador de modo continuo, aunque no exista un problema en el suministro eléctrico, y al mismo tiempo recarga su batería.

 

 

Ciberseguridad, Contenido

Ciberseguridad

La ciberseguridad está formada por tres ejes fundamentales:

La disponibilidad: Es la capacidad de poder acceder a datos, servidores, etc; en cualquier momento que el usuario quiera.

La confidencialidad: Es la capacidad de garantizar que la información almacenada solo va a estar a disposición del personal autorizado.

La integridad: Es la capacidad de asegurar que nuestra información personal no ha sido modificada si no lo hemos autorizado.

 

alta_disponibilidad_y_ciberseguridad.png

Contenido, Wordpress

¿Por qué he elegido este tema?

He elegido este tema porque el  diseño es bastante sencillo y sin complicaciones, se encuentran fácilmente las categorías porque están en la parte superior de la página y además muestra las entradas en la página principal. También aparecen todas las widgets a la derecha en la página principal.

En la cabecera aparece el título con el mismo tipo de letra que en el resto de la página, debajo del título está el lema que he elegido: «Aprueba TIC con WordPress».

 

 

Contenido, Wordpress

Categorías vs etiquetas

Las categorías incluyen cierta jerarquía mientras que las etiquetas no.  Las categorías siempre han sido así, pudiendo hacer categorías que cuelguen de otras (hijas). Las etiquetas no, existen por si mismas y no tienen porqué tener relación con nada mas.

Si vas a escribir varias entradas en un blog sobre un tema, ese tema debe ser una categoría. Si sólo vas a escribir una o dos, entonces no es una categoría, ese tema debe ser una etiqueta.

Es raro que un elemento pertenezca a más de 2 categorías. Sin embargo un elemento puede tener muchas etiquetas.

Las categorías en principio llevan más trabajo ya que te obligan a pensar en qué “cajón” de tu web va esa entrada. Las etiquetas son más inmediatas ya que identificas más rápidamente cuáles son las palabras claves de la entrada.  La parte mala de las etiquetas es que esa inmediatez genera a largo plazo nubes de etiquetas sin ningún sentido que no aportan nada al visitante.

 

 

 

Contenido, Wordpress

Páginas vs entradas

La primera diferencia de las entradas respecto a las páginas, es que las entradas están fechadas. Las páginas también pueden tener una fecha, pero no se muestra en ellas (aunque técnicamente es posible hacerlo).

Otra gran diferencia de las entradas respecto a las páginas, es que las entradas se pueden organizar por categorías y etiquetas. Las categorías y etiquetas en WordPress sólo afectan a las entradas.

Otra diferencia más es que las entradas aparecen automáticamente , de manera que la gente que se suscriba a una web podrá ver las nuevas entradas a medida que se publiquen, mientras que eso no pasa con las páginas.

Finalmente, una última diferencia es que cualquier página puede convertirse fácilmente en la página inicial de nuestra web, o sea, la homepage, mientras que una entrada no puede establecerse como la homepage. Lo que sí podemos hacer es que en la homepage se vea una entrada, pero siempre será la última que hemos escrito.

Diseña un sitio como este con WordPress.com
Comenzar