0% encontró este documento útil (0 votos)
86 vistas10 páginas

DPRN1 U3 Ea Ygbl

Este documento presenta el código de un programa en C# que resuelve dos problemas utilizando condiciones y ciclos. El primer problema identifica si una foto es a color o blanco y negro analizando los pixeles. El segundo problema calcula la altura máxima de una pirámide que se puede construir con un número dado de cubos. El programa incluye un menú para seleccionar cuál de los dos problemas se desea ejecutar.
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
86 vistas10 páginas

DPRN1 U3 Ea Ygbl

Este documento presenta el código de un programa en C# que resuelve dos problemas utilizando condiciones y ciclos. El primer problema identifica si una foto es a color o blanco y negro analizando los pixeles. El segundo problema calcula la altura máxima de una pirámide que se puede construir con un número dado de cubos. El programa incluye un menú para seleccionar cuál de los dos problemas se desea ejecutar.
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 DOCX, PDF, TXT o lee en línea desde Scribd

Universidad Abierta y a Distancia de México

Programación NET I.

Unidad 3

Actividad EA: Programa en C# que utilice


condiciones y ciclos.

Alumno: Yair Gigael Basilio López

Matrícula: ES17200648
Tabla de contenido
Instrucciones:.............................................................................................................3
Problema 1.................................................................................................................3
Problema 2.................................................................................................................4
Código........................................................................................................................5
Pantallas de funcionamiento del programa...............................................................8
Referencias..............................................................................................................10
Instrucciones:
Analiza cada uno de los problemas siguientes, para ello puedes apoyarte de
diagramas de flujo, historias de usuario, pseudocódigo u otro elemento que te
facilite la comprensión del problema, la solución de los mismos debe incluir
estructuras de control cíclicas y/o estructuras de control selectivas cíclicas y
cíclicas.

Problema 1
Un fotógrafo tomó muchas fotografías en películas en color y en blanco y negro.
Luego lo desarrolló y tradujo a una forma digital. Pero ahora, las fotos en color y
en blanco y negro están en una carpeta y, para ordenarlas, ¡es necesario dedicar
mucho tiempo!

Debes ayudarlo de la siguiente forma aplicando tu conocimiento en programación.

La foto se puede representar como una matriz de tamaño n × m, y cada elemento


de la matriz almacena un símbolo que indica el color de píxel correspondiente.
Solo hay 6 colores:

 'C' (cian)
 'M' (magenta)
 'Y' (amarillo)
 'W' (blanco)
 'G' (gris)
 'B' (negro)

La foto se considera en blanco y negro si solo tiene píxeles blancos, negros y


grises. Si hay alguno de los píxeles cian, magenta o amarillo en la foto, se
considera en color.

Entrada

La primera línea de la entrada contiene dos números enteros n y m (1 ≤ n, m ≤


100): el número de filas y columnas de la matriz de píxeles de la foto,
respectivamente.

Luego siguen n líneas que describen filas de matriz. Cada uno de ellos contiene m
caracteres separados por espacios que describen los colores de los píxeles en
una fila. Cada carácter de la línea es uno de los 'C', 'M', 'Y', 'W', 'G' o 'B'.
Salida

Imprime el "# Blanco y Negro" (sin comillas), si la foto es en blanco y negro y el


"#Color" (sin comillas), si es de color, en la única línea.

Problema 2
Tiene n cubos. Decidió construir una pirámide a partir de ellos. Quiere construir la
pirámide de la siguiente manera: el nivel superior de la pirámide debe constar de 1
cubo, el segundo nivel debe constar de 1 + 2 = 3 cubos, el tercer nivel debe tener
1 + 2 + 3 = 6 cubos, y así sucesivamente. Por lo tanto, el i-ésimo nivel de la
pirámide debe tener 1 + 2 + ... + (i - 1) + i cubos.

Quiere saber cuál es la altura máxima de la pirámide que puede hacer usando los
cubos dados.

Entrada

La primera línea contiene el número entero n (1 ≤ n ≤ 104), el número de cubos


que le dio el usuario.

Salida

Imprime la altura máxima posible de la pirámide en una sola línea.


Código.
Solución de ambos problemas con un menú que nos ayuda a seleccionar cual de
ambos problemas queremos ingresar la información para que sea procesada.
using System;

namespace U3EvidenciaAprendizaje
{
class EvidenciAprendizaje
{
public void fotoIdentificador()
{
int n, m;
String tipoFoto = "";
Console.WriteLine("Ingrese los siguientes datos de la matriz: ");
Console.Write("ingrese el numero de FILAS: ");
n = Convert.ToInt32(Console.ReadLine());
Console.Write("ingrese el numero de COLUMNAS: ");
m = Convert.ToInt32(Console.ReadLine());
String[,] pixeles = new String[n,m];

if (n >= 1 && n <= 100 && m >= 1 && m <= 100)


{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
Console.Write("Ingrese los valores de la FILA " + (i + 1) +
" Columna " + (j + 1) +": ");
pixeles[i, j] = Console.ReadLine();
}
}

Console.WriteLine("Foto ingresada: ");


for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
Console.Write(pixeles[i, j] + " ");
}
Console.WriteLine();
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
if (pixeles[i, j] == "W" || pixeles[i, j] == "G" ||
pixeles[i, j] == "B")
{
tipoFoto = "#Blanco y negro";
}
else if (pixeles[i, j] == "C" || pixeles[i, j] == "M" ||
pixeles[i, j] == "Y")
{
tipoFoto = "#Color";
break;
}
else
{
tipoFoto = "FOTO INVALIDA";
}
}
if (tipoFoto == "#Color")
{
break;
}
}
Console.WriteLine("La foto es: " + tipoFoto + "\n");
}
else
{
Console.WriteLine("Numeros de FILAS o CILUMNAS muy altos o
invalidos, INTENTA OTRA VEZ \n");
}
}
public void piramide()
{
int x;
Console.WriteLine("Ingrese el número de cajas con las que se armará la
piramide, (X >= 1 y X <= 104) ");
x = Convert.ToInt32(Console.ReadLine());

if (x == 1)
{
Console.WriteLine("Altura de piramide: 1 nivel \n");
}
else if (x >= 4 && x <= 9)
{
Console.WriteLine("Altura de piramide: 2 niveles \n");
}
else if (x >= 10 && x <= 19)
{
Console.WriteLine("Altura de piramide: 3 niveles \n");
}
else if (x >= 20 && x <= 34)
{
Console.WriteLine("Altura de piramide: 4 niveles \n");
}
else if (x >= 35 && x <= 55)
{
Console.WriteLine("Altura de piramide: 5 niveles \n");
}
else if (x >= 56 && x <= 83)
{
Console.WriteLine("Altura de piramide: 6 niveles\n");
}
else if (x >= 84 && x <= 104)
{
Console.WriteLine("Altura de piramide: 7 niveles \n");
}
else if (x > 104)
{
Console.WriteLine("Numero muy alto intenta otra vez \n");
}
else
{
Console.WriteLine("Numero invalido, INTENTA OTRA VEZ \n");
}
}
static void Main(string[] args)
{
EvidenciAprendizaje z = new EvidenciAprendizaje();
int opcion = 0;

do
{
Console.WriteLine("Elija una opción: ");
Console.WriteLine("1.- Revisar Foto");
Console.WriteLine("2.- Piramide de cajas");
Console.WriteLine("3.- Salir \n");
opcion = int.Parse(Console.ReadLine());
Console.WriteLine();

switch (opcion)
{
case 1:
z.fotoIdentificador();
break;

case 2:
z.piramide();
break;

case 3:
break;

default:
Console.WriteLine("OPCION NO VALIDA, INTENTA OTRA VEZ" +
"\n");
break;
}
} while (opcion != 3);
}
}
}
Pantallas de funcionamiento del programa.
Referencias
MyCyberAcademy. (09 de Febrero de 2013). YouTube. Obtenido de Tutorial C# -
13 - Ciclo FOR: https://www.youtube.com/watch?v=BjewFZKBsOo

UNADM. (2021). campus.unadmexico.mx. Obtenido de ampus.unadmexico.mx:


https://campus.unadmexico.mx/contenidos/DCEIT/BLOQUE1/DS/05/DPRN
1/U3/descargables/Unidad%203.%20Estructuras%20de%20control.pdf

También podría gustarte