Ejercicios de Programación en C#
Ejercicios de Programación en C#
Ejercicios de Programación en C#
Pg. 1 de 32
Pg. 2 de 32
Problema N1
Desarrolle un programa que ingresando dos nmeros enteros, calcule la sumatoria de todos los
nmeros entre estos, extremos incluidos, excepto si se encuentra el nmero siete en el intervalo,
este no se sumar.
a. Anlisis:
Relacin:
b
i
i=a
b. Estrategia:
Calcular sumatoria
Mostrar resultado
c. Ambiente:
Variabl
e
a
b
Tipo
Significado
Ente
ra
Ente
ra
Extremo inferior de la
sumatoria.
Extremo superior de la
sumatoria.
Pg. 3 de 32
d. Diagrama de Flujo:
a1 a1+i
Pg. 4 de 32
a1
a2
#
8
8
8
17
17
20
20
-17
#
8
8
8
8
8
2
6
-8
Salida
#
#
#
9
9
9
6
2
-10
f. Implementacin en C#:
namespace Sumatoria_entre_2_numeros
{
class Program
{
static void Main(string[] args)
{
int a1, a2, b;
Console.WriteLine("Introduzca primer numero la sumatoria");
a1 = a2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Introduzca segundo numero de la sumatoria");
b = Convert.ToInt32(Console.ReadLine());
if (a1 < b);
else
{
a1 = b;
b = a2;
}
for (int i = a1+1; i<=b; i++)
{
if (i == 7)
{}
else
a1 = a1 + i;
}
Console.WriteLine("La sumatoria entre los nmeros enteros dados es: {0}", a1);
Console.ReadKey();
}
Pg. 5 de 32
a. Anlisis
b. Estrategia
Notas
Calcular promedio
Mostrar resultado
c. Ambiente
Variabl
e
a
NA
NI
P
suma
Tipo
Ente
ra
Ente
ra
Doub
le
Doub
le
Doub
le
Significado
Bandera
Cantidad de alumnos
Nota de cada examen
Promedio
Sumatoria de las notas
Pg. 6 de 32
Ingrese cant
Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica
La nota promedio del examen es:,
P
El programa calcula la nota promedio del examen
PROGRAMACIN EN COMPUTACIN - 2014
Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala
NI
Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS
Do
suma suma +NI
a++
P suma / NA
Fin
d. Diagrama de Flujo
e. Prueba de escritorio
Pas
o
1
2
3
4
5
6
NA
NI
#
#
2
2
2
2
2
2
2
2
2
2
2
#
#
#
#
#
8
8
8
8
7
7
7
7
sum
a
#
#
#
0
0
0
8
8
8
8
15
15
15
15
Salida
#
#
#
#
#
#
#
#
#
#
#
#
7,
5
7,
5
0
0
0
0
0
0
0
1
1
1
1
2
2
El promedio es 7,5.
f. Implementacin en C#:
Alumno: BRADL, Christian
Pg. 7 de 32
}
}
Pg. 8 de 32
a. Anlisis
b. Estrategia
Juega al tres en lnea
Generar 9 nmeros aleatorios con una posicin fija
Si hay tres nmeros iguales en lnea
Determinar
Cantidad de jugadas realizadas
c. Ambiente
Variabl
e
mat[,]
CON
b
ren
col
Tipo
Significado
Entera[
3,3]
Entera
Entera
Entera
Entera
Pg. 9 de 32
CON 0
Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica
Fin for
Fin for
Fin
d. Diagrama de Flujo
Pg. 10 de 32
CO
N
ren
col
mat[ren,col] Salida
1
2
3
0
0
0
#
1
1
#
#
#
#
#
#
#
#
#
4
5
6
7
8
9
10
67
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
#
0
0
1
1
2
2
#
#
1
#
2
#
5
#
#
Para jugar al tres en lnea presione cualquier
tecla
#
#
#
#
#
#
#
#
Usted ha ganado en 3 intentos
f. Implementacin en C#:
int[,] mat = new int[3, 3];
int ren, b = 0, CON=1;
Random r = new Random();
Console.WriteLine("Para jugar al tres en linea, presione cualquier tecla");
Console.ReadKey();
do
{
for(ren=0;ren<3;ren++)
{
for (int col = 0; col < 3; col++)
{
mat[ren, col] = r.Next(1, 6);
};
};
if(
{
}
(mat[0,0]==1&&mat[0,1]==1&&mat[0,2]==1)||
(mat[1,0]==1&&mat[1,1]==1&&mat[1,2]==1)||
(mat[2,0]==1&&mat[2,1]==1&&mat[2,2]==1)||
(mat[0,0]==1&&mat[1,0]==1&&mat[2,0]==1)||
(mat[0,1]==1&&mat[1,1]==1&&mat[2,1]==1)||
(mat[0,2]==1&&mat[1,2]==1&&mat[2,2]==1)||
(mat[2,0]==1&&mat[1,1]==1&&mat[0,2]==1)||
(mat[0,0]==1&&mat[1,1]==1&&mat[2,2]==1)
)
b = 1;
Console.WriteLine("Usted ha ganado en {0} intentos", CON);
else
CON++;
} while(b==0);
Console.ReadKey();
Pg. 11 de 32
2) Anlisis
Datos:
-
Extremo inferior
Extremo superior
Intervalos de integracin
Funcin: y=log (x)*ex
Relaciones:
-
rea=
Extremo superior
Extremo inferior
3) Estrategia:
Conocer
Extremo inferior
Extremo superior
Calcular
Base
Mostrar
rea
Intervalo evaluado
Altura de la grfica
Intervalos de integracin
rea
Pg. 12 de 32
Tipo
Significado
a
b
n
x
h
Real
Real
Entera
Real
Real
bas
altura
area
Real
Real
Real
Extremo inferior
Extremo superior
Intervalos de integracn
Valor de x
Valor de y (altura de la grfica en el
punto dado)
Base de los intervalos
Sumatoria de alturas
rea bajo la curva
5) Diagrama de flujo:
Inicio
No
Si
a>0&&n>0&&b>a
Pg. 13 de 32
Bas <- (b
For:dex=a+bas/2
No se puede calcular, posible error: Extremo inferior menor o igual a 0, extremo superior menor o igual a extremo inferior o nmero
intervalos
h= log
Fin f
Fin
Pg. 14 de 32
b
2
n
100
0,5
1000
-1
10
10
Salida
El rea bajo la curva
es de 2,0658 UDS
El rea bajo la curva
es de 13,7294 UDS
No se puede
calcular []
No se puede
calcular []
7) Implementacin en C#:
double a, b, x, h, bas, area = 0;
int n;
Console.WriteLine("Ingrese extremo inferior del intervalo\n(numero entero mayor a 0)");
a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Ingrese extremo superior del intervalo");
b = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Ingrese cantidad de intervalos de integracion\n(mientras mas intervalos
menor error)");
n = Convert.ToInt32(Console.ReadLine());
if (a > 0 && n > 0 && (b - a) > 0)
{
bas = (b - a) / n;
for (x = a + (bas / 2); x < b; x = x + bas)
{
h = Math.Log(x) * Math.Exp(x);
area = area + (bas * h);
}
Console.WriteLine("El area bajo la curva es de {0} UDS", area);
}
else
{
Console.WriteLine("No se puede calcular, posible error:\nExtremo inferior menor o igual a
0,\nextremo superior menor o igual a extremo inferior\nnmero de intervalos no dado");
}
Console.ReadKey();
Pg. 15 de 32
a. Analisis:
Datos:
- Base
- Exponente
Incgnita: Resultado
Relacin:
- be=b*b*b*b**b (b multiplicado por si mismo e veces)
- be=r con la condicin r<99000
b. Estrategia:
Operacin exponencial
Conocer
Calcular
Base
Mostrar
Resultado
Resultado
Exponente
c. Ambiente:
Nombre
Tipo
Significado
b
e
r
i
Real
Entera
Real
Entera
Base
Exponente
Resultado
Bandera
Pg. 16 de 32
d. Diagrama de flujo:
Inicio
El programa calcular la potencia b^e, en caso que el resultado sea mayor a 99.000 se pedirn los datos nuevamente;
do
r <- 1
r <- r * b
Fin for
Pg. 17 de 32
Fin do
Fin
e. Prueba de escritorio:
b
Salida
3
3
3
3
3
1
15
5
5
5
543
5
243
243
1
75937
5
f. Implementacin en C#:
decimal b, r;
int e;
Console.WriteLine("El programa calcular la potencia b^e\nEn caso que el resultado sea
mayor a 99.000, se pedira volver a cargar los datos ");
do
{
Console.Write("Ingrese la base de la potencia, b:");
b = Convert.ToDecimal(Console.ReadLine());
Console.Write("Ingrese el indice de la potencia, e:");
e = Convert.ToInt32(Console.ReadLine());
r = 1;
for (int i = 0; i < e; i++)
{
r = r * b;
}
} while (r > 99000);
Console.Write("El resultado de la operacion es: {0}^{1} = {2}", b, e, r);
Console.ReadKey();
Pg. 18 de 32
a. Anlisis:
Datos:
Coeficientes de la funcin
Extremos del intervalo
Incgnita: Valor de la raz de la funcin.
Nombre
Tipo
Significado
a
Real
Coeficiente de x5
b
Real
Coeficiente de x4
c
Real
Coeficiente de x3
Calculo de raz de la funcin
d
Real
Coeficiente de x2
e
Real
Coeficiente de x
f
Real
Termino independiente
Conocer
Calcular
Mostrar
LI
Real
Lmite inferior
LS
Real
Lmite superior
fLI
Real
Valor de y en el lmite inferior evaluado
Coeficientes
Raz
Resultado
fLS
Real
Valor de y en el lmite superior evaluado
fR
Real
Valor de y en el punto medio del intervalo
Extremos del intervalo
R
Real
Resultado
error
Real
Error o precisin
RI
Entera
Bandera
D
Real
Determinante
Relacin:
a x 5+ b x 4 +c x 3 +d x 2+ ex+ f =0
b. Estrategia:
c. Ambiente:
Pg. 19 de 32
Este programa calcular la raiz de una funcion polinomica por el metodo de la biseccin;
error
Pg. 20 de 32
do
c*LS3+ d*LS2+e*LS+f
No
Si
(fLI > 0&&fLS > 0)|| (fLI < 0&&fLS < 0)
Pg. 21 de 32
RI <- 2
RI <- 1
do
R <- (LS+LI)/2
fR <- a*R5+
No
Si
D<0
LI <- R
LS <- R
Fin do
While (RI == 2)
Fin do
Fin
Pg. 22 de 32
a
1
b
2
c
-3
d
4
e
5
f
-6
LI
-4
LS
1
R
-3.1406
Salida
La raz se encuentra en x= -3.1406
-3
-6
0.7812
-3
-6
10
f. Implementacin en C#:
double a, b, c, d, e, f, LI, LS, fLI, fLS, fR, R, error;
int RI;
Console.WriteLine("Este programa calcular la raiz de una funcion
polinomica por el metodo de la biseccion");
Console.WriteLine("Introduzca la precision requerida (ej.:0.001");
error = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("La funcion tiene la forma: a x^5 + b x^4 + c x^3 +
d x^2 + e x + f");
Console.Write("Ingrese coeficiente a:");
a = Convert.ToDouble(Console.ReadLine());
Console.Write("Ingrese coeficiente b:");
b = Convert.ToDouble(Console.ReadLine());
Console.Write("Ingrese coeficiente c:");
c = Convert.ToDouble(Console.ReadLine());
Console.Write("Ingrese coeficiente d:");
d = Convert.ToDouble(Console.ReadLine());
Console.Write("Ingrese coeficiente e:");
e = Convert.ToDouble(Console.ReadLine());
Console.Write("Ingrese coeficiente f:");
f = Convert.ToDouble(Console.ReadLine());
do
{
Pg. 23 de 32
Pg. 24 de 32
a. Anlisis:
b. Estrategia:
Tabla de multiplicar
Conocer
Calcular
Tabla solicitada
Mostrar
Productos
Tabla de productos
c. Ambiente
Nombr
e
Tipo
Significado
a
r
i
Natural
Natural
Entera
Pg. 25 de 32
a x i = r
Introduzca el nmero de la tabla solicitada
Fin for
Fin
d. Diagrama de flujo:
e. Prueba de escritorio:
Pas
o
1
Salida
2
10
2x1=2
2x2=3
2x3=6
2x4=8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10 = 20
f. Implementacin en C#:
int a, r;
Console.WriteLine("Introduzca el numero de la tabla solicitada");
a=Convert.ToInt32(Console.ReadLine());
for(int i=1;i<11;i++)
{
r = a * i;
Console.WriteLine("{0} x {1} = {2}", a, i, r);
}
Console.ReadKey();
g.
Pg. 26 de 32
a. Anlisis
b. Estrategia
Calcular
suma
promedio
suma
Mostrar resultado
promedio
c. Ambiente
Variabl
e
suma
promed
io
a
num
Tipo
Significado
Real
Sumatoria.
Real
Promedio.
Natur
al
Natur
al
Bandera.
Numero.
Pg. 27 de 32
Pg. 28 de 32
Fin
Pg. 29 de 32
Pg. 30 de 32
suma
1500
0
1500
0
7501
2
7474
7
promedi
o
5,0008
4,983133
Salida
La sumatoria es: 75012
El promedio es: 5,0008
La sumatoria es: 74747
El promedio es: 4,983133
f. Implementacin en C#:
namespace ConsoleApplication1
{
class Program
Do
{
static void Main(string[] args)
{
decimal suma, promedio;
int a, num;
a = 0;
suma = 0;
Console.WriteLine("El programa genera 15000 nmeros aleatorios,\ncalcula la sumatoria y el
promedio de dichos numeros");
Random r = new Random();
do
{
num = r.Next(0, 11);
a = a+1;
suma = suma + num;
}
while (a < 15000);
Console.WriteLine("La sumatoria es {0}", suma);
promedio = suma / a;
Console.WriteLine("El promedio es {0}", promedio);
Console.ReadKey();
}
}
suma 0
Pg. 31 de 32
promedio suma/a
While: a<15000
a++
Pg. 32 de 32