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.


Mensajes - pedro,,

Páginas: 1 ... 29 30 31 32 33 [34] 35 36 37 38 39 ... 65
661
Buenas Chompy129.


En el apartado a están bien tus respuestas, aunque podrían aportar más datos de lo que realiza el código, como por ejemplo decir que "tr:nth-child(even) td" hace referencia a todas la celdas que estén en una fila par y "tr:nth-child(odd) td" a las filas impares. Sobre todo por que muchas veces es más complicado a donde apunta el selector CSS que las propiedades que contiene.

b y c todo bien.

Saludos. ;D

662
Hola Chompy129.

Tu ejercicio está muy bien.

Solo decirte que no hubiese hecho falta repetir la línea

Código: [Seleccionar]
border-bottom: 6px solid #00F;
en la última tabla, puesto que con el borde inferior de la última fila, ya está creando ese borde.

Saludos. ;D

663
Aprender a programar desde cero / Re:Curso PHP ejercicio (CU00805B)
« en: 26 de Septiembre 2016, 00:07 »
Hola Dan_SB.

Veo todas tus respuestas bien.

Saludos. ;D

664
Hola, otra vez.

Lo del strict mode lo tendré en cuenta de aquí en adelante.

Cuando alguien tiene razón hay que dársela, y tus consejos se aprecian a la vista enseguida, por eso los apliqué.

He aumentado un poco más el código, en este caso la parte de las sumas y resta no aparecerán en el código para que no se vea tan extenso. He añadido el menú vertical y una opción que es 'Contar' y trata de contar objetos, esta vez lo solucioné con el uso de canvas.

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="es">
<head>
<title>Aprendemos?</title>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="0001.css">
<style>
*{
margin: 0;
padding: 0;
}
body {
background: #FFE4C4;
}
#encabezado{
width: 100%;
height: 70px;
}
#menuIzq {
width: 280px;
height: 550px;
}
.flotaLeft{
float: left;
}
.borraFlujo{
clear: both;
}
#menuIzq label{
display: block;
font-size: 33px;
}
.cajaTexto {
border: solid 1px #5F9EA0;
font-size: 22px;
width: 250px;
background: #FFFFFF;
color: #5F9EA0;
visibility: hidden;
position: absolute;
z-index: 10;
}
.menu, .cajaTexto{
border-radius: 5px;
padding: 5px;
cursor: pointer;
}
.menu {
color: #FFFFFF;
background: #5F9EA0;
border: solid 1px #FFFFFF;
}
input[type="radio"]{
display: none;
}
#menuDcha {
float: right;
width: 240px;
height: 550px;
}
#contenedor {
border: dashed 5px #33CCFF;
background-image: url('cuadricula0001.png');
background-repeat: repeat;
width: 790px;
height: 520px;
box-shadow: 0 0 30px #33CCFF;
padding: 15px;
text-align: center;
z-index: 30;
}
#operacion {
font-size: 125px;
height: 200px;
width: 460px;
}
#propResultado{
width: 40%;
}
#propuestaResultado{
clear: both;
outline: 0px;
border: solid 1px #FFFFFF;
background-color: transparent;
text-align: center;
font-size: 150px;
border-radius: 11px;
width: 222px;
margin-right: 15px;
}
#botonResultado, #botonSiguiente {
outline: 0px;
font-size: 66px;
text-align: center;
padding:15px;
margin:20px;
box-shadow: 0px 3px 15px 0px #1E90FF;
transition: all 0.10s ease-in-out;
color: #FFFFFF;
border: solid 1px #FFFFFF;
border-radius: 40px;
background: #5F9EA0;
position: relative;
}
#botonResultado {
cursor: pointer;
}
#botonSiguiente {
opacity: 0.5;
cursor: not-allowed;
}
#botonResultado:active, #botonSiguiente:active{
top:5px;
box-shadow: 0px 1px 0px 0px #1E90FF;
}
#mensaje {
font-size: 100px;
width: 100%;
height: 200px;
}
#pie {
width: 100%;
height: 30px;
}
.ocultaContenedor{
visibility: hidden;
}
</style>
<script>
window.onload = function(){
var btnSiguiente = document.getElementById('botonSiguiente');
var btnComprobar = document.getElementById('botonResultado');
var nodoCajaTexto = document.getElementsByClassName('cajaTexto');
var nodosMenu = document.getElementsByName('tipoOperacion');
btnComprobar.addEventListener('click', comprobarChecked);
btnSiguiente.addEventListener('click', operacionElegida);
document.addEventListener('keypress', function(codTecla){
var foco = document.activeElement.id;
if(codTecla.keyCode===13 & foco==='propuestaResultado'){comprobarChecked();}
});
for (var i=0; i<nodosMenu.length; i++){
nodosMenu[i].parentNode.addEventListener('mouseover', muestraCaja.bind(this, i));
nodosMenu[i].parentNode.addEventListener('mouseout', muestraCaja.bind(this, i));
nodosMenu[i].addEventListener('click', operacionElegida.bind());
}
function muestraCaja(i, ev){
if(ev.type === 'mouseover'){
nodoCajaTexto[i].style.visibility = 'visible';
nodoCajaTexto[i].style.top = nodosMenu[i].parentNode.offsetTop + 'px';
nodoCajaTexto[i].style.left = nodosMenu[i].parentNode.offsetWidth + 'px';
nodosMenu[i].parentNode.style.backgroundColor = '#FFFFFF';
nodosMenu[i].parentNode.style.color = '#5F9EA0';
}else{
nodoCajaTexto[i].style.visibility = 'hidden';
nodosMenu[i].parentNode.style.backgroundColor = '#5F9EA0';
nodosMenu[i].parentNode.style.color = '#FFFFFF';
}
}
function comprobarChecked(){
for(var z=0; z<nodosMenu.length; z++){
if(nodosMenu[z].checked){
comprobarResultado(nodosMenu[z].value);
}
}
}
}
function operacionElegida(){
var nodosOcultos = document.getElementsByClassName('ocultaContenedor');
for (var j=0; j<nodosOcultos.length; j++){
nodosOcultos[j].style.visibility = 'visible';
}
var nodosMenu = document.getElementsByName('tipoOperacion');
for(var i=0; i<nodosMenu.length; i++){
if(nodosMenu[i].checked){
var opcion = nodosMenu[i].value;
}
}
if(document.getElementById('canvas0')){
var nodosParaBorrar = document.querySelectorAll('#operacion div');
var nodoPadre = document.getElementById('operacion');
for(var i=0, j = nodosParaBorrar.length; i<j; i++){
nodoPadre.removeChild(nodosParaBorrar[i]);
}
}
switch (opcion){
case 'contar':
contar();
break;
case 'suma':
crearSuma(2, 9, 1, 10, false);
break;
case 'sumaN2':
crearSuma(2, 9, 1, 18, false);
break;
case 'sumaN3':
crearSuma(2, 20, 2, 20, false);
break;
case 'resta':
crearResta(10, 1, false);
break;
case 'restaN2':
crearResta(20, 1, false);
break;
}
}

function comprobarResultado(operacion){
var msgBienMal = document.getElementById('mensaje');
var resultadoPropuesto = Number(document.getElementById('propuestaResultado').value);
var operacionPropuesta = document.getElementById('operacion').textContent;
if(operacion==='suma' || operacion==='sumaN2' || operacion==='sumaN3'){
var resultado = operacionPropuesta.split('+');
resultado[2]= Number(resultado[0]) + parseInt(resultado[1]);
}else if(operacion==='resta' || operacion==='restaN2'){
var resultado = operacionPropuesta.split('-');
resultado[2] = Number(resultado[0]) - parseInt(resultado[1]);
} else if(operacion==='contar') {
var resultado = document.querySelectorAll('#operacion div').length;
}
if(resultado[2]===resultadoPropuesto || resultado===resultadoPropuesto){
msgBienMal.style.color = 'green';
msgBienMal.innerHTML = '¡Correcto!';
apariencia(false);
}else{
msgBienMal.style.color = 'red';
msgBienMal.innerHTML = '¡Incorrecto!';
}
}
function apariencia(hayError){
var btnSiguiente = document.getElementById('botonSiguiente');
var resultadoPropuesto = document.getElementById('propuestaResultado');
if(hayError){
resultadoPropuesto.disabled = false;
resultadoPropuesto.focus();
resultadoPropuesto.value = '';
document.getElementById('mensaje').innerHTML = '';
btnSiguiente.style.opacity = '0.5';
btnSiguiente.style.cursor = 'not-allowed';
btnSiguiente.disabled = true;
} else {
btnSiguiente.disabled = false;
btnSiguiente.focus();
btnSiguiente.style.opacity = '1';
btnSiguiente.style.cursor = 'pointer';
resultadoPropuesto.disabled = true;
}
}
/**
  * Función que se encarga decidir que forma tomarán los objetos que aparecerán en pantalla (mediante el uso de canvas)
  * para contar, entre cuatro opciones (circulo, estrella, triangulo, cuadrado) de forma aleatoria.
  * También dará un número aleatorio del 1 al 10, que será el número de objetos que se dibujaran por pantalla y crear los
  * nodos canvas y se llamará a la función dibujar pasándole como parámetros el id del último elemento creado, el valor de
  * la variable i en ese momento y la forma elegida a dibujar.
  */
function contar(){
apariencia(true);
var contObjs = document.getElementById('operacion');
contObjs.innerHTML = '';
var nuevoNodo ;
var numObjs = Math.floor(Math.random()*(11-1))+1;
var forma = ['circulo', 'estrella', 'triangulo', 'cuadrado'];
var formaElegida = Math.floor(Math.random()*(forma.length));
for (var i=0; i<numObjs; i++){
nuevoNodo = document.createElement('div');
nuevoNodo.className = "flotaLeft";
nuevoNodo.style.width = '80px';
nuevoNodo.style.height = '80px';
contObjs.appendChild(nuevoNodo);
nuevoNodoCanvas = document.createElement('canvas');
nuevoNodo.appendChild(nuevoNodoCanvas);
nuevoNodoCanvas.id = "canvas" + i;
dibujar(nuevoNodoCanvas.id, i, forma[formaElegida]);
}
}

/**
  * Función que recibe tres parámetros, el id del elemento donde se creará el dibujo, el valor numérico de la varible i en
  * la función de la que viene, que dependerá del número de iteración en que se encuentre y que cuando se dibuje la
  * estrella intervenga en la rotación de esta y por último, la forma elegida a dibujar.
  * Se creará el objeto canvas, se llamará a una función, dependiendo de la forma que se vaya a dibujar y posteriormente, se
  * pintará el contorno y el relleno de la figura.
  */
function dibujar(id, i, formaElegida){
var canvas = document.getElementById(id);
if (canvas.getContext) {
var ctx = canvas.getContext("2d");
if(formaElegida==='circulo') {
dibujarCirculo(ctx);
} else if(formaElegida==='estrella') {
dibujarEstrella(ctx, i);
} else if(formaElegida==='triangulo') {
dibujarTriangulo(ctx);
} else if(formaElegida==='cuadrado') {
dibujarCuadrado(ctx);
}
ctx.fillStyle = colorAleatorio();
ctx.strokeStyle = colorAleatorio();
ctx.lineWidth = 3;
ctx.stroke();
ctx.fill();
}
}

/**
  * Función que establece los datos necesarior para que posteriormente se dibuje un cuadrado. Recibe como
  * parámetro el objeto canvas.
  */
function dibujarCuadrado(ctx){
ctx.beginPath();
ctx.moveTo(10,10);
ctx.lineTo(70,10);
ctx.lineTo(70,70);
ctx.lineTo(10,70);
ctx.lineTo(10,10);
ctx.lineCap='square';
}

/**
  * Función que establece los datos necesarios para que posteriormente se dibuje un circulo. Recibe como
  * parámetro el objeto canvas.
  */
function dibujarCirculo(ctx){
var X = 40;
var Y = 40;
var r = 30;
ctx.arc(X,Y,r,0,2*Math.PI);
}

/**
  * Función que establece los datos necesarios para que posteriormente se dibuje un triangulo. Recibe como
  * parámetro el objeto canvas.
  */
function dibujarTriangulo(ctx) {
ctx.beginPath();
ctx.moveTo(40,10);
ctx.lineTo(70,70);
ctx.lineTo(10,70);
ctx.lineTo(40,10);
ctx.lineJoin='miter';
}

/**
  * Función que establece los datos necesarios para que posteriormente se dibuje una estrella de 5 puntas. Recibe como
  * parámetro el objeto canvas y un número que  estará comprendido entre 0 y 9 y nos valdrá para que la estrella rote
  * en cada vez que se dibuje.
  */
function dibujarEstrella(ctx,i){
var x = 0;
var y = 0;
var radio = 30;
var puntas = 5;
var paso = 2;
var estrella= puntas / paso;
var rad = (2*Math.PI) / estrella;
ctx.translate(40, 40);
ctx.rotate(i*Math.PI/2);
ctx.beginPath();
for( var i = 0; i < puntas; i++ ){
x = radio * Math.cos( rad*i );
y = radio * Math.sin( rad*i );
ctx.lineTo(x, y);
}
ctx.closePath();
}

/**
  * Función que se encarga de crear los datos que forman un color rgb aleatoriamente.
  */
function colorAleatorio(){
var color = [];
for (var j=0; j<3; j++){
color[j]= Math.floor(Math.random()*222);
}
return 'rgb(' + color[0] + ', ' + color[1] + ', ' + color[2] + ')';
}
</script>
</head>
<body>
<div id="encabezado"></div>
<div id="menuIzq" class="flotaLeft">
<label class="menu">
<input type="radio" name="tipoOperacion" value="contar"/>Contar
<div class="cajaTexto">Cuenta objetos</div>
</label>
<label class="menu">
<input type="radio" name="tipoOperacion" value="suma" checked="checked"/>Suma
<div class="cajaTexto">Crea operaciones con dos sumandos de una cifra, con resultado hasta 10.<br/>Ej: 4+5</div>
</label>
<label class="menu">
<input type="radio" name="tipoOperacion" value="sumaN2"/>Suma+
<div class="cajaTexto">Crea operaciones con dos sumandos de una cifra del 1 al 9 cada uno.<br/>Ej: 8+7</div>
</label>
<label class="menu">
<input type="radio" name="tipoOperacion" value="sumaN3"/>Suma++
<div class="cajaTexto">Crea operaciones con dos sumandos, resultados hasta 20, sin llevadas.<br/>Ej: 12+7</div>
</label>
<label class="menu">
<input type="radio" name="tipoOperacion" value="resta"/>Resta
<div class="cajaTexto">Crea operaciones con minuendo y sustraendo de una cifra.<br/>Ej: 9-3</div>
</label>
<label class="menu">
<input type="radio" name="tipoOperacion" value="restaN2"/>Resta+
<div class="cajaTexto">Crea operaciones en las que el minuendo tendrá un valor máximo de 20, la resta resultante será sin llevadas.<br>Ej: 18-11</div>
</label>

</div>
<div id="contenedor" class="flotaLeft">
<div id="contOperacion" class="borraFlujo ocultaContenedor">
<div id="operacion" class="flotaLeft"></div>
<div id="propResultado" class="flotaLeft"><input type="text" id="propuestaResultado"/></div>
</div>
<div id="contBotones" class="ocultaContenedor">
<button class="boton" id="botonResultado" >Comprobar</button>
<button id="botonSiguiente" class="boton" >Siguiente</button>
</div>
<div id="mensaje" class="ocultaContenedor"></div>
</div>
<div id="menuDcha" ></div>
<div id="pie" class="borraFlujo">Copyright © 2016 | <a href="mailto:cannie18@hotmail.com">pedro,,</a></div>
</body>
</html>

Viendo que mi código aumenta, quisiera que me pudierais, si sería bueno que en la parte central de la página situase un iframe para cargar más tipos de operaciones o llamar a otro documento distinto, esto último me echa para atrás por el hecho de tener que volver a cargar todo otra vez cada vez que cambie de opción, u otras alternativas en las que no halla caído.

Saludos. ;D



665
Hola Chompy129.

Ejercicio correcto.

Saludos. ;D

666
Buenas Chompy129

Poco que decir, ejercicio bien resuelto.

Saludos.

667
Hola Chompy129

Todo bien.

Saludos. ;D

668
Aprender a programar desde cero / Re:Puts y Gets en "C"
« en: 22 de Septiembre 2016, 20:47 »
Hola julioespericueta87

Lo primero comentarte que leas el siguiente enlace. Entre otras cosas podrás aprender a colocar el código correctamente en tus mensajes...
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.msg7784#msg7784

Sobre el ejercicio decirte que la forma de hacerlo es como lo hiciste o simplemente usar printf() a la hora de mostrar el resultado. Porque puts() por defecto te inserta un salto de línea.

Saludos. ;D

669
Hola mafele-malfoy.

De la manera que lo planteas necesitarías cuatro páginas distintas, la que va con el formulario, la que hace la comprobación, la página que dirá que si existe y la que dirá que no.

Será más fácil que la página que recoge los datos del formulario haga también la comprobación y muestre un resultado u otro.

Saludos. ;D

670
Hola Robinson.

Lo primero pedirte que para cuando tengas nuevas dudas sobre problemas distintos, abras un nuevo tema en el foro, así cada hilo hablara de un solo tema y no ensuciamos los hilos.

Como bien dices, te hace falta repasar sobre los bucles, porque en este ejercicio vuelves a tener el mismo problema, se ejecuta una vez el código, y aciertes o no se da por terminada la ejecución.

Te dejo unos enlaces para que le des un repaso a los bucles:
https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=809:for-javascript-bucles-saber-tamano-de-array-con-length-break-detener-bucle-ejemplos-ejercicio-cu01131e&catid=78:tutorial-basico-programador-web-javascript-desde-&Itemid=206

https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=810:while-javascript-do-while-continue-saltar-bucle-bucles-con-label-etiqueta-o-nombre-ejemplos-cu01132e&catid=78:tutorial-basico-programador-web-javascript-desde-&Itemid=206

Sobre la solución a tu ejercicio, con este otro enlace que te dejo,en el ejercicio 1 que apararece podrás solucionarlo...
https://www.aprenderaprogramar.com/foros/index.php?topic=3549.msg15418#msg15418

Cualquier duda que te quede, ya sabes, no te quedes con ella y pregunta.  ;)

Saludos. ;D

671
Hola Chompy129.

Todo bien.

Saludos. ;D

672
Hola Chompy129.

1) bien.

2) bien.

3) bien, porque la caja que contiene el texto tiene establecida la propiedad "display:table-cell" y a su vez el elemento padre de esta tiene establecida la propiedad "display:table".

4) bien, como bien especifica el tema, hay muchas formas de centrar verticalmente, y esta es una de ellas.

Saludos. ;D

673
Buenas.

Lo que yo entiendo que hay que hacer es que se deben introducir números mediante ventana  emergente hasta que se introduzca el 0.

Para empezar no necesites declarar el array de la forma que lo haces, no hay necesidad de tener un array lleno de elementos que contengan 'undefined' como valor. En este enlace puedes leer acerca de ello:

https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=799:arrays-javascript-arreglos-declaracion-inicializacion-array-vacio-length-undefined-ejemplos-cu01121e&catid=78:tutorial-basico-programador-web-javascript-desde-&Itemid=206

Para poder saber si introducimos el 0, necesitaras usar un bucle 'while' o 'do while', porque el if que usas dejará seguir ejecutandose el código hallas introducido el 0 o no.

También tienes esta serie de líneas, que no entiendo con que finalidad las introdujiste...
Código: [Seleccionar]
numero[0];
numero[1];
numero[2];
numero[3];
numero[4]=numero2;


te dejo una posible solución para que compares con tu código y si hace falta explicar algo, preguntalo ;), sin ningún reparo.

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="es">
<head>
<title>Promedio de secuencia de números</title>
<meta charset="utf-8"/>
<script type="text/javascript">
var numero = [];
var suma=0;
var promedio=0;
var i = -1;
do{
i++
numero[i] = parseInt(prompt("Ingrese un número, 0 = fin secuencia"));
suma = suma + numero[i];
}while(numero[i]!=0);
promedio=suma/(numero.length-1);
document.write('Suma: ' + suma + '<br></br>');
document.write('El promedio de los números ingresados es: ' + suma + '/' + (numero.length-1) + '= ' + promedio);
document.write('<br></br>');
document.write('El ultimo número que usted ingreso fue el: ' + numero[numero.length-1] + ' el cual no fué incluido en el calculo del promedio');
</script>
</head>
<body>
</body>
</html>

Saludos. ;D

674
Buenas Chompy129.

a, bien.

b, bien.

c, Te falta una palabra que sobrepase la anchura de la caja y que sea cortada. Según tienes el código, para que esto suceda, la palabra tendría que estar dentro de las etiquetas "span", con lo que "word-wrap:break-word;" debería de ir dentro de los estilos que afecten a "#div2" y que haga efecto a todo el contenido del segundo div.

d, Te pasa lo casi lo mismo que en el apartado c. Pero en este caso si tienes la palabra. La diferencia estaría en que word-wrap:normal; si no lo declaras tendrías el mismo resultado.

Saludos. ;D


675
Buenas hymsoft.

Perfecto.

A seguir adelante.

Saludos. ;D

676
Hola Chompy129.

Todo bien.

Recuerda que es bueno intentar no escribir código de más, para recortar un poco tu código podrías haber usado las notación abreviada de "border". Aunque repito que el ejercicio está bien como está.

Saludos. ;D

677
Aprender a programar desde cero / Re:font-size uso de larger, smaller (
« en: 19 de Septiembre 2016, 00:33 »
Buenas hymsoft.

Puedes dar por bueno el ejercicio.
En Chrome por ejemplo, desde su consola(F12), en elements al seleccionar los elementos, podemos ver el tamaño de letra.

Por decirte algo, te desapareció el "<" en la primera linea del documento.

Saludos. ;D


678
Hola hymsoft.

noto todo.

Sobre el ejercicio, a, b y d bien.

En la respuesta c habría que añadir que el elemento padre de donde se aplica "display:table-cell" tiene que contener la propiedad "display:table" para poder conseguir la alineación vertical.

Saludos. ;D

679
Hola Chompy129.

Todo bien.

Saludos. ;D

680
Hola Robinson Gomez.

Lo primero es que si estas aprendiendo JavaScript, recomendarte este curso gratuito.
https://www.aprenderaprogramar.es/index.php?option=com_content&view=category&id=78&Itemid=206
Hay aprenderás mucho sobre JavaScript y enseguida solucionarías problemas como los que planteas.

También hay mas cursos gratuitos en este enlace.

https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=57&Itemid=86

Sobre el problema que planteas hay algunas cosas a cambiar, te dejo una posible solución:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="es">
<head>
<title>aprenderaprogramar.com</title> 
<meta charset="utf-8" />
<script>

var numero =[];
var suma = 0;

for (var i = 0; i < 4; i++){
numero[i] = Number(prompt("Ingrese un numero que termine en cero"));
suma = suma + numero[i];
}

document.write('suma = ' +suma + '; promedio = ' + suma/4);
</script>
</head>
<body>
</body>
</html>

Saludos. ;D

Páginas: 1 ... 29 30 31 32 33 [34] 35 36 37 38 39 ... 65

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".