Documente Academic
Documente Profesional
Documente Cultură
FACULTAD DE INGENIERA
E.A.P. INGENIERA DE MINAS
EJERCICIO N 5:
-ordene de mayor a menor , 3 nmeros ingresados por teclado
A). ANLISIS DEL PROBLEMA:
Como se trata de 3 nmeros, sabemos que existen 3!= 3x2x1 = 6
posibilidades de ordenarlos.
Teniendo las siguientes posibles:
A>=B>=C
A>=C>=B
B>=A>=C
B>=C>=A
C>=B>=A
Sean:
A: primer nmero"
B: segundo nmero"
C: tercer nmero"
Datos de entrada: A, B, C
Datos de salida: El orden(A>=B>=C A>=C>=B
B>=C>=A C>=B>=A)
Proceso: A>=B>=C
C>=B>=A
A>=C>=B
A, B, C
B>=A>=C
B>=A>=C
B>=C>=A
A>=B>=C
A>=C>=B
B>=A>=C
B>=C>=A
EL ORDEN
C>=B>=A
C>=A>=B
B). DISEO DE ALGORITMO
PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Entero A, B, C
//Entrada de datos//
Leer A, B, C
//Proceso//
si(A>=b Y B>=C)
Escribir "El orden de mayor a menor es:",A,"_",B,"_",C
Computacin y algoritmos I
Computacin y algoritmos I
DIAGRAMA N-S
N de
ejec.
a>=b>=c
a>=c>=b
b>=a>=c
b>=c>=a
c>=a>=b
c>=b>=a
a=0
b=0
Pantalla
c=0
El orden es:
1.-
5>3>1
El orden es:
2.-
Computacin y algoritmos I
6>3>2
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace ejercicio_5
{
class Program
{
static void Main(string[] args)
{
//declaracion de variables
int a, b, c;
//entrada de datos
Console.WriteLine(Ingrese primer nmero:);
a=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(ingrese segundo nmero:);
b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(Ingrese tercer nmero:);
c = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(Los nmeros ordenados son:);
//proceso
if (a >= b && b >= c)
{
Console.WriteLine(a + ", " + b + ", " + c);
}
else
if (a >= c && c >= b)
{
Console.WriteLine(a + "," + c + ", " + b);
}
else
if (b >= a && a >= c)
{
Console.WriteLine(b + ", " + a + ", " + c);
}
else
if (b >= c && c >= a)
{
Console.WriteLine(b + ", " + c + ", " + a);
}
else
if (c >= a && a >= b)
{
Console.WriteLine(c + "," + a + ", " + b);
}
else
{
Console.WriteLine(c + "," + b + ", " + a);
Computacin y algoritmos I
Console.Read();
}
}
}
}
EJERCICIO # 6
Elabore un algoritmo que obtenga las races reales de una
ecuacin de segundo grado.
a) ANLISIS DEL PROBLEMA:
La forma general de una ecuacin de segundo grado es:
ax+bx+c=0
Completando cuadrados: ax + bx =-c multiplicando por 4a
4ax + 4abx = - 4ac sumando b a ambos lados 4ax+
4abx+b=-4ac + b
Factorizando:
2
(2ax + b)= b2 - 4acax + b = b 4 ac
De donde:
x=
b b24 ac
2a
2
Para que exista solucin, a<>b (para poder dividir) y b - 4ac
0, (para obtener la raz cuadrada).
Proceso: (a<>0)
d=b^2-4*a*c
(d>=0)
x1=(-b + RAIZ(d))/(2*a)
x2=(-b - RAIZ(d))/(2*a)
a, b, c,
d = (b * b) - (4 * a * c)
d>=0
x1 = (-b + raz( d) )/ (2 * a)
x1, x2
x2 = (-b raz(d)) / (2 * a)
Inicio:
//Declaracin de variables//
Entero a, b, c, d
Real x1, x2
//Entrada de datos//
Leer a, b, c
//Proceso//
Si (a<>0)
d=b^2-4*a*c
Si (d>=0)
x1=(-b + RAIZ(d))/(2*a)
x2=(-b - RAIZ(d))/(2*a)
Escribir "La primera raiz real es:" , x1
Escribir "La segunda raiz real es:" , x2
Computacin y algoritmos I
Computacin y algoritmos I
DIAGRAMA N-S
N de ejec.
d>=0
a=0
b=0
Pantalla
c=0
Su raz: r1 = 3
1.-
-5
Su raz: r2 = 2
Su raz: r1 = 1
2.-
-2
Su raz: r2 = 2
Su raz: r1 = 1
3.-
-1
Computacin y algoritmos I
Su raz: r2 = -1
D). CODIFICACIN C#
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace ejercicio_6
{
class Program
{
static void Main(string[] args)
{
//declaracion de variables
double a, b, c, d, x1, x2;
//entrada de datos
Console.WriteLine("ingrese coeficiente de x2:");
a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("ingrese coeficiente x1:");
b = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("ingrese coeficiente independiente:");
c = Convert.ToDouble(Console.ReadLine());
//proceso
if (a != 0)
{
d = b * b - 4 * a * c;
if (d >= 0)
{
x1 = (-b + Math.Sqrt(d)) / (2 * a);
x2 = (-b - Math.Sqrt(d)) / (2 * a);
Console.WriteLine("x1=" + x1);
Console.WriteLine("x2=" + x2);
}
else
Console.WriteLine("raices imaginarias:");
}
else
Console.WriteLine("coeficiente de x*x debe ser diferente de 0");
Console.Read();
}
}
Computacin y algoritmos I
EJERCICIO 10
El rendimiento de un alumno se califica segn lo siguiente:
Bueno si su promedio esta entre 16 y 20
Regular si su promedio est entre 11 y 15
Deficiente si su promedio est entre 6 y 10
Psimo si su promedio est entre O y 5
Escriba un algoritmo que lea el promedio de un alumno y diga cul es su
rendimiento.
A) ANLISIS DEL PROBLEMA:
Sean:
Prom: La nota promedio del alumno
Datos de entrada: Prom
Datos de salida: Respuesta Bueno, Regular, Deficiente,
Psimo
Proceso: Si (Prom<0 O Prom>20)
Si (Prom>=15)
Si (Prom>=10)
Si (Prom>=5)
PROM
B, R, D, P
Si (PROM>=10)
Computacin y algoritmos I
B) DISEO DE ALGORITMO
PSEUDOCDIGO
Inicio:
//Declaracin de variables//
Real Prom
//Entrada de datos//
Leer Prom
//Proceso//
Fin
DIAGRAMA DE FLUJO
Computacin y algoritmos I
DIAGRAMA N-S
Computacin y algoritmos I
N de Ejec.
Prom
1.-
1.-
Si
(Prom>=15)
Si
(Prom>=10)
Si
(Prom>=5)
Pantalla
El rendimiento
es psimo.
el rendimiento
es deficiente
3.-
11
4.-
17
5.-
29
El rendimiento
es regular.
El rendimiento
es buen.
Dato no valido.
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
namespace Ejercicio_10
class Program
{
static void Main(string[] args)
{
double pd;
Console.WriteLine(ingresar promedio del alumno);
pd = Convert.ToDouble(Console.ReadLine());
if ((prom<0 || prom>20))
{
Console.WriteLine(Dato erroneo);
}
else
if ((pd >= 15))
{
Console.WriteLine(El Rendimiento es Bueno);
}
else
if ((pd >= 10))
Computacin y algoritmos I
Computacin y algoritmos I