Práctica # 6

Anuncio
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA MEXICALI
PROGRAMA
EDUCATIVO
Licenciado en
Sistemas
Computacionales
PLAN DE
ESTUDIO
2009-2
CLAVE DE
UNIDAD DE
APRENDIZAJE
11294
NOMBRE DE LA UNIDAD DE APRENDIZAJE
Programación Estructurada
PRÁCTICA
No.
NOMBRE DE LA PRÁCTICA
DURACIÓN
(HORAS)
6
Arreglos bidimensionales
2
1. INTRODUCCIÓN
Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre
común. Un arreglo consta de posiciones de memoria contigua. La dirección más baja corresponde al
primer elemento y la más alta al último.
Un arreglo puede tener una o varias dimensiones. Cuando un arreglo tiene dos dimensiones suele
llamarse arreglo bidimensional o matriz.
2. COMPETENCIA
Elaborar programas de cómputo utilizando arreglos bidimensionales para optimizar el código, con una
actitud positiva y comprometida.
3. FUNDAMENTO
Los elementos de un arreglo bidimensional están dispuestos en renglones y columnas. Para acceder a un
elemento en particular de un arreglo bidimensional se usa un índice para la primera dimensión (renglón)
y un índice para la segunda dimensión (columna).
La sintaxis para la declaración un arreglo bidimensional es la siguiente.
<tipo> <iden> [<dim1>][<dim2>] = {<lista_valores>};
El <tipo> determina el tipo de los datos que almacena el arreglo.
El <iden> representa el nombre del arreglo.
El <dim1>, <dim2> es el número de renglones y columnas en ese orden, el número de elementos que
contendrá el arreglo es de dim1xdim2.
Formuló
Revisó
José Alfredo Abad Padilla
Josefina Mariscal Camacho
Nombre y Firma del Maestro
Nombre y Firma del Responsable
de Programa Educativo
Página 1 de 4
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA MEXICALI
float arregloFloat[3][10];
arregloFloat
0
1
2
0
1
2
3
4
5
6
7
8
9
Opcionalmente puede ser inicializado mediante una lista de valores indicada por <lista_valores> y
delimitada por { }.
int edad[4][8] = { { 20, 13, 76, 12, 60, 13, 28, 15},
{ 2, 3, 7, 40, 23, 31, 8, 1},
{ 67, 21, 15, 5, 49, 9, 14, 25},
{ 70, 10, 26, 51, 21, 65, 33, 42} };
edad
20
13
76
12
60
13
28
15
2
67
70
3
21
10
7
15
26
40
5
51
23
49
21
31
9
65
8
14
33
1
25
42
0
1
2
3
4
5
6
7
El siguiente ejemplo es un programa utilizado para sumar o restar matrices de tamaño 3x4.
#include<stdio.h>
#define REN 3
#define COL 4
int main()
{
int matriz1[REN][ COL], matriz2[REN][ COL], matrizR[REN][ COL];
int opc, i, j;
printf("Introduce los datos de la primera matriz:\n");
for (i = 0; i < REN ; i++)
for (j = 0; j < COL ; j++)
scanf("%d", &matriz1[i] [j]);
printf("Introduce los datos de la segunda matriz:\n");
for (i = 0; i < REN ; i++)
for (j = 0; j < COL ; j++)
scanf("%d", &matriz2[i] [j]);
do {
system("clear");
printf("Menu de opciones:\n1. Suma de matrices\n2. Resta de matrices\n");
printf("3. Salir:\nElige opcion: ");
scanf("%d", &opc);
system("clear");
Página 2 de 4
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA MEXICALI
switch (opc)
{
case 1:
for (i = 0; i < REN ; i++)
for (j = 0; j < COL ; j++)
matrizR[i] [j] = matriz1[i] [j] + matriz2[i] [j] ;
printf("Suma de Matrices:\n\n");
for (i = 0; i < REN ; i++)
{
for (j = 0; j < COL ; j++)
printf("\t%d", matriz1[i] [j]);
if (i==REN%2) printf(" + ");
else printf("
");
for (j = 0; j < COL ; j++)
printf("\t%d", matriz2[i] [j]);
if (i== REN%2) printf(" = ");
else printf("
");
for (j = 0; j < COL ; j++)
printf("\t%d", matrizR[i] [j]);
printf("\n");
}
break;
case 2:
for (i = 0; i < REN ; i++)
for (j = 0; j < COL ; j++)
matrizR[i] [j] = matriz1[i] [j] - matriz2[i] [j] ;
printf("Resta de Matrices:\n\n");
for (i = 0; i < REN ; i++)
{
for (j = 0; j < COL ; j++)
printf("\t%d", matriz1[i] [j]);
if (i== REN%2) printf(" - ");
else printf("
");
for (j = 0; j < COL ; j++)
printf("\t%d", matriz2[i] [j]);
if (i== REN%2) printf(" = ");
else printf("
");
for (j = 0; j < COL ; j++)
printf("\t%d", matrizR[i] [j]);
printf("\n");
}
break;
case 3:
printf("Gracias por su atencion\n");
break;
}
getc(stdin);
}while (opc!=3);
return 0;
}
Página 3 de 4
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA MEXICALI
4. PROCEDIMIENTO (DESCRIPCIÓN)
A) EQUIPO NECESARIO
MATERIAL DE APOYO
Equipo de cómputo con Linux instalado o
con conexión a algún servidor de Linux
Apuntes
B) DESARROLLO DE LA PRÁCTICA
Lea cuidadosamente los siguientes planteamientos, identifique las entradas y la salida para presentar
una solución en lenguaje C.
1. Hace un programa en el cual se lea una matriz de 6x6 de caracteres, y que se realice las
siguientes actividades:
a) Contar el número de vocales en cada columna.
b) Indicar el renglón en el cual hay más dígitos.
c) Invertir las letras si se introducen en minúsculas convertirlas a mayúsculas y viceversa.
d) Poner un ? en los elementos en los que el renglón y columna coincidan 0,0; 1,1, etc…
Mostrar los resultados y mostrar la matriz modificada en 6 renglones por 6 columnas como en el
ejemplo siguiente:
?
a
2
5
d
R
@
R
f
W
?
3
V
}
>
?
1
R
M
i
?
o
n
P
a
?
3
U
A
r
0
K
k
u
4
?
2. Hacer un programa que pida el nombre de 5 personas y en un matriz de 5x7 los gastos realizados
en una semana, al finalizar mostrar el nombre de la persona que más gasto y cuanto fue el
monto y el día que más gasto y el monto.
C) CÁLCULOS
Preguntas sobre la práctica de forma INDIVIDUAL, que hará el maestro al finalizar la práctica a cada
alumno.
5. RESULTADOS Y CONCLUSIONES
El resultado de las prácticas deberá visualizarse en pantalla.
6. REFERENCIAS
Manual de C.
Héctor Tejeda Villela. Hill. 2005
Página 4 de 4
Descargar