martes, 8 de noviembre de 2022
Creando formularios en C#
Manipulación de archivos de texto
El método
File.ReadLines() es el mejor método encontrado para leer un archivo de texto línea por línea eficientemente. Este método devuelve un Enumerable para archivos de texto grandes, por eso hemos creado un objeto Enumerable string para almacenar el fichero de texto.La sintaxis correcta para usar este método es la siguiente:
File.ReadLines(FileName);
Código de ejemplo:using System;
using System.Collections.Generic;
using System.IO;
public class ReadFile
{
public static void Main()
{
string FileToRead = @"D:\New folder\textfile.txt";
// Crear un objeto numerable
IEnumerable<string> line = File.ReadLines(FileToRead);
Console.WriteLine(String.Join(Environment.NewLine, line));
}
}
Resultado:// Todo el texto que contenga el archivo aparecera aca
El método File.ReadLines() lanza una IOException si hay un problema al abrir el archivo y FileNotFoundException si el archivo solicitado no existe. Escribir en el archivo:
La clase
StreamWriter se utiliza para escribir texto en una secuencia o un archivo en C#. El método SreamWriter.WriteLine() escribe una línea completa en C#. Podemos inicializar un objeto de la clase StreamWriter con el método File.AppendText() para inicializar una instancia de la clase StreamWriter que agregaría los datos al archivo. using System;
using System.IO;
namespace write_to_a_file
{
class Program
{
static void Main(string[] args)
{
string path = "C:\\File\\file.txt";
string Text = "Juan Felipe Aristizabal Diaz";
using (StreamWriter writetext = new StreamWriter(path))
{
writetext.WriteLine(Text);
}
}
}
}
Contenido del archivo.txt:Juan Felipe Aristizabal Diaz
En el código anterior, creamos un objeto de la clase StreamWriter y escribimos la variable de cadena Text en el archivo file.txt dentro del directorio C:\File con el writetext.WriteLine(Text) función en C#.Modelo clase
Conceptos de agregación y composición
Composición: La Composición, es una relación más fuerte que la Agregación. La Composición se suele representar en UML con un rombo de color negro en un extremo de las clases.
Ejemplo: Aquí, estaríamos diciendo que un objeto Car está compuesto por uno o varios objetos de tipo Wheel. Por otro lado, también estamos diciendo que la clase Wheel es parte de la clase Car.
También diremos que al eliminar la clase Car, eliminaremos por lo tanto, la clase Wheel, ya que la relación entre ambas clases, es estrecha.
Agregación: es una relación que define que un objeto es parte de otro objeto. Cuando definimos que un objeto tiene como atributo otro objeto decimos que es una agregación. A través de la agregación se definen objetos compuestos.
Se suele representar en UML con un rombo de color transparente en un extremo de las clases.
Ejemplo:
La Agregación tiene una relación más débil que la Composición. Tanto es así, que cuando eliminamos la clase Customer, no tenemos porqué eliminar la clase Order, de manera tal que la clase Order podría continuar existiendo.
Aquí, un Customer agrupa 0, 1 o muchas Orders.
Aquí, estaríamos diciendo que un objeto Car está compuesto por uno o varios objetos de tipo Wheel. Por otro lado, también estamos diciendo que la clase Wheel es parte de la clase Car.
También diremos que al eliminar la clase Car, eliminaremos por lo tanto, la clase Wheel, ya que la relación entre ambas clases, es estrecha.
Agregación: es una relación que define que un objeto es parte de otro objeto. Cuando definimos que un objeto tiene como atributo otro objeto decimos que es una agregación. A través de la agregación se definen objetos compuestos.
Se suele representar en UML con un rombo de color transparente en un extremo de las clases.
Ejemplo:
La Agregación tiene una relación más débil que la Composición. Tanto es así, que cuando eliminamos la clase Customer, no tenemos porqué eliminar la clase Order, de manera tal que la clase Order podría continuar existiendo.
Aquí, un Customer agrupa 0, 1 o muchas Orders.
jueves, 20 de octubre de 2022
arreglos en lenguaje de programación
Reflexión sobre el arreglo multidimensional
- Declaración del arreglo,
- Creación del arreglo,
- Inicialización de los elementos del arreglo,
- Acceso a los elementos del arreglo.
Práctica sobre funciones
Concepto de funciones recursivas
Es una técnica de programación que nos permite que un bloque de instrucciones se ejecute n veces. Remplaza en ocasiones a estructuras repetitivas.
Una función es recursiva cuando el cuerpo de la función utiliza a la propia función. Dentro de una función recursiva suelen distinguirse dos partes:
- Los casos base: Son aquellos que para su solución no requieren utilizar la función que se está definiendo.
- Los casos recursivos: Son aquellos que sí que requieren utilizar la función que se está definiendo.
Las definiciones recursivas funcionan siempre y cuando las llamadas recursivas se realicen de forma que en algún momento se lleguen a los casos base.
Una función es recursiva final cuando tras la llamada recursiva no hay que realizar ningún cómputo adicional. Es decir, el valor devuelto en la llamada recursiva es igual al valor que debe devolver la función.
Ejemplos
1. Para calcular el factorial de un número se distinguen dos casos: si el número es cero o si es mayor. El primer caso es un caso base, pues sabemos que la solución es 1, mientras que para el resto de los casos utilizaremos una llamada recursiva.
La distinción de casos puede realizarse por cualquiera de los 4 métodos que conocemos. Por ejemplo con el uso de patrones:
fact 0 = 1
fact n = n * fact (n-1)
La recursión terminará para cualquier valor de entrada positivo, pues en cada llamada recursiva el parámetro se va decrementando, hasta que en algún momento llegue a valer 0.
La recursión no es final, pues tras la llamada recursiva es necesario multiplicar el valor obtenido por el parámetro de entrada.
La función anterior puede convertirse en final si se añade un parámetro acumulador:
fact n = fact' n 1
fact' 0 acum = acum
fact' n acum = fact' (n-1) (n*acum)
2. La recursión es una estrategia muy potente cuando se utilizan listas. Veamos por ejemplo cómo calcular la longitud de una lista:
long [] = 0
long (x:xs) = 1 + long xs
Nótese que la distinción de casos se hace en base a si la lista es vacía o no. Sabemos que la definición termina porque en cada llamada recursiva se reduce en una unidad la longitud de la lista, por lo que en algún momento llegará a estar vacía.
3. Imprimir los números de 1 a 5 en pantalla utilizando recursividad.
Programa:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Recursividad4
{
public class Recursividad
{
void Imprimir(int x)
{
if (x > 0)
{
Imprimir(x - 1);
Console.WriteLine(x);
}
}
static void Main(string[] args)
{
Recursividad re = new Recursividad();
re.Imprimir(5);
Console.ReadKey();
}
}
}Aplicando el manejo de vectores, matrices en el desarrollo de aplicaciones
Código fuente ejercicio:
using System;
namespace TallerItert_Juan_Felipe_Aristizabal_Diaz
{
class Program
{
static void Main(string[] args)
{
float noota1, noota2, noota3, noota4;
int n = 0;
// int ins, suf, sob, exc;
Console.WriteLine("Digite el número de estudiantes: ");
n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
Console.WriteLine("Ingrese su nombre: ");
string nombre = Console.ReadLine();
Console.WriteLine("Ingrese su nota 1: ");
string lineaa = Console.ReadLine();
noota1 = 0;
noota1 = float.Parse(lineaa);
Console.WriteLine("Ingrese su nota 2: ");
string lineaa1 = Console.ReadLine();
noota2 = float.Parse(lineaa1);
Console.WriteLine("Ingrese su nota 3: ");
string lineaa2 = Console.ReadLine();
noota3 = float.Parse(lineaa2);
Console.WriteLine("Ingrese su nota 4: ");
string lineaa3 = Console.ReadLine();
noota4 = float.Parse(lineaa3);
float promm2;
float promm1 = (noota1 + noota2 + noota3 + noota4);
promm2 = promm1 / 4;
Console.WriteLine($"{nombre} tu promedio es de {prom2}");
// Esta sección me saca error porque no reconoce las variables (ins,suf,sob,exc) aunque las declaré
// {
// if (prom2 < 2.94)
// {
// ins = ins + 1;
// }
// if (prom2 == 2.95 && prom2 <= 3.94)
// {
// suf = suf + 1;
// }
// if (prom2 == 3.95 && prom2 <= 4.44)
// {
// sob = sob + 1;
// }
// if (prom2 > 4.44)
// {
// exc = exc + 1;
// }
// }
// }
// Console.WriteLine($"{ins} estudiantes en insuficiente");
// Console.WriteLine($"{suf} estudiantes en suficiente");
// Console.WriteLine($"{sob} estudiantes en sobresaliente");
// Console.WriteLine($"{exc} estudiantes en excelente");
}
}
}
}
domingo, 11 de septiembre de 2022
“Aplicando instrucciones condicionales e iterativas” e indique cuáles son las diferencias entre los ciclos para y mientras.
Ciclos While
Un ciclo While es una estructura que se utiliza para ejecutar un bloque de código repetidamente hasta que se cumple una condición determinada. Al ejecutar el VI, se ejecuta el código dentro del ciclo While y luego se evalúa la condición de la terminal.
Ciclos For
Un ciclo For es una estructura que se utiliza para ejecutar un bloque de código un número determinado de veces. Al ejecutar el VI, se evalúa la cantidad de iteraciones y luego se ejecuta el código.
miércoles, 17 de agosto de 2022
entornos en C#
martes, 2 de agosto de 2022
Herramientas de programación
Las herramientas de programación, o herramienta de desarrollo de software, son programas informáticos que los
El término se refiere a la implementación de programas relativamente sencillos, que se pueden combinar para realizar una tarea, así como cuando una persona utiliza varias herramientas de mano para arreglar un objeto físico. La capacidad de utilizar una variedad de herramientas de forma productiva y sin que presente problemas es una característica de un buen ingeniero de software.
-
Un espacio vectorial es una estructura algebraica que consta de un conjunto de elementos, llamados vectores, junto con dos operaciones, sum...
-
El diseño de bases de datos es una tarea crítica en el desarrollo de cualquier sistema de información. El modelo entidad relación (ER) es u...

