Академический Документы
Профессиональный Документы
Культура Документы
CUSCO - PERÚ
2019
UAC TALLER DE ALGORÍTMICA Y PROGRAMACIÓN
EJERCICIO N°1
Elaborar un algoritmo para encontrar el área, perímetro y diagonal de un cuadrado
validando el ingreso del lado.
ANÁLISIS:
Si se tiene el lado del cuadrado, entonces podemos determinar el área, diagonal y
perímetro del cuadrado, que vendría a ser:
MODELO:
Área Cuadrado = (Lado_cuadrado * Lado_cuadrado)
Perímetro = (4 * Lado_cuadrado)
Diagonal = (Lado_cuadrado * Math.Sqrt(2))
ESPECIFICACIÓN DE ALGORITMO:
Diccionario de variables
Variables de Entrada:
Lado {representa el lado del Cuadrado}: tipo Real
Perímetro {representa el perímetro del Cuadrado}: tipo Real
Diagonal {representa la diagonal del Cuadrado}: tipo Real
Variables de Salida:
Área_Cuadrado {representa el área del cuadrado}: tipo Real
Pre Condición {Lado >0, Perimetro}
Acción que realiza el algoritmo:
Calcula el área del Cuadrado conocidos el Lado
Post Condición
{| Perimetro_cuadrado = (4 * Lado_cuadrado) |}
{| Área_cuadrado = (Lado_cuadrado * Lado_cuadrado) |}
{| Diagonal = (Lado_cuadrado * Math.Sqrt(2)) |}
DISEÑO:
Descripción del Algoritmo:
Primera Fase
Inicio {Calcular el área, perímetro y diagonal del cuadrado}
{declarar e inicializar variables}
{Leer datos}
{Calcular el área}
{Calcular el perimetro}
{Calcular la diagonal}
{Escribir el área}
Fin
Segunda Fase
Inicio {Calcular el área, perímetro y diagonal del cuadrado}
{declarar e inicializar variables}
Declarar perimetro, diagonal, area_cuadrado // INSTRUCCIÓN 0
{Leer datos}
Leer lado // INSTRUCCIÓN 1
Leer perimetro // INSTRUCCIÓN 2
{Calcular el área}
area_cuadrado (Lado_cuadrado * Lado_cuadrado ) // INSTRUCCIÓN 3
{Calcular el perimetro}
Perímetro_cuadrado (4 * Lado_cuadrado)
{Calcular el diagonal}
Diagonal = (Lado_cuadrado * Math.Sqrt(2))
{Escribir el área}
Escribir area_cuadrado// INSTRUCCIÓN 4
Fin
namespace RY
{
class Program
{
static void Main(string[] args)
{// Acción : : Calcula el perímetro, el área y la diagonal del cuadrado
conociendo el lado
//Leer datos
Console.WriteLine("Ingrese el Lado del Cuadrado:");
Lado_cuadrado = float.Parse(Console.ReadLine());
if (Lado_cuadrado < 0)
if (Lado_cuadrado > 0)
{
//Calcular el Perimetro
Perimetro_cuadrado = 4 * Lado_cuadrado;
Área_cuadrado = (Lado_cuadrado * Lado_cuadrado);
diagonal = Lado_cuadrado * Math.Sqrt(2);
//Escribir resultados
Console.WriteLine("El Área del cuadrado es: {0} ",
Área_cuadrado);
Console.WriteLine("la diagonal del cuadrado es: {0} ",
diagonal);
Console.WriteLine("El Perímetro del cuadrado es: {0} ",
Perimetro_cuadrado);
else
{
Console.WriteLine("el lado del cuadrado no puede ser Decimal ni
Negativo ");
}
Console.ReadKey();
}
}
}
EJERCICIO N°2
Escribir un programa que determine cual es el mayor de 2 números.
ANÁLISIS:
Si se tiene el número 1 y el número 2, entonces podemos determinar el número mayor,
que vendría a ser:
MODELO:
Número 1 = (numero1 > numero2) = MAYOR N°1
Número 2 = (numero2 > numero1) = MAYOR N°2
ESPECIFICACIÓN DE ALGORITMO:
Diccionario de variables
Variables de Entrada:
Numero 1 {representa la primera cifra}: tipo Real
DISEÑO:
Descripción del Algoritmo:
Primera Fase
Inicio {Calcular el numero mayor}
{declarar e inicializar variables}
{Leer datos}
{Calcular el numero mayor}
{Escribir el numero mayor}
Fin
Segunda Fase
Inicio {Calcular el numero mayor}
{declarar e inicializar variables}
Declarar el número mayor // INSTRUCCIÓN 0
{Leer datos}
Leer número 1 // INSTRUCCIÓN 1
Leer número 2 // INSTRUCCIÓN 2
{Calcular el numero mayor}
(numero1 > numero2) (mayor = numero1) // INSTRUCCIÓN 3
{Calcular el numero mayor}
(numero2 > numero1) (mayor = numero2)
{Escribir el numero mayor}
Escribir El_Mayor_es// INSTRUCCIÓN 4
Fin
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace RY1
{
class Program
{
static void Main(string[] args)
{// declarar la variables
}
}
}
EJERCICIO N°3
Determinar si a un producto se le debe cobrar el IGV. Si el producto o servicio es
agradable con el IGV (19%), hacer el cálculo respectivo del total a pagar.
NOTA: Un producto es agradable de IGV cuando el precio es mayor a S/.5.00.
ANÁLISIS:
Si se tiene la cantidad de Artículos, el precio del Producto más el IGV (19%), entonces
podemos determinar el Monto Total, que vendría a ser:
MODELO:
Monto Inicial = (Cantidad * Precio)
IGV Total = (Monto_Inicial * 0.19)
Monto Total = (Monto Inicial + IGV Total)
ESPECIFICACIÓN DE ALGORITMO:
Diccionario de variables
Variables de Entrada:
Cantidad {representa la Cantidad del Articulo}: tipo Real
Precio {representa el Precio del Articulo}: tipo Real
Variables de Salida:
Monto_Inicial {representa la Cantidad por el Precio}: tipo Real
IGV_Total {representa el Monto Inicial por 0.19}: tipo Real
Monto_Total {representa el Monto Inicial por el IGV Total Precio}: tipo
Real
Pre Condición
{(Cantidad > 0) && (Precio > 0)}
{(Monto_Inicial > 5)}
Acción que realiza el algoritmo:
Calcula el Monto Total conocido el IGV (19%)
Post Condición
{| Monto_Inicial = (Cantidad * Precio |}
{| IGV_TOTAL = Monto_Inicial * 0.19 |}
{| Monto_T = Monto_Inicial + IGV_TOTAL |}
DISEÑO:
Descripción del Algoritmo:
Primera Fase
Inicio {Calcular el Monto Inicial, el IGV Total y el Monto Total}
{declarar e inicializar variables}
{Leer datos}
{Calcular el Monto Inicial}
{Calcular el IGV Total}
{Escribir el Monto Total}
Fin
Segunda Fase
Inicio {Calcular el Monto Inicial, IGV Total y el Monto Total}
{declarar e inicializar variables}
Declarar Monto_Inicial, IGV_Total, Monto_Total // INSTRUCCIÓN 0
{Leer datos}
Leer cantidad // INSTRUCCIÓN 1
Leer precio // INSTRUCCIÓN 2
{Calcular el Monto_Inicial}
Monto_Inicial = (Cantidad * Precio);) // INSTRUCCIÓN 3
{Calcular el IGV_Total}
IGV_TOTAL = Monto_Inicial * 0.19
{Calcular el Monto_Total}
Monto_T = Monto_Inicial + IGV_TOTAL
{Escribir el Monto Total}
Escribir Monto_Total// INSTRUCCIÓN 4
Fin
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
{// Acción : este programa calcula el Monto Total y la Resta del IGV
//declarar e inicializar variables
double Cantidad, Precio, Monto_Inicial, IGV_TOTAL, Monto_T,
Monto_A_Mostrar;
//Leer datos
Console.Write("Ingrese la Cantidad de Artículos :");
Cantidad = double.Parse(Console.ReadLine());
Console.Write("Ingrese el Precio del Prodúcto :");
Precio = double.Parse(Console.ReadLine());
}
}
}
}
EJERCICIO N°4
Dado el sueldo de un trabajador, aplicar un aumento del 15% si el sueldo es inferior
o igual a S/. 500.00 o del 10% si el sueldo es inferior o igual a S/. 600.00.
ANÁLISIS:
Si se tiene el sueldo del trabajador junto las opciones del IGV, entonces podemos
determinar el Monto Total, que vendría a ser:
MODELO:
Sueldo_Aumento1 = (Sueldo * 0.15) + Sueldo “Si es menor a 500”
Sueldo_Aumento2 = (Sueldo * 0.10) + Sueldo “Si es menor a 600”
Sueldo_Total = Sueldo_Aumento1
Sueldo_Total = Sueldo_Aumento2
ESPECIFICACIÓN DE ALGORITMO:
Diccionario de variables
Variables de Entrada:
Sueldo 1 “Aumento” {representa el primer aumento de Sueldo}: tipo Real
Sueldo 2 “Aumento” {representa el segundo aumento de Sueldo}: tipo
Real
Variables de Salida:
Sueldo 1 “Total” {representa la primera opción del Total del Sueldo}: tipo
Real
Sueldo 1 “Total” {representa la primera opción del Total del Sueldo}: tipo
Real
Pre Condición
{Sueldo > 0}
{Sueldo < 500}
{Sueldo <=600}
Acción que realiza el algoritmo:
Calcula el Monto Total conociendo el Sueldo del Trabajador
Post Condición
{| Sueldo_Aumento1 = (Sueldo * 0.15) + Sueldo |}
{| Sueldo_Aumento2 = (Sueldo * 0.10) + Sueldo |}
{| Sueldo_Total = Sueldo_Aumento1 |}
{| Sueldo_Total = Sueldo_Aumento2 |}
DISEÑO:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
{// Acción : este programa calcula el Monto Total y la Resta del IGV
//declarar e inicializar variables
double Sueldo, Sueldo_Aumento1, Sueldo_Aumento2, Sueldo_Total ;
//Leer datos
Console.Write("Ingrese el Monto Total del Trabajor :");
Sueldo = double.Parse(Console.ReadLine());
//Calculamos si es menor a 500
Sueldo_Aumento1 = (Sueldo * 0.15) + Sueldo ;
if (Sueldo > 0)
{
if (Sueldo < 500)
{
Sueldo_Total = Sueldo_Aumento1;
//Escribir el Monto a mostrar
Console.Write("El Monto Total del Trabajador es de {0} Soles:
", Sueldo_Total );
Console.ReadKey();
}
if (Sueldo <=600)
{
Sueldo_Total = Sueldo_Aumento2;
//Escribir el Monto a mostrar
Console.Write("El Monto Total del trabajador es de {0}
Soles: ", Sueldo_Total);
Console.ReadKey();
}
}
else
{
Console.WriteLine("Tanto el Sueldo como el Monto Total del
Trabajador no pueden ser negativo ");
Console.ReadKey();
}
}
}
}
}
EJERCICIO N°5
Ingresar 3 notas, calcular el promedio y decir si pondero, aprobó, desaprobó o
reprobó. Se pondera con nota igual o superior a 16.5, aprueba con nota igual o
superior a 13.5, se desaprueba con nota igual o superior a 7.5, reprobado con nota
igual o menor a 7.49.
ANÁLISIS:
Si se tiene la 1°, 2° y 3° nota entonces podemos determinar el promedio; si aprueba,
desaprueba o reprueba y si debería tener ponderado o no, lo que vendría a ser:
MODELO:
Promedio = (nota1 + nota2 + nota3) / 3
Aprueba, Desaprueba o Reprueba = (20 < 16.5 < 13.5 < 7.5 < 0)
Pondera = (<=16.5)
ESPECIFICACIÓN DE ALGORITMO:
Diccionario de variables
Variables de Entrada:
NOTA1 {representa la primera Nota}: tipo Real
NOTA2 {representa la segunda Nota}: tipo Real
NOTA3 {representa la tercera Nota}: tipo Real
Variables de Salida:
Promedio {representa el promedio de las Notas 1, 2 y 3}: tipo Real
Aprueba {representa si el alumno aprobó sus notas}: tipo Real
Desaprueba {representa si el alumno desaprobó sus notas}: tipo Real
Reprueba {representa si el alumno reprobó sus notas}: tipo Real
Pondera {representa si el alumno saco una mayor nota}: tipo Real
Pre Condición
NOTA 1 {Nota1 < 0 || Nota1 > 20)}
NOTA 2 {Nota2 < 0 || Nota2 > 20)}
NOTA 3 {Nota3 < 0 || Nota3 > 20)}
PONDERA {promedio >= 16.5 && promedio <= 20}
APRUEBA {promedio >= 13.5 && promedio < 16.5}
DESAPRUEBA {promedio >= 7.5 && promedio < 13.5}
REPRUEBA {promedio < 7.5}
Acción que realiza el algoritmo:
Calcula el Promedio de Notas sabiendo las tres notas.
Post Condición
{| Promedio = (nota1 + nota2 + nota3) / 3 |}
DISEÑO:
Descripción del Algoritmo:
Primera Fase
Inicio {Calcular el Promedio de Notas juntos a sus variantes}
{declarar e inicializar variables}
{Leer datos}
{Calcular el Promedio de Notas}
{Calcular si Aprueba, Desaprueba o Reprueba}
{Calcular si Pondera}
{Escribir el Promedio de Notas}
Fin
Segunda Fase
Inicio {Calcular el Promedio de Notas juntos a sus variantes}
{declarar e inicializar variables}
Declarar promedio, (aprueba, desaprueba o reprueba), pondera //
INSTRUCCIÓN 0
{Leer datos}
Leer NOTA 1, 2 y 3 // INSTRUCCIÓN 1
Leer Promedio // INSTRUCCIÓN 2
{Calcular el Promedio}
Promedio = (nota1 + nota2 + nota3) / 3 // INSTRUCCIÓN 3
{Calcular si Aprobo, Desaprobo o Reprobo}
Aprueba, Desaprueba o Reprueba = (20 < 16.5 < 13.5 < 7.5 < 0)
{Calcular si Pondera}
Pondera = (<=16.5)
{Escribir el Promedio}
Escribir Promedio// INSTRUCCIÓN 4
Fin
using System;
namespace ConsoleApp15
{
class Program
{
static void Main(string[] args)
{
float nota1, nota2, nota3;
double promedio;
string mensaje;
//
mensaje = "hola";
//
do
{
Console.Write("ingrese la nota 1 :");
nota1 = float.Parse(Console.ReadLine());
}
if (promedio >= 13.5 && promedio < 16.5)
{
mensaje = "aprueba";
}
if (promedio >= 7.5 && promedio < 13.5)
{
mensaje = "desaprueba";
}
if (promedio < 7.5)
{
mensaje = "reprueba";
}
Console.WriteLine("el promedio es:{0}", promedio);
Console.WriteLine("la condicion del estudiante es:{0}", mensaje);
Console.ReadLine();
}
}
EJERCICIO N°6
Escribir un programa que determine si un número es par o impar.
ANÁLISIS:
Si se tiene el Número Entero, entonces podemos determinar si el Número es Par o Impar,
que vendría a ser:
MODELO:
Número = (N° Entero)
Residuo = (Numero % 2)
Mensaje = (Par o Impar)
ESPECIFICACIÓN DE ALGORITMO:
Diccionario de variables
Variables de Entrada:
Número {representa un número Entero}: tipo Real
Variables de Salida:
DISEÑO:
Descripción del Algoritmo:
Primera Fase
Inicio {Calcular el numero si es par o impar}
{declarar e inicializar variables}
{Leer datos}
{Calcular el Mensaje}
{Calcular el Residuo}
{Escribir el Mensaje}
Fin
Segunda Fase
Inicio {Calcular si el numero es Par o Impar}
{declarar e inicializar variables}
Declarar Residuo y Mensaje// INSTRUCCIÓN 0
{Leer datos}
Leer Residuo // INSTRUCCIÓN 1
Leer Mensaje // INSTRUCCIÓN 2
{Calcular el Mensaje}
Mensaje = (Impar)
Mensaje = (Par) // INSTRUCCIÓN 3
{Calcular el Residuo}
Residuo = (Numero % 2)
{Escribir el Mensaje}
Escribir Mensaje// INSTRUCCIÓN 4
Fin
using System;
namespace ConsoleApp7
{
class Program
{
static void Main(string[] args)
{
//escribir un programa que determine si un numero es par o impar
// declarar variables
int Numero, residuo;
string Mensaje;
//leer numero
Console.Write("Ingrese el número : ");
Numero = int.Parse(Console.ReadLine());
// calcular el residuo
residuo = Numero % 2;
//determinado par o impar
if (residuo == 0)
{
Mensaje = "Par";
}
else
{
Mensaje = "Impar";
}
// escribir el resultado
Console.WriteLine("El numero es: {0}", Mensaje);
Console.ReadLine();
}
}
}