Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Manipulação de Vetores e Matrizes em C#, Resumos de Agronomia

Este documento aborda a manipulação de vetores e matrizes em c#, incluindo tópicos como inicialização, acesso a elementos, operações básicas e exemplos práticos. Ele cobre conceitos fundamentais da programação em c#, como a definição de vetores e matrizes, a utilização de loops para percorrer seus elementos, a realização de operações aritméticas e a impressão dos resultados na tela. O documento também apresenta exemplos de programas que demonstram a aplicação desses conceitos, como a obtenção da média de um conjunto de notas, a inversão de um vetor e a criação de tabelas de multiplicação. Além disso, são abordadas questões relacionadas à modificação de matrizes dentro de métodos e à manipulação de strings. Este material pode ser útil para estudantes de cursos de ciência da computação, engenharia de software e áreas afins, servindo como material de estudo, aulas, resumos, esquemas e mapas conceituais.

Tipologia: Resumos

2022

Compartilhado em 16/01/2023

pepeaaaaa
pepeaaaaa 🇦🇴

4 documentos

1 / 35

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Informática
Escuela de Ingenieros
Industriales
Departamento de Sistemas
Informáticos
Universidad de Castilla-La mancha
1
ESTAS TRANSPARENCIAS SON UNA GUÍA PARA SEGUIR LAS
CLASES TEÓRICAS DE LA ASIGNATURA Y NO PUEDEN
CONSIDERARSE UNOS APUNTES COMPLETOS CON LOS QUE
ESTUDIAR LA ASIGNATURA.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Pré-visualização parcial do texto

Baixe Manipulação de Vetores e Matrizes em C# e outras Resumos em PDF para Agronomia, somente na Docsity!

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha

ESTAS TRANSPARENCIAS SON UNA GUÍA PARA SEGUIR LAS

CLASES TEÓRICAS DE LA ASIGNATURA Y NO PUEDEN

CONSIDERARSE UNOS APUNTES COMPLETOS CON LOS QUE

ESTUDIAR LA ASIGNATURA.

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha Tema 4. MATRICES Y CADENAS DE CARACTERES 3.1 Introducción. 3.2 Matrices. 3.2.1 Matrices de una dimensión. 3.2.2 Matrices multidimesionales. 3.3 Cadenas de caracteres.

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha

Ejercicio. Obtener la media de 300 notas, y mostrar en pantalla la nota, la media y la

diferencia entre la media y la nota, para cada una de las notas obtenidas.

3.2 Matrices.

Definición.

Una matriz es una colección de variables del mismo tipo a las que se hace referencia por

mismo nombre.

3.2.1 Matrices de una dimensión (vectores).

Formato para definir vectores:

[ ] ;

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha

Ejemplo:

int a, b, c; es equivalente a int [ ] vars = new int[3];

Para acceder a un elemento del vector se usa un índice. El primer elemento del vector

tiene asociado el índice 0.

a = 2; vars[0] = 2;

b = 4; vars[1] = 4;

c = 6; vars[2] = 6;

Ejemplo. Obtener la media de 300 notas y calcular la diferencia entre la media y cada una

de las notas.

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha class Program { static void Main(string[] args) { float[] notas; // solo definimos el vector pero “no existe”. float suma=0,media,resultado; int contador; notas = new float[5]; // reservamos espacio en memoria para los elementos del vector y lo hacemos cuando lo // creamos oportuno. El vector se inicializa con valores, que se corresponden con el // valor nulo asociado al tipo, en este caso el valor 0.0f. for(contador=0; contador < notas.Length; contador=contador+1){ Console.WriteLine("Dame la nota {0}:",contador); notas[contador] = float.Parse(Console.ReadLine()); suma=suma+notas[contador]; } media=suma / notas.Length; for(contador=0; contador< notas.Length; contador=contador+1){ resultado=media-notas[contador]; Console.WriteLine("Nota {0}: {1} - {2} = {3}",contador,media,notas[contador],resultado); } } } Otra solución

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha class Program { static void Main(string[] args) { float[] notas; // solo definimos el vector pero no existe. float suma=0,media,resultado; int contador; Console.WriteLine("¿De qué tamaño quieres el vector?"); int tamaño = int.Parse(Console.ReadLine()); //Definimos el tamaño del vector durante la ejecución del programa notas = new float[tamaño]; for(contador=0; contador < notas.Length; contador=contador+1){ Console.WriteLine("Dame la nota {0}:",contador); notas[contador] = float.Parse(Console.ReadLine()); suma=suma+notas[contador]; } media=suma / notas.Length; for(contador=0; contador< notas.Length; contador=contador+1){ resultado=media-notas[contador]; Console.WriteLine("Nota {0}: {1} - {2} = {3}",contador,media,notas[contador],resultado); } } } Otra solución más

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha

Ejemplo 0. Hacer un programa que:

Declare un vector de 25 enteros

Rellene todos los elementos con el número 3 (con un bucle)

Muestre por pantalla el vector (de forma horizontal).

static void Main(string[] args) { int[] vector = new int[25]; for (int i = 0; i < 25; i++) { vector[i] = 3; } // imprimimos el vector en horizontal for (i = 0; i < 25; i++) { Console.Write("{0} " , vector[i]); } Console.WriteLine(); } } }

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha

Ejemplo 1. Hacer un programa que inicialice un vector con el doble del valor de la componente

anterior, empezando con el valor 1, y mostrar por pantalla dicho vector. El tamaño del vector

se lo pediremos al usuario.

static void Main(string[] args) { Console.WriteLine("Dame el tamaño del vector"); int tamaño = int.Parse(Console.ReadLine()); int[] vector = new int[tamaño]; int i; vector[0] = 1; for (i = 1; i < tamaño; i++) { vector[i] = vector[i - 1] * 2; } // imprimimos el vector for (i = 0; i < tamaño; i++) Console.WriteLine("El valor de la componente {0} del vector es {1}", i, vector[i]); } } }

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha

Ejemplo 2. Hacer un programa que dado el vector {1,4,6,0,-7} obtenga el número menor y su

posición en el vector y lo muestre por la pantalla.

static void Main(string[] args) { int[] vector = { 1, 4, 6, 0, -7 }; int i; int menor = vector[0]; for (i = 1; i < vector.Length; i++) { if (vector[i] < menor) menor = vector[i]; } //imprimo el vector Console.WriteLine("El vector es: "); for (i = 0; i < vector.Length; i++) { Console.Write("{0} ", vector[i]); } Console.WriteLine("\nEl elemento menor del vector es {0} y ocupa la posición {1} ", menor, i); }

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha

3.2.2 Matrices multidimensionales.

Una matriz puede tener más de una dimensión surgiendo así el concepto de matriz

bidimensional, matriz tridimensional, etc.

Formato para definir matrices bidimensionales:

[ , ] ;

Formato para definir matrices tridimensionales:

[ , , ] ;

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha

Ejemplo 1. Hacer un programa en C que, usando matrices, obtenga las tablas de multiplicar

del 1 al 9 y mostrar el resultado en pantalla.

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 Índices

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha

static void Main(string[] args)

int[,] tablamult = new int[10, 10];

int i, j;

for (i = 0; i <= 9; i++)

for (j = 0; j <= 9; j++)

tablamult[i,j] = i*j;

for (i = 0; i < tablamult.GetLength(0); i++)

for (j = 0; j < tablamult.GetLength(1) ; j++)

Console.Write("{0:D2} ", tablamult[i, j]);

Console.WriteLine();

Nº de filas de la matriz Nº de columnas de la matriz i filas j columnas

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha

3.2.3 Matrices y métodos.

Ejemplo. Hacer un método que ordene de menor a mayor un vector de enteros.

class Program { static void Main(string[] args) { int [] datos=new int[10]; int [] copia=new int[10]; int i; for(i=0;i<10;i++){ Console.WriteLine("Dame un dato: "); datos[i]=int.Parse(Console.ReadLine()); } Array.Copy(datos,copia,10); // copio los elementos del vector datos en el vector copia. ordena_vector(datos); for(i=0;i<10;i++) Console.Write("{0}, ",datos[i]); Console.WriteLine(); Array.Sort(copia); // esto hace lo mismo. Estoy usando un método de biblioteca. for (i = 0; i < 10; i++) Console.Write("{0}, ", copia[i]); Console.WriteLine(); } NO hay que ponerle ni ref ni out

(Si modificamos un matriz

dentro de un método, la

modificación permanece una

vez finalizado el método.)

Escuela de Ingenieros Industriales Informáticos Universidad de Castilla-La mancha static void ordena_vector (int []v){ int i,j,aux; for(i=0;i<v.Length;i++) for(j=i+1;j<v.Length;j++) if(v[j]<v[i]) { aux=v[i]; v[i]=v[j]; v[j]=aux; } } }

  • (^) Si modificamos un matriz dentro de un método, la modificación permanece una vez

finalizado el método.

  • (^) Al usar matrices como argumentos a métodos, aunque es posible usar ref y out no

lo haremos durante este curso (estará prohibido hacerlo).