Vous êtes sur la page 1sur 12

COMPUTACIN Y ALGORITMOS

ESTRUCTURAS CONDICIONALES

Cajamarca 2016
EJERCICIO N 06
1

COMPUTACIN Y ALGORITMOS
Elabore un algoritmo que obtenga las races reales de una ecuacin de segundo
grado.
A) ANLISIS DEL PROBLEMA:
Sea:

Si discriminante (disc) > 0, existen dos races reales y diferentes,


Que se calcula como:

x 1=

b+ b 24 ac
2a

x 2=

b b24 ac
2a

Si discriminante (disc) = 0, existen dos races reales e iguales,


Que se calcula como:

x1 = x2 =

b
2a

b+ b 24 ac
x 1=
2a
a, b, c

X1, X2

b b 4 ac
2a
2

x 2=

x1 = x2
B) DISEO DEL ALGORITMO
Pseudocdigo

Inicio
Real a, b, c,

x1 ,

x2

Leer
a, b, c
si disc > 0, entonces:

x 1=

b+ b 24 ac
2a

x 2=

b b24 ac
2a
si disc = 0, entonces:

COMPUTACIN Y ALGORITMOS

x1 = x2 =

b
2a

Fin si
Fin si
Escribir Races reales ,

x1 ,

x2

C) PRUEBA DE ESCRITORIO

X1

X2

-1

-4

PANTALLA
Races reales:
x1= -1 y x2=
-2
El coeficiente cuadrtico debe ser
diferente de 0
Error al ingresar valores, ingrese
nuevamente

D) CODIFICACIN EN C#
static void Main(string[] args)
{ Console.WriteLine("Ingresa coeficiente cuadrtico");
double a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Ingresa coeficiente lineal");
double b = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Ingresa constante");
double c = Convert.ToDouble(Console.ReadLine());
double disc = Math.Pow(b, 2) - 4 * a * c;
if (a != 0)
{
if (disc < 0)
{
Console.WriteLine("Error al ingresar valores, ingrese nuevamente");
}
else
{ double x1 = (-b + Math.Sqrt(disc)) / (2 * a);
double x2 = (-b - Math.Sqrt(disc)) / (2 * a);
Console.WriteLine("X1 = " + x1 + " X2 = " + x2);
}
}
else
{
Console.WriteLine("El coeficiente cuadrtico debe ser diferente de 0");
}
Console.ReadLine();

COMPUTACIN Y ALGORITMOS
}
}
}

EJERCICIO N 07
Un ao bisiesto es aquel que tiene 366 das. Mediante un decreto del Papa Gregorio
XIII, dado en 1582, se reforma el Calendario Juliano que nos regia, para que pasen a
considerarse bisiestos aquellos aos mltiplos de 4, pero no los mltiplos de 100,
excepto los mltiplos de 400. Escriba un algoritmo que diga si un ao es o no es
bisiesto.

A) ANLISIS DEL PROBLEMA:


Sea:

Si A es mltiplo (MOD) de 4, A es bisiesto.


Si A es mltiplo (MOD) de 100, A no es bisiesto.
Si A es mltiplo (MOD) de 400, A es bisiesto.

A MOD 4 = 0

A MOD 100 = 0
A MOD 400 = 0

B) DISEO DEL ALGORITMO:


Diagrama de Flujo

A1

A2

COMPUTACIN Y ALGORITMOS

C) PRUEBA DE ESCRITORIO

PANTALLA

2000

El ao 2000 si es bisiesto

200

El ao 200 no es bisiesto

2015

El ao 2015 no es bisiesto

D) CODIFICACIN EN C#
static void Main(string[] args)

{//DECLARACIN DE VARIABLES
int A;
Console.WriteLine("Ingrese ao");
a = Convert.ToInt32(Console.ReadLine());
if(A % 4 == 0 && (A % 100 != 0 || A % 400 == 0))
{
Console.WriteLine("El ao "+A+" Si es bisiesto ");
}
else
{
Console.WriteLine("El ao " + A + " No es bisiesto ");
}
Console.ReadLine();
}
}
}

COMPUTACIN Y ALGORITMOS

EJERCICIO N10
El rendimiento de un alumno se califica segn lo siguiente:
Bueno

Si su promedio esta entre 16 y 20

Regular

Si su promedio esta entre 11 y 15

Deficiente

Si su promedio esta entre 6 y 10

Psimo

Si su promedio esta entre 0 y 5

A. ANALISIS DEL PROBLEMA


Sea:
Prom = la nota promedio del alumno
Si (Prom 5
prom

Si (Prom

10

Si ( Prom 15

B. DISEO DEL ALGORITMO


Pseudocdigo:
Inicio:
//declaracin de variables//
Real prom
//entrada de datos//
Leer prom
//proceso//
Si (prom 0

o prom 20) entonces

Escribir dato erroneo


Sino
Si (Prom 15 ) entonces
Escribir el rendimiento es bueno
6

Rendimiento

COMPUTACIN Y ALGORITMOS
Sino

10 entonces

Si (Prom

Escribir el rendimiento es regular


Sino
Si (Prom 5 entonces
Escribir el rendimiento es deficiente
Sino
Escribir el rendimiento es psimo
Finsi
FinSi
FinSi
FinSi
FIN

C. PRUEBA DE ESCRITORIO
RD = Prom
RP = Prom

10
5

Si (0>Prom

20

Prom

12

18

21

RR = Prom

15

Prom 5

PANTALLA

Rendimiento
psimo
Rendimiento
regular
Rendimiento
bueno
Dato errneo

COMPUTACIN Y ALGORITMOS

D. CODIFICACION EN C#

static void Main(string[] args)


{
double prom;
Console.WriteLine("ingrese promedio del alumno");
prom = Convert.ToDouble(Console.ReadLine());
if ((prom<0 || prom>20))
{
Console.WriteLine("dato erroneo");
}
else
if ((prom >=15))
{
Console.WriteLine("rendimiento es bueno");
}
else
if ((prom >=10))
{
Console.WriteLine("rendimiento es regular");
}
else
if ((prom >=5))
{
Console.WriteLine("rendimiento es deficiente");
}
else
{
Console.WriteLine("rendimiento es Psimo");
}
Console.Read();
}

COMPUTACIN Y ALGORITMOS
}
}

EJERCICIO N 16
Dada la hora del da en horas, minutos y segundos encuentre la hora del siguiente
segundo.
A) ANLISIS DEL PROBLEMA:

Sea:
h= hora

m = minutos

s = segundos
Se solicita al usuario ingrese la hora, minutos y se segundos, se captura
los valores en las variables h,m y s respectivamente,
Se compara si los segundos estn entre 59 y 0 (s<59 & s>=0)
Si es Verdadero (Si)
Se muestra la hora agregndole un segundo
Si es Falso (No)
Se llama a la subrutina segundo 59.

h < 24 & m <60 & s < 60

00h 00m 00s


(h+1) + h 00m 00s
h + h +(m+1) + m 00s

HORA

COMPUTACIN Y ALGORITMOS

B) DISEO DEL ALGORITMO


Diagrama de Flujo

INICIO
ALGORITMO

C) PRUEBA DE ESCRITORIO

PANTALLA

4h 5m 2s

10

COMPUTACIN Y ALGORITMOS

45

56

80

Fuera de rango

59

59

9h 00 m 00 s

45

59

5h 46m 00 s

D) CODIFICACIN EN C#
static void Main(string[] args)
{//Declaracin de Variable
double h, m, s;
Console.WriteLine("Ingresa Hora");
h = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Ingresa minuto");
m = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Ingresa segundo");
s = Convert.ToInt16(Console.ReadLine());
if (h < 24 && m < 60 && s < 60)
{

if (s < 59 && s >= 0)


{
Console.WriteLine(h + "h " + m + "m " + (s + 1) + "s");
}
else
{
if (s == 59)
{
if (m == 59)
{
if (h == 23)
{
Console.WriteLine("00h 00m 00s");
}
else
{
Console.WriteLine((h + 1) + "h 00m 00s");
}
}
else
{
Console.WriteLine(h + "h " + (m + 1) + "m 00s");
}
}
}

}
else
{
Console.WriteLine("Fuera de Rango");
}

11

COMPUTACIN Y ALGORITMOS

}
}

Console.ReadLine();

12

Vous aimerez peut-être aussi