Documente Academic
Documente Profesional
Documente Cultură
AO DE LA DIVERSIFICACIN
PRODUCTIVA Y DEL FORTALECIMIENTO
DE LA EDUCACIN
DATOS
o
Integrantes:
Navarro Atoche Deyanira
Pardo Mena Abigail
Roa Gallo Tatiana
Merino Viera Brayan
Tema:
Arrays o vectores
INGENIERA CIVIL
ARRAYS O VECTOR
Definicin:
En programacin se denomina matriz, vector o formacin (en ingls arrays) a una zona de
almacenamiento continuo que contiene una serie de elementos del mismo tipo, los elementos
de la matriz.
Desde el punto de vista lgico una matriz se puede ver como un conjunto de elementos
ordenados en fila (o filas y columnas si tuviera dos dimensiones).
En principio, se puede considerar que todas las matrices son de una dimensin, la dimensin
principal, pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede
ser recursivo), lo que nos permite hablar de la existencia de matrices multidimensionales,
aunque las ms fciles de imaginar son los de una, dos y tres dimensiones.
ndices de un array
Los ndices son nmeros que se utilizan para identificar a cada uno de los componentes de un
array.
Todo vector se compone de un determinado nmero de elementos. Cada elemento es
referenciado por la posicin que ocupa dentro del vector. Dichas posiciones son llamadas
ndice y siempre son correlativos. Existen tres formas de indexar los elementos de una matriz:
Indexacin base-cero (0): en este modo el primer elemento del vector ser la
componente cero ('0') del mismo, es decir, tendr el ndice '0'. En consecuencia, si el
vector tiene 'n' componentes la ltima tendr como ndice el valor 'n-1'. El lenguaje C es
un ejemplo tpico que utiliza este modo de indexacin.
Indexacin base-uno (1): en esta forma de indexacin, el primer elemento de la matriz
tiene el ndice '1' y el ltimo tiene el ndice 'n' (para una matriz de 'n' componentes).
Indexacin base-n (n): este es un modo verstil de indexacin en la que el ndice del
primer elemento puede ser elegido libremente, en algunos lenguajes de programacin
se permite que los ndices puedan ser negativos e incluso de cualquier
tipo escalar (tambin cadenas de caracteres).
INGENIERA CIVIL
Se clasifica en:
tipo_de_dato[] nombre_del_array;
int[] numeros;
Numeros=new int[4];
int[] numeros =new int[4];
INGENIERA CIVIL
ARRAYS
MULTIDIMENSIONALES
Una matriz bidimensional puede tener varias filas, y en cada fila no tiene por qu haber el mismo
nmero de elementos o columnas. Por ejemplo:
o
Para mostrar los elementos de este array bidimensional escribimos el siguiente cdigo
for (int i=0; i < matriz.length; i++) {
for (int j=0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j]+"\t");
}
System.out.println("");
}
INGENIERA CIVIL
Lenguaje C
real x[8]
posiciones
x[0
]
x[1
]
x[2]
elementos
4.2
12.
0
3.4
5
float x[8];
x[3]
4.3
2
x[4]
0.3
1
x[5
]
x[6
]
2.65
x[7
]
13.0
51.9
Este arreglo contiene ocho elementos almacenados entre la posicin (0-7). Para referirnos a un elemento en
particular dentro del arreglo, especificamos el nombre del arreglo y el nmero de posicin donde se encuentra
ubicado. La posicin del arreglo va entre parntesis cuadrados o corchetes ([ ]) para el lenguaje C; segn el
lenguaje de programacin ser la sintaxis requerida.
El primer elemento en un arreglo es almacenado en la posicin cero para el lenguaje C y en la posicin uno
para el lenguaje Pascal. En este caso trabajaremos el pseudocdigo en C. Por lo tanto el primer elemento de un
arreglo x se encuentra en la posicin cero y se conoce como x [0], el segundo como x [1], el sptimo como x [6]
y en general, el elemento de orden i del arreglo x ser x [i-1], ya que se encuentra en la posicin i1, donde i es
INGENIERA CIVIL
Lenguaje C
Donde la variable a es de tipo real, ya que los elementos del arreglo x son de ese tipo.
Para dividir el valor del sptimo elemento del arreglo x entre 2 y asignar el resultado a la variable c
escribiramos:
Un subndice debe ser un entero o una expresin cuyo resultado sea entero, por ejemplo a[2.5] no es vlido. Si
un programa utiliza una expresin como subndice, entonces la expresin se evala para determinar el
subndice.
Si i 5 2 y j 5 4, entonces el enunciado:
Pseudocdigo
Lenguaje C
c [ i 1 j ] _10
c [i 1 j] 5 10;
Almacena el valor de 10 en el arreglo c en la posicin [6]. Ntese que el nombre de arreglo con subndice i se
utiliza al lado izquierdo de la asignacin, como si c[i 1 j] fuera una variable.
Examinaremos el arreglo x. Sus ocho elementos se conocen como x[0], x[1], x[2], ..., x[7]. El valor de x[0] es
4.2, el valor de x[2] es 3.45, y as sucesivamente hasta el valor de x[7], que es 13.0.
Se pueden asignar valores a los elementos del arreglo antes de utilizarlos tal como se asignan valores a
variables. Una manera es inicializando el arreglo y la otra leyendo cada elemento del mismo. Comenzaremos
con la primera posibilidad.
INGENIERA CIVIL
La
asignacin
valores
declarar
se
de
realiza
el
los
al
tipo_dato identif
[tam_arreglo]_{valores}
entero lista [5] _ { 10,17,8,4,9 }
Lenguaje C
tipo_dato
identif[tam_arreglo]5{valores};
int lista [5] 5 {10,17,8,4,9};
arreglo
mediante el operador de asignacin (_/5) y los valores contenidos dentro de las llaves { } a cada
posicin del arreglo; los valores dentro de las llaves se deben separar por una coma (,) y no es necesario
asignarle un valor a cada posicin ya que el compilador del lenguaje C se encargar de hacerlo segn el
lugar donde se haya declarado el arreglo, comenzando por la posicin cero. Este modo de asignacin no
es vlido si lo hacemos despus de declarar el arreglo. Si el nmero de valores es menor al tamao del
arreglo a las posiciones faltantes les asigna cero.
Pseudocdigo
tipo_dato identif [tam_arreglo
entero lista [10]
Lenguaje C
INGENIERA CIVIL
Pseudocdigo
principal ()
Lenguaje C
#include <stdio.h>
inicio
entero lista[10], i
#include <conio.h>
main()
inicio
int lista[10], i;
fin
{
printf("Dame el elemento");
scanf("%d",&lista[i]);
}
printf("Elementos de la lista\n");
for (i=0; i<=9;i++ )
printf("%d\n",lista[i] );
getch();
return 0;
}
El programa utiliza la estructura de repeticin desde (for) y leer (scanf) para capturar los elementos del arreglo
llamado lista, e imprime el arreglo mediante otro desde (for) y el imprimir (printf), donde el desde recorre todas
las posiciones del arreglo. Es importante sealar que se debe respetar el tipo de dato del arreglo y adems
especificar la posicin del arreglo en la que se quiere guardar el valor.
La manera de declarar el tamao del arreglo vara en cada compilador. Por ejemplo en Turbo C de Borland, el
tamao debe ser constante como en el ejemplo presentado, donde el mximo tamao posible es de 30 ele mentos y el que realmente ocuparemos es n.
El programa podra quedar abierto si manejamos un tamao de arreglo n:
Pseudocdigo
constante MAX30
INGENIERA CIVIL
principal ()
inicio
entero lista[MAX], i,n
imprimir "Dame el tamao del
arreglo:"
leer n
desde (i0, i<n ,
+
inicio
imprimir "Dame el elemento ",i
leer lista[i]
fin
imprimir("Elementos de la
lista")
desde (i0, i<n , ii+ 1)
imprimir lista[i]
fin
#include <stdio.h>
#include <conio.h>
main ()
{
int lista[MAX], i,n;
printf ("Dame el tamao del arreglo:
scanf ("%d",&n);
for (i=0; i<n; i++)
{
printf("Dame el elemento %d ",i
scanf("%d",&lista[i]);
}
printf("Elementos de la lista\n");
");
);
PSEUDOCDIGO
principal ()
inicio
entero x[10]
{6,7,9,2,4,7,4,3,2,9}
entero i, s0
desde (i 0, i < 10,
main()
ss+x[i]
imprimir " La suma es"" s
fin
LENGUAJE C
#include <stdio.h>
#include <conio.h>
{
int x[10]={6,7,9,2,4,7,4,3,2,9};
int i,s=0;
for (i = 0;i<10;i+ + )
s + =x[i];
printf("La suma es %d",s);
getch(); return 0;
}
INGENIERA CIVIL
Problema
2.
Almacene en un vector, n elementos (mximo 30) e inserte un elemento ni en la posicin pos, recorriendo los
siguientes elementos una posicin a la derecha.
Pseudocdigo
constante pprintf
constante sscanf
constante MAX 30
principal()
inicio
entero lista[MAX],i,ni,n,pos
imprimir "Dame el Tamao del
Arreglo "
leer n
imprimir "Dame el No. a Insertar "
leer ni
imprimir "Dame la Posicin "
leer pos
desde (i0,i<n,i<i +
inicio
imprimir "Dame el valor cuya
posicin es ",i
leer lista[i]
fin
for (in,i>pos,i<i1)
lista[i]listap-1]
lista[pos]ni
desde (i0,i< = n,ii +1)
imprimir lista[i]
fin
Lenguaje C
#include <stdio.h>
#include <conio.h>
#define p printf
#define s scanf
#define MAX 3 0
main()
{
int lista[MAX],i,ni,n,pos;
p("Dame el Tamao del Arreglo ");
s("%i",&n);
p ("Dame el No. a Insertar ");
s("%i",&ni);
p("Dame la Posicin ");
s("%i",&pos);
for (i=0;i<n;i++ )
{
p ("Dame el valor cuya posicin es %d
scanf("%d",&lista[i]);
}
for (i = n;i>pos;i--)
lista[i]=lista[i 1];
lista[pos] =ni;
for (i=0;i<=n;i++)
p ("%d ",lista[i]);
getch();
}
INGENIERA CIVIL
Problema 3
Almacene en un arreglo a, un conjunto n de elementos de tipo entero (max 15), almacene en el arreglo b los
elementos del arreglo a de forma invertida.
Pseudocdigo
principal () inicio
entero a[15],b[15],n, i,j imprimir
"Total de nmeros" leer n
desde ( i0, i<n,
+ leer a[ i ]
desde (i0, jn 1 ; i<n , j> =
0 ; i i + 1, j j 1)
b[ i ] a[ j ] desde ( i0, i<n,
+
imprimir a[ i ] desde ( i0, i<n,
+
imprimir b[ i ]
fin
Lenguaje C
#include <stdio.h>
#include <conio.h> main()
{
int a[15],b[15],n,
printf ( "Total de nmeros");
scanf ("%d",&n );
for (i = 0; i<n; i + + )
scanf ("%d",&a[i]); for (i = 0, j=n1; i<n, j > =
0; i + + , j--)
b[i] =a[j];
for (i=0; i<n ; i++)
printf ("%d \n",a[ i ] );
for (i=0; i<n ; i++)
printf ("%d \n",b[ i ] );
getch(); return 0
}
INGENIERA CIVIL
Problema 4
Inicializar
un
con los primeros
impares, luego
media. Obtenga
programa
Lenguaje C
arreglo
vector
15
enteros
determine
su
el cdigo del