miércoles, 26 de octubre de 2016

6.Arreglos

ARREGLOS UNIDIMENSIONALES
Un arreglo unidimensional es un tipo de datos estructurado que está formado por una colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. Los datos que se guarden en los arreglos todos deben ser del mismo tipo.


El tipo de acceso a los arreglos unidimensionales es el acceso directo, es decir, podemos acceder a cualquier elemento del arreglo sin tener que consultar a elementos anteriores o posteriores, esto mediante el uso de un índice para cada elemento del arreglo que nos da su posición relativa.
Para implementar arreglos unidimensionales se debe reservar espacio en memoria.

Los arreglos nos permiten hacer un conjunto de operaciones para manipular los datos guardados en ellos, estas operaciones son: ordenar, buscar, insertar, eliminar, modificar entre otras.


REPRESENTACIÓN EN MEMORIA: Los arreglos guardan en memoria la cantidad de espacios que se le indican en la declaración.



Ejercicios:

1) Crea un array o arreglo unidimensional con un tamaño de 5, asignale los valores numéricos manualmente (los que tu quieras) y muestralos por pantalla.

Pseudocodigo:
Proceso Ejercicio1
 
 //Declaramos variables
 Definir num como entero;
 Definir TAMANIO como entero;
 TAMANIO<-5
 //Definimos el array
 Dimension num[TAMANIO]
 
 //Asignamos valores 
 num[1]<-1
 num[2]<-2
 num[3]<-3 
 num[4]<-4
 num[5]<-5  
 
 //Recorremos el array y mostramos su contenido
 Para i<-1 Hasta TAMANIO Con Paso 1 Hacer 
  escribir num[i] 
 Fin Para  
 
FinProceso
Diagrama de Flujo:

2) Modifica el ejercicio anterior para que insertes los valores numéricos con leer mediante un bucle y los muestre por pantalla.
Pseudocodigo:
Proceso Ejercicio2 
 
 //Declaramos variables 
 Definir num como entero 
 
 Definir TAMANIO como entero; 
 TAMANIO<-5; 
 
 //Definimos el array 
 Dimension num[TAMANIO]
 
 //Introducimos valores
 Para i<-1 Hasta TAMANIO Con Paso 1 Hacer
  Escribir "Introduce un valor para la posición ",i  
  leer num[i]
 Fin Para 
 
 //Recorremos el array y mostramos su contenido
 Para i<-1 Hasta TAMANIO Con Paso 1 Hacer
  escribir num[i]
 FinPara
 
FinProceso
Diagrama de Flujo:


3) Crea un array o arreglo unidimensional con un tamaño de 10, inserta los valores numéricos que desees de la manera que quieras y muestra por pantalla la media de valores del array.
Pseudocodigo:
Proceso Ejercicio3 
 
 //Declaramos variables 
 Definir num como entero
 Definir TAMANIO como entero
 Definir suma Como Entero
 TAMANIO<-10
 
 //Definimos el array
 Dimension num[TAMANIO]
 
 //Introducimos valores
 Para i<-1 Hasta TAMANIO Con Paso 1 Hacer
  Escribir "Introduce un valor para la posición ",i  
  leer num[i]
 Fin Para 
 
 //Recorremos el array, sumando su contenido 
 Para i<-1 Hasta TAMANIO Con Paso 1 Hacer
  suma<-suma+num[i]
 FinPara
 
FinProceso
Diagrama de Flujo:

4) Crea un array o arreglo unidimensional donde tu le indiques el tamaño por teclado y crear una función que rellene el array o arreglo con los múltiplos de un numero pedido por teclado. Por ejemplo, si defino un array de tamaño 5 y eligo un 3 en la función, el array contendrá 3, 6, 9, 12, 15. Muestralos por pantalla usando otra función distinta.
Pseudocodigo:
SubProceso asignaValores ( num, TAMANIO, num_multiplo )
 
 Para i<-1 Hasta TAMANIO Con Paso 1 Hacer
  num[i]<-num_multiplo*i
 Fin Para
Fin SubProceso

SubProceso  mostrarArray ( num, TAMANIO ) 
 Para i<-1 Hasta TAMANIO Con Paso 1 Hacer
  escribir num[i]
 Fin Para
Fin SubProceso

Proceso Ejercicio4
 
 //La creacion de subprocesos es totalmente opcional
 
 //Declaramos variables
 Definir num como entero
 Definir TAMANIO como entero
 Definir suma Como Entero
 definir num_multiplo como entero
 
 //Definimos el tamaño del array por teclado 
 escribir "Introduce el tamaño del array"
 leer TAMANIO
 
 //Definimos el array
 Dimension num[TAMANIO]
 
 //Definimos el numero con el que rellenaremos el array con sus multiplos
 escribir "Introduce el numero con el que rellenar" 
 leer num_multiplo
 
 //invocamos a las funciones
 asignaValores(num, TAMANIO, num_multiplo)
 mostrarArray(num, TAMANIO)
 
FinProceso
Diagrama de Flujo:

5) Crea dos arrays o arreglos unidimensionales que tengan el mismo tamaño (lo pedirá por teclado), en uno de ellos almacenaras nombres de personas como cadenas, en el otro array o arreglo ira almacenando la longitud de los nombres, para ello puedes usar la función LONGITUD(cadena) que viene en PseInt. Muestra por pantalla el nombre y la longitud que tiene. Puedes usar funciones si lo deseas.
Pseudocodigo:
SubProceso  mostrarArrays ( longitud_nombres, nombres, TAMANIO )
 
 Para i<-1 Hasta TAMANIO Con Paso 1 Hacer
  escribir "La longitud del nombre ",nombres[i]," es de ",longitud_nombres[i]
 Fin Para
 
Fin SubProceso

Proceso Ejercicio5 
 
 //Declaramos variables 
 Definir longitud_nombres como entero
 Definir nombres como cadena
 Definir TAMANIO como entero
 
 //Definimos el tamaño del array por teclado 
 escribir "Introduce el tamaño de los arrays"
 leer TAMANIO 
 
 //Definimos el array 
 Dimension longitud_nombres[TAMANIO]
 Dimension nombres[TAMANIO]
 
 //Introducimos los nombres y la longitud de los mismos
 Para i<-1 Hasta TAMANIO Con Paso 1 Hacer
  escribir "Introduce un nombre para la posicion ",i  
  leer nombres[i]
  longitud_nombres[i]<-Longitud(nombres[i])
 Fin Para 
 
 //Invocamos la función
 mostrarArrays(longitud_nombres, nombres, TAMANIO)
 
FinProceso
Diagrama de Flujo:

Arreglos bidimensionales:
Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo bidimensional está simultáneamente en una fila y en una columna.
En matemáticas, a los arreglos bidimensionales se les llama matrices, y son muy utilizados en problemas de Ingeniería.
En un arreglo bidimensional, cada elemento tiene una posición que se identifica mediante dos índices: el de su fila y el de su columna.
Ejemplos:
1) Crear una matriz de n filas y n columnas, llenar la matriz con los números que el usuario desee:
Pseudocodigo:
Proceso arreglos
Definir j,i,num,f,c,dat Como Entero;
Escribir 'digite el numero de filas';
Leer f;
Escribir ' digite el numero de columnas';
Leer c;
Dimension mat[4,8];
Para i<-1 Hasta f Hacer
Para j<-1 Hasta c Hacer
Escribir ' digite dato para la fila';
Leer dato;
mat[i,j]<-num;
FinPara
FinPara
Para i<-1 Hasta f Hacer
Para j<-1 Hasta c Hacer
Escribir 'los datos que hay en la matriz son',mat[i,j];
FinPara
FinPara
FinProceso
Diagrama de Flujo:

2) Llenar una matriz de 3*3 completamente de numeros aleatorios  entre 0 y 9
Pseudocodigo:
Proceso arreglo Definir i,j,matriz Como Entero; Para j<-1 Hasta 3 Con Paso 3 Hacer Para j<-1 Hasta 3 Hacer matriz[i,j]<- azar (10); FinPara FinPara Para i<-1 Hasta 3 Hacer Escribir matriz,(i,j),' ',matriz[1,2],' ',matriz[1,3]; FinPara FinProceso
Diagrama de Flujo:


3) Crear una matriz n x n y llenarla con los números que el usuario desee. Sume
todos los números que componga la columna 1.
Pseudocodigo:
Proceso ARREGLOS
 Definir x,j,fila,colum,matriz Como Entero;
 acum <- 0;
 Escribir 'inserte el numero de filas';
 Leer filas;
 Escribir 'digite el numero de columna';
 Leer colum;
 Dimension matriz[fila,colum];
 Para i<-1 Hasta fila Hacer
  Para x<-1 Hasta colum Hacer
   Escribir 'digite dato para la fila',i;
   Escribir 'digite la  columna',j;
   Leer n;
  FinPara
 FinPara
 Para i<-1 Hasta fila Hacer
  Para x<-0 Hasta colum Hacer
   Escribir matriz,(i,x);
  FinPara
 FinPara
 Escribir 'todos los elementos de l columna 1 suman',acum;
FinProceso

Diagrama de Flujo:


 

No hay comentarios:

Publicar un comentario