Programación CICLO FORMATIVO DE DESARROLLO DE APLICACIONES MULTIPLATAFORMA
I.E.S Florencio Pintado
TEMA 5 TIPOS DE DATOS COMPUESTOS
Índice 1. Introducción 2. Arrays 2.1. Declaración y creación 2.2. Acceso a los datos 2.3. Iniciación 2.4. Índices de array 2.5. Array de caracteres 2.6. Array como parámetros 2.7. Bucle foreach 2.8. Operaciones comunes con arrays 2.8.1.Algoritmos de búsqueda (Secuencial y binaria) 2.8.2.Algoritmos de ordenación (Selección, inserción, burbuja, Shell y quicksort) 3. Array multidimensionales (matrices) 3.1. Declaración y creación 3.2. Iniciación 3.2.1.Iniciación a cada elemento del array. 3.2.2.Iniciación en el momento de la creación. 3.2.3.Iniciación mediante el uso de bucles 3.3. Arrays irregulares o escalonados 4. Cadena de caracteres 4.1. Objeto stringbuilder 5. Estructuras 6. Enumeraciones 6.1. Definición 6.2. Uso
206
Programación
i', -,' -_- -' - .-;---- --/*t,'unclon menu I Muestra e1 menu, pide a1 usuarj-o que escoja una opción y devuelve Ia opción I or ^^i ¡-
i Parámetros de entrada: ninguno. I Salida: Número entero. : */ i sEatic int menu o
i{
I I i i i I i i I I i I
i)
int opcion;
. Rell-ena Ia pri-mera matrí2,,) . Rellena l-a segunda matriz,,) . Visualiza l-as matrices,, ) ; Console.Writeline ( "4 . Suma matrices" ) ; Console .Irüriteline ( "5 . Producto por un escalar., ) ; Console.Writeline(..6. Producto de matrices.,,) ; Console.Vlriteline ( "7. Traspuesta,,) ; Consol-e.Writeline ( "8 . Sa1ir" ) ; console.Writeline("Escoge opción:,,); opcion = int,. Parse (Console . Readline ( ) ) ; return opcion; Console . Writ.eline ( "1 Consofe. Writeline ( "2 Console . Writeline ( '.3
; ;
, /*Función inicializa Inicializa 1a matriz pasada como parámetro. I Parámetros de entrada: Matriz de números enteros. i Salida: ninguna. : */ I static void inicializa(int[,] matriz) ,t
"l i I
i{ I
Console.i^trriteline("Escribe un número y pulsa
ñ^ñíl\. 'r'ef¡u
for
hasta que aparezca e-
(int, i = 0; i < FILAS; i++)
for (int j = O; j < I
i
ENTER
/,
COLIIMNAS;
j++)
maLrizli, jl = int.Parse(Console.ReadlineO ); L
i]i)
1)
i /*runción
sumar
I Suma Ias matrices pasadas como parámetro. E1 resultado no i simplemente se muestra por pantaIla. j Parámetros de entrada: ;atrices a sumar. i salida: ninguna.
j etatic void sumar(int[,] m1, int[,]
i{ I
i
m2)
Console.füriteline("La suma de matrices es:,,); tor (int' = O, i < FILAS,. i++) + m2[i, j]);
Y-l-qy_q1_i_Z+--el_-p-ql_t_e1_r_?__1?
_T-a_!11?_-pe_s_e_q?--q9¡19__pqláperro
de
ia
forma:
almacena,
Capítulo
5. Tipos de datos compuestos
207
i
i numl numz numr i numa num5 num6 i numr num8 numg Matriz de número enteros' i Parámetros de entrada:ninguno' Parámetros de salida: static void mosLrar(inü['] matriz) es z" ) i Console.Writel'ine ("la matrizi++) FILAS; < i o; i"i-iri. i =
for (int j = o; j < COLUMNAS; j++) { "o"so1e'write("{o}\t"'maLrízti'jl); Iorr"or".write 1*\n" ) ;
El resrrltado se de una matrtz por un número dado. á":H;:t:rt;?:'ff?'"':scalar por pantal-la' no es almacenado' ;;;;;;; enteros. ros enteros y matriz de números Parámetros de entrada: numero entero Salida: ninguna' matriz) ll"rr" void prodEscalar(int num' intt'l {
producto --^^¡'r^t^ Console.!{riteLine("81 i++) i
;
: l
es:." ) ¡ eI escalar es:") Aa l a matriz Íte:-rlz por e1 de la
for (inu j = O; j < COLUMNAS; j++) (*{o}\t' ' maLrizti' j: *num) ; ' "orrsore.write Iorr=oru.wriLe
)
1
*\n"
);
I
I -,
y muestra eI resultado por pantalla' matríces antes :.uriiru .i Producto de dos matrices de Jaf.l-,:-o de producto de especificaciones t"= a:enaienao, de números enteros a multiPlicar' ,riái"at"" de entrada: las matrices : ninguna ' -: aI ida m2) etatic void producto(inüt'l mf int['] *Función Product
int matriz-ProducLo=0 ; i"" lr"t t1 o; k < Frr'AS; k++)
j++) for (iat j = O; j < FILAS'
matriz3roducto=0 i++) { for (int i = 0; r < CoLUMNAS; i] * m2 [i' j] m1 += [k' matriz3roductso ] ; áorr"o1..write ("{oi\t", matriz-producto) lorr=oa..write *1n" ) ; 1
;
:
i
I
I
i :
i