Ejercicios de Programación en C#

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


OBJETIVOS:
Que el alumno afiance y ampli los conocimientos expuestos en la clase terica.
Aplicacin de estructuras iterativas a problemas de tipo repetitivo.
CONCEPTOS PREVIOS:
Resolucin de problemas, estrategia y algoritmos
Tipos de informacin
Estructuras Condicionales, estructuras iterativas.
Resolucin de sistemas lineales
Nota:
En los siguientes ejercicios se pide realizar los pasos necesarios que permitan la resolucin del
problema (Anlisis, Estrategia, Ambiente, Diagrama de Flujo, Pruebe de escritorio,
Implementacin en C#).
Las frmulas que el alumno no conozca las deber investigar con la asistencia de Internet
PROBLEMAS:
1) 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.
2) Se requiere un software que calcule la nota promedio de un examen realizado a un curso.
Como datos se tendr el nmero de alumnos y la nota de cada uno, se deber comprobar que
las notas ingresadas estn en el intervalo 0<nota<10.
3) Implemente un programa que juegue tres en lnea en forma autnoma, o sea, se generarn tres
nmeros aleatorios entre 1 y 3(uno para cada fila) luego se comprobar que se cumpla alguna
de las opciones para que se encuentren en lnea, esta secuencia se ejecutar en forma
indefinida hasta que se acierte el juego, se contabilizaran las jugadas realizadas hasta acertar.
4) Evaluar el rea determinada por la grfica de la funcin y=log(x)*ex y el eje de abscisas entre
un lmite inferior y uno superior ingresado por el usuario, adems se pedir al usuario la
cantidad de intervalos de integracin.
5) Desarrollar un programa que ingresando la base (b) y el exponente (e), calcule el resultado
(r), be = r. Realizar el clculo con el uso de estructuras iterativas y en caso de que el resultado
sea mayor a 99.000 pedir los datos nuevamente.
Alumno: BRADL, Christian

Pg. 1 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS

6) Dada los coeficientes: a, b, c, d, e, y f de un ecuacin (a.x 5 + b.x4 + c.x3 + d.x2 + e.x + f = 0) y


un el intervalo [I , D] donde existe una raz, calcular dicho valor utilizando el mtodo de
biseccin (Efectuar la prueba de escritorio en el intervalo [-4,1] y la ecuacin
1.x5 + 2.x4 3.x3 + 4.x2 + 5.x 6 = 0).
7) Mostrar la tabla de multiplicar que requiera el usuario del programa. Mostrar la tabla
completa solicitada.
8) Generar 15000 nmeros aleatorios entre cero y diez, encontrar su suma y su promedio.
Comente el resultado obtenido.

Alumno: BRADL, Christian

Pg. 2 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


Resolucin de los Problemas:

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:

Datos: Extremos de la sumatoria (a y b).

Incgnita: Sumatoria de los nmeros contenidos entre los extremos, excluyendo el 7.

Relacin:
b

i
i=a

b. Estrategia:

Sumatoria entre dos nmeros


a
Conocer extremos

Calcular sumatoria
Mostrar resultado

c. Ambiente:
Variabl
e
a
b

Alumno: BRADL, Christian

Tipo

Significado

Ente
ra
Ente
ra

Extremo inferior de la
sumatoria.
Extremo superior de la
sumatoria.

Pg. 3 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


Fin Para

d. Diagrama de Flujo:

La sumatoria entre los nmeros dados es: a1

a1 a1+i

Alumno: BRADL, Christian

Pg. 4 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


e. Prueba de Escritorio
Pas
o
1
2
3
4
5
6
12
18
24

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

Introduzca primer nmero la sumatoria.


#
Introduzca segundo nmero de la sumatoria.
#
#
La sumatoria entre los nmeros enteros dados es: 17.
La sumatoria entre los nmeros enteros dados es: 20.
La sumatoria entre los nmeros enteros dados es: 20.
La sumatoria entre los nmeros enteros dados es: -27.

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();
}

Alumno: BRADL, Christian

Pg. 5 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


Problema N2
Se requiere un software que calcule la nota promedio de un examen realizado a un curso. Como datos
se tendr el nmero de alumnos y la nota de cada uno, se deber comprobar que las notas ingresadas
estn en el intervalo 0<nota<10.

a. Anlisis

Datos: Nmero de alumnos, notas.


Incgnita: Promedio
Relacin: notas /num . alumnos=Promedio

b. Estrategia

Promedio del examen


Cantidad de alumnos
Conocer

Notas

Calcular promedio
Mostrar resultado
c. Ambiente

Variabl
e
a
NA
NI
P
suma

Alumno: BRADL, Christian

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

Ayte.1: Ing. Carlos Fangauf

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 programa calcula la nota promedio del examen.


Introduzca el nmero de alumnos.
#
#
Ingrese una nota (entre 0 y 10). Alumno 1:
#
#
#
Ingrese un nota (entre 0 y 10). Alumno 2:
#
#
#
#

El promedio es 7,5.

f. Implementacin en C#:
Alumno: BRADL, Christian

Pg. 7 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


namespace Promedio_notas_parcial
{
class Program
{
static void Main(string[] args)
{
int a = 0, NA;
double NI, P, suma;
Console.WriteLine("El programa calcula la nota promedio del examen.");
Console.Write("Ingrese cantidad de alumnos:");
NA = Convert.ToInt32(Console.ReadLine());
suma = 0;
do
{
Console.Write("Ingrese una nota (entre 0 y 10). Alumno {0}: ", a+1);
NI = Convert.ToInt32(Console.ReadLine());
if (NI > 0 && NI < 10)
{
suma = suma + NI;
a++;
}
else
{
Console.WriteLine("La nota ingresada no es valida. Por favor, reingresela.");
}
}
while(a<NA);
P = suma / NA;

}
}

Console.WriteLine("El promedio es: {0:F2}", P);


Console.ReadKey();

Alumno: BRADL, Christian

Pg. 8 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


Problema N3
Implemente un programa que juegue tres en lnea en forma autnoma, o sea, se generarn tres
nmeros aleatorios entre 1 y 3(uno para cada fila) luego se comprobar que se cumpla alguna de las
opciones para que se encuentren en lnea, esta secuencia se ejecutar en forma indefinida hasta que se
acierte el juego, se contabilizaran las jugadas realizadas hasta acertar.

a. Anlisis

Datos: 9 nmeros variables, 8 posibles combinaciones.


Incgnita: Cantidad de jugadas necesarias para ganar
Relacin: cantidad de veces que se generan los nmeros es igual a la cantidad de jugadas.

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

Informar cantidad de jugadas

c. Ambiente

Variabl
e
mat[,]
CON
b
ren
col

Tipo

Significado

Entera[
3,3]
Entera
Entera
Entera
Entera

Matriz que contiene los


nmeros.
Contador de jugadas.
Bandera.
Rengln de la matriz.
Columna de la matriz.

Alumno: BRADL, Christian

Pg. 9 de 32

CON 0
Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS

for: col = 0; col < 3; col++

Fin for

Fin for

Fin

d. Diagrama de Flujo

Alumno: BRADL, Christian

Pg. 10 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


e. Prueba de escritorio
Pas
o

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();

Alumno: BRADL, Christian

Pg. 11 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


Problema N4
Evaluar el rea determinada por la grfica de la funcin y=log(x)*ex y el eje de abscisas entre un
lmite inferior y uno superior ingresado por el usuario, adems se pedir al usuario la cantidad de
intervalos de integracin.

2) Anlisis
Datos:
-

Extremo inferior
Extremo superior
Intervalos de integracin
Funcin: y=log (x)*ex

Incgnita: rea bajo la curva.

Relaciones:
-

Bases de intervalos=(extremo superior- extremo superior)/intervalos de integracin


Altura de la grfica= log (x)*ex

rea=

Extremo superior

Altura de la grafica *Base de intervalos

Extremo inferior

3) Estrategia:

rea bajo la grfica

Conocer

Extremo inferior

Extremo superior

Calcular

Base

Mostrar

rea

Intervalo evaluado
Altura de la grfica

Intervalos de integracin
rea

Alumno: BRADL, Christian

Pg. 12 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


4) Ambiente:
Nombre

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

Ingrese extremo inferior del intervalo (mayor a 0);

Ingrese extremo superior del intervalo;

Ingrese cantidad de intervalos de integracin (mientras ms intervalos menor es el error);

No

Si
a>0&&n>0&&b>a

Alumno: BRADL, Christian

Pg. 13 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS

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

area <- are

Fin f

El rea bajo la curva

Fin

Alumno: BRADL, Christian

Pg. 14 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


6) Prueba de escritorio:
a
1

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();

Alumno: BRADL, Christian

Pg. 15 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


Problema N5:
Desarrollar un programa que ingresando la base (b) y el exponente (e), calcule el resultado (r), be=r.
Realizar el clculo con el uso de estructuras iterativas y en el caso de que el resultado sea mayor a
99.000 pedir los datos nuevamente.

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

Alumno: BRADL, Christian

Pg. 16 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS

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

Ingrese la base de la potencia, b:;

Ingrese el exponente de la potencia, e:;

r <- 1

For ( i=0 ; i<e ; i++ )

r <- r * b

Fin for

Alumno: BRADL, Christian

Pg. 17 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS

While ( r > 99000 )

Fin do

El resultado de la operacin es:; b;^; e; =; r;

Fin

e. Prueba de escritorio:
b

Salida

3
3
3
3
3
1
15

5
5
5
543
5

243
243
1
75937
5

Ingrese la base de la potencia, b:


Ingrese el exponente de la potencia, e:
El resultado de la operacin es: 3^5=243
El resultado de la operacin es: 1^543=1
Ingrese la base de la potencia, b:

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();

Alumno: BRADL, Christian

Pg. 18 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


Problema N6
Dados los coeficientes: a, b, c, d, e y f de una ecuacin (a.x5+ b.x4+ c.x3+ d.x2+e.x+f=0) y un
intervalo [I , D] donde existe una raz, calcular dicho valor utilizando el mtodo de biseccin.

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:

Alumno: BRADL, Christian

Pg. 19 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


d. Diagrama de flujo:
Inicio

Este programa calcular la raiz de una funcion polinomica por el metodo de la biseccin;

Introduzca la presicin requerida (ej: 0.001);

error

La funcin tiene la forma:

a.x5+ b.x4+ c.x3+ d.x2+e.x+f=0;

Ingrese al coeficiente a:;


a

Ingrese al coeficiente b:;


b

Ingrese al coeficiente c:;


c

Ingrese al coeficiente d:;


d

Alumno: BRADL, Christian

Pg. 20 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS

Ingrese al coeficiente e:;


e

Ingrese al coeficiente f:;


f

do

Ingrese el lmite inferior del intervalo;


LI

Ingrese el limite superior del intervalo;


LS

fLI <- a*LI5+

b*LI4+ c*LI3+ d*LI2+e*LI+f

fLS <- a*LS5+ b*LS4+

c*LS3+ d*LS2+e*LS+f

No

Si
(fLI > 0&&fLS > 0)|| (fLI < 0&&fLS < 0)

Alumno: BRADL, Christian

Pg. 21 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS

RI <- 2

RI <- 1

do

R <- (LS+LI)/2

El intervalo dado no es vlido para la aplicacin del mtodo. Redefinir.


fLI <- a*LI5+

fLS <- a*LS5+

b*LI4+ c*LI3+ d*LI2+e*LI+f

b*LS4+ c*LS3+ d*LS2+e*LS+f

fR <- a*R5+

b*R4+ c*R3+ d*R2+e*R+f


D <- fLI*fR

No

Si
D<0

LI <- R

LS <- R

While (fR>error||fR< -error)

Fin do

La raz que se encuentra en el intervalo dado es x=; R

While (RI == 2)

Fin do

Fin

Alumno: BRADL, Christian

Pg. 22 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


e. Prueba de escritorio:
error
0.00
1
0.00
1
0.00
1

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

La raz se encuentra en x= 0.7812

-3

-6

10

El intervalo dado no es vlido para


la aplicacin del mtodo. Redefinir

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
{

Console.Write("Ingrese limite inferior del intervalo LI:");


LI = Convert.ToDouble(Console.ReadLine());
Console.Write("Ingrese limite superior del intervalo LS:");
LS = Convert.ToDouble(Console.ReadLine());

fLI = a * Math.Pow(LI, 5) + b * Math.Pow(LI, 4) + c *


Math.Pow(LI, 3) + d * LI * LI + e * LI + f;
fLS = a * Math.Pow(LS, 5) + b * Math.Pow(LS, 4) + c *
Math.Pow(LS, 3) + d * LS * LS + e * LS + f;
if ((fLI > 0 && fLS < 0) || (fLI < 0 && fLS > 0))
{
RI = 1;
do
{
R = (LS + LI) / 2;
fLI = a * Math.Pow(LI, 5) + b * Math.Pow(LI, 4) + c *
Math.Pow(LI, 3) + d * LI * LI + e * LI + f;
Alumno: BRADL, Christian

Pg. 23 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


fLS = a * Math.Pow(LS, 5) + b * Math.Pow(LS, 4) + c *
Math.Pow(LS, 3) + d * LS * LS + e * LS + f;
fR = a * Math.Pow(R, 5) + b * Math.Pow(R, 4) + c *
Math.Pow(R, 3) + d * R * R + e * R + f;
double D = fLI * fR;
if (D < 0)
LS = R;
else
LI = R;
} while (fR > error || fR < -error);
Console.WriteLine("La raiz que se encuentra en el intervalo
dado es x = {0}", R);
}
else
{
RI = 2;
Console.WriteLine("El intervalo dado no es valido para la
aplicacion del metodo. Redefinir.");
}
} while (RI == 2);
Console.ReadKey();

Alumno: BRADL, Christian

Pg. 24 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


Problema N7
Mostrar la tabla de multiplicar que requiera el usuario del programa. Mostrar la tabla completa
solicitada.

a. Anlisis:

Datos: Tabla solicitada.


Incgnita: Tabla de multiplicaciones.

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

Numero base de la tabla


Resultado del producto
Numero por el cual se multiplica.

Alumno: BRADL, Christian

Pg. 25 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS

a x i = r
Introduzca el nmero de la tabla solicitada
Fin for

Fin

for: i = 1; i < 11; i++


r a*i

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.

Alumno: BRADL, Christian

Pg. 26 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


Problema N8
Generar 15000 nmeros aleatorios entre cero y diez, encontrar su suma y su promedio. Comente el
resultado obtenido.

a. Anlisis

Datos: 15000 nmeros aleatorios.


Incgnita: Suma y promedio.
Relacin: ( numeros )/15000=Promedio

b. Estrategia

Suma y promedio de nmeros aleatorios


Generar 15000 nmeros aleatorios

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

Alumno: BRADL, Christian

Bandera.
Numero.

Pg. 27 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


d. Diagrama de Flujo

Alumno: BRADL, Christian

Pg. 28 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS

suma suma + num


La sumatoria es:, suma

Fin

Alumno: BRADL, Christian

Pg. 29 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS

Alumno: BRADL, Christian

Pg. 30 de 32

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


e. Prueba de escritorio
Pas
o
1
2

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

Alumno: BRADL, Christian

Pg. 31 de 32

promedio suma/a

Universidad Tecnolgica Nacional - Facultad Regional Paran - Ingeniera Electromecnica

PROGRAMACIN EN COMPUTACIN - 2014


Email: [email protected]
Prof. Adj.: Ing. Francisco A. Sala

Ayte.1: Ing. Carlos Fangauf

Trabajo Prctico N 3: ESTRUCTURAS ITERATIVAS


BIBLIOGRAFA:
Cornell, Gary. Delphi para programadores. Mc-Graw Hill
Moral, Victor. Delphi 4. Pretice Hall. 1.999
Teixeira, Steve; Pacheco, Xavier. Gua de desarrollo Delphi 5: Volumen I. Pretice Hall. 2.000
Teixeira, Steve; Pacheco, Xavier Gua de desarrollo Delphi 5: Volumen II. Pretice Hall. 2.000
Tucker, Bradley, Cupper. Lgica, resolucin de problemas, programas y computadoras. Pretice
Hall.
Castro, Cucker, Curso de programacin.Mc-Graw Hill.1993.
Joyanes Aguilar. Algoritmos y Estructuras de Datos .McGraw-Hill, 2005.
Fernndez, Oliver. Snchez. Algoritmos. Problemas resueltos y comentados Ed. Paraninfo. 1992.
Ian Craw, John Pulham. Alghoritms. University of Aberdeen , 1999
http://www.maths.abdn.ac.uk/~igc/tch/mx4002/notes/notes.html
FECHA DE ENTREGA:

While: a<15000

a++

Alumno: BRADL, Christian

Pg. 32 de 32

También podría gustarte