1
Paso 3 - Estructuras repetitivas y arreglos.
Anderson Manuel Caldera Macea
Grupo #: 23
Tutor: Juan Antonio Chahin
Universidad Nacional Abierta y a Distancia – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería – ECBTI
Competencias Comunicativas/Ingeniería Electrónica
octubre 2023
2
Introduccion
Las estructuras repetitivas y los arreglos son conceptos fundamentales en la programación
que permiten resolver una amplia gama de problemas de manera eficiente. Las estructuras
repetitivas, como los bucles, permiten ejecutar un conjunto de instrucciones varias veces, lo
que es especialmente útil cuando se necesita procesar datos en serie o realizar tareas
repetitivas. Por otro lado, los arreglos son estructuras de datos que almacenan múltiples
elementos del mismo tipo en una secuencia ordenada, facilitando el manejo y la
manipulación de datos.
En este contexto, exploraremos cómo utilizar estas herramientas para crear programas más
efectivos y versátiles, lo que es esencial para desarrollar habilidades sólidas en la
programación y resolver problemas de manera eficiente.
3
Objetivos.
• Comprender las estrcuturas repetivivas y arreglos en lenguaje C#
• Aplicar los conocimientos adquiridos en la unidad.
4
Desarrollo de situacion problematica.
1. Solicitar por teclado una cantidad entera positiva mayor a 1, en caso de no cumplir
se debe repetir la solicitud hasta que se cumpla con la condición. Almacenar en un
vector la cantidad de valores de la serie Fibonacci para luego mostrarlos por
pantalla..
Tabla de requerimientos.
Tabla 2. Tabla de Requerimientos – Problema # 1
Identificacion del
Descripcion Entradas Resultados o Salidas
Requerimiento
Ingresar numero Numero entero
R1 Numero entero mayor a 1
entero mayor a 1 Ingresado por teclado
Ingresar numero Numero entero Ingresar numero entero mayor
R2
enrero menor a 1 Ingresado por teclado a1
Vector
Serie Fibonacci almacenada en Muestrar las condiciones
R3 Almacenado serie
vector establecidas en el programa
Fibonacci
Comparar los
vectores con las vectores almacenados en Muestrar las condiciones
R4
condiciones memoria establecidas en el programa
definidas
Mensaje establecido con el
Impresión serie Muestra el mesanje en
R5 valor de secuencia y serie
fibonacci pantalla
fibonacci
5
Diagrama de flujo
Codigo de fuente.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Anderson_Paso_3_2
//Nombre: Anderson Manuel Caldera Macea
//Grupo:23
//Programa: Ingeniería Electrónica
//Código de fuente:Autoría propia
6
internal class Program
static void Main(string[] args)
//se crea vectores de referncia
int n;
int[] Fibonacci = { 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765,
10946, 17711, 28657, 46368};
do
Console.WriteLine("Ingrese una cantidad entera positiva mayor a 1");
n = int.Parse(Console.ReadLine());
if (n <= 1)
Console.WriteLine("Error: El valor ingresado no cumple con la condición.");
} while (n <= 1);
Fibonacci[0] = 0;
Fibonacci[1] = 1;
for (int i = 2; i < 1; i++)
Fibonacci[(int)Fibonacci[1]]++;
Console.WriteLine("Valores de la serie Fibonacci:");
7
for (int i = 0; i < n; i++)
Console.WriteLine(Fibonacci[i]);
3. Se solicita la creación de una aplicación que elabore una matriz de 4 × 4 en la cual se
almacenarán números entre el 3 y el 6 ambos incluidos que se deben capturar por teclado.
Una vez obtenida la información se debe establecer cuantas veces se repiten cada uno de
los números del 3 al 6 y hallar la potencia de ellos de acuerdo con las veces que se repita.
Se debe mostrar por pantalla la matriz generada y las potencias de los 4 números.
Tabla de requerimientos.
Tabla 2. Tabla de Requerimientos – Problema # 3
Identificacion del
Descripcion Entradas Resultados o Salidas
Requerimiento
Ingresar numero Numero entero
R1 Numero entero
entero entre 3 y 6 Ingresado por teclado
capturar numeros
Numero entero
R2 ingresados en numeros en la Matriz 4x4
Ingresado por teclado
matriz 4x 4
crear bucles que Matriz almacenada en Muestrar cuántas veces se
R3
recorra matriz memoria repite cada número del 3 al 6
Calcula la potencia de los
Calcula la potencia
Datos almacenados en numeros repetidos por la
R4 de los numeros
memoria catidad de veces que se repite
repetidos
en la matriz
impresión de Datos almacenados en Numeros en la matriz 4x4 y la
R5
matriz 4x4 memoria potencia de los 4 numeros
8
Diagrama de flujo
9
Codigo de fuente.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Anderson_3_2_2
{
//Nombre: Anderson Manuel Caldera Macea
//Grupo:23
//Programa: Ingeniería Electrónica
//Código de fuente:Autoría propia
internal class Program
{
static void Main(string[] args)
{
int[,] matriz = new int[4, 4];
Dictionary<int, int> repeticiones = new Dictionary<int, int>();
// Capturar los números de la matriz
for (int fila = 0; fila < 4; fila++)
{
for (int columna = 0; columna < 4; columna++)
{
int numero;
do
{
10
Console.WriteLine($"Ingrese numeros del 3 al 6 en la posicion [{fila + 1},
{columna + 1}]: ");
} while (!int.TryParse(Console.ReadLine(), out numero) || numero < 3 ||
numero > 6);
matriz[fila, columna] = numero;
// Contar las repeticiones de cada número
if (repeticiones.ContainsKey(numero))
{
repeticiones[numero]++;
}
else
{
repeticiones[numero] = 1;
}
}
}
// Mostrar la matriz generada
string matrizGenerada = "";
for (int fila = 0; fila < 4; fila++)
{
for (int columna = 0; columna < 4; columna++)
{
matrizGenerada += matriz[fila, columna] + "\t";
}
matrizGenerada += "\n";
11
}
Console.WriteLine("Matriz generada:\n\n" + matrizGenerada);
// Calcular y mostrar las potencias
string potencias = "";
foreach (var kvp in repeticiones)
{
int numero = kvp.Key;
int repeticion = kvp.Value;
double potencia = Math.Pow(numero, repeticion);
potencias += "Número: " + numero + ", Repeticiones: " + repeticion + ",
Potencia: " + potencia + "\n";
}
Console.WriteLine("Potencias:\n\n" + potencias);
}
}
}
12
Conclusion
Como conclusion principal se logra determinar la utilizacion de vectores y posiciones,
estructuras repetitivas y bidimensiones en el programa IDE Visual Studio Community
Versión 2019 en lenguaje de programacion C# y en el cual nos permitio desarrolar la
problemática establecida en el paso3 del curso.
Adicionalmente nos permitió concluir que para la solucion de problematicas de
programacion en lenguaje C# y otros lenguajes, hay que tener presente los requerimientos
solicitados por los usuarios, con el fin de dar claridad a lo que hay que programar.
13
Bibliografia
Ángel Romero, I. (2022). Matrices en C#. [OVI]. Repositorio Institucional Unad.
https://repository.unad.edu.co/handle/10596/52361
Ceballos Sierra, F. J. (2011). Microsoft C#. Curso de Programación. 2ª edición.
https://elibro-net.bibliotecavirtual.unad.edu.co/es/ereader/unad/106417
Ceballos Sierra, F. J. (2015). C/C++. Curso de programación. 4ª Edición. (pp. 1 - 84)
https://elibro-net.bibliotecavirtual.unad.edu.co/es/ereader/unad/106454