Ejercicios para repasar y estudiar

Vamos a hacer una serie de ejercicios sencillos con los que repasaremos lo aprendido en este bloque de análisis. Primero recordemos lo que debemos saber:

  1. Insertar sin duplicados
  2. Contar elementos dentro de un vector
  3. Hacer un menú con opciones.
  4. Trabajar de forma fila/columnas con una matriz de 2 dimensiones
  5. Borrar de un vector o una matriz
  6. Dibujar DFD de Nivel o y Nivel1

Ejercicios

  1. Rellena sin duplicados un vector alfanumérico de 15 elementos.
  2. Rellena sin duplicados un vector numérico de 15 elementos.
  3. Haz un menú que nos permita elegir entre los dos ejercicios anteriores
  4. Modifica el ejercicio 2 para que se rellene casilla a casilla
  5. Amplia el ejercicio 4 para que en cualquier momento podamos contar las casillas llenas.
  6. Amplia el ejercicio 4 para que en cualquier momento podamos borrar una casilla.
  7. Amplia el ejercicio 2 para que se ordenen los elementos del vector tras su inserción.
  8. Amplia el ejercicio 6 para que tras el borrado se ordene de nuevo el vector.
  9. Haz un ejercicio que almacene alumnos con nombre y apellidos
  10. Modifica el ejercicio anterior para que podamos borrar alumnos.

9 Responses to “ Ejercicios para repasar y estudiar ”

  1. Raquel dice:

    Hola Juan Luis, el ejercicio 3 me tiene atascada:
    Proceso hacer_menu
    Dimension alfanumerico[15];
    Dimension numerico[15];
    Para i<-1 Hasta 15 Con Paso 1 Hacer
    alfanumerico[i]<-"vacio";
    numerico[i]<-0;
    FinPara
    i<-1;
    j<-1;
    valor<-0;
    Mientras valor<3 Hacer
    Escribir "selecciona una opcion:";
    Escribir "1. Rellenar vector alfanumerico";
    Escribir "2. Rellenar vector numerico";
    Escribir "3. Salir";
    Leer valor;
    Segun valor Hacer
    1:
    Escribir "Introduce letras";
    Para i<-1 Hasta 15 Con Paso 1 Hacer
    leer letras;
    duplicado<-0; //inicializamos duplicado dentro del para pq si no se quedaría activado//
    Para j<-1 Hasta 15 Con Paso 1 Hacer
    si vector[j]=letras Entonces
    duplicado<-1;
    FinSi
    FinPara
    Si duplicado=0 Entonces
    vector[i]<-letras;
    Sino
    Escribir "esa letra ya ha sido insertada";
    FinSi
    FinPara
    2:
    Escribir "introduce un numero:"
    Para i<-1 Hasta 15 Con Paso 1 Hacer
    Leer numero;
    duplicado<-0;
    Para j<-1 Hasta 15 Con Paso 1 Hacer
    Si vector[j]=numero Entonces
    duplicado<-1
    FinSi
    FinPara
    Si duplicado=0 Entonces
    vector[i]<-numero;
    Sino
    Escribir "ese numero ya ha sido insertado";
    FinSi
    FinPara
    3:
    escribir "hasta otra";
    FinSegun
    FinMientras
    FinProceso

    el error que me da es como siempre subindices fuera de rango en:
    Para j<-1 Hasta 15 Con Paso 1 Hacer
    Si vector[j]=numero Entonces
    duplicado<-1
    FinSi
    FinPara
    Tú ves porqué?

    Y otra cosa, no entiendo bien qué tenemos que hacer en el ejercicio 4. ¿qué quiere decir: "para que ser rellene casilla a casilla"?

    • admin dice:

      El error no lo veo, ya saber pon un escribir por delante y otro por detrás para ver el error.

      La otra pregunta:

      En este ejercicio, el tres, rellenas todo el vector del tiron, en el siguiente debemos tener un menú (como los quesos o los jamones) con una opción insertar elemento que cada vez que se seleccione pida un nuevo elemento para el vector.

  2. Alberto dice:

    hola,cuando pides en un ejercicio que se pueda borrar una casilla lo hemos hecho dejando el vacío en medio y también juntando luego las datos y dejando todos los vacíos al final. De cara al examen de mañana cuando pidas que borremos algo si dejamos el vacío en medio ¿estaría bien? es que cuanto mas estoy haciendo los ejercicios peor me salen creo que me estoy aprendiendo de memoria la estructura y cuando pides algo mas simple me complico la vida sin necesidad.

  3. bcn3098 dice:

    juan luis no soy capaz de sacar el ejercicio de borrar llevo todala tarde con eso.No doy pie con bola ¿me podrias explicar como hacerlo?gracias.

    • admin dice:

      Supon este vector ya inicializado a cero. (<-0)

      Dimension vector[10];

      Para borrar tenemos que hacer tres cosas:
      1.- Pedir el elemento a borrar
      2. Segunda recorrer toda la estructura buscándolo y si lo encuentro paso al punto 3
      3.-Borrarlo, es decir ponerle valor de inicialización

      Sería

      Escribir "Diga el elemento a borrar"; //Pido elemento a borrar y lo leo en elemento
      Leer elemento;
      //recorro todo el vector en busca del elemento y si lo encuentro le meto un cero, porque su valor de inicialización
      Para i<-1 hasta 10 hacer
      si vector [i]=elemento entonces
      vector[i]<-0;
      finsi
      finpara

      • bcn3098 dice:

        gracias por contestarme,esto lo entiendo perfectamente pero sabes què pasa? que al haber vector de letras y número cuando dimensiono el auxiliar me pierdo. He tenido que dimensionar dos auxiliares uno inicializado a “vacio” y otro a 0 y meterlo dentro del apartado de menú “crear lista”sino no era capaz.
        No sé si está bien pero ha sido la única manera que he tenido de hacerlo.
        ¿tú como lo ves?.

Deja un comentario

Disculpa, debes iniciar sesión para escribir un comentario.