Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Vectores y matrices (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

9
Vectores – Ejemplo1
Program Ejemplo1; {Version 1}
type
sumandos = array[1..10] of integer;
var
suma, i : integer;
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
read(vec_sumandos[i] )
for i := 1 to 10 do
suma:= suma +vec_sumandos[i];
writeln (´La suma de los números es´, suma);
end.

Declaración de la variable arreglo
Declaración del tipo del arreglo
Lectura de los elementos del arreglo
Suma de los elementos

Monografias.com

10
Vectores – Ejemplo1
Program Ejemplo1; {Version 2}
type
sumandos = array[1..10] of integer;
var
suma, i : integer;
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
begin
read(vec_sumandos[i] )
suma:= suma +vec_sumandos[i];
end;
writeln (´La suma de los números es´, suma);
end.

Monografias.com

11
Vectores – Declaración
Como ya dijimos anteriormente, los arreglos son estructuras de datos, por lo tanto las mismas deben ser declaradas. Esta operación se realiza en la seccción “Type” de un programa en Pascal. (como puede verse en el ejemplo1)
formato
type
nombre_del_tipo = array[tipo_subindice * ] of tipo;

* debe ser de tipo ordinal: boolean, char, enumerado o subrango

Monografias.com

12
Vectores – Declaración
Luego de la declaración del tipo, se declara la variable.
formato
var
nombre_variable: nombre_del_tipo;

Monografias.com

13
Vectores – Declaración
Ejemplos de declaraciones:
Ej1:
type
Valores = array[ -10..10 ] of real;
var
precios: valores;

Monografias.com

14
Vectores – Declaración
Ejemplos de declaraciones:
Ej2:
const
Max= 500;
type
T_Texto = array[ 1..Max ] of char;
var
Texto: T_Texto;

Monografias.com

15
Vectores – Manejo de índices
Asignación de valores
Texto[3] := ´a´;
Precios[0] := 23.50;

Como ya dijimos, los índices de un arreglo pueden ser: entero, lógico, caracter, enumerado o subrango.

Monografias.com

16
Vectores – Manejo de índices
Ej3:
const
longitud = 40;
altura = 30;
type
horizontal = 1..Longitud;
T_Línea = Array [ horizontal ] of char;
var
Linea: T_Linea

Monografias.com

17
Vectores – Manejo de índices
Ej4:
type
DiasSemana = (Lunes, Martes, Miercoles,Jueves, Viernes, Sabado, Domingo );
T_Dias = array [DiasSemana] of integer;
var
Dias: T_Dias;

Monografias.com

18
Vectores – Operaciones
Con la siguiente declaración:
type
T_Notas = array [1..30] of integer;
var
Notas: T_Notas;
Lectura de un vector
for i:= 1 to 30 do
read(Notas[i] )

Monografias.com

19
Vectores – Operaciones
Escritura de un vector
for i:= 1 to 30 do
writeln(Notas[i] )

Monografias.com

20
Vectores – Operaciones
Con la siguiente declaración:
type
T_Notas = array [1..30] of integer;
var
Notas, Aux_Notas: T_Notas;
Copia de vectores
for i:= 1 to 30 do
Aux_Notas[i]:= Notas[i];

o bien: Aux_Notas:=Notas;

Monografias.com

21
Vectores – Ejemplos resueltos
Ej2- Dados 50 números enteros, obtener el promedio de ellos. Mostrar por pantalla dicho promedio y los números ingresados que sean mayores que el mismo.
Ej3 – Dados n números, obtener e imprimir la suma de todos ellos. A continuación mostrar por pantalla todos los sumandos.

Monografias.com

22
Vectores – Ejemplos resueltos
Program Ej2;
const
max = 50;
type
t_numeros = array[1.. max] of integer;
var
suma, i : integer;
promedio: real;
numeros : t_numeros;
begin
suma := 0;

Monografias.com

23
Vectores – Ejemplos resueltos
for i:= 1 to max do
begin
read(numeros[i] )
suma:= suma +numeros[i];
end;
Promedio:= suma/max;
writeln (´El promedio es ´,Promedio´);
for i := 1 to 50 do
if numeros[i] > promedio
then
writeln (´El número´, numeros[i], ´es mayor al promedio´);
end.

Monografias.com

24
Vectores – Ejemplos resueltos
Program Ej3;
const
max = 100;
type
t_numeros = array[1.. max] of integer;
var
suma, i, n : integer;
promedio: real;
numeros : t_numeros;
begin
suma := 0;
write (´Ingrese la cantidad de números a sumar. (Como máximo, 100 números´);
readln(n);

Monografias.com

25
Vectores – Ejemplos resueltos
for i:= 1 to n do
begin
read(numeros[i] )
suma:= suma +numeros[i];
end;
writeln (´La suma es ´,suma´);
for i := 1 to n do
writeln (´El sumando´, i, ´es´, numeros[i]);
end.

Monografias.com

26
Vectores – Vectores Paralelos
Dos o más arreglos que utilizan el mismo subíndice para acceder a elementos de distintos arreglos, se denominan arreglos paralelos. Estos arreglos pueden procesarse simultáneamente.
Ejercicio:
Se tienen dos arreglos. El primero contiene nombres de personas y el segundo contiene los sexos de las personas del primer arreglo, codificados como ´f´femenino y ´m´ masculino. Obtener a partir de estos otros dos arreglos, el primero de los cuales debe contener todos los nombres de los varones y el segundo, el nombre de todas las mujeres

Monografias.com

27
Matrices
Resolvamos el siguiente problema:
Un instituto desea controlar los resultados de los alumnos en las distintas asignaturas de la facultad de Ingeniería. El programa debe ingresar las calificaciones de los alumnos y visualizar en pantalla la media de notas por alumno y la media de notas por asignatura.
Las asignaturas están codificadas de 1 a 6 y hay 30 alumnos.

Monografias.com

28
Matrices
Es posible resolver este problema con lo visto hasta ahora?
Para realizar el anterior programa , debemos trabajar con una tabla (o matriz o arreglo bidimensional)

Monografias.com

29
Matrices
(Gp:) 9
(Gp:) 3
(Gp:) 5
(Gp:) 4
(Gp:) 8
(Gp:) 2
(Gp:) 6

(Gp:) 9
(Gp:) 3
(Gp:) 5
(Gp:) 4
(Gp:) 8
(Gp:) 2
(Gp:) 6

(Gp:) 9
(Gp:) 3
(Gp:) 5
(Gp:) 4
(Gp:) 8
(Gp:) 2
(Gp:) 6

Mi_Matriz
Nombre de
la variable
Posición : 3,1
Contenido : Mi_vector[3,1] = 9

Monografias.com

30
Matrices – Declaraciones
Ejemplos de declaraciones:
Ej1:
type
T_matriz = array[ 1..10, 1..10 ] of real;
var
Matriz: valores;

Monografias.com

31
Matrices – Declaraciones
Ejemplos de declaraciones:
Ej2:
type
T_matriz = array[ 1..10 ] of array [ 1..10 ] of real;
var
Matriz: valores;

Monografias.com

32
Matrices – Declaraciones
Ejemplos de declaraciones:
Ej3:
type
T_filas = array[ 1..10 ] of of real;
T_Matriz = array[ 1..10 ] of of T_filas;
var
Matriz: valores;

Monografias.com

33
Matrices – Operaciones
Con la siguiente declaración:
type
T_matriz = array[ 1..10 ] of array [ 1..10 ] of real;
var
Matriz: valores;
Lectura de una matriz
for i:= 1 to 10 do
for j:= 1 to 10 do
readln(Matriz[i,j] )

Monografias.com

34
Matrices – Operaciones
Escritura de una matriz
for i:= 1 to 10 do
for j:= 1 to 10 do
writeln(Matriz[i,j] )

El recorrido de las matrices puede realizarse tanto por filas como por columnas, de acuerdo al problema a resolver.

Monografias.com

35
Matrices – Ejemplos resueltos
Ej4. Un instituto desea controlar los resultados de los alumnos en las distintas asignaturas de la facultad de Ingeniería. El programa debe ingresar las calificaciones de los alumnos y visualizar en pantalla la media de notas por alumno y la media de notas por asignatura.
Las asignaturas están codificadas de 1 a 6 y hay 30 alumnos.

Monografias.com

36
Matrices – Ejemplos resueltos
Program Ej4;
const
max_fila = 6 ;
max_col = 30;
type
t_tabla = array[1.. max_fila,max_col ] of char;
var
i, j: integer;
tabla: t_tabla;
suma: integer;
prom_al, prom_mat:real;
begin
for i:= 1 to max_fila do
for j:= 1 to max_fila do
writeln(´Ingrese la nota para la materia´, i, ´del alumno´, j);

Monografias.com

37
Matrices – Ejemplos resueltos
for i:= 1 to max_fila do
begin
suma:=0;
for j:= 1 to max_col do
suma:= suma + tabla[i,j];
prom_mat [i] : =suma /i;
end;
for i:= 1 to max_col do
begin
suma:=0;
for j:= 1 to max_fila do
suma:= suma + tabla[i,j];
prom_al [i] : =suma /i;
end;

Monografias.com

38
Matrices – Ejemplos resueltos
writeln (´La suma es ´,suma´);
for i := 1 to max_fila do
writeln (´El promedio de calificaciones para la asignatura´, i, ´es´, prom_mat[i]);
end.
for j := 1 to max_col do
writeln (´El promedio de calificaciones para el alumno´, j, ´es´, prom_al[j]);
end.

Monografias.com

39
Arreglos multidimesionales
Así como hemos trabajado con vectores (arreglos unidemsionales) y matrices (arreglos unideimesionales), es posible trabajar con arreglos de más de dos dimensiones, los que son denominados arreglos multidimensionales.
Ejemplos de problemas de aplicación de arreglos multidimesionales
Se desea escribir un programa que permita manejar la información de habitantes de un complejo habitacional. El mismo posee 7 torres; a su vez cada torre posee 20 pisos y cada piso 6 departamentos.
Se desea saber:
a) Cantidad total de habitantes del complejo
b) Cantidad promedio de habitantes por piso de cada torre
c) Cantidad promedio de habitantes por torre

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter