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 - Mario R. Rancel

Páginas: 1 ... 17 18 19 20 21 [22] 23 24 25 26 27 ... 32
421
Hola, creo que tienes razón en que la información viene después en el curso, en concreto en las entregas CU01033D y en la entrega CU01034D donde se explican las propiedades display y float.

De cualquier forma con lo explicado hasta la entrega CU01029D creo que se puede hacer todo lo que se pide excepto el posicionamiento en horizontal. Para solucionar el posicionamiento en horizontal se me ocurren varias cosas: una de ellas sería aplicarle a los div la propiedad display:inline-block; Esto hará que en vez de comportarse como elementos block se comporten como elementos inline, lo que hará que se coloquen en horizontal. Otra opción es usar float, aunque es preferible esperar a llegar a la explicación de float en el curso porque es un poco más complejo. Hay más posibilidades, pero no te recomiendo que te detengas mucho en esta cuestión porque a medida que avances en el curso irás siendo capaz de hacer cada vez más cosas.

Te animo a que lo intentes primero por tu cuenta y luego veas la solución propuesta en este hilo del foro: https://www.aprenderaprogramar.com/foros/index.php?topic=1110

Si tienes dudas vuelve a consultar.

Saludos

422
Hola, ahora lo veo... perdona porque no me había dado cuenta de que el código correspondía al apartado 3. Para facilitar que podamos revisar y comentar los ejercicios es conveniente que los respondas por orden, poniendo el apartado que se va a responder y luego la respuesta. [Edición: se ha corregido]

Apartado 3 del ejercicio:

He revisado el código y cumples perfectamente con lo que pedía ese apartado del ejercicio. Como detalle, si quieres respetar la sintaxis camelcase deberías escribir valorSrc, valorAlt y valorTitle en lugar de valorsrc, valoralt y valortitle.


Apartado 4 del ejercicio: tienes razón en lo que indicas. Para comprobarlo, modifica el código de la primera copia del body y pon por ejemplo <img id="imgCarrusel_cambiada". Al hacerlo, debes comprobar que te modifica la segunda imagen.

La conclusión interesante de esto es que dos elementos no deben tener nunca el mismo id dentro de una página web para evitar problemas.



Saludos,

423
Hola Arantza.

2. En el código anterior hay una declaración de variables (var numeroImagenActual =9;) que no está dentro de una función. ¿Por qué crees que se ha hecho esto así? Prueba a colocarla dentro de la función, comprueba qué ocurre y razona el por qué.

Te respondo el por qué: cuando hacemos un movimiento adelante o atrás necesitamos "recordar" qué número de camiseta es el que se está mostrando en un momento dado.

Las variables declaradas dentro de funciones no tienen "memoria". Cada vez que entras a la función, se inician, pero no se acuerdan del valor que tenían anteriormente.

En cambio las variables declaradas fuera de la función sí tienen "memoria" (al menos mientras estemos en la misma página web).

Como necesitamos recordar los números de camiseta, no podemos declarar esto dentro de una función porque no sabríamos que camiseta es la que se estaba mostrando y a cuál tenemos que cambiar.

Esto se volverá a estudiar más adelante en el curso.


3. Modifica el código anterior para que en lugar de definirse src, alt y title para cada imagen dentro de los if, se definan estos valores usando arrays declarados en cabecera de la función.

Ver siguientes mensajes


4. Duplica todo el código HTML existente dentro de la etiqueta body, de modo que se muestren dos veces el texto, dos veces la imagen y dos veces los botones.



No veo el código de respuesta


Para poder comentarte los resultados necesito ver el código que estás usando, para poder ejecutarlo yo en mi ordenador y así poder ver qué es lo que ocurre con ese código...

Saludos

424
Sobre el problema en el código:

Código: [Seleccionar]
<html> <head> <title>Curso JavaScript aprenderaprogramar.com</title> <meta charset="utf-8">
<script type="text/javascript">
function mostrarMensaje1(){
numeroA = prompt("introduzca un múmero");
numeroB = prompt("introduzca otro número por favor");
alert("el resto de la división es "+ (numeroA%numeroB));
alert("el resultado de la división es " + (numeroA/numeroB));
alert("el resultado de la suma es " + (numeroA+numeroB));
}
</script>
</head>
<body>
<div>
<p>Aquí un párrafo de texto situado antes de la imagen, dentro de un div contenedor</p>
<img onclick="mostrarMensaje1()" src="http://i.imgur.com/afC0L.jpg" alt="Notepad++" title="Notepad++, un útil editor de texto">
<p onclick ="alert('Alerta JavaScript')" style="background-color:yellow;">Aquí otro párrafo de texto. JavaScript es un lenguaje utilizado para dotar de efectos dinámicos a las páginas web.
</p>
</div>
</body>
</html>

Se debe a que numeroA = prompt("introduzca un múmero"); obtiene un tipo String para lo que el usuario introduzca por consola. Por eso el intérprete JavaScript piensa que con el operador + estás tratando de concatenar Strings. Para decirle que en vez de concatenar Strings haga la suma de números, tienes que transformar los String a números usando Number.

Saludos

425
Hola Arantza, ¿no te parece que deberías responder a este post: https://www.aprenderaprogramar.com/foros/index.php?topic=1647.0? Al menos para saber si te sirvió...

426
Aprender a programar desde cero / Re:ejercicio CU01036D CSS
« en: 23 de Noviembre 2014, 18:00 »
Hola Arantza, en primer lugar felicitarte porque el código se ve bien estructurado y has cumplido perfectamente con lo que pedía el ejercicio.

Sobre cuestiones a corregir o mejorar:

- El color de fondo del texto "Bienvenidos a aprenderaprogramar.com" (tu div1) debe ser #DEB887, según el enunciado. Te ha faltado incluir este color.

- Entre div3 y div 5 se repiten muchas propiedades. Es mejor agrupar todo lo común en una regla y dejar las especificidades para otra regla. Esto es aplicable a todas las reglas

- CLEAR:left; es preferible escribirlo en minúsculas clear:left;

- text-align:center; se repite en todas las reglas. Mejor subirlo a una regla de nivel superior, con lo que sólo hay que escribirlo una vez.


Tener en cuenta que siempre se puede plantear el código de distintas maneras. A continuación inserto un código alternativo que usa porcentajes para expresar los anchos. No está "perfectamente cuadrado", de hecho he probado en dos navegadores y no se ve igual en ambos, pero la idea simplemente es ver que se puede resolver algo de distinta manera.

Archivo prueba css11.html
Código: [Seleccionar]
<html>
<head>
<title>hoja con cajas float</title> <meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="prueba css11.css">
</head>
<body>
<div id="contenedor">
<div id="div1">Bienvenidos a aprenderaprogramar.com</div>
<div id="div2">Menú
<ul>
<li>Cursos</li>
<li>Humor</li>
<li>Divulgación</li>
</ul></div>
<div id="central">
<div id="div3">Conoce las últimas novedades del lenguaje JavaScript.</div>
<div id="div5">Artículo sobre Gimp, un programa de software libre para el diseño gráfico.</div>
</div>
<div id="div4">Espacio reservado para publicidad</div>
<div id="div6">Contacta con nosotros</div>
<div id="div7">Aviso legal</div>
</div>
</body>

Archivo prueba css11.css
Código: [Seleccionar]
/* estilos prueba css11*/
*{font-family:Arial;}
#contenedor{width: 100%; height: 200px; text-align:center;}
div div{border: solid grey 2px; padding: 2px; margin-bottom:5px; margin-left:2px; }
#div1{width:98%;  height: 30px; background-color: #DEB887;}
#div2, #div4 {width: 24%; height: 140px; float: left; }
#div3, #div5{width: 98%; height: 51px;  background-color: #ADD8E6; margin-top:6px;}
#div3{background-color: #ADD8E6; }
#div5{background-color: #90EE90;}
#div6, #div7 {width: 48.5%; height: 30px; float: left;  }
#div6{ clear:left;}
#div6{background-color: #DDA0DD; }
#central{float:left; width: 48%; height:140px; }


Saludos

427
Partimos de una serie de datos relativos a un taller de coches donde hay coches en distintas zonas (diesel, gasolina, eléctricos) y de distintas marcas (renault, toyota, fiat, seat).

CochesDieselRenault = 9
CochesDieselToyota = 2
CochesDieselFiat = 0
CochesDieselSeat = 14

CochesGasolinaRenault = 3
CochesGasolinaToyota = 7
CochesGasolinaFiat = 4
CochesGasolinaSeat = 1

CochesElectricosRenault = 2
CochesElectricosToyota = 15
CochesElectricosFiat = 9
CochesElectricosSeat= 3


¿Cómo expresar esto en forma de arrays?

Un array es un conjunto de elementos tipo variable con un nombre común. Los arrays tienen índices numéricos y cada índice tiene un significado. El significado lo decidimos nosotros como programadores.

Por ejemplo:

ciudad(1) = "México D.F."
ciudad(2) = "Santiago"

Podría indicar que la ciudad nº1 de una lista es México D.F. y la ciudad nº 2 es Santiago.

Un array puede tener más de una dimensión (índice). Por ejemplo:

ciudad (1, 3) = "México D.F."

ciudad (1, 5) = "Santiago"

Podría significar la ciudad 1 del país 3 es México D.F, y la ciudad 1 del país 5 es Santiago. Fijarse que cada ciudad tiene un número y cada país tiene un número.




Todavía podemos tener más dimensiones. Por ejemplo:

ciudad(1, 3, 2) = "México D.F."

ciudad (1, 5, 2) = "Santiago"

Podría significar: la ciudad 1 del país 3 del continente 2 es México D.F. Y la ciudad 1 del país 5 del continente 2 es Santiago.


Volvamos al problema de los coches. El contenido que nos interesa es el número de coches. Y nos interesa saber cuántos coches hay para zona (diesel, gasolina, eléctrico) y marca (renault, toyota, fiat, seat).

Como los índices de arrays sólo funcionan con números (o de momento consideramos que sólo funcionan con números) tenemos que basarnos en una idea como:

coches (número de zona, número de marca) = cantidad de coches para esa zona y marca

Pero ¿Cuál es el número de zona y el número de marca para cada zona y marca? Tendremos que decidirlo nosotros como programadores, estableciendo una correspondencia. Así, por ejemplo podríamos establecer:

Zona diesel -- > 1
Zona gasolina -- > 2
Zona electrico -- > 3

Marca renault -- > 1
Marca toyota -- > 2
Marca fiat -- > 3
Marca seat -- > 4

Aquí lo que hemos definido son los índices (zona es el primer índice y marca es el segundo índice). Ahora tenemos que escribir asignaciones que sean coherentes. Por ejemplo:

coches (1, 3) = 0 se leería de la siguiente manera: los coches en la zona 1 (que es diesel) de la marca 3 (que es fiat) son 0 coches. O dicho de otra manera, hay 0 coches diesel de marca fiat.

Si escribimos coches(1,3) = 23 estaríamos diciendo que hay 23 coches diesel y fiat, pero esto no sería una asignación correcta si el enunciado del problema nos dice que hay 0 coches en la zona diesel que sean de marca fiat.

Con los datos del problema, tendremos que construir las asignaciones correctas una a una.


428
Hola, por un lado tener en cuenta que según indicas "este problema podría resolverse (y debería poder resolverse dado el punto del curso en el que se encuentra)..."

De cara a resolver el problema en este momento del curso, se parte de la base de que los datos de entrada son correctos, por tanto no podría coincidir un isbn con un precio.

Los aspectos de validación (basados en IsNumeric() y Len() ó en condiciones más simples) exceden los objetivos de aprendizaje progresivo, es decir, es algo que se debería introducir cuando se tengan conocimientos más avanzados.

Aunque no le he ejecutado, sobre lo que comentas "sigo sin entender porque si nosotros tenemos dato(1) y despues saltamos a dato(4) con i = i + 3, el algoritmo lee dato(2) como ISBN. Si saltamos del 1 al 4, ¿Por qué lee el 2?."

Mi interpretación sería por el momento que el hecho de que hagas un salto en el índice del array no implica que hagas un salto en el dato que lees desde el fichero. Supongamos la siguiente situación:

55 -- > Dato(1)
10 -- > Dato(2)
-99 -- > Dato(3)
35 -- > Dato(4)


Frente a esta:

55 -- > Dato(1)
10 -- > Dato(4)
-99 -- > Dato(5)
35 -- > Dato(6)

Las líneas en el fichero son la 1, 2, 3, 4, 5, ... y se avanza una línea con cada instrucción readLine. Los índices del array no tienen por qué usarse en un orden determinado, y no se avanza de uno en uno obligatoriamente. Se puede establecer el índice 1 y después pasar al índice 10 dejando todos los intermedios sin establecer, por ejemplo. Por tanto los índices del array no tienen por qué corresponderse obligatoriamente con las líneas en el fichero.

Saludos,

429
A continuación algunos ejemplos de tipos básicos de variables y ejemplos de sentencias de asignación:

Nombre de variable: numeroClientesEnHotel
Tipo: numérica
Ejemplo sentencia asignación: numeroClientesEnHotel = 240


Nombre de variable: numeroPersonasEnPlaya
Tipo: numérica
Ejemplo sentencia asignación: numeroPersonasEnPlaya = 44



Nombre de variable: mayorCatedralSpain
Tipo: alfanumérica
Ejemplo sentencia asignación: mayorCatedralSpain ="Catedral de Burgos"



Nombre de variable: haRealizadoPracticasHospital
Tipo: booleana
Ejemplo sentencia asignación: haRealizadoPracticasHospital = verdadero
 

Nombre de variable: probabilidadCaigaMeteoritoM40
Tipo: numérica
Ejemplo sentencia asignación: probabilidadCaigaMeteoritoM40 = 0.05


Nombre de variable: ministroJusticiaSpain
Tipo: alfanumérica
Ejemplo sentencia asignación: ministroJusticiaSpain = "Alberto Gallardón"
 

Nombre de variable: existenSoldadosAfganosEnPakistan
Tipo: booleana
Ejemplo sentencia asignación: existenSoldadosAfganosEnPakistan = Falso



Nota: existenSoldadosAfganosEnPakistan = Falso se interpretaría como "en este momento no existen soldados afganos en pakistán. Sin embargo, más adelante podría cambiar la situación y en ese momento diríamos existenSoldadosAfganosEnPakistan = Verdadero

Nota: probabilidadCaigaMeteoritoM40 = 0.05 se interpretaría como "La probabilidad de que caiga un meteorito mientras circulamos por la carretera M40 es de 0.05 sobre 1, lo que equivale a un 5%. Pero si más adelante se estima que ha disminuido podríamos escribir probabilidadCaigaMeteoritoM40 = 0.01, lo que indicaría que dicha probabilidad ha disminuido.

430
A continuación algunos ejemplos de cómo poner nombres a variables:

‐ El número de clientes en un hotel: numeroClientesEnHotel

‐ El número de personas en una playa: numeroPersonasEnPlaya

‐ El nombre de la mayor catedral de tu país: mayorCatedralSpain

‐ Un parámetro que represente si un enfermero ha realizado las prácticas de hospital o no (sólo hay dos posibilidades, que sí las haya realizado o no las haya realizado): haRealizadoPracticasHospital

‐ La probabilidad de que caiga un meteorito mientras circulamos por la M40: probabilidadCaigaMeteoritoM40

‐ El nombre del ministro de Justicia de tu país: ministroJusticiaSpain

‐ Un parámetro que represente si existen soldados afganos en pakistan o no (sólo hay dos posibilidades, que sí existan o que no existan): existenSoldadosAfganosEnPakistan



Orientaciones: en estos ejemplos (aunque no es obligatorio) hemos usado la sintaxis camelcase, empezando por minúsculas e intercalando mayúsculas en cada nueva palabra. Además, hemos usado nombres descriptivos para tratar de indicar qué es lo que almacena la variable.

431
Puedes hacerlo manteniendo la lógica que te he indicado antes, pero además manteniendo un control picturebox que muestre el resultado de la tirada (incluso puedes ir haciéndolo cambiar para que parezca el efecto de tirada de un dado).

El control PictureBox se utiliza para mostrar y cargar archivos de imagen, también para dibujar figuras mediante los métodos gráficos , y también como control contenedor de otros controles, como los controles Frame. Puedes usar imágenes o gráficos para simular que el dado está girando. Investiga un poco sobre los PictureBox, son controles y se manejan de forma parecida a como se maneja un Label, un TextBox, etc. que también son controles de Visual Basic.

Saludos

432
Hola Jigsaw_MGO, el problema de los dados lo puedes enfocar así: la probabilidad de que salga un número de un dado es 1/6. Por ejemplo la probabilidad de que al tirar un dado salga el 2 es en % un (1/6)*100.

La probabilidad de que salga una combinación como 5-2-6 en tres tiradas es de (1/6)*(1/6)*(1/6)


Que los dados giren al hacer click en un botón lanzar dados significa que se debe elegir un número entre 1 y 6 para cada dado aleatoriamente. Para ello debes usar la generación aletatoria de números en Visual Basic, la tienes explicada en las entregas referidas a números aleatorios del Curso de programación en Visual Basic: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

El problema de las monedas es similar, pero las probabilidades de que salga cara o cruz son (1/2).

Espero que te sirva de ayuda, por lo menos para empezar a plantear el código. Saludos.

433
Hola, he creado la base de datos y la tabla ciudades en la base de datos, con cotejamiento utf8_unicode_ci. En tipo de dato para tieneMetro he puesto BOOLEAN, que automáticamente se ha transformado en tinyint(1)

He probado con el mismo código que pusiste tú inicialmente. Me ha funcionado correctamente, sin necesidad de probar ninguno de los cambios que te había comentado.

Dado que todo me ha funcionado correctamente pienso que el problema pueda estar en:

- Alguno de los parámetros de conexión a la base de datos que no lo tengas bien

- Algún detalle relativo al nombre de la tabla o el nombre de los campos que no lo tengas bien

- Algún otro detalle relacionado con el nombre de las tablas o el nombre de columnas ó nombre de usuario, base de datos, etc.

Te sugiero que revises punto por punto los datos de conexión y los nombres de columnas en la base de datos, etc. , como te digo a mí me ha funcionado sin problemas.

Saludos.

434
Es interesante plantearse lo que preguntas: un algoritmo es un proceso "determinista", se ejecuta lo que hay, no hay lugar (en una primera aproximación) a resultados fuera de la lógica. En este caso, como primera aproximación para tratar de explicar lo que ocurre, intentemos seguir la traza del algoritmo.

Partimos de los datos ejemplo del enunciado e

Al ejecutar el proceso CommandLibro_Click introducimos como ISBN a buscar el 10 (que es un dato que se corresponde con un precio). Seguidamente i vale 1. Se lee como Dato(1) la primera línea, es decir, Dato(1)=55

Se entra en un bucle do while mientras i distinto de -500

Se comprueba si el dato(1) es igual al ISBN buscado y no lo es.

Por ello i pasa a valer i+3, es decir, ahora i vale 4.

Se hace Dato(4) = siguiente línea del archivo.

Aquí ya estamos observando una posible anomalía o mejora que deberíamos introducir en el programa. Si el dato en la primera línea no es el isbn buscado, las siguientes dos líneas deberían leerse y desecharse (porque no van a corresponder a un isbn).

Sin embargo esas líneas no se desechan, sino que se hace Dato(2) = 10, como es distinto de -500 se repite el bucle y ahora se comprueba con el ISBN buscado.

Si estuviéramos con ISBNs de 10 cifras, no sería posible que coincidiera la línea del precio con el isbn buscado, pero en este caso sí coincide.

Por tanto identifica que la línea del precio corresponde con el isbn, que la línea del señalero corresponde con el precio... y de ahí llega al colapso...

Saludos

435
Aprender a programar desde cero / Re:Duda Idioma api Javas
« en: 13 de Noviembre 2014, 12:45 »
Hola sistoex, sobre la traducción del api existen algunas traducciones que se pueden consultar en internet, pero la recomendación es la misma que te ha comentado Gilding, acostúmbrate a trabajar con el api oficial java, en inglés, porque a la larga te será lo mejor.

Por otra parte, sobre la búsqueda de métodos, clases, etc. ten en cuenta que durante el curso de Java que se ofrece en la web una de las cosas que se explica es la estructura del api, y cómo buscar dentro de ella e interpretar la información que contiene. En resumen, aprender a buscar en el api Java y a utilizar el api Java.

Saludos  ;)

436
Hola, hay distintos enfoques para la cuestión que comentas.

Enfoque 1) Se trata de un error o inconsistencia del programa. Desde este punto de vista, sería conveniente introducir instrucciones que eviten que se produzca el error de forma que la situación se mantenga controlada. Voy a tratar de plantear una vía de solución: podría introducirse un contador para determinar en qué número de línea se está leyendo un dato. Sabemos que los isbn se encuentran en las líneas 1, 4, 7, 10, etc. lo que podríamos expresar de alguna forma matemáticamente, por ejemplo algo como númeroEsIsbn si (linea - 1) mod 3 = 0. Podríamos plantear entonces una condición que sólo admita un ISBN si se encuentra en la línea adecuada. Por ejemplo: Si dato(i) es igual al isbn buscado y el número de línea es el adecuado entonces... (proceder en consecuencia) SINO continuar buscando. Habría distintas formas de resolver esto, te animo a que lo intentes y logres que el programa funcione sin que salte el error. Se trataría de un buen ejercicio de lógica aplicada a la programación.

Enfoque 2) El error se produce porque se están usando unos datos de ejemplo no reales y no se está realizando validación de datos. Al tratarse de un ejemplo didáctico, el programa no incluye validación de datos de entrada, control de errores, etc. que impedirían el error. En el enunciado se indica que un ISBN es un número de 10 dígitos, por tanto si se hace una validación de datos para comprobar que el ISBN introducido tiene 10 dígitos, no podrá haber un ISBN que coincida con un precio, ya que ningún libro alcanza un precio de diez dígitos.

Enfoque 3) Al programa le falta control de errores (aspecto del que se habla más adelante en el curso), de modo que en caso de error debería detectarse, informar al usuario y no darse lugar a una detención anómala del programa.

Podrían darse más enfoques, la programación no es "una ciencia" cerrada.

De cualquier manera, es positivo detectar las inconsistencias de los programas, valorarlas y tomar decisiones adecuadas frente a ellas.

Por último, comentarte que es preferible no usar el término base de datos para los datos almacenados en el archivo, ya que base de datos en programación se refiere a un sistema específico de almacenamiento de datos, distinto de un archivo (hay un artículo divulgativo sobre bases de datos en http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=554:que-es-y-para-que-sirve-una-base-de-datos-principales-tipos-oracle-mysql-sqlserver-postgre&catid=46:lenguajes-y-entornos&Itemid=163)

Espero haber aclarado algo, o al menos aportado ideas sobre el asunto que te puedan servir.

Saludos

437
Una cuestión adicional que debes comprobar es con qué tipo de dato tienes definida la columna tieneMetro en la base de datos. Si es boolean, deberás hacer una comprobación del tipo:

$conMetro =0;
while ($fila = mysqli_fetch_array($result)){
   $numHabitantes = $numHabitantes + $fila['habitantes'];
   if ($fila['tieneMetro'] == true) { $conMetro = $conMetro+1;}
}

Si lo tienes definido como valor numérico, tienes que comprobar qué valores numéricos intervienen.

Es decir, revisa el tipo de datos y qué valores intervienen porque a lo mejor el problema viene de estar tratando de sumar elementos de una columna que no pueden ser sumados.

Para comprobar qué estás recibiendo puedes hacer:

echo 'Desde base de datos se recibe: '.$fila['tieneMetro'];

Así ves qué estás recibiendo.

Saludos


438
Aprender a programar desde cero / Re:Duda en entrega de PHP CU00842B
« en: 12 de Noviembre 2014, 07:56 »
Hola, introduce comillas simples donde indicas los nombres de las columnas:

$numHabitantes = $numHabitantes + $fila['habitantes'];
$conMetro = $conMetro + $fila['tieneMetro'];

Comprueba también que los nombres de las columnas sean los correctos.

Coméntanos si te da resultado. Saludos ;)

439
Hola, creo que tú mismo has llegado a responderte: una vez abres el archivo, con cada petición de lectura de línea se lee una nueva línea del archivo. Sólo se procede al cierre del archivo cuando has completado la lectura de todas las líneas que necesitas leer. Saludos.

440
Hola, el bucle comienza con i=1 y recorre todos los j, por tanto se lee: nota(1, 1), nota(1,2), nota(1, 3)... así hasta nota(1, 40)

Al llegar aquí el bucle interno llega a su condición de terminación (ha llegado a 40) y termina.

En ese momento el bucle externo que estaba trabajando con i=1 pasa a trabajar con i=2 y se crea un nuevo bucle interno que vuelve a empezar con j=1, de modo que se leen los datos nota(2, 1), nota(2,2), nota(2, 3) ... así hasta llegar a nota(2, 40).

Al llegar aquí el bucle interno termina nuevamente

En ese momento el bucle externo que estaba trabajando con i=2 pasa a trabajar con i=3, y vuelve a leer otras 40 notas...

Así hasta que i llega a 18 y termina el proceso. El total de datos leídos será 18*40 datos, en 720 líneas

Las notas del turno 1 corresponden a la línea 1 a la 40, las notas del turno 2 corresponden a las líneas 41 a la 80, las notas del turno 3 corresponden a las líneas de la 81 a la 120 y así hasta llegar al turno 18 y a la línea 720.

Espero que esto aclare la duda, si no es así vuelve a consultar y tratamos de aclararlo.

Saludos :)

Páginas: 1 ... 17 18 19 20 21 [22] 23 24 25 26 27 ... 32

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