Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - LuisM

Páginas: [1] 2 3 4 5
1
Hola a todos !! paso a dejar las respuestas al ejercicio solicitado en la clase CU01034D del curso gratuito de programación CSS de aprenderaprogramar. Desde ya, muchas gracias. Un saludo, Luis

EJERCICIO
Para cada una de las siguientes afirmaciones indica si es verdadera o falsa, y justifica brevemente tu respuesta:

a) La propiedad float puede tomar cuatro valores: top, right, bottom y left.

Falso, la propiedad float solo puede tener los siguientes valores:none, right y left.

b) float es una propiedad que nos permite maquetar páginas web (documentos HTML).

Verdadero, amplía las posibilidades para organizar los elementos en la web.

c) Usando float: center; podemos centrar el contenido de un elemento respecto de su caja contenedora.

Falso, no existe el valor center para la propiedad float.

d) Un elemento flotante sale del flujo normal de posicionamiento de elementos en una página web.

Verdadero,  sirve para “arrastrar” elementos hacia la derecha o hacia la izquierda, tanto como sea posible, generando un cambio en el flujo del documento HTML.

e) Todos los elementos a continuación de un elemento flotante lo envuelven, a no ser que especifiquemos lo contrario usando la propiedad clear.

Verdadero, podemos hacer que los elementos debajo de un elemento flotante dejen de envolverlo a partir de un elemento dado usando la propiedad clear.

2
Hola a todos !! Dejo a continuación los 3 ejercicios propuestos en la clase CU01032D del curso gratuito de programación CSS con HTML. Desde ya muchas gracias por la atención.
Un saludo, Luis

EJERCICIO 1

Define un documento HTML con un div padre (divPadre), dentro del cual existan otras 3 cajas contenedoras div (div1, div2 y div3), cada una de ellas con unas dimensiones de 300x300px, 40 píxeles de margin en todas direcciones, 30 píxeles de padding en todas direcciones y un background color diferente. Usando posicionamiento relativo genera un desplazamiento de los div de la siguiente manera:
a) El div 1 deberá desplazarse 200 píxeles a la derecha y 100 píxeles hacia abajo respecto a lo que sería su posición normal.
b) El div 2 deberá desplazarse 50 píxeles a la izquierda y 50 píxeles hacia arriba respecto a lo que sería su posición normal.
c) El div 3 deberá desplazarse 450 píxeles a la derecha y 300 píxeles hacia arriba respecto a lo que sería su posición normal.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>"Ejercicio 1 - CU01032D"</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div id="divPadre">
  <div id="div1">
  </div>
  <div id="div2">
  </div>
  <div id="div3">
  </div>
</div>
</body>
</html>


Hoja de estilos del Ejercicio 1

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
* {
margin:0;
}

#divPadre{
position:relative;
left:0px; top:0px;
}
#div1{
position:relative;
margin:40px; padding:30px;
width:300px; height:300px;
background-color:#FADBD8;
left:200px; top:100px;
}
#div2{
position:relative;
margin:40px; padding:30px;
width:300px; height:300px;
background-color: #D6EAF8;
left:-50px; top:-50px;
}
#div3{
position:relative;
    margin:40px; padding:30px;
width:300px; height:300px;
background-color:#F9E79F;
left:450px; top:-300px;
}


EJERCICIO 2

Define un documento HTML con 3 cajas contenedoras div (div1, div2 y div3), la primera con unas dimensiones de 600x600px y un background color amarillo. La segunda con dimensiones 400x400px y un background color verde. La tercera con dimensiones 100x100px y background color azul. Usando posicionamiento absoluto establece para el div2 y el div3 el mismo origen que para el div1, de modo que el efecto generado sea ver un cuadrado amarillo dentro del cual hay un cuadrado verde dentro del cual hay un cuadrado azul.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>"Ejercicio 2 - CU01032D"</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div id="div1">
</div>
    <div id="div2">
</div>
<div id="div3">
</div>
</body>
</html>


Hoja de estilos del Ejercicio 2

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
* {
margin:0;
}
div{
position:absolute;
left:0px; top:0px;
}
#div1{
width:600px; height:600px;
background-color:yellow;
}
#div2{
width:400px; height:400px;
background-color:blue;
}
#div3{
width:100px; height:100px;
background-color:green;
left:0px; bottom:0px;
}


EJERCICIO 3

Define un documento HTML con varios div que contengan suficiente texto como para que la página se muestre con scroll (barras de desplazamiento). El primero de los div debe contener el texto <<Esta página web utiliza cookies. Si continúa navegando acepta el uso de cookies.>>, un valor height (altura) de 100 píxeles y color de fondo amarillo. Usando posicionamiento fixed, fija este div en la parte superior de la página de modo que se continúe visualizando aún cuando hagamos scroll.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>"Ejercicio 3 - CU01032D"</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div id="fijo">
<p>Esta página web utiliza cookies. Si continúa navegando acepta el uso de cookies.</p>
</div>
    <div id="movil">
<div>
<h1> Ejercicio 3 - CU01032D www.aprenderaprogramar.com<h1>
</div>
</br>
<div>
<p>Los siguientes textos fueron tomados de <a href="http://www.blindtextgenerator.com/es">www.blindtextgenerator.com/es</a>
para que no llamen al psiquiatrico !!" Son textos del tipo "Lorem ipsum", que se usan habitualmente en diseño gráfico en demostraciones de tipografías o de borradores de diseño para probar el diseño visual antes de insertar el texto final.
Aunque no posee actualmente fuentes para justificar sus hipótesis, el profesor de filología clásica Richard McClintock asegura que su uso se remonta a los impresores de comienzos del siglo XVI. Su uso en algunos editores de texto muy conocidos en la actualidad ha dado al texto lorem ipsum nueva popularidad.
El texto en sí no tiene sentido, aunque no es completamente aleatorio, sino que deriva de un texto de Cicerón en lengua latina, a cuyas palabras se les han eliminado sílabas o letras. El significado del texto no tiene importancia, ya que solo es una demostración o prueba, pero se inspira en la obra de Cicerón De finibus bonorum et malorum (Sobre los límites del bien y del mal) <p>
</div>
</br>
<div>
<h2>Muy lejos, más allá...</h2>
<p>Muy lejos, más allá de las montañas de palabras, alejados de los países de las vocales y las consonantes, viven los textos simulados. Viven aislados en casas de letras, en la costa de la semántica, un gran océano de lenguas. Un riachuelo llamado Pons fluye por su pueblo y los abastece con las normas necesarias. Hablamos de un país paraisomático en el que a uno le caen pedazos de frases asadas en la boca. Ni siquiera los todopoderosos signos de puntuación dominan a los textos simulados; una vida, se puede decir, poco ortográfica. Pero un buen día, una pequeña línea de texto simulado, llamada Lorem Ipsum, decidió aventurarse y salir al vasto mundo de la gramática. El gran Oxmox le desanconsejó hacerlo, ya que esas tierras estaban llenas de comas malvadas, signos de interrogación salvajes y puntos y coma traicioneros, pero el texto simulado no se dejó atemorizar. Empacó sus siete versales, enfundó su inicial en el cinturón y se puso en camino. Cuando ya había escalado las primeras colinas de las montañas cursivas, se dio media vuelta para dirigir su mirada por última vez, hacia su ciudad natal Letralandia, el encabezamiento del pueblo Alfabeto y el subtítulo de su...</p>
</div>
</br>
<div>
<h2>Don Quijote </h2>
<p>Y, viéndole don Quijote de aquella manera, con muestras de tanta tristeza, le dijo: Sábete, Sancho, que no es un hombre más que otro si no hace más que otro. Todas estas borrascas que nos suceden son señales de que presto ha de serenar el tiempo y han de sucedernos bien las cosas; porque no es posible que el mal ni el bien sean durables, y de aquí se sigue que, habiendo durado mucho el mal, el bien está ya cerca. Así que, no debes congojarte por las desgracias que a mí me suceden, pues a ti no te cabe parte dellas.Y, viéndole don Quijote de aquella manera, con muestras de tanta tristeza, le dijo: Sábete, Sancho, que no es un hombre más que otro si no hace más que otro. Todas estas borrascas que nos suceden son señales de que presto ha de serenar el tiempo y han de sucedernos bien las cosas; porque no es posible que el mal ni el bien sean durables, y de aquí se sigue que, habiendo durado mucho el mal, el bien está ya cerca. Así que, no debes congojarte por las desgracias que a mí me suceden, pues a ti no...</p>
</div>
</br>
<div>
<h2>Penas del joven Werther </h2>
<p>Reina en mi espíritu una alegría admirable, muy parecida a las dulces alboradas de la primavera, de que gozo aquí con delicia. Estoy solo, y me felicito de vivir en este país, el más a propósito para almas como la mía, soy tan dichoso, mi querido amigo, me sojuzga de tal modo la idea de reposar, que no me ocupo de mi arte. Ahora no sabría dibujar, ni siquiera hacer una línea con el lápiz; y, sin embargo, jamás he sido mejor pintor Cuando el valle se vela en torno mío con un encaje de vapores; cuando el sol de mediodía centellea sobre la impenetrable sombra de mi bosque sin conseguir otra cosa que filtrar entre las hojas algunos rayos que penetran hasta el fondo del santuario, cuando recostado sobre la crecida hierba, cerca de la cascada, mi vista, más próxima a la tierra, descubre multitud de menudas y diversas plantas; cuando siento más cerca de mi corazón los rumores de vida de ese pequeño mundo que palpita en los tallos de las hojas, y veo las formas innumerables e infinitas de los gusanillos y de los insectos; cuando siento, en fin, la presencia del Todopoderoso, que nos ha creado...</p>
</div>
</br>
<div>
<h2>Kafka</h2>
<p>Una mañana, tras un sueño intranquilo, Gregorio Samsa se despertó convertido en un monstruoso insecto. Estaba echado de espaldas sobre un duro caparazón y, al alzar la cabeza, vio su vientre convexo y oscuro, surcado por curvadas callosidades, sobre el que casi no se aguantaba la colcha, que estaba a punto de escurrirse hasta el suelo. Numerosas patas, penosamente delgadas en comparación con el grosor normal de sus piernas, se agitaban sin concierto. - ¿Qué me ha ocurrido? No estaba soñando. Su habitación, una habitación normal, aunque muy pequeña, tenía el aspecto habitual. Sobre la mesa había desparramado un muestrario de paños - Samsa era viajante de comercio-, y de la pared colgaba una estampa recientemente recortada de una revista ilustrada y puesta en un marco dorado. La estampa mostraba a una mujer tocada con un gorro de pieles, envuelta en una estola también de pieles, y que, muy erguida, esgrimía un amplio manguito, asimismo de piel, que ocultaba todo su antebrazo. Gregorio miró hacia la ventana; estaba nublado, y sobre el cinc del alféizar repiqueteaban las gotas de lluvia, lo que le hizo sentir una gran melancolía. «Bueno -pensó-; ¿y si siguiese durmiendo un rato y me olvidase de...</p>
</div>
</br>
<div>
<h2>Pangrama</h2>
<p>Quiere la boca exhausta vid, kiwi, piña y fugaz jamón. Fabio me exige, sin tapujos, que añada cerveza al whisky. Jovencillo emponzoñado de whisky, ¡qué figurota exhibes! La cigüeña tocaba cada vez mejor el saxofón y el búho pedía kiwi y queso. El jefe buscó el éxtasis en un imprevisto baño de whisky y gozó como un duque. Exhíbanse politiquillos zafios, con orejas kilométricas y uñas de gavilán. El cadáver de Wamba, rey godo de España, fue exhumado y trasladado en una caja de zinc que pesó un kilo. El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y frío, añoraba a su querido cachorro. El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el saxofón detrás del palenque de paja.Quiere la boca exhausta vid, kiwi, piña y fugaz jamón. Fabio me exige, sin tapujos, que añada cerveza al whisky. Jovencillo emponzoñado de whisky, ¡qué figurota exhibes! La cigüeña tocaba cada vez mejor el saxofón y el búho pedía kiwi y queso. El jefe buscó el éxtasis en un imprevisto baño de whisky y gozó como un duque. Exhíbanse politiquillos zafios, con orejas kilométricas y uñas de gavilán. El cadáver de Wamba, rey godo de España, fue...</p>
</div>
</div>
</body>
</html>


Hoja de estilos del ejercicio 3

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
* {
margin:0;
}
#fijo{
height:100px;
background-color:RGBA(244, 248, 126,0.5);
position:fixed;
font-weight:bold;
color:gray;
}

#movil{
position:relative;
left:10px;
top:120px;
width:90%;
}

3
Hola a todos !! Paso a dejar el ejercicio de la clase CU01031D del curso pdf de programación web CSS. Desde ya muchas gracias por la atención. Un saludo,

Luis

Aclaración: Para calcular las posiciones "absolutas"(en px) desde donde colocar la imagen de fondo en los div 3 y 4, realicé las siguientes operaciones:

div 3) La imágen es de 310x310 px.

Cálculo de la posición horizontal es :

margin(40px)+(width del div-ancho de la imagen)/2=
40px+(400px-310px)/2=85px

div 4) La imágen es de 128x128 px.

Cálculo de la posición horizontal es :

margin(40px)+(width del div-ancho de la imagen)/2=
40px+(400px-128px)/2=176px

Cálculo de la posición vertical es :

4 x margin(40px) + 3 x div(400px)+(height del div-alto de la imagen)/2=
160px+1200px+(400px-128px)/2=1496px

Citar
EJERCICIO
Crea un documento HTML con 4 elementos div de 400 píxeles de ancho y 400 píxeles de alto, todos ellos con un margin de 40 píxeles en todas direcciones y un padding de 40 píxeles en todas direcciones. En cada uno de los elementos div crea un borde y coloca una imagen de fondo diferente y un background-color diferente. Usa la propiedad background-position para hacer que la imagen esté centrada tanto vertical como horizontalmente respecto al borde del div (por ejemplo, si una imagen mide 100x100 píxeles, deberá existir la misma distancia hasta el borde del div en las cuatro direcciones). Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.


Página HTML

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>"Ejercicio CU01031D"</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
  <div id="div1">
DIV 1
  </div>
  <div id="div2">
DIV 2
  </div>
  <div id="div3">
DIV 3
  </div>
  <div id="div4">
DIV 4
  </div>
</body>
</html>


Hoja de estilo: estilos.css

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
*{margin:0;
}
div {width:400px; height:400px;
margin:40px;
padding:40px;

}
#div1{
border-width:10px;
border-style:dotted;
background-repeat:no-repeat;
background-position:50%,50%;
background-color:#FF5733;
background-image:url("https://i.imgur.com/A0HaQVA.jpg?1");
}
#div2{
border-width:20px;
border-style:double;
background-repeat:no-repeat;
background-position:center,center;
background-color:#33E3FF;
background-image:url("https://i.imgur.com/HsbDBxY.png?1");
}
#div3{
border-width:30px;
border-style:dashed;
background-repeat:no-repeat;
background-position:85px,50%;
background-color:#F6FF33;
background-image: url("https://i.imgur.com/hqkYtoG.jpg?7");
}
#div4{
border-width:40px;
border-style:groove;
background-repeat:no-repeat;
background-position:176px,1496px;
background-color:#93FF33;
background-image: url("https://i.imgur.com/p8yLvlY.png");
}

4
Hola a todos !! Dejo los 2 ejercicios de la clase CU01030D del tutorial gratuito de programación web con CSS desde cero. Desde ya muchas gracias por la atención. Un saludo,

Luis

EJERCICIO 1

Crea un documento HTML con 4 elementos div de 250 píxeles de ancho y 250 píxeles de alto, todos ellos con un margin de 30 píxeles en todas direcciones y un padding de 30 píxeles en todas direcciones. En cada uno de los elementos div coloca una imagen de fondo diferente y un background-color diferente

En este ejercicio puse como fondo de los div imagenes de 310x310. Debido a que es la suma del ancho (width)+ los 2 paddings ya que la imagen comienza desde el borde(inclusive).

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>"Ejercicio CU01030D-1"</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
        <div id="div1">div 1</div>
<div id="div2">div 2</div>
<div id="div3">div 3</div>
<div id="div4">div 4</div>
</body>
</html>

Y la hoja de estilos correspondiente (estilos.css)

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
div{
display:inline-block;
width:250px;
height:250px;
margin:30px;
border-style:solid;
border-width:1px;
padding:30px;
font-size:40px;
font-weight:bold;
}
#div1{
background-color:#FADBD8;
background-image: url("https://i.imgur.com/A0HaQVA.jpg?1");
}
#div2{
background-color:#D6EAF8;
background-image: url("https://i.imgur.com/HsbDBxY.png?1");
}
#div3{
background-color:#FCF3CF;
background-image: url("https://i.imgur.com/CHSzQH3.png?2");
}
#div4{
background-color:#D5F5E3;
background-image: url("https://i.imgur.com/hqkYtoG.jpg");
}


EJERCICIO 2

Crea dos páginas web cumpliendo estos requisitos:

a) Una página web debe tener una única imagen de gran tamaño (por ejemplo 1024x768 píxeles) como imagen de fondo, sin repetición de la misma.

b) Una página web debe tener una imagen de pequeño tamaño (por ejemplo 135x135 píxeles) que mediante el uso de la propiedad repeat se expanda como fondo de la página web creando un efecto tapiz.

Acá dejo los 2 links de las páginas web

a) http://lapaginadeluis.byethost11.com/ejercicioCU01030D-2.html

b) http://lapaginadeluis.byethost11.com/ejercicioCU01030D-3.html

5
Hola a todos !! Dejo a continuación el archivo html y la hoja de estilo correspondiente al ejercicio CU01029D del curso básico de programación CSS. Desde ya muchas gracias.
Un saludo, Luis

EJERCICIO

Crea un documento HTML con 2 elementos div de anchura 250 píxeles, con un margen de 20px en todas direcciones y uno junto al otro (en horizontal). En cada div introduce un texto (p.ej. div 1, div 2) y aplícale los siguientes estilos de borde y relleno a ambos elementos. Color de fondo #FFB6C1. La parte superior con borde de puntos redondeados, grosor 15 píxeles, color #DC143C y relleno de 30 píxeles. La parte derecha con borde de trazos o segmentos rectangulares, grosor 10 píxeles, color verde y relleno de 45 píxeles. La parte inferior con borde de línea doble, grosor 10 píxeles, color #FF00FF y relleno 0 píxeles. La parte izquierda con borde con efecto ridge, grosor 40 píxeles, color #2F4F4F y relleno 60 píxeles.

Responde a las siguientes preguntas:

a) ¿Cuál es el ancho total ocupado por cada div (incluyendo sus bordes y rellenos)?

El ancho total es igual a la suma: ancho del div(width) mas los bordes derecho e izquierdo (border-right y border-left)
250px+10px+40px=300px


b) ¿Cuál es el alto total ocupado por cada div (incluyendo sus bordes y rellenos)?

El alto total del div es la suma: tamaño de la fuente + el relleno superior (padding-top) + el borde superior (border-top) + relleno inferior(padding-botton) + borde inferior (border-botton)
16px+30px+15px+0px+10px=71px


c) ¿Cuál es el ancho total desde el límite izquierdo del borde del div más a la izquierda hasta el límite derecho del borde del div más a la derecha (teniendo en cuenta márgenes, bordes y rellenos)?

El ancho total es la suma del ancho de cada div + el margen derecho del div 1 + mas el margen izquierdo del div 2, ya que los margenes horizontales se acumulan.
300px+20px+300px+20px=640px


El documento html es:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>"Ejercicio CU01029D"</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
       <body>
              <div>div 1</div>
              <div>div 2</div>
       </body>
</html>

La hoja de estilos (estilos.css)

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
div{
display:inline-block;
width: 250px;
margin:20px;
background-color:#FFB6C1;
border-style:dotted dashed double ridge;
border-width:15px 10px 10px 40px;
border-color:#DC143C green #FF00FF #2F4F4F;
padding:30px 45px 0 60px;
}

6
Hola a todos !! Paso a dejar las respuestas del ejercicio CU01028D del tutorial gratuito de programación web con CSS desde cero que se ofrece en esta web. Desde ya muchas gracias. Un saludo,

Luis

EJERCICIO

Para cada una de las siguientes afirmaciones indica si la afirmación es verdadera o falsa y justifica brevemente tu respuesta:

a) CSS muestra los contenidos con tres formas básicas: rectangular, circular y elipsoidal.

Falso, CSS muestra los contenidos como si fueran cajas rectangulares, aunque dentro de esas cajas puede haber elementos de cualquier tipo.


b) Al crear un documento HTML, pueden aparecer márgenes y rellenos que no hayan sido explícitamente introducidos por nosotros como programadores, sino que hayan sido introducidos por el navegador que estemos empleando.

Verdadero, entre la ventana del navegador y el body del documento (lo que se visualiza) pueden aparecer margenes y rellenos que figuran en la configuración que tiene dicho navegador.

c) El reseteo CSS consiste en la recarga de la página para borrar la caché del navegador, de modo que los estilos se recarguen completamente.

Falso, el reseteo es colocar en la hoja de estilos parametros que modifiquen la configuración del navegador. Por ejemplo: Tipo, color y tamaño de la fuente, etc.

7
Hola a todos !! Dejo a continuación el archivo html y dos hojas de estilos, una con notación extendida (ejercicio 1) y otra con notación abreviada (ejercicio 2), correspondientes a la entrega CU01027D del tutorial gratuito de programación que se ofrece en esta web. Desde ya muchas gracias por la atención. Un saludo,

Luis


EJERCICIO 1

Crea un documento HTML con 2 divisiones, cada una separada de la anterior por dos elementos <br/>. En cada división introduce un texto (p.ej. div 1, div 2) y aplícale los siguientes estilos de borde escribiendo de forma individual cada una de las siguientes propiedades CSS:

a) Para el div 1: la parte superior con borde de puntos redondeados, grosor 10 píxeles y color verde. La parte derecha con borde de trazos o segmentos rectangulares, grosor 20 píxeles y color azul. La parte inferior con borde de línea doble, grosor 10 píxeles y color #A52A2A. La parte izquierda con borde con efecto groove, grosor 30 píxeles y color #2F4F4F.

b) Para el div 2: la parte superior con borde con efecto inset, grosor 30 píxeles y color #B22222. La parte derecha con borde sólido, grosor 22 píxeles y color #DAA520. La parte inferior con borde de línea doble, grosor 25 píxeles y color #4B0082. La parte izquierda con borde de puntos redondeados, grosor 17 píxeles y color #808000.


EJERCICIO 2

Crea un documento HTML con el mismo aspecto y propiedades CSS que las descritas para el ejercicio 1, pero en este caso usando la notación shorthand de bordes CSS y la propiedad border abreviada.

Archivo html

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>"Ejercicio CU01027D"</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div id="div1">
<h2>div 1</h2>
                                <p>La parte superior con borde de puntos redondeados, grosor 10 píxeles y color verde. La parte derecha con borde de trazos o segmentos rectangulares, grosor 20 píxeles y color azul. La parte inferior con borde de línea doble, grosor 10 píxeles y color #A52A2A. La parte izquierda con borde con efecto groove, grosor 30 píxeles y color #2F4F4F.</p>
</div>
<br/><br/>
<div id="div2">
<h2>div 2</h2>
                                <p>La parte superior con borde con efecto inset, grosor 30 píxeles y                                            color #B22222. La parte derecha con borde sólido, grosor 22 píxeles y color #DAA520. La parte inferior con borde de línea doble, grosor 25 píxeles y color #4B0082. La parte izquierda con borde de puntos redondeados, grosor 17 píxeles y color #808000.</p>
</div>
<br/><br/>
</body>
</html>

estilos.css para el ejercicio 1

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
div{width:600px; height:200px;}
h2 {text-align:center;}
#div1 {
border-top-style: dotted;
        border-top-width:10px;
border-top-color:green;
   
border-right-style:dashed;
border-right-width:20px;
border-right-color:blue;

border-bottom-style:double;
border-bottom-width:10px;
border-bottom-color:#A52A2A;

border-left-style:groove;
border-left-width:30px;
border-left-color:#2F4F4F;
}
#div2 {
border-top-style: inset;
        border-top-width:30px;
border-top-color:#B22222;
   
border-right-style:solid;
border-right-width:22px;
border-right-color:#DAA520;

border-bottom-style:double;
border-bottom-width:25px;
border-bottom-color:#4B0082;

border-left-style:dotted;
border-left-width:17px;
border-left-color:#808000;
}

estilos.css para el ejercicio 2

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
div{width:600px; height:200px;}
h2 {text-align:center;}
#div1 {
border-style: dotted dashed double groove;
        border-width:10px 20px 10px 30px;
border-color:green blue #A52A2A #2F4F4F;
    }
#div2 {
border-style: inset solid double dotted;
        border-width:30px 22px 25px 17px;
border-color:#B22222 #DAA520 #4B0082 #808000;
    }

8
Hola a todos !! Paso a dejar el documento html y su hoja de estilos que responde al ejercicio propuesto en la clase CU01026D del taller gratuito de programación web con CSS que se ofrece en la web de aprenderaprogramar. Desde ya muchas gracias por la atención. Un saludo,

Luis

EJERCICIO

Crea un documento HTML con 10 divisiones, cada una separada de la anterior por dos elementos <br/>. En cada división introduce un texto (p.ej. div 1, div 2, div 3…) y aplícale un estilo de borde diferente utilizando la propiedad border-style.

Documento html

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>"Ejercicio CU01026D"</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div id="div1">
                       div 1 none (no existe borde; no se ocultan otros bordes adyacentes)
</div>
<br/><br/>
<div id="div2">
                       div 2 - hidden (el borde existe pero está oculto y no es visible; oculta bordes contiguos)
</div>
<br/><br/>
<div id="div3">
                       div 3 - dotted (borde a base de puntos redondeados)
</div>
<br/><br/>
<div id="div4">
                       div 4 - dashed (borde a base de trazos o segmentos rectangulares)
</div>
<br/><br/>
<div id="div5">
                       div 5 - solid (borde como una línea normal formando un rectángulo)
</div>
<br/><br/>
<div id="div6">
                       div 6 - double (borde en forma de doble línea, exterior e interior)
</div>
<br/><br/>
<div id="div7">
                       div 7 - groove (efecto 3D con foco de luz arriba a la izquierda. En algunos colores y grosores de línea la visualización no es buena)
</div>
<br/><br/>
<div id="div8">
                     div 8 - ridge (efecto 3D con foco de luz abajo a la derecha. En algunos colores y grosores de línea la visualización no es buena)
</div>
<br/><br/>
<div id="div9">
                     div 9 - inset (efecto 3D de ventana con elemento al fondo. En algunos colores y grosores de línea la visualización no es buena)
</div>
<br/><br/>
<div id="div10">
                     div 10 - outset (efecto 3D de elevación. En algunos colores y grosores de línea la visualización no es buena)
</div>
</body>
</html>

Hoja de estilos: estilos.css

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
div{ border-width:10px; border-color: blue;}
#div1 {border-style: none;}
#div2 {border-style: hidden;}
#div3 {border-style: dotted;}
#div4 {border-style: dashed;}
#div5 {border-style: solid;}
#div6 {border-style: double;}
#div7 {border-style: groove;}
#div8 {border-style: ridge;}
#div9 {border-style: inset;}
#div10 {border-style: outset;}

9
Hola a todos !! Coloco a continuación la página html del ejercicio CU01024D del tutorial de programación CSS que se ofrece en esta página web, y su hoja de estilos CSS. Desde ya muchas gracias por la atención.

Un saludo, Luis

EJERCICIO

Los navegadores aplican un tamaño por defecto a los títulos h1 a h6, aunque estos tamaños no son siempre los mismos sino que dependen del navegador que se emplee. Para el navegador que estés empleando, divide la página web en una cuadrícula con 5 espacios a lo ancho y 6 espacios a lo alto, tal y como se ve en la siguiente tabla. En cada espacio, muestra un texto y la forma en que se ha definido el tamaño. Por ejemplo: h1 (predefinido), h1 (px), h1 (em), h1 (pt), h1 (%). El resultado ha de ser que todo se vea del mismo tamaño y modo, pero sin embargo la forma de definir el estilo será diferente en cada caso.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>"Ejercicio CU01024D"</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div>
<table>
<tr>
<td>Título</td>
<td>Tamaño px</td>
<td>Tamaño em</td>
<td>Tamaño pt</td>
<td>Tamaño %</td>
</tr>
<tr>
    <td><h1>h1 (predefinido)</h1></td>
<td id="td12">h1 (px)</td>
<td id="td13">h1 (em)</td>
<td id="td14">h1 (pt)</td>
<td id="td15">h1 (%)</td>
</tr>
<tr>
<td><h2>h2 (predefinido)</h2></td>
<td id="td22">h2 (px)</td>
<td id="td23">h2 (em)</td>
<td id="td24">h2 (pt)</td>
<td id="td25">h2 (%)</td>
</tr>
<tr>
<td><h3>h3 (predefinido)</h3></td>
<td id="td32">h3 (px)</td>
<td id="td33">h3 (em)</td>
<td id="td34">h3 (pt)</td>
<td id="td35">h3 (%)</td>
</tr>
<tr>
<td><h4>h4 (predefinido)</h4></td>
<td id="td42">h4 (px)</td>
<td id="td43">h4 (em)</td>
<td id="td44">h4 (pt)</td>
<td id="td45">h4 (%)</td>
</tr>
<tr>
<td><h5>h5 (predefinido)</h5></td>
<td id="td52">h5 (px)</td>
<td id="td53">h5 (em)</td>
<td id="td54">h5 (pt)</td>
<td id="td55">h5 (%)</td>
</tr>
<tr>
<td><h6>h6 (predefinido)</h6></td>
<td id="td62">h6 (px)</td>
<td id="td63">h6 (em)</td>
<td id="td64">h6 (pt)</td>
<td id="td65">h6 (%)</td>
</tr>
</table>
</div>
</body>
</html>

estilos.css

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
#td12{font-size:32px; font-weight:bold;}
#td13{font-size:2em; font-weight:bold;}
#td14{font-size:24pt; font-weight:bold;}
#td15{font-size:200%; font-weight:bold;}
#td22{font-size:24px; font-weight:bold;}
#td23{font-size:1.5em; font-weight:bold;}
#td24{font-size:18pt; font-weight:bold;}
#td25{font-size:150%; font-weight:bold;}
#td32{font-size:19px; font-weight:bold;}
#td33{font-size:1.17em; font-weight:bold;}
#td34{font-size:14pt; font-weight:bold;}
#td35{font-size:125%; font-weight:bold;}
#td42{font-size:16px; font-weight:bold;}
#td43{font-size:1.0em; font-weight:bold;}
#td44{font-size:12pt; font-weight:bold;}
#td45{font-size:100%; font-weight:bold;}
#td52{font-size:13px; font-weight:bold;}
#td53{font-size:0.83em; font-weight:bold;}
#td54{font-size:10pt; font-weight:bold;}
#td55{font-size:80%; font-weight:bold;}
#td62{font-size:11px; font-weight:bold;}
#td63{font-size:0.70em; font-weight:bold;}
#td64{font-size:8pt; font-weight:bold;}
#td65{font-size:70%; font-weight:bold;}
table{border-collapse: collapse;
}
td {text-align:center;
        width:230px;
border-color:#000000;
border-width:2px;
border-style:solid;
}

10
Hola a todos !! Dejo a continuación la respuesta al ejercicio de la clase CU01023D del curso gratuito de programación CSS que se ofrece en esta web. Desde ya muchas gracias por la atención.

Un saludo, Luis

EJERCICIO

Crea un documento HTML que conste de los siguientes elementos: un título h1 con el texto “Aprendizaje de la programación”. Una división div con id menú que contenga: un título h2 con el texto “Menú” y una lista de elementos ordenados (ol) con los siguientes items: Programación básica, Programación intermedia y Programación avanzada. Finalmente, una división div con id footer con el texto “Curso aprenderaprogramar.com”. Establece diferentes valores de las propiedades color, background-color y font-size para:
a) Los elementos h1
b) Los elementos h2
c) Los elementos ol y partes internas a este (elementos li de listas).
d) El elemento con id footer.


Documento HTML

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>"Ejercicio CU01023D"</title>
<link rel="stylesheet" type="text/CSS" href="estilos.css">
<meta charset="utf-8">
</head>
<body>
<h1>Aprendizaje de la programación</h1>
<div id="menu">
<h2>Menú</h2>
<ol>
<li>Programación básica</li>
<li>Programación intermedia</li>
<li>Programación avanzada</li>
</ol>
</div>
<div id="footer">
Curso aprenderaprogramar.com
</div>
</body>
</html>
Hoja de estilos estilos.css
Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/

h1 {background-color: rgb(243,248,96);
    font-size:40px;}
h2 {background-color:  #ff5733 ;
    font-size:30px;}
#menu li {background-color: hsl(164,80%,60%);
font-size:20px;}
#footer {background-color: OliveDrab;
font-size:15px;}

Chequeo en W3C: Sin errores !!
Citar
Información de CSS válida
h1 {
background-color : rgb(243, 248, 96);
font-size : 40px;
}
h2 {
background-color : #ff5733;
font-size : 30px;
}
#menu li {
background-color : hsl(164, 80%, 60%);
font-size : 20px;
}
#footer {
background-color : olivedrab;
font-size : 15px;
}

11
Hola a todos !! Paso a responder sobre lo solicitado en el ejercicio CU01022D del curso de programación CSS desde cero. Desde ya muchas gracias. Un saludo,

Luis

EJERCICIO

Busca información en internet e indica para cada una de las siguientes propiedades CSS en qué versión de CSS fueron introducidas y si siguen estando vigentes en la actual versión de CSS: a) clip , b) font-weight c) overflow d) animation.

a) La propiedad de CSS clip define qué porción de un elemento es visible. La propiedad clip se aplica solamente sobre elementos con position:absolute o position:fixed.

Fue introducida en CSS 2 y actualmente se ha eliminado de los estándares Web (deprecated). Aunque algunos navegadores aún pueden soportarlo, está en proceso de ser abandonado. Se recomienda el uso de clip-path en su lugar.

b) La propiedad font-weight introducida en CSS 1  permite establecer el grosor con el que se muestran las letras del texto. El principal problema de la propiedad font-weight es que casi ningún tipo de letra utilizado por los usuarios normales dispone de varios grosores diferentes. De hecho, la mayoría de sus fuentes sólo disponen de estilo normal (valor normal) y estilo negrita (valor bold). Sigue estando vigente.

c) La propiedad overflow introducida en CSS 2 especifica lo que ocurre si el contenido desborda la caja de un elemento. Actualmente vigente.
Esta propiedad especifica si se debe recortar el contenido o añadir barras de desplazamiento cuando el contenido de un elemento es demasiado grande para que quepa en un área específica.

Nota: La propiedad overflow sólo funciona para elementos de bloque con una altura especificada.

d) La propiedad animation introducida en CSS 3 permite animar la transición entre un estilo CSS y otro. Las animaciones constan de dos componentes: un estilo que describe la animación y un conjunto de fotogramas que indican su estado inicial y final, así como posibles puntos intermedios en la misma. Sigue estando vigente.

Las animaciones CSS tienen tres ventajas principales sobre las técnicas tradicionales de animación basada en scripts:

1) Es muy fácil crear animaciones sencillas, puedes hacerlo incluso sin tener conocimientos de Javascript.

2) La animación se muestra correctamente, incluso en equipos poco potentes. Animaciones simples realizadas en Javascript pueden verse mal (a menos que estén muy bien programadas). El motor de renderizado puede usar técnicas de optimización como el "frame-skipping" u otras para conseguir que la animación se vea tan suave como sea posible.

3) Al ser el navegador quien controle la secuencia de la animación, permitimos que optimice el rendimiento y eficiencia de la misma, por ejemplo, reduciendo la frecuencia de actualización de la animación ejecutándola en pestañas que no estén visibles.

12
Hola a todos !! Dejo a continuación el código Java respecto al ejercicio propuesto en la clase CU00914C del curso avanzado de programación Java.

Antes de saludar quiero hacer dos aclaraciones sobre el texto:

1) Donde dice "delete(int indiceIni,int indiceFin)" --> "Borra la cadena de caracteres incluidos entre los dos indices indicados en los argumentos".
El rango indicado es cerrado-abierto. Borra desde la posicición indicada en indiceIni (inclusive) hasta el indiceFin(exclusive)

2) Hay un error de tipeo en "subString(int indiceIni,int indiceFin)" --> "Devuelve una cadena comprendida entre los dos índices". En lugar de "subString", tiene que decir "substring". Todo en minúsculas.

Desde ya muchas gracias por la atención. Un saludo, Luis

EJERCICIO

Realizar un programa que realice lo siguiente:

a) Crear un StringBuilder con la cadena "Hola Caracola" y mostrarla por consola.

b) Mostrar por consola su capacidad y longitud.

c) Partiendo de la cadena anterior y usando los métodos de StringBuilder modificar la cadena para que pase a ser "Hay Caracolas" y mostrarla por consola.

d) Partiendo de la cadena anterior y usando los métodos de StringBuilder modificar la cadena para que pase a ser "Hay 5000 Caracolas" y mostrarla por consola. El número entero 5000 debe estar almacenado en un int inicialmente.

e) Partiendo de la cadena anterior y usando los métodos de StringBuilder modificar la cadena para que pase a ser "Hay 5000 Caracolas en el mar" y mostrarla por consola.

f) Almacenar en un String los últimos 4 carácteres del StringBuilder resultante y mostrar ese String por consola.

g) Mostrar por  consola  la capacidad y longitud del StringBuilder final.

h) Realizar el mismo ejercicio con la clase StringBuffer.

Citar
Ejemplo de ejecución:
El StringBuilder es : Hola Caracola
Capacidad inicial = 29
Longitud inicial = 13
Hay Caracolas
Hay 5000 Caracolas
Hay 5000 Caracolas en el mar
 mar
Capacidad final = 29
Longitud final = 28

Código: [Seleccionar]
/* Curso java avanzado aprenderaprogramar.com*/
public class EjercicioStringBuilder
{public static void main(String[] args) { 
        StringBuilder sbuilder = new StringBuilder("Hola Caracola");
        int i = 5000;
        String cincok = "";
        System.out.println("El StringBuilder es : "+sbuilder);
        System.out.println("Capacidad inicial = "+sbuilder.capacity());
        System.out.println("Longitud inicial = "+sbuilder.length());
        sbuilder.delete(0,4);
        sbuilder.insert(0,"Hay");
        sbuilder.append("s");
        System.out.println(sbuilder);
        cincok=" "+Integer.toString(i);
        sbuilder.insert(3,cincok);
        System.out.println(sbuilder);
        sbuilder.append(" en el mar");
        System.out.println(sbuilder);
        System.out.println(sbuilder.substring(sbuilder.length()-4,sbuilder.length()));
        System.out.println("Capacidad final = "+sbuilder.capacity());
        System.out.println("Longitud final = "+sbuilder.length());

    }
}

Código: [Seleccionar]
/* Curso java avanzado aprenderaprogramar.com*/
public class EjercicioStringBuffer
{public static void main(String[] args) { 
        StringBuffer sbuffer = new StringBuffer("Hola Caracola");
        int i = 5000;
        String cincok = "";
        System.out.println("El StringBuilder es : "+sbuffer);
        System.out.println("Capacidad inicial = "+sbuffer.capacity());
        System.out.println("Longitud inicial = "+sbuffer.length());
        sbuffer.delete(0,4);
        sbuffer.insert(0,"Hay");
        sbuffer.append("s");
        System.out.println(sbuffer);
        cincok=" "+Integer.toString(i);
        sbuffer.insert(3,cincok);
        System.out.println(sbuffer);
        sbuffer.append(" en el mar");
        System.out.println(sbuffer);
        System.out.println(sbuffer.substring(sbuffer.length()-4,sbuffer.length()));
        System.out.println("Capacidad final = "+sbuffer.capacity());
        System.out.println("Longitud final = "+sbuffer.length());

    }
}

13
Hola a todos !! Dejo a continuación el código del ejercicio propuesto CU00913C del tutorial gratuito de programación Java avanzada ofrecido en aprenderaprogramar. Desde ya, muchas gracias por la atención. Un saludo,

Luis

EJERCICIO

Utilizando Comparable y compareTo resuelve el siguiente problema donde debemos partir de una clase Persona con atributos nombre, edad y altura. Queremos ordenar por edad y por altura a las siguientes personas:                   

Nombre           Altura          Edad
Mario                 187               22
Pepe                 173               52
Manuel              158               27
David                164               25
Alberto              184              80

Debemos comparar las personas y ordenarlas por altura primero (de mayor a menor) y por edad (de menor a mayor) después. Por pantalla debe mostrarse la lista de personas sin ordenar, ordenada por altura y ordenada por edad. Ejemplo de ejecución:
Citar
Personas sin ordenar

1. Mario - Altura: 187 - Edad: 22
2. Pepe - Altura: 173 - Edad: 52
3. Manuel - Altura: 158 - Edad: 27
4. David - Altura: 164 - Edad: 25
5. Alberto - Altura: 184 - Edad: 80

 

Personas ordenadas por altura

1. Mario - Altura: 187 - Edad: 22
2. Alberto - Altura: 184 - Edad: 80
3. Pepe - Altura: 173 - Edad: 52
4. David - Altura: 164 - Edad: 25
5. Manuel - Altura: 158 - Edad: 27

 

Personas ordenadas por edad

1. Mario - Altura: 187 - Edad: 22
2. David - Altura: 164 - Edad: 25
3. Manuel - Altura: 158 - Edad: 27
4. Pepe - Altura: 173 - Edad: 52
5. Alberto - Altura: 184 - Edad: 80


Solución propuesta:


Clase Persona

Código: [Seleccionar]
/* Ejemplo Clase e Interfaz Cloneable aprenderaprogramar.com */
public class Persona implements Comparable<Persona>, Cloneable{
   public String nombre;
   public int altura, edad;
      public Persona(String nombre, int altura, int edad) {
          this.nombre = nombre;
          this.altura = altura;
          this.edad = edad;
      }
      public Persona clone()   {
          Persona clon = new Persona(this.nombre, this.altura, this.edad);
          return clon;
        }
      public int compareTo(Persona o) {
          int resultado=0;
          int resultado1=0;
            if (this.edad<o.edad) { resultado1 = -1;}
                else
                    if (this.edad>o.edad) { resultado1 = 1;}
                         else {
                             resultado1 = 0;
            }
          int resultado2=0;
            if (this.altura<o.altura) { resultado2 = -1;}
                else
                    if (this.altura>o.altura) { resultado2 = 1;}
                         else {
                               resultado2 = 0;
            }
          resultado = resultado1+resultado2; 
          return resultado ;
      }
}


Clase Programa - (main)

Código: [Seleccionar]
/* Ejemplo Clase e Interface Comparable aprenderaprogramar.com */
public class Programa {
    public static void main(String arg[]) {
         Persona p1 = new Persona("Mario",187,22);
         Persona p2 = new Persona("Pepe",173,52);   
         Persona p3 = new Persona("Manuel",158,27);
         Persona p4 = new Persona("David",164,25);   
         Persona p5 = new Persona("Alberto",184,80);
         Persona pAux = new Persona("",0,0);
         Persona px = new Persona("",0,0);
         // orden cargado
         System.out.println("Personas sin ordenar");
         System.out.println("1. "+p1.nombre+" - Altura: "+p1.altura+" - Edad: "+p1.edad);
         System.out.println("2. "+p2.nombre+" - Altura: "+p2.altura+" - Edad: "+p2.edad);
         System.out.println("3. "+p3.nombre+" - Altura: "+p3.altura+" - Edad: "+p3.edad);
         System.out.println("4. "+p4.nombre+" - Altura: "+p4.altura+" - Edad: "+p4.edad);
         System.out.println("5. "+p5.nombre+" - Altura: "+p5.altura+" - Edad: "+p5.edad);         
         System.out.println("");
         
         Persona cp1 = p1.clone();
         Persona cp2 = p2.clone();
         Persona cp3 = p3.clone();
         Persona cp4 = p4.clone();
         Persona cp5 = p5.clone();
         
         cp1.edad=0;
         cp2.edad=0;
         cp3.edad=0;
         cp4.edad=0;
         cp5.edad=0;

         System.out.println("Personas ordenadas por altura");
         if (cp1.compareTo(cp2)<0){pAux=cp2; px=p2; cp2=cp1; p2=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp3)<0){pAux=cp3; px=p3; cp3=cp1; p3=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp4)<0){pAux=cp4; px=p4; cp4=cp1; p4=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp5)<0){pAux=cp5; px=p5; cp5=cp1; p5=p1; cp1=pAux; p1=px;}
         
         if (cp2.compareTo(cp3)<0){pAux=cp3; px=p3; cp3=cp2; p3=p2; cp2=pAux; p2=px;}
         if (cp2.compareTo(cp4)<0){pAux=cp4; px=p4; cp4=cp2; p4=p2; cp2=pAux; p2=px;}
         if (cp2.compareTo(cp5)<0){pAux=cp5; px=p5; cp5=cp2; p5=p2; cp2=pAux; p2=px;}

         if (cp3.compareTo(cp4)<0){pAux=cp4; px=p4; cp4=cp3; p4=p3; cp3=pAux; p3=px;}
         if (cp3.compareTo(cp5)<0){pAux=cp5; px=p5; cp5=cp3; p5=p3; cp3=pAux; p3=px;}

         if (cp4.compareTo(cp5)<0){pAux=cp5; px=p5; cp5=cp4; p5=p4; cp4=pAux; p4=px;}

         System.out.println("1. "+p1.nombre+" - Altura: "+p1.altura+" - Edad: "+p1.edad);
         System.out.println("2. "+p2.nombre+" - Altura: "+p2.altura+" - Edad: "+p2.edad);
         System.out.println("3. "+p3.nombre+" - Altura: "+p3.altura+" - Edad: "+p3.edad);
         System.out.println("4. "+p4.nombre+" - Altura: "+p4.altura+" - Edad: "+p4.edad);
         System.out.println("5. "+p5.nombre+" - Altura: "+p5.altura+" - Edad: "+p5.edad);
         System.out.println("");
         
         cp1 = p1.clone();
         cp2 = p2.clone();
         cp3 = p3.clone();
         cp4 = p4.clone();
         cp5 = p5.clone();
         cp1.altura=0;
         cp2.altura=0;
         cp3.altura=0;
         cp4.altura=0;
         cp5.altura=0;
         System.out.println("Personas ordenadas por edad");
         if (cp1.compareTo(cp2)>0){pAux=cp2; px=p2; cp2=cp1; p2=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp3)>0){pAux=cp3; px=p3; cp3=cp1; p3=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp4)>0){pAux=cp4; px=p4; cp4=cp1; p4=p1; cp1=pAux; p1=px;}
         if (cp1.compareTo(cp5)>0){pAux=cp5; px=p5; cp5=cp1; p5=p1; cp1=pAux; p1=px;}
         
         if (cp2.compareTo(cp3)>0){pAux=cp3; px=p3; cp3=cp2; p3=p2; cp2=pAux; p2=px;}
         if (cp2.compareTo(cp4)>0){pAux=cp4; px=p4; cp4=cp2; p4=p2; cp2=pAux; p2=px;}
         if (cp2.compareTo(cp5)>0){pAux=cp5; px=p5; cp5=cp2; p5=p2; cp2=pAux; p2=px;}

         if (cp3.compareTo(cp4)>0){pAux=cp4; px=p4; cp4=cp3; p4=p3; cp3=pAux; p3=px;}
         if (cp3.compareTo(cp5)>0){pAux=cp5; px=p5; cp5=cp3; p5=p3; cp3=pAux; p3=px;}

         if (cp4.compareTo(cp5)>0){pAux=cp5; px=p5; cp5=cp4; p5=p4; cp4=pAux; p4=px;}

         System.out.println("1. "+p1.nombre+" - Altura: "+p1.altura+" - Edad: "+p1.edad);
         System.out.println("2. "+p2.nombre+" - Altura: "+p2.altura+" - Edad: "+p2.edad);
         System.out.println("3. "+p3.nombre+" - Altura: "+p3.altura+" - Edad: "+p3.edad);
         System.out.println("4. "+p4.nombre+" - Altura: "+p4.altura+" - Edad: "+p4.edad);
         System.out.println("5. "+p5.nombre+" - Altura: "+p5.altura+" - Edad: "+p5.edad);
         System.out.println("");

    }
}

14
Hola a todos !! Dejo a continuación el código del ejercicio propuesto
Desde ya muchas gracias por la atención.
Un saludo,
Luis
EJERCICIO
Define una clase que tenga cuatro atributos de tipo String cada uno de los cuales podrá ser exclusivamente una cadena de 12 ceros o de 12 unos. Es decir, cada atributo puede valer o bien "000000000000" ó bien "111111111111". La clase debe implementar la interface Cloneable y disponer de un método que permita ver el resultado de concatenar sus atributos.

Crea otra clase con el main donde crees un objeto cuyos atributos serán: "000000000000", "000000000000", "000000000000", "000000000000".

A partir de este primer objeto, crea cuatro copias usando el método clone() y modifícalas para llegar a tener cinco objetos (el inicial más los otros cuatro copias del original y luego modificados) cuyo contenido mostrarás por pantalla, debiendo obtener el siguiente resultado:
Citar
000000000000000000000000000000000000000000000000

111111111111000000000000000000000000000000000000

000000000000111111111111000000000000000000000000

000000000000000000000000111111111111000000000000

000000000000000000000000000000000000111111111111

Clase CadenaBinaria
Código: [Seleccionar]
public class CadenaBinaria implements Cloneable
{
    public String str1, str2, str3, str4;
 public CadenaBinaria(String a, String b, String c, String d) {this.str1=a; this.str2=b; this.str3=c; this.str4=d;}
      public CadenaBinaria clone()   {
      CadenaBinaria clon = new CadenaBinaria(this.str1, this.str2, this.str3, this.str4);
      return clon;
   }
 }

Clase principal Programa - main
Código: [Seleccionar]
/* Ejemplo Clase e Interfaz Cloneable aprenderaprogramar.com */
 public class Programa {
     public static void main(String arg[]) {
        CadenaBinaria c = new CadenaBinaria("000000000000","000000000000","000000000000","000000000000");
        CadenaBinaria c2 = c.clone();
        CadenaBinaria c3 = c.clone();
        CadenaBinaria c4 = c.clone();
        CadenaBinaria c5 = c.clone();
        c2.str1="111111111111";
        c3.str2="111111111111";
        c4.str3="111111111111";
        c5.str4="111111111111";
        System.out.println("Cadena binaria original :" + c.str1 + c.str2 + c.str3 + c.str4);
        System.out.println("Cadena binaria 2 (clon) :" + c2.str1 + c2.str2 + c2.str3 + c2.str4);
        System.out.println("Cadena binaria 3 (clon) :" + c3.str1 + c3.str2 + c3.str3 + c3.str4);
        System.out.println("Cadena binaria 4 (clon) :" + c4.str1 + c4.str2 + c4.str3 + c4.str4);
        System.out.println("Cadena binaria 5 (clon) :" + c5.str1 + c5.str2 + c5.str3 + c5.str4) ;
       }
 }

15
Hola a todos !! paso a dejar el código HTML y CSS para el ejercicio propuesto en la clase CU01021D del tutorial de programación CSS como si estuviera en primero. Muchas gracias por  la atención. Un saludo,
Luis

EJERCICIO

Crea un documento HTML donde la ventana del navegador esté dividida en 6 partes, cada una con su borde. En cada división pon como color de fondo lo siguiente:

a) División 1: un color expresado con notación RGB.
b) División 2: un color expresado con notación RGBA.
c) División 3: un color expresado con notación hexadecimal.
d) División 4: un color expresado con notación HSL.
e) División 5: un color expresado con notación HSLA.
f) División 6: un color designado con un nombre.
En cada división incluye un texto con la notación y color empleado. Por ejemplo <<Notación RGB, color 218, 165, 32>>.

Código HTML

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div id="div1">
                         Notación RGB, color (243 , 248 , 96).
</div>
<div id="div2">
                         Notación RGBA, color (254 , 126 , 81 , 0.5).
</div>
<div id="div3">
                         Notación hexadecimal, #6087F8.
</div>
<div id="div4">
                         Notación HSL, color (112 , 83% , 55%).
</div>
<div id="div5">
                          Notación HSLA, color (296 , 68% , 66% , 0.3).
</div>
<div id="div6">
                          Notación por nombre, color aquamarine.
</div>
</body>
</html>

Hoja de estilo: estilos.css

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
body {margin:0; padding:0;}
div {height:100px; border:2px; border-style: solid;}
#div1 {background-color: rgb(243,248,96);}
#div2 {background-color: rgba(254,126,81,0.5);}
#div3 {background-color: #6087F8 ;}
#div4 {background-color: hsl(112,83%,55%);}
#div5 {background-color: hsla(296,68%,66%,0.3);}
#div6 {background-color: aquamarine;}

16
Hola a todos !!! paso a dejar el código de respuesta al ejercicio propuesto en la clase CU01020D del tutorial gratuito de programación CSS disponible en esta página web. Desde ya, muchas gracias por la atención. Un saludo,

Luis

PD: Probablemente se pueda resumir la hoja de estilo indicando el color por fila y la transparencia por columna, pero por ahora solo lo puedo hacer así.
 
EJERCICIO

Crea un documento HTML con 20 divisiones. En las diez primeras divisiones introduce el color RGB 178,34,34 con grados de transparencia desde 0.1 hasta 1.0 (en cada división un punto decimal más de opacidad). En las otras diez divisiones introduce el color RGB 218,165,32 con grados de transparencia desde 1.0 hasta 0.1 (en cada división un punto decimal más de transparencia). En cada división escribe el código de color y el grado de transparencia que muestra. Por ejemplo: <<RGB 178,34,34 con transparencia 0.6>>

Código html

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div>
<h3>Tabla Solución</h3>
<table>
<tr>
<td id="td1">RGB 178,34,34 con transparencia 0.1</td>
<td id="td2">RGB 178,34,34 con transparencia 0.2</td>
<td id="td3">RGB 178,34,34 con transparencia 0.3</td>
<td id="td4">RGB 178,34,34 con transparencia 0.4</td>
<td id="td5">RGB 178,34,34 con transparencia 0.5</td>
<td id="td6">RGB 178,34,34 con transparencia 0.6</td>
<td id="td7">RGB 178,34,34 con transparencia 0.7</td>
<td id="td8">RGB 178,34,34 con transparencia 0.8</td>
<td id="td9">RGB 178,34,34 con transparencia 0.9</td>
<td id="td10">RGB 178,34,34 con transparencia 1.0</td>
</tr>
<tr>
<td id="td11">RGB 218,165,32 con transparencia 0.1</td>
<td id="td12">RGB 218,165,32 con transparencia 0.2</td>
<td id="td13">RGB 218,165,32 con transparencia 0.3</td>
<td id="td14">RGB 218,165,32 con transparencia 0.4</td>
<td id="td15">RGB 218,165,32 con transparencia 0.5</td>
<td id="td16">RGB 218,165,32 con transparencia 0.6</td>
<td id="td17">RGB 218,165,32 con transparencia 0.7</td>
<td id="td18">RGB 218,165,32 con transparencia 0.8</td>
<td id="td19">RGB 218,165,32 con transparencia 0.9</td>
<td id="td20">RGB 218,165,32 con transparencia 1.0</td>
</tr>

</table>
</div>
</body>
</html>

Hoja de estilo: estilos.css

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
table{border="2px";}
#td1{background-color: RGBA(178,34,34,0.1);}
#td2{background-color: RGBA(178,34,34,0.2);}
#td3{background-color: RGBA(178,34,34,0.3);}
#td4{background-color: RGBA(178,34,34,0.4);}
#td5{background-color: RGBA(178,34,34,0.5);}
#td6{background-color: RGBA(178,34,34,0.6);}
#td7{background-color: RGBA(178,34,34,0.7);}
#td8{background-color: RGBA(178,34,34,0.8);}
#td9{background-color: RGBA(178,34,34,0.9);}
#td10{background-color: RGBA(178,34,34,1.0);}
#td11{background-color: RGBA(218,165,32,0.1);}
#td12{background-color: RGBA(218,165,32,0.2);}
#td13{background-color: RGBA(218,165,32,0.3);}
#td14{background-color: RGBA(218,165,32,0.4);}
#td15{background-color: RGBA(218,165,32,0.5);}
#td16{background-color: RGBA(218,165,32,0.6);}
#td17{background-color: RGBA(218,165,32,0.7);}
#td18{background-color: RGBA(218,165,32,0.8);}
#td19{background-color: RGBA(218,165,32,0.9);}
#td20{background-color: RGBA(218,165,32,1.0);}
td{text-align:center; width:100px; height:100px;}

17
Hola a todos !! paso a dejar la respuesta del ejercicio de la clase CU01019D del manual de programación CSS en pdf. Desde ya, muchas gracias por la atención. Un saludo,
Luis

EJERCICIO

En la siguiente tabla están mal ordenados los códigos de colores. Ordénalos de forma que en cada fila estén los códigos equivalentes de forma ordenada y crea un documento HTML donde se muestre un cuadrado donde aparezca como texto el color con la notación empleada, y como color de fondo el color. En total deberás tener 15 cuadrados, cada uno con su texto y su color, correspondientes a las 15 celdas de la tabla.

Nombre         Hexadecimal          RGB
DimGray           1E90FF           178,34,34
IndianRed        696969           205,92,92
FireBrick           CD5C5C         30,144,255
DodgerBlue      B22222            75,0,130
Indigo              4B0082         105,105,105

Código HTML

Código: [Seleccionar]
<html>
<head>
<link rel="stylesheet" type="text/CSS" href="estilos.css">
</head>
<body>
<div>
<h3>Tabla Solución</h3>
<table>
<tr>
<td>DimGray</td>
<td>#696969</td>
<td>RGB(105,105,105)</td>
</tr>
<tr>
<td>IndianRed</td>
<td>#CD5C5C</td>
<td>RGB(205,92,92)</td>
</tr>
<tr>
<td>FireBrick</td>
<td>#B22222 </td>
<td>RGB(178,34,34)</td>
</tr>
<tr>
<td>DodgerBlue</td>
<td>#1E90FF</td>
<td>RGB(30,144,255)</td>
</tr>
<tr>
<td>Indigo</td>
<td>#4B0082</td>
<td>RGB(75,0,130)</td>
</tr>
</table>
</div>
</body>
</html>

Hoja de estilo: estilos.css

Código: [Seleccionar]
/* Curso CSS estilos aprenderaprogramar.com*/
table{border="2px";}
tr:nth-child(1){background-color: DimGray;}
tr:nth-child(2){background-color: IndianRed;}
tr:nth-child(3){background-color: FireBrick;}
tr:nth-child(4){background-color: DodgerBlue;}
tr:nth-child(5){background-color: Indigo;}
td{width:200px; text-align:center; color:#FFFFFF; height:50px;}

18
Hola a todos !! Paso a dejar la respuesta del ejercicio CU00911C del manual pdf de programación java avanzada. Desde ya muchas gracias. Un saludo, Luis


EJERCICIO

Citar
En esta entrega hemos podido ver lo siguiente: StringBuilder puede ofrecer resultados no consistentes en una ejecución multihilo (concurrente, con distintos “subprogramas” ejecutándose simultáneamente) ya que sus métodos no son sincronizados.

Busca información en internet y trata de poner un ejemplo de cómo podría generarse una inconsistencia en programación multihilo. No hace falta que escribas código, únicamente es necesario describir en unas pocas líneas (como si estuvieras explicándoselo a un amigo) la idea o situación.

La clase String es una clase no modificable. Esto quiere decir que cuando se modifica un String se crea un nuevo objeto String modificado a partir del original y el recolector de basura es el encargado de eliminar de la memoria el String original, eso origina un uso mayor de los recursos.

En general decidiremos cuando usar String, StringBuilder o StringBuffer según lo siguiente:
-Usaremos String si la cadena de caracteres no va a cambiar.
-Usaremos StringBuilder si la cadena de caracteres puede cambiar y solamente tenemos un hilo de ejecución.
-Usaremos StringBuffer si la cadena de caracteres puede cambiar y tenemos varios hilos de ejecución.

StringBuilder (llegó con Java 5),  no es síncrona, lo que significa que puede haber problemas si a una variable la acceden diferentes threads. Sin embargo, para la mayoría de las aplicaciones (donde se ejecuta un solo hilo) supone una mejora de rendimiento sobre StringBuffer.

La diferencia entre un StringBuilder y un StringBuffer es que un StringBuffer provee métodos sincronizados por lo que es seguro usarlos en un ambiente multi-hilos. Un StringBuffer se comporta de manera consistente con el orden de las llamadas a los métodos hechas por cada hilo.

StringBuilder es rápido ya que no es seguro al utilizarse en los hilos, no es thread safe.
Con varias ejecuciones, los tiempos son constantemente menores para el StringBuilder. Por ejemplo, concatenar 100000 cadenas con:
.String: 300000 milisegundos
.StringBuffer: 30 milisegundos
.StringBuilder: 15 milisegundos
(los valores dependen del ordenador usado-es a modo de ejemplo)

19
Hola a todos !! paso a dejar el código de los dos ejercicios de la clase CU00909C del tutorial pdf de programación Java avanzada. Desde ya muchas gracias. Un saludo, Luis

EJERCICIO Nº 1

Crea un programa que elija dos números enteros aleatorios A y B pero no los muestre por pantalla aún. Si los dos números fueran iguales, deberá repetirse la elección hasta que sean distintos. El programa preguntará por quién apostamos, A o B (gana el número más alto). Una vez el usuario haya introducido su apuesta, el programa mostrará el valor de A y B, dirá si hemos ganado la apuesta (acertado el número más alto) o perdido y nos dirá cuántas partidas hemos ganado y perdido hasta el momento. Tras una jugada, nos preguntará si queremos jugar otra vez.

Citar
Ejemplo de ejecución:

Apuestas por A o por B ? : A
A saca un 9 y B saca un 6     HAS GANADO!!!
Llevas 1 partidas ganadas y 0 partidas perdidas
Quieres probar otra vez ? (S/N) : S
Apuestas por A o por B ? : A
A saca un 1 y B saca un 8     HAS PERDIDO!!!
Llevas 1 partidas ganadas y 1 partidas perdidas
Quieres probar otra vez ? (S/N) : N
Adiós


Solución propuesta:

Código: [Seleccionar]
/* Ejemplo uso clase Random() – aprenderaprogramar.com */
import java.util.Random;
import java.util.Scanner;
public class Ejercicio1 {
      public static void main(String arg[ ]) {
           Random rnd = new Random();
           Scanner teclado = new Scanner(System.in);
           String continuar="S";
           String nroElegido="";
           int totalAciertos=0;
           int totalDesaciertos=0;
           String respuesta="";
           do {
               int nroA = rnd.nextInt(10);
               int nroB = rnd.nextInt(10);
               System.out.println("Apuestas por A o por B ?:");
               while(nroA==nroB){
                   nroB = rnd.nextInt(10);
                }

               nroElegido = teclado.next();
               
               while(nroElegido.equalsIgnoreCase("A")==false&&nroElegido.equalsIgnoreCase("B")==false){
                   System.out.println("Apuestas por A o por B ?:");
                   nroElegido = teclado.next();
               }               
               
               if ((nroElegido.equalsIgnoreCase("A")&&nroA>nroB)||(nroElegido.equalsIgnoreCase("B")&&nroB>nroA)){
                   totalAciertos=totalAciertos+1;
                   respuesta="  HAS GANADO!!!";
                } else {totalDesaciertos=totalDesaciertos+1;
                        respuesta="  HAS PERDIDO!!!";
                }
               
               System.out.println("A saca un "+nroA+" y B saca un "+nroB+respuesta);
               System.out.println("Llevas "+totalAciertos+" partidas ganadas y "+totalDesaciertos+" partidas perdidas");

               System.out.println("Quieres probar otra vez ? (S/N):");
               continuar = teclado.next();
                }
           while(continuar.equalsIgnoreCase("S"));
           System.out.println("Adiós");
           //System.out.println("el numero ingresado es :"+inicioRango); 
      }
}


EJERCICIO Nº 2

Ahora vamos a jugar a la “Lotería primitiva”. Para ello, se pedirá al usuario que introduzca 6 números enteros comprendidos entre el 1 y el 49 ambos incluidos. No estará permitido repetir número. Una vez elegidos los seis números el programa nos mostrará nuestros 6 números así como la combinación ganadora (ordenada de menor a mayor). Esta combinación constará de 6 números entre 1 y 49 elegidos al azar por el programa. Finalmente nos dirá cuántos aciertos hemos tenido y nos preguntará si queremos volver a jugar.

Citar
Ejemplo de ejecución:

Elige 6 numeros entre el 1 y el 49.
Elige el numero 1 : 3
Elige el numero 2 : 8
Elige el numero 3 : 14
Elige el numero 4 : 2
Elige el numero 5 : 34
Elige el numero 6 : 38
Numeros Elegidos    : 3  8  14  2  34  38
Combinación ganadora : 6  14   21  27  30  48
Has acertado : 1 números
Quieres probar otra vez ? (S/N) : n
Adiós


Código: [Seleccionar]
/* Ejemplo uso clase Random() – aprenderaprogramar.com */
import java.util.*;
public class Ejercicio2 {
      public static void main(String arg[ ]) {
           ArrayList lista = new ArrayList<Integer>();
           Random rnd = new Random();
           Scanner teclado = new Scanner(System.in);
           String continuar="S";
           int[ ] nroElegido = new int[6];
           int[ ] nroLoteria = new int[6];
           int totalAciertos=0;
           int i=0;
           int j=0;
           boolean nroRepetido=false;
           // elección de los números para el sorteo
           do {
               System.out.println("Elige 6 números entre el 1 y el 49.");
               for(i=0;i<6;i++){
                   do{
                       nroRepetido=false;
                       System.out.print("Elige el número "+(i+1)+" : ");               
                       nroElegido[i]=Integer.parseInt(teclado.next());
                       for (j=0;j<i;j++){
                           if (nroElegido[i]==nroElegido[j]){nroRepetido=true;}
                        }
                    }   
                   while(nroElegido[i]<1||nroElegido[i]>49||nroRepetido==true);
                }
               // ordena la lista de nros elegidos
               lista.clear();
               for (i=0;i<6;i++){lista.add(nroElegido[i]);}
               Collections.sort(lista);
               for (i=0;i<6;i++){nroElegido[i]=(int)lista.get(i);}
               // muestra los nros elegidos
               System.out.print("Los números elegidos son :");
               for (i=0;i<6;i++){
                   System.out.print(nroElegido[i]);
                   if(i==5){System.out.println("");} else {System.out.print(", ");}
                }
               // se realiza el sorteo de la loteria
               i=0;
               do {
                   nroLoteria[i] = rnd.nextInt(49)+1;
                   nroRepetido=false;
                   for (j=0;j<i;j++){
                       if (nroLoteria[i]==nroLoteria[j]){nroRepetido=true;}
                   }
                   if (nroRepetido==false) {i++;}
               }
               while(i<6);
               // ordena los numeros sorteados por la Loteria
               lista.clear();
               for (i=0;i<6;i++){lista.add(nroLoteria[i]);}
               Collections.sort(lista);
               for (i=0;i<6;i++){nroLoteria[i]=(int)lista.get(i);}
               // muestra los nros de la loteria
               System.out.print("Combinación ganadora :");
               for (i=0;i<6;i++){
                System.out.print(nroLoteria[i]);
                if(i==5){System.out.println("");} else {System.out.print(", ");}
                }
               // control de nros ganadores
               totalAciertos=0;
               for (i=0;i<6;i++){
                   for (j=0;j<6;j++){
                        if(nroElegido[i]==nroLoteria[j]){ totalAciertos = totalAciertos+1;}
                    }
                }
               System.out.println("Has acertado: "+totalAciertos+" números");
               System.out.print("Quieres probar otra vez?(S/N):");
               continuar = teclado.next();               
           } 
           while(continuar.equalsIgnoreCase("S"));
           System.out.println("Adiós");
           //System.out.println("el numero ingresado es :"+inicioRango); 
      }
}

20
Hola a todos !! Dejo las respuestas solicitadas en el ejercicio de la clase: CU01017D del curso gratuito de CSS que se ofrece en esta web. Desde ya muchas gracias por la atención.

Un saludo, Luis

EJERCICIO

En el archivo CSS externo a un documento HTML encontramos esta declaración:

Citar
.magicTitle {
margin:0px;
width:20px;
height:30px;
color:green !important;
border-style: hidden !important;
}
Por otro lado dentro del código HTML tenemos el siguiente código:
Citar
<div class="magicTitle" style="border:1px solid blue; color: blue;">
Aprendiendo a programar
</div>

Responde a las siguientes preguntas:

a) ¿Se mostrará un borde para el div? ¿Por qué?

No, porque en la hoja de estilo externa el borde está declarado como hidden(oculto) con la palabra !important "border-style: hidden !important;" y prevalece a cualquier otra declaración sobre el borde.

b) ¿Con qué color se mostrará el texto, con color verde o con color azul? ¿Por qué?

Análogamente a la respuesta a), se mostrará el texto de color verde porque en la hoja de estilo está declarado como !important "color:green !important;" y prevalece sobre la declaracion en el archivo html: "color: blue;"

c) ¿Se respetarán los valores de width y height definidos en el archivo CSS externo o quedarán anulados? ¿Por qué?

Si, se respetarán porque no hay situación de conflicto con otra declaración

Páginas: [1] 2 3 4 5

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".