Unidad 5
Arreglos y Persistencia de Archivos en C#
Instituto Tecnológico de Tehuacán | Ingeniería en Sistemas Computacionales
1. Fundamentos de Arreglos (Arrays)
Un arreglo es una colección finita de elementos del mismo tipo almacenados en memoria contigua.
Definición, Tipos y Declaración
// Declaración y Tipos (Entero, Decimal, Cadena)
int[] edades = new int[5];
string[] nombres = { «Ana», «Luis» };
double[] precios = new double[] { 10.5, 20.9 };
int[] edades = new int[5];
string[] nombres = { «Ana», «Luis» };
double[] precios = new double[] { 10.5, 20.9 };
Unidimensional vs Multidimensional
Los unidimensionales (vectores) usan un solo índice; los multidimensionales (matrices) usan dos o más para representar filas y columnas.
Lectura con Ciclo For (3 Ejemplos Uni / 3 Multi)
// UNI 1: Lectura básica
for(int i=0; i<5; i++) Console.WriteLine(vector[i]);
// UNI 2: Sumatoria
for(int i=0; i
// MULTI 1: Lectura de matriz 2×2
for(int f=0; f<2; f++)
for(int c=0; c<2; c++) Console.Write(matriz[f,c]);
for(int i=0; i<5; i++) Console.WriteLine(vector[i]);
// UNI 2: Sumatoria
for(int i=0; i
// MULTI 1: Lectura de matriz 2×2
for(int f=0; f<2; f++)
for(int c=0; c<2; c++) Console.Write(matriz[f,c]);
2. Gestión de Archivos en C#
Un archivo es una estructura de almacenamiento permanente. C# permite crear archivos de texto plano (.txt), delimitados (.csv) o binarios.
Apertura y Flujo de Datos (4 Ejemplos)
using System.IO;
// 1. Crear/Escribir
File.WriteAllText(«test.txt», «Hola ITT»);
// 2. Agregar (Append)
File.AppendAllText(«test.txt», «Nueva línea»);
// 3. Lectura
string data = File.ReadAllText(«test.txt»);
// 4. Cierre automático con using
using(StreamWriter sw = new StreamWriter(«log.txt»)) { sw.WriteLine(«Cerrado»); }
// 1. Crear/Escribir
File.WriteAllText(«test.txt», «Hola ITT»);
// 2. Agregar (Append)
File.AppendAllText(«test.txt», «Nueva línea»);
// 3. Lectura
string data = File.ReadAllText(«test.txt»);
// 4. Cierre automático con using
using(StreamWriter sw = new StreamWriter(«log.txt»)) { sw.WriteLine(«Cerrado»); }
3. Compilación y Ejecución (Paso a Paso)
1. Crear Proyecto: Consola .NET en Visual Studio.
2. Codificar: Escribir dentro del Main.
3. Compilar: Presionar F5 o Ctrl+F5.
4. 5 Ejercicios de Aplicación
// 1. Declarar arreglo de 10 enteros
int[] arr = new int[10];
// 2. Asignar valores
arr[0] = 100; arr[1] = 200;
// 3. Crear archivo TXT
File.Create(«notas.txt»).Close();
// 4. Meter datos
File.WriteAllLines(«notas.txt», new string[] { «Calif1: 90» });
// 5. Leer datos
Console.Write(File.ReadAllText(«notas.txt»));
int[] arr = new int[10];
// 2. Asignar valores
arr[0] = 100; arr[1] = 200;
// 3. Crear archivo TXT
File.Create(«notas.txt»).Close();
// 4. Meter datos
File.WriteAllLines(«notas.txt», new string[] { «Calif1: 90» });
// 5. Leer datos
Console.Write(File.ReadAllText(«notas.txt»));
5. 10 Prácticas de Ingeniería
1. Inventario en matriz guardado en archivo CSV.
2. Calculadora de promedios leyendo un TXT de 100 notas.
3. Registro de asistencia de alumnos ITT en archivo diario.
4. Conversor de bases numéricas usando vectores.
5. Generador de facturas en TXT.
6. Buscador de palabras clave en archivos de texto.
7. Simulador de ventas mensuales con reporte final.
8. Ordenamiento de burbuja en arreglos.
9. Agenda telefónica con persistencia en disco.
10. Juego de ahorcado leyendo palabras de un archivo externo.
🔍 Reflexión e Investigación
- ¿Por qué es vital cerrar un flujo de archivo (Close) tras escribir datos?
- Diferencia entre
File.WriteAllTextyStreamWriter. - ¿Cómo impacta el tamaño de un arreglo en la memoria RAM del equipo?
- Reflexión: ¿Cómo ayuda la persistencia de datos a la automatización en Tehuacán?
- Investiga: ¿Qué es una excepción
FileNotFoundException? - ¿Cuál es el límite máximo de dimensiones en un arreglo de C#?
- Reflexión: ¿Por qué los arreglos multidimensionales son ideales para representar mapas?
- Investiga: ¿Cómo se maneja la codificación UTF-8 al leer archivos?
http://ofortiz.site/html/arreglos.html