Arreglos Unidimensionales, Multidimensionales

REPUBLICA BOLIVARIANA DE VENEZUELA MINITERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITEC

Views 199 Downloads 0 File size 157KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

REPUBLICA BOLIVARIANA DE VENEZUELA MINITERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITECNICA DE LA FUERZA ARMADA

ARREGLOS Estudiantes: PROF: Lic. Betsy Lavado

Víctor Cortez C.I: 25954164 Luis Peñaloza C.I: 24793782 Víctor Florez C.I: 24793335 Nikolay Martínez C.I: 24248833 Elvis Flores C.I:

Tinaquillo, mayo de 2016

Introducción

ARREGLOS

La presente investigación está referida a los arreglos de programación que estos son un tipo de datos que contiene varios elementos de un mismo tipo. Así mismo también se estudiara los tipos Unidimensionales, multidimensionales y las características de estos.

Arreglo Un arreglo es un tipo de datos que contiene varios elementos de un mismo tipo.

2

ARREGLOS

Cada elemento tiene asociado un índice, y puede ser tratado como si fuera una variable. La cantidad de elementos que tiene un arreglo es fija, y no puede cambiar durante la ejecución del programa. Características: Si un arreglo tiene la característica de que puede almacenar a N elementos del mismo tipo, deberá tener la posibilidad de permitir seleccionar a cada uno de ellos. Así se distinguen dos partes en los arreglos.  Los componentes o elementos (valores que se almacenan en cada una de las casillas)  Los índices (Permiten hacer referencia a los componentes) El número total de componentes (NTC) es igual al límite superior (LS) menos el límite inferior (LI) mas 1

 El tipo de índice puede ser cualquier tipo ordinal (carácter, entero, enumerado)  El tipo de componentes puede ser cualquiera (entero, real, cadena de caracteres, registro, entre otros)  Se utilizan () para indicar el índice de un arreglo. Entre los () se debe escribir un valor ordinal (puede ser una variable, una constante o una expresión que dé como resultado un valor ordinal) En cuanto a las dimensiones los arreglos pueden ser:  Unidimensional o vector: un solo índice  Bidimensional o matriz: dos índices  Multidimensional: más de dos índices Diferencia con registro Las dos diferencias sustanciales entre arreglos y registro son: 1) Un arreglo puede almacenar N elementos del mismo tipo, mientras que un registro puede almacenar N elementos de distintos tipos que se llaman campos.

3

ARREGLOS

2) Los componentes de un arreglo se acceden por medio de índices, mientras que en un registro los campos se acceden por medio de su nombre, el cual es único. 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. Ejemplo: sea el siguiente arreglo unidimensional donde se va a guardar 5 datos de tipo entero (integer) x : array[1..5] of integer En memoria el computador guarda 5 espacios: esto quiere decir en el arreglo X en la posición 1 guarda 34, en el arreglo X en la posición 2 guarda 22, así hasta la última posición del arreglo X posición 5 guarda 72. X [1] 34 X [2] 22 X [3] 39 X [4] 63 X[5] 72 4

ARREGLOS

Declaración de los arreglos unidimensionales: Se declara el tipo del arreglo, con la palabra reservada TYPE, luego se declara la variable de tipo arreglo, esto se hace en el bloque de declaración de variables palabra reservada VAR. Type nombre_arreglo= array[x..y]of tipo_dato; Ejemplos: salarios= array [1…x] of real; nombre_trabajador=array[1..x] of string; Nota: El tipo de dato del arreglo puede ser: integer,real, boolean, string etc. Variables tipo array Var sueldo:salarios; nombre:nombre_trabajador; Una vez declarados los arreglos procedemos a cargar información en ellos, para esto usamos estructuras repetitivas la más recomendable por su facilidad es el for, una vez cargada la información se puede hacer cualquier operación de cálculo y por último mostramos la información de los arreglos usando de igual manera la estructura repetitiva for. Carga de un arreglo, la letra i es el índice o subíndice del arreglo e indica la posición del arreglo: for i:=1 to num do begin readln(notas[i]); end; Mostrar la información de un arreglo, la letra i es el indice o subindice del arreglo e indica la posición del arreglo:: for i:=1 to num do begin writeln(notas[i]:3:1); end;

5

ARREGLOS

Se han hechos programas que suman una cantidad de números usando dos variables, una para leer cada número y otra para acumular la suma. Este enfoque tiene la desventaja de que se pierden los valores de los sumandos. El uso de arreglos permite calcular la suma de los números con una cantidad mínima de código y a la vez conservar cada valor, como muestra el siguiente programa completo: Program SumaN; Uses Crt; Const n = 5; Var nums: Array[1..n] Of Integer; s, i: Integer; Begin For i:=1 To n Do Begin Write('Escriba el número: '); ReadLn(nums[i]); s := s + nums[i]; End; WriteLn('La suma es: ', s); End. Nótese el uso de una constante para marcar el tamaño del arreglo; dicha constante, también sirve para controlar el For. De este modo, sólo se hace necesario cambiar un número para adecuar el programa a la escala apropiada

Ejercicios de arreglos unidimensionales:

6

ARREGLOS

* Dadas n cantidad de notas, calcular e imprimir el promedio de las notas y todas las notas que fueron mayor a la media calculada. PROGRAM calificaciones; USES CRT; type listacalificaciones=array[1..n] of real; VAR notas:listacalificaciones; media,suma:real; num,i:integer; BEGIN WRITELN('INTRODUZCA la cantidad de notas a procesar'); READLN(NUM); suma:=0; for i:=1 to num do begin readln(notas[i]); suma:=suma+notas[i]; end; media:=suma/num; writeln('la media es:' , media:2:2); writeln('la lista de calificaciones mayores a la media es:'); for i:=1 to num do begin if notas[i]>media then writeln(notas[i]:3:1); readln; end; END. (*Escribir numeros,

un programa en pascal que luego dividirlos entre 3 y

7

rellene un array con mostralos por pantalla

11 *)

ARREGLOS

PROGRAM numeros; USES CRT; type arreglonumeros=array[1..11]of real; VAR num:arreglonumeros; i:integer; numero:real; BEGIN for i:=1 to 11 do begin WRITELN('Introduzca el numero ' , i, ' a dividir'); readln(num[i]); numero:=num[i]/3; write('los numero resultantes de la division son:' ,numero:2:2); readln; end; end. Arreglos multidimensionales. Hasta ahora nuestros arreglos son solo de una dimensión, es decir, tenemos nuestros datos encadenados en línea recta: [ ] - [ ] - [ ] -....- [ ] pero además, es posible definir arreglos de dos dimensiones, o también conocidos como matrices:

[ ] -[ ] -[ ] -.... - [ ] | | | | [ ] -[ ] -[ ] -.... - [ ] | | | | . . . . . . . . . . . . [ ] -[ ] -[ ] -.... - [ ] A simple vista la estructura parece muy compleja pero no lo es tanto. En realidad un arreglo bidimensional es tratado en forma muy similar a un arreglo unidimensional. Veamos cómo se definen: 8

ARREGLOS

var nombre: ARRAY[ rango1, rango2 ] OF tipo; Por ejemplo: var Matriz: ARRAY[ 1..3, 1..5 ] OF integer; Es un arreglo bidimensional de 3x5. Originalmente este arreglo esta vacío: [ ] -[ ] -[ ] [ ] -[ ] -[ ] [ ] -[ ] -[ ] [ ] -[ ] -[ ] [ ] -[ ] -[ ] Y si queremos guardar algo en alguna posición solo hacemos: nombre[ columna, fila ] := valor; Por ejemplo: Matriz[ 2, 2 ]:=3; y el arreglo quedaría así: [ ] -[ ] -[ ] [ ] -[3] -[ ] [ ] -[ ] -[ ] [ ] -[ ] -[ ] [ ] -[ ] -[ ] El resto de las operaciones son las mismas que con los arreglos. También podemos utilizar contadores para movernos por las filas y las columnas de manera de leer, imprimir o copiar un arreglo bidimensional. Veamos un ejemplo: uses crt; var M: array[1..3, 1..4] of integer; c, f: integer; begi n randomize; clrscr; { Rellena la matriz con numeros al azar } for f:=1 to 4 do for c:=1 to 3 do M[c,f] := random(10); { Imprime la matriz } for f:=1 to 4 do begin for c:=1 to 3 do write( '[', M[c,f], ']' ); writeln; end; readln; end.

9

ARREGLOS

Conclusión Un arreglo, más que un tipo de dato es una estructura que nos permite agruparlos, este consiste en una "cadena" de datos del mismo tipo. Por ejemplo, podemos tener una serie de números encadenados de la siguiente forma: [1] -[7] -[13] -[1232] -[-43].... Este es un arreglo de números enteros, o sea que guarda una serie de variables de tipo INTEGER, todas agrupadas en una sola estructura.

10