Unidad 2 - Paso 3 - Estructuras de control y repetición con POO
Cristian Fernando Ledesma Ropero
213022_127 – FUNDAMENTOS DE PROGRAMACIÓN
Tutor
José del Carmen Gelvez
Universidad Nacional Abierta y a Distancia-UNAD
ECBTI
Ingeniería de Sistemas
Palmira Valle del Cauca – Noviembre del 2022
INTRODUCCIÓN
1
En el presente trabajo se desarrollan lo ejercicios propuestos en la guía
de fundamento de programación, los cuales se deben desarrollar
aplicando lo conocimientos adquiridos sobre las estructuras de control y
los ciclos repetitivos, realizando diferentes formas de aplicación y
resolviendo sus diagramas de clases y tabla de requerimientos para
cada uno.
Objetivos
2
Conocer los datos de control de c# a través de get y el set
Entender como funcionan y se aplica las estructuras de repetición
del for, el while y el do while
Universidad Nacional Abierta y a Distancia
3
Vicerrectoría Académica y de Investigación
Curso: Fundamentos de Programación
Código: 213022
Actividad 1
Tabla 1 Información situación problema a resolver
Estudiante Problema asignado
Cristhian Fernando Ledesma Se selecciono el problema 4 y 6
Ropero
1.114.1819.562
Actividad 2
TABLA DE REQUERIMIENTOS EJERCICIO 4
Id requerimiento Descripción Entrada Resultados (salidas)
R1 Crear un objeto de Iniciar un objeto de
tipo Capicua tipo Capicua num =
new Capicua();
R2 Capturar y validar un Numero entero o Si el numero
numero entre 0 y ingresado por el ingresado por el
1000 usuario usuario es verdadero,
se usa y después se
repite hasta que se
termine el programa.
R3 Invertir el numero Numero digitado por Se usa el método
para verificar si el el usuario numero invertido y Se
número es Capicua devuelve el número
ingresado de forma
invertida.
R4 Verificar si el número numero ingresado en Se usa el método
es capicua método numero capicúa para verificar
invertido si el numero se lee
igual de derecha a
izquierda y de
izquierda a derecha.
4
R5 Calcular las centenas, Numero capicúa Se calcula a través del
decenas y unidades. almacenado en la método DCU las
variable numero decenas centenas y
unidades. Si el
numero no es capicúa
envía un mensaje que
no se realiza el
cálculo.
R6 Mostar en pantalla el Resultados de los Muestra el resultado
resultado métodos numero obtenido por los
invertido, capicúa y cálculos de los
DCU. métodos, numero
invertido, capicúa y
DCU
TABLA DE REQUERIMIENTOS EJERCICIO 6
Id requerimiento Descripción Entrada Resultados (salidas)
R1 Crear un objeto de Iniciar un objeto de
tipo Raiz tipo Raiz
Raiz r = new Raiz();
R2 Capturar un numero Numero entero o se usa el método
entero o decimal decimal ingresado por setNumx( double c)
el usuario para guardar en
memoria el Raiz
R3 Verificar que el Numero digitado por el condicional if se
numero ingresado sea el usuario encarga de verificar si
del 1 al 9 el numero es >=1 o
<=9,
R4 Capturar por teclado Numero digitado por Ciclo for se encarga
6 números digitados el usuario de repetir el
por el usuario procedimiento 6
veces para capturar
los numeros esa
cantidad de veces, , si
el numero no es
correcto no lo suma.
R5 Hallar la raíz cuadrada Numero almacenado Se llama el método
al numero dado por el en u objeto tipo Raiz raizcua () quien se
usuario encarga de realizar el
calculo y retorna el
cual se almacena en
una variable de tipo
float llamada r
5
R6 Mostar en pantalla el Numero enviado por Impirmir resultado de
resultado la varable llamada r la operación o
mensaje de
advertencia que no es
el numero requerido
Actividad 3
Escuela Académica: Escuela de Ciencias Básicas,
Tecnología e Ingeniería - ECBTI
Programa de Ingeniería de Sistemas
Formación:
Fecha del Informe: 30/10/2022
Identificación: 1114819562
Estudiante: Cristhian Fernando Ledesma Ropero
Grupo: 213022_127
Problemas elegidos: Ejercicios 4 y 6.
¿Este producto presentado es de autoría propia y S x N
no es tomado de otros trabajos realizados en I O
plataforma? Marque la casilla que corresponda.
Diagrama de Clase – Problema 4
DIAGRAMA DE CLASES EJERCICIO 4
capicúa Nombre de la clase
cuadra: int Atributos
+setNumero(int n): void
+Getnumero(): int Métodos
+numeroinvertido(): int
+capicua():int
+validar():void
+DCU():int
Diagrama de Clase – Problema 6
DIAGRAMA DE CLASES EJERCICIO 6
6
Raiz Nombre de la clase
c: double Atributos
+setNumx(double c): void
+Getnumx(): double Métodos
+raízcua():
Actividad 4:
Ejercicios Numero 4
/* Capturar por teclado un número capicúa positivo menor que 1000 y hallar su centena, decenas y unidades e
imprimirlas por pantalla.
* Autor: Cristian Fernando Ledesma Ropero
* Grupo: 213022_127
* Progrma: Ingenieria en sistemas
* Codigo fuente: autoria propia
*/
using System;
using [Link];
using [Link];
using [Link];
using [Link];
namespace numerocapicua
{
internal class Program
{
class Capicua
{
private int numero;
static void Main(string[] args)
{
Capicua num = new Capicua();
[Link](" ****PROGRAMA PARA HALLAR LAS CENTENAS, DECENAS Y
UNIDADES DE UN NUMERO CAPICUA****" +"\n" );
for (int i = 0; i < 5; i++)
{
[Link]();
[Link](" El numero invertido es: " + [Link]());
if ([Link]() == 1)
{
[Link](" EL numero " + [Link]() + " es capicua ");
7
}
else
{
[Link](" El numero no es capicua ");
}
[Link]();
}
}
public Capicua()
{
}
public void setNumero(int n)
{ numero = n; }
public int getNumero()
{ return numero; }
public int numeroinvertido()
{
int ninvertir = 0, dig, aux;
aux = numero;
while (aux > 0)
{
dig = aux % 10;
aux = aux / 10;
ninvertir = ninvertir * 10 + dig;
}
return ninvertir;
}
public int capicua()
{
if (numeroinvertido() == numero)
return 1;
else
return 0;
}
public void validar()
{
do
{
[Link](" Ingrese un numero entre 0 y 1000, estos pueden estar incluidos: ");
numero = [Link]([Link]());
} while (numero < 1000);
}
public void DCU()
{
int decenas, centenas, unidades;
if (numero == numeroinvertido())
{
centenas = numero / 100;
numero = numero % 100;
[Link](" El valor de la centena es: " + centenas);
8
decenas = numero / 10;
[Link](" El valor de la decena es: " + decenas);
unidades = numero % 10;
[Link](" El valor de la unidad es: " + unidades);
}
else
{
[Link](" Como no es Capicua no se realiza calculo de las decenas centenas y
unidades");
}
}
}
}
}
Ejercicios número 6
/*Ejercicio 6:Diseñar un algoritmo que capture por teclado 6 dígitos del 1 al 9 ambos incluidos y halle su raíz
cuadrada. Mostrar por pantalla el número capturado y la raíz cuadrada.
* Autor: Cristian Fernando Ledesma Ropero
* Grupo: 213022_127
* Progrma: Ingenieria en sistemas
* Codigo fuente: autoria propia
*/
namespace raizcuadrada
{
internal class Program
{
class Raiz
{
private double cuadrada;
static void Main(string[] args)
{
Raiz r = new Raiz();
[Link](" ****PROGRAMA PARA HALLAR LA RAIZ CUADRADA**** ");
[Link](" =============================================");
[Link]();
}
public Raiz()
{
}
public void setNumx(double c)
{ cuadrada = c; }
public double getNumx()
{ return cuadrada; }
public void raizcua()
{
int i;
double aux;
9
aux = cuadrada;
for (i = 1; i <= 6; i++)
{
[Link](" Ingrese un digito del 1 al 9: ");
cuadrada = [Link]([Link]());
if (cuadrada >= 1 && cuadrada <= 9)
{
aux = [Link](cuadrada);
[Link](" La raiz Cuadrada de: " + cuadrada + " es: " + aux);
}
else
{
[Link](" El numero ingresado no es valido.");
i = i - 1;
}
}
}
}
}
}
Conclusiones
Las estructuras de control son Importante herramientas para poder
desarrollar los ejercicios y requerimientos de cada programa o
problema, poder proteger los datos, especificando sus puertas de
entrada, es importante saber distinguir los diferentes tipos de datos,
clase, métodos y atributos para que fluya de manera coherente el
programa.
De la misma manera es importante saber sobre las formas de aplicar lo
ciclos repetitivos, ya que estos nos ayudan mucho a ahorrar trabajo y
tiempo.
10
BIBLIOGRAFÍA
López Goytia, J. L. (2015). Programación orientada a
objetos C++ y Java: un acercamiento
interdisciplinario. (pp. 61). [Link]
[Link]/es/ereader/unad/39461?
page=29
López, I. (2018, Julio 3), Estructura Cíclicas.
[OVI]. Repositorio Institucional Unad.
[Link]
Oviedo, R. E. (2015). Lógica de programación orientada a
objetos. (pp. 71 -
11
178). [Link]
reader/unad/70431?page=71
12