Unidad 2 - Paso 3 -
Estructuras de control y repetición con POO
Estudiante
ANYI LORENA GARCIA CARDENAS
213022_58 – FUNDAMENTOS DE PROGRAMACION
Tutor
José del Carmen Gelves
Universidad Nacional Abierta y a Distancia-UNAD
CAV Norte de Santander
Programa de Ingeniería de Sistemas
0 0
Actividad 1:
Del archivo titulado: “Anexo 1 - Banco de Problemas - Paso 2”, a cada estudiante
escoge un (1) problema y deberá publicar en el foro una tabla con la siguiente
información tal y como se describe a continuación:
Tabla 1 – Información Situación Problema a Resolver
Problema Asignado
(Marque con una X el problema a resolver’
ESTUDIANTE diferente a los ya escogidos en el foro)
Rafael Enrique
Alvarado García.
Selecciono problema 1 y 2
CC 8797899
DESARROLLO DE LA ACTIVIDAD POR PROBLEMAS
PROBLEMA No 1
Capturar por teclado 2 números enteros positivos entre 1 y 1000 incluidos, para
hallar y mostrar por pantalla los números capicúa que se encuentran en ese rango
y la cantidad de números hallados.
Actividad 2 del Problema 1:
Tabla de requerimientos.
Tabla 2. Tabla de requerimientos -Problema # 1
Identificación Descripción Entradas Resultado
0 0
del (salidas)
requerimient
o
R1 Captura 2 números 2 números enteros 2 números enteros
entero ingresado por el usuario. almacenados en memoria.
(primerNumero y
segundoNumero)
R2 Seguridad datos, Con sentencia IF se Alerta mostrada en consola.
Alerta por consola verifica que variable
primerNumero sea <
segundoNumero, si es
correcto continua el
algoritmo, si es errados
los datos con Else se
imprime alerta “números
no permitidos”
R3 Obtener rango Con un ciclo for se Se obtiene rango por consola.
obtiene rango entre
números ingresados en
las variables.
R4 Operación capicúa Dentro del FOR del Datos de las variables se
Rango, se realiza obtienen de los dantos
operación de reverso, se ingresados anteriormente.
crean 3 variables
reverso1, reverso2 y Se logra obtener números
reverso3. capicúa de un rango
seleccionado
Con un if se realiza
comparación de
variables para obtención
de números capicúas.
Actividad 3 del Problema 1:
Diseñar el respectivo diagrama de clase del problema asignado. El estudiante
aplicando los conceptos adquiridos en la Unidad 1, entrega un diagrama de clases
para su ejercicio.
0 0
Actividad 4 del problema 1: CÓDIGO (Utilice Visual Studio 2022)
Archivo [Link] (clases, atributos y métodos)
using System;
using [Link];
using [Link];
using [Link];
using [Link];
namespace Capicua
{
public class IngresoNumero
{
//atributos
static public int primerNumero;
static public int segundoNumero;
//Constructor
public IngresoNumero()
{
//metodos SET Y GET
public int PrimerNumero // para ingresar el primer numero
0 0
{
set { primerNumero = value; }
get { return primerNumero; }
public int SegundoNumero // para ingresar el segundo numero
{
set { segundoNumero = value; }
get { return segundoNumero; }
public void SeguridadNum() //Renstriccion Para permitir que se utilicen los numeros
correptos
{
if (primerNumero != segundoNumero && primerNumero < segundoNumero &&
segundoNumero < 1001)
{
[Link]("\nNumeros ingresados correctamente presione cualquier tecla
para continuar");
}
else
{
[Link]("\nnumero no admitido");
[Link]();
}
}
Archivo [Link] (clases, atributos y métodos)
using System;
using [Link];
using [Link];
using [Link];
using [Link];
namespace Capicua
0 0
{
internal class NumeroCapicua : IngresoNumero
{
//Atributos
int reverso1;
int reverso2;
int reverso3;
//contructor
public NumeroCapicua()
{
//Operacion de reversar Numero para coparar y sacar numeros capicuas
public void NumCap()
{
[Link]("\n\nLos Numeros Capicuas en el rango " + primerNumero + " y "
+ segundoNumero + " " + "son : ");
for (int i = primerNumero; i <= segundoNumero; i++) // sacar el rango
{
//sacar el reverso de los numeros
reverso1 = (i % 10);
reverso2 = ((i / 10) % 10);
reverso3 = ((i / 100) % 10);
if (i <= 99) // comparacion
{
if (reverso1 == reverso2)
{
[Link]("\n" + i);
}
else
{
if (reverso1 == reverso3)//comparacion
{
0 0
[Link]("\n" + i);
Archivo [Link] (utilizo los argumentos para activar los métodos)
// See [Link] for more information
using Capicua;
[Link]("Bienvenidod a Capicua 1.0");
IngresoNumero num = new IngresoNumero(); // metodo
[Link]("\n\nDigita un número entre 1 y 1000 : "); //metodo ingreso primwer
numero
[Link] = Convert.ToInt32([Link]()); //activacion GET SET
[Link]("\n\nDigita un número entre 1 y 1000 mayor que el anterior : "); //
Ingreso el segundo numero
[Link] = Convert.ToInt32([Link]());//activacion GET SET
[Link]();//activacion metodo de verificacion del ingreso de los numeros
NumeroCapicua numeroCap = new NumeroCapicua(); //Operacion de rango, reversion y
comparacion para obtener numeros capicuas
[Link]();//activacion operacion
[Link]("\n\nPresiones Cualquier tecla para salir del programa");
[Link]();
0 0
Pruebas de escritorio
0 0
Prueba del programa si el dato de la primera variable es <= a la segunda variable
Prueba 1
0 0
Prueba 2
PROBLEMA No 2
Se necesita diseñar un algoritmo que permita mostrar por pantalla una cantidad de
elementos de la serie de Fibonacci, para esto se debe capturar un número entero
positivo mayor que 1 por el teclado y esa debe ser la cantidad elementos a
mostrar.
Actividad 2 del Problema 1:
Tabla de requerimientos.
Tabla 2. Tabla de requerimientos -Problema # 2
Identificación Descripción Entradas Resultado
del (salidas)
requerimient
o
R1 Captura 1 número 1 número double 1 número double almacenado
10
0 0
double (numIngr) ingresado por el usuario. en memoria.
R2 Creación de Interacción con la Se le da interacción a la
variable para la variable ingresada por operación Fibonacci.
interacción de la consola (numIngr)
operación (int
próximo, int
continua con valor
de 1, int inicia con
valor de 0).
R3 Inicia operación Con ciclo for interactúan Se obtiene una serie
ára obtención de la variable ingresada con Fibonacci, tomando como
secuencia las creadas en la otra referencia en numero
Fibonacci. clase. ingresado por consola.
Actividad 3 del Problema 2:
Diseñar el respectivo diagrama de clase del problema asignado. El estudiante
aplicando los conceptos adquiridos en la Unidad 1, entrega un diagrama de clases
para su ejercicio.
11
0 0
Actividad 4 del problema 2: CÓDIGO (Utilice Visual Studio 2022)
Archivo [Link] (clases, atributos y métodos)
using System;
using [Link];
using [Link];
using [Link];
using [Link];
namespace Fibonacci_1
{
internal class IngresoNumero
{
static public double numIngr;
public IngresoNumero()
{
//Metodo GET - SET
public double NumIngr
{
set { numIngr = value; }
get { return numIngr; }
}
}
Archivo Operació[Link] (clases, atributos y métodos)
using System;
using [Link];
using [Link];
using [Link];
using [Link];
namespace Fibonacci_1
{
12
0 0
internal class Operacion : IngresoNumero
{
public double proximo;
public double inicia = 0;
public double continua = 1;
public Operacion()
{
public void SerieFib()
{
[Link]("\nLa Sucecion Fibonacci es: \n");
for (double i = 1; i < numIngr; i++)
{
if (i <= 1)
{
proximo = i;
}
else
{
proximo = inicia + continua;
inicia = continua;
continua = proximo;
[Link](proximo);
[Link]();
}
}
13
0 0
Archivo [Link] (utilizo los argumentos para activar los métodos)
// See [Link] for more information
using Fibonacci_1;
[Link]("Algoritmo Serie Fibonacci");
IngresoNumero num = new IngresoNumero();
[Link]("\n\nDigita un número para iniciar algoritmo : "); //metodo ingreso
numnero
[Link] = Convert.ToInt32([Link]());
Operacion opr = new Operacion();
[Link]();
[Link]("\n\nPresiones Cualquier tecla para salir del programa");
[Link]();
Pruebas de escritorio
14
0 0
PRUEBA 1
15
0 0
PRUEBA 2
16
0 0
CONCLUSIONES
17
0 0
Gracias al materias estudiado, se lograron a través de ejercicios prácticos la
elaboración de algoritmos que permitieron poner en práctica la programación
orientada a objetos a través del lenguaje C#, para estos ejercicios se establecieron
una serie de clases que interactuaron por herencias, dentro de estas clases se
establecieron atributos que se encapsularon utilizando los métodos set y get.
Por otra parte, se establecieron métodos que permitieron la utilización y
reutilización de variables o atributos de las clases, todos esto para lograr que se
generan las operaciones planteadas y pedidas en cada problema.
Por último es importante tener en cuenta la finalidad del ejercicio, que no es mas
que permitirnos conocer las bondades de las programación orientada a objetos, de
como podemos tener un código mas ordenado, como podemos reciclar métodos y
atributos generando que entendamos mas la secuencia de cada interacción del
sistema.
18
0 0
REFERENCIAS BIBLIOGRAFICAS
Nekszer, Nekszer (2015). Tutorial C# - #1 Clases y Métodos. Youtube.
[Link]
Craig, Larman. (2007). UML y patrones. Editorial Prentice Hall.
19
0 0