JavaScript - Actividad con arrays

 
Vista:

Actividad con arrays

Publicado por Mario (3 intervenciones) el 14/03/2020 03:43:26
tengo una actividad en la que tengo que usar arrays que no puedo terminar, la actividad es la siguiente:

hasta ahora tengo esto de la actividad:

Crea un arreglo vacío y posteriormente agrega los vehículos que están en el estacionamiento e imprime una lista, en la que recorras el arreglo y muestres cada vehículo en una línea separada, informando de su puesto en dicha lista, y no todos en la misma línea, recorriendo el arreglo para ello. También informarás cuántos carros existen en este momento en el estacionamiento.

En el arreglo anterior, agrega un vehículo blanco en el puesto vacío y vuelve a actualizar la lista anterior.

Sustituye el vehículo azul por uno negro, elimina el vehículo rojo, y mueve los vehículos para no dejar su lugar vacío. Recorre nuevamente la lista con las posiciones actualizadas.

Elimina ahora el último elemento de la lista. Recorre nuevamente la lista con las posiciones actualizadas.

hasta ahora tengo este codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const array1 = [];
array1[0] = "rojo";
array1[1] = "gris";
array1[2] = "azul";
array1[3] = "amarillo";
array1[4] = "verde";
 
 
var numero = array1.length;
 
 
document.write("<br/>lugar1:", array1[0]);
document.write("<br/>lugar2:", array1[1]);
document.write("<br/>lugar3:", array1[2]);
document.write("<br/>lugar4:", array1[3]);
document.write("<br/>lugar5:", array1[4]);
document.write("<br/>numero de automoviles estacionados:", numero);
 
 
array1[5] = "blanco"
var numero =array1.length;
 
document.write("<br/><br/>lugar1:", array1[0]);
document.write("<br/>lugar2:", array1[1]);
document.write("<br/>lugar3:", array1[2]);
document.write("<br/>lugar4:", array1[3]);
document.write("<br/>lugar5:", array1[4]);
document.write("<br/>lugar6:", array1[5]);
document.write("<br/>numero de automoviles estacionados:", numero);
 
array1[array1.indexOf("azul")]="negro";
array1[array1.pop("rojo")];
 
var numero =array1.length;
document.write("<br/>numero de automoviles estacionados:", numero);

lo que no comprendo como realizar es el resto de la actividad que es lo siguiente:


El chofer del vehículo amarillo quiere ir personalmente por su auto. Elabora el código que identifique la posición del vehículo amarillo en el estacionamiento y devuelve en un mensaje dicha información. Ejemplo: El vehículo Amarillo se encuentra en la posición X.

Finalmente, queremos comprobar si el auto amarillo aún está en su puesto o si ya se retiró del estacionamiento. Para ello, elaborarás un programa siguiendo las siguientes indicaciones:

Escribe una función a la que se le pase como argumento un auto y que usando un ciclo revise la lista para ver si el carro está todavía en el estacionamiento.

Usa el comando break; para detener el ciclo si ya fue encontrado.
Define dos variables una que se llame encontrado para usarla como referencia y otra para almacenar la posición donde está el vehículo

Imprime un mensaje de resultado de la búsqueda donde informemos si encontramos el auto, en qué posición está o si no lo encontramos.

ya busque algunos tutoriales y no comprendo como hacer esta parte de la actividad, ademas me gustaria saber si hay alguna forma de hacer una lista con los elementos del array en diferentes renglones mas facilmente que ponerlos manualmente como lo hice en el codigo. para esta actividad tambien me especificaron que debo de utilizar condicionales.


agradecere cualquier tipo de ayuda muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 23
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Actividad con arrays

Publicado por Andres (10 intervenciones) el 14/03/2020 03:59:55
Si entiendo bien tu problema es que no entiendes el concepto de ciclo.

Cuando el enunciado indica que debes recorrer el arreglo quiere decir que uses una función de ciclos o bucles. Estas funciones lo que hacen es pasar una a una por todos los componentes o posiciones de tu arreglo, esto se conoce como iterar. En cada iteración, es decir, por cada elemento de tu arreglo hará la tarea que programes dentro de la función de ciclo.

Puedes recorrer tu arreglo usando una función FOR o con una función WHILE y así hacer la segunda parte de tu ejecución e imprimir los vehículos de la primera parte sin escribirlos uno a uno.

https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Sentencias/for
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Actividad con arrays

Publicado por Mario (3 intervenciones) el 15/03/2020 10:39:06
me puedes poner un ejemplo con for o while? entiendo un poco lo que explicas pero como se hace la iteracion?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 23
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Actividad con arrays

Publicado por Andrés (10 intervenciones) el 15/03/2020 13:48:21
OK,
1
2
3
for(i=0; i<array1.length; i++){
  document.write("<br/>lugar1:", array1[i]);
}

dentro del paréntesis:
- crea una define una variable i con valor 0
- itere (repita) mientras i sea menor que el número de elementos de tu arreglo (length)
- después de cada iteración suma 1 a i

Dentro del bloque { } está tu código para escribir en el documento html pero en vez de poner el indice del cada elemento de tu arreglo (0, 1, 2...), ponemos i, que ira aumentando en 1 su valor en cada iteración a partir de 0 por lo que definimos mas arriba. Así recorres tu arreglo para imprimir los autos sin tener que hacerlo uno a uno.

Ahora si pones dentro del bloque { } la instrucción break; hará que deje de iterar y continúe en la línea siguiente al } de tu ciclo for.

Con lo cual, debes poner un if dentro del bloque for, con él vas a evaluar en cada iteración si el valor de tu arreglo es igual al del auto que están buscando, si es así que lo almacene en la variable nueva para imprimirlo después y luego que ejecute un break para salir del ciclo y poder continuar.

El reto es hacer lo que te falta con esta información, si no lo logras pon aquí lo que tengas de código y te ayudaré a ajustarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Actividad con arrays

Publicado por Mario (3 intervenciones) el 15/03/2020 15:40:05
ya tengo el codigo correjido y simplificado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<script>
	 /*Crea un arreglo vacío y posteriormente agrega los vehículos que están en el estacionamiento e imprime una lista, en la que recorras el arreglo y muestres cada vehículo en una línea separada, informando de su puesto en dicha lista, y no todos en la misma línea, recorriendo el arreglo para ello. También informarás cuántos carros existen en este momento en el estacionamiento. */
const array1 = [];
		array1[0] = "rojo";
		array1[1] = "gris";
		array1[2] = "azul";
		array1[3] = "amarillo";
		array1[4] = "verde";
	for(i=0; i<array1.length; i++){
var numero = array1.length;
	document.write(`<br/>lugar ${i}: ${array1[i]}`);
	} document.write("<br/>numero de automoviles estacionados:", numero)
/*En el arreglo anterior, agrega un vehículo blanco en el puesto vacío y vuelve a actualizar la lista anterior*/
 
 
	array1[5] = "blanco"
	for(i=0; i<array1.length; i++){
	var numero =array1.length;
	document.write(`<br/>lugar ${i}: ${array1[i]}`);
	} document.write("<br/>numero de automoviles estacionados:", numero);
 
/*Sustituye el vehículo azul por uno negro, elimina el vehículo rojo, y mueve los vehículos para no dejar su lugar vacío. Recorre nuevamente la lista con las posiciones actualizadas*/
	array1[array1.indexOf("azul")]="negro";
	array1[array1.shift() ];
	for(i=0; i<array1.length; i++){
	document.write(`<br/>lugar ${i}: ${array1[i]}`);
var numero =array1.length;
	}document.write("<br/>numero de automoviles estacionados:", numero);
 
/*-------------Elimina ahora el último elemento de la lista. Recorre nuevamente la lista con las posiciones actualizadas.-----------------------------*/
 
	array1[array1.pop()];
	for(i=0; i<array1.length; i++){
	document.write(`<br/>lugar ${i}: ${array1[i]}`);
	var numero =array1.length;
	}document.write("<br/>numero de automoviles estacionados:", numero);
 
/*El chofer del vehículo amarillo quiere ir personalmente por su auto. Elabora el código que identifique la posición del vehículo amarillo en el estacionamiento y devuelve en un mensaje dicha información.*/
 
var busqueda= "amarillo"
let indice = array1.indexOf(busqueda);
	document.write("<br/>el veiculo amarillo esta en el lugar:", indice);
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
</script>




solo me falta esta parte:

Finalmente, queremos comprobar si el auto amarillo aún está en su puesto o si ya se retiró del estacionamiento. Para ello, elaborarás un programa siguiendo las siguientes indicaciones:

*Escribe una función a la que se le pase como argumento un auto y que usando un ciclo revise la lista para ver si el carro está todavía en el estacionamiento.

*Usa el comando break; para detener el ciclo si ya fue encontrado.

*Define dos variables una que se llame encontrado para usarla como referencia y otra para almacenar la posición donde está el vehículo
Imprime un mensaje de resultado de la búsqueda donde informemos si encontramos el auto, en qué posición está o si no lo encontramos.

para esta parte tengo algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
for(encontrado=0;1<array1.length; encontrado++){
 
    if(array1[encontrado] == busqueda){
 
        alert(`el veiculo ${busqueda} esta en el lugar ${encontrado}`);
        break;
    }
    if(array1[encontrado] < busqueda){
 
        alert("el veiculo no se encuentra estacionado");
        break;
    }
}

busca el veiculo que se introduce y si no se encuentra en el array indica que no se encuentra, ya lo probe y funciona, pero me gustaria si hay una forma mas simple de hacerlo si la hay, muchas gracias por la atencion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 23
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Actividad con arrays

Publicado por Andrés (10 intervenciones) el 15/03/2020 19:37:19
Pues solo falta definir la función como te lo piden, puedes definir funciones propias que puedes utilizar cuantas veces quieras en tu programa para no repetir código a lo largo del mismo.

Ej:
1
2
3
4
function buscarVehiculo(auto){
  //Tu código para buscar el vehículo usando auto para pasar a la función el auto que vas a buscar
  //Ej: if(array1[i] == auto)...
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Actividad con arrays

Publicado por Reyna (1 intervención) el 15/10/2022 01:01:09
Hola, disculpen alguien me podria explicar mejor como es que la funcion se pasa como argumento en este programa por favor es que me confundi ):
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Actividad con arrays

Publicado por Garbanzo (1 intervención) el 19/10/2022 00:45:57
No me funcionó tu código
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de juan jose
Val: 42
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Actividad con arrays

Publicado por juan jose (18 intervenciones) el 27/10/2022 07:53:46
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const coches =[];
coches.push('rojo','gris','azul','amarillo','verde'); // añade elementos
 
function listarCoches(){
    for (let i = 0; i<coches.length; ++i){
        document.write('<p> El coche de color ' + coches[i]+ ' esta en la posición '+i+'.</p>');
    }
    document.write('<p> numero de automoviles estacionados: ' +coches.length+'.</p>');
    document.write('</br>');
}
 
function encontrarCoche (coche){
    let encontrado = false;
    let pos;
    for (let i = 0; i<coches.length; ++i){
        if(coches[i]===coche){
            pos = i;
            encontrado = true;
            break;
        }
    }
    if (encontrado){
        document.write('<p>El vehiculo '+coche+' se encuentra en la posicion: '+pos+'.</p></br>');
    } else{
        document.write('<p>El vehiculo '+coche+' no se encuentra estacionado.</p></br>');
    }
}
 
listarCoches();
 
coches.push('blanco'); // añade elemento
 
listarCoches();
 
coches[coches.indexOf('azul')]='negro'; // sustituye elemento
coches.shift(); // elimina el primer elemento, que era el coche rojo
 
listarCoches();
 
coches.pop(); // elimina el ultimo elemento
 
listarCoches();
 
encontrarCoche('amarillo');
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gio
Val: 368
Bronce
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Actividad con arrays

Publicado por Gio (79 intervenciones) el 20/10/2022 17:25:44
Hola Mario,


La forma mas sencilla de crear un Array (arreglo) es:
1
var array1 = [ "rojo", "gris", "azul", "amarillo", "verde" ];


He notado que intentas cambiar el valor almacenado en array1[5], no se va a poder cambiar si el Array fue declarado como constante (las constantes mantienen su valor y estos no se pueden cambiar luego), el Array debe ser declarado como variable (los valores de las variables, pueden variar como su nombre lo indica).

Ejemplo de contante:
1
const array1 = [ "rojo", "gris", "azul", "amarillo", "verde" ];

Ejemplo de variable:
1
var array1 = [ "rojo", "gris", "azul", "amarillo", "verde" ];


El código quedaría así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
var array1 = [ "rojo", "gris", "azul", "amarillo", "verde" ];
 
 
function lugares() {
    var numero = array1.length;
 
    for (let i = 0; i < numero; i++) {
        document.write("Lugar ", i, ": ", array1[i], "<br/>");
    }
 
    document.write("Numero de automoviles estacionados: ", numero, "<br/><br/>");
}
 
 
function encontrar(auto) {
    var encontrado = false;
    var posicion;
 
    for (let i = 0; i < array1.length; i++) {
        if (array1[i] == auto) {
            encontrado = true;
            posicion = i;
            break;
        }
    }
 
    if (encontrado) {
        document.write("El auto ", auto," fue encontrado en el estacionamiento ", posicion, "<br/>");
    } else {
        document.write("El auto ", auto, " no fue encontrado<br/>");
    }
}
 
 
lugares();
 
 
array1[5] = "blanco"
 
 
lugares();
 
 
array1[array1.indexOf("azul")] = "negro";
array1[array1.pop("rojo")];
 
 
var numero = array1.length;
document.write("Numero de automoviles estacionados: ", numero, "<br/><br/>");
 
 
var posicion = array1.indexOf("amarillo");
document.write("El vehiculo amarillo se encuentra en la posicion: ", posicion, "<br/><br/>");
 
 
encontrar("amarillo");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar