0% encontró este documento útil (0 votos)
11 vistas19 páginas

Telecomunicacion

El documento presenta actividades de programación orientada a objetos en C#, enfocándose en la resolución de dos problemas: la identificación de números capicúa en un rango dado y la generación de la serie de Fibonacci. Se incluyen tablas de requerimientos, diagramas de clases y códigos fuente para cada problema. Además, se discuten las conclusiones sobre la importancia de la programación orientada a objetos y la reutilización de código.

Cargado por

culopeludo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas19 páginas

Telecomunicacion

El documento presenta actividades de programación orientada a objetos en C#, enfocándose en la resolución de dos problemas: la identificación de números capicúa en un rango dado y la generación de la serie de Fibonacci. Se incluyen tablas de requerimientos, diagramas de clases y códigos fuente para cada problema. Además, se discuten las conclusiones sobre la importancia de la programación orientada a objetos y la reutilización de código.

Cargado por

culopeludo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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

También podría gustarte