Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MATERIA:
INTRODUCCION A LA INFORMATICA
INGENIERO:
Carlos Balmore Ortiz
Alumno:
Luis Fernando Salinas Benavides
Carnet:
SB21022
ENUNCIADO:
EJERCICIO 13:
Diseñe una solución que dado el radio de un disco, la base y la altura de un rectángulo,
calcule e imprima el perímetro de la circunferencia del disco y el perímetro del rectángulo
así como el área del disco y el área del rectángulo
SOLUCION
Planteamiento general del problema
SB21022Guia5Ej13
Program
Main
Constantes:
C) Restricciones:
Radio > 0
Base > 0
Altura > 0
D) Proceso:
PI = 3.141592
Leer material
Radio: LeerDouble(“Ingrese el radio del circulo”)
Altura: LeerDouble(“Ingrese la altura del rectangulo”)
Base: LeerDouble(“Ingrese la base del rectangulo”)
areaCirculo = calcularAreaCir(Radio, Pi, 2)
perimetroCirculo = calcularPerimetroCir(2, Radio, PI)
areaRectangulo = calcularAreaRec(Base, Altura)
perimetroRectangulo = calcularPerímetroRec(Base, Altura, 2)
Imprimir (areaCiruclo, perimetroCirculo, areaRectangulo, perimetroRectangulo)
Pseudocodigo
{Main, modulo que permite almacenar los datos de entrada, invoca los métodos
que procesan, almacenan los resultados e invocan el método que imprime la
salida}
{Radio, Altura, Base son variables de tipo real, PI es constante de tipo real con
valor de 3.141592}
Pasos:
1. Hacer PI=3.141592
2. Hacer Radio: LeerDouble(“Ingrese el radio del circulo”)
3. Hacer Altura: LeerDouble(“Ingrese la altura del rectángulo”)
4. Hacer Base: LeerDouble(“Ingrese la base del rectángulo”)
5. Hacer areaCir = araeCirculo(Radio, Pi, 2)
6. Hacer perímetroCir = perimetroCirculo(2, Radio, PI)
7. Hacer areaRec = areaRectangulo(Base, Altura)
8. Hacer perimetroRec = perimetroRectangulo(Base, Altura, 2)
9. Invocar imprimir (areaCirculo, perimetroCirculo, areaRectangulo,
perímetroRectangulo)
Flujograma
INICIO 1
PI = 3.141592 areaCirculo
areaRectangulo
RADIO
perimetroRectangulo
Ingrese la base
del rectángulo
ALTURA
FIN
1
Diseño de la solución por submodulos
AREA_CIRCULO areaCirculo(Radio)
{modulo que recibe el radio de un
circulo, calcula el área y retorna su
valor}
areaCirculo =
{radio, areaCirculo son variables de tipo
PI*Pow(radio,2)
real}
Pasos
1. Recibir Radio Retornar areaCirculo
2. Calcular areaCirculo = PI *
Pow(Radio,2)
3. Retornar areaCirculo
PERIMETRO_CIRCULO perimetroCirculo(Radio)
{modulo que recibe el radio del círculo,
calcula su perímetro y retorna su valor}
Pasos
perimetroCirculo =
1. Recibir Radio
2*Radio*PI
2. Calcular perimetroCirculo = 2 *
Radio * PI
3. Retornar perimetroCirculo
Retornar
perimetroCirculo
Pseudocodigo del sub-Algoritmo Sub-Flujograma
Pasos
1. Recibir Base, Altura
areaRectangulo = Base*Altura
2. Calcular areaRectangulo = Base *
Altura
3. Retornar areaRectangulo
Retornar areaRectangulo
PERIMETRO_RECTANGULO
{modulo que recibe la base, altura, perimetroRectangulo(Base,
calcula su perímetro y retorna su valor} Altura)
Pasos
1. Recibir base, Altura
perimetroRectangulo = (Base +
2. Calcular perimetroRectangulo =
Altura) * 2
(Base + Altura) * 2
3. Retornar perimetroRectangulo
Retornar
perimetroRectangulo
Pseudocodigo del sub-Algoritmo Flujograma
IMPRIMIR Imprimir(areaCirculo,
{modulo que recibe Área y perímetro perimetroCirculo)
del círculo, y muestra sus valores en
pantalla
Pasos
1. Recibir areaCirculo, “Area del circulo: ”, areaCirculo
perimetroCirculo “Unidades cuadradas”
2. Escribir “Área del circulo: “ , ”Perimetro del Circulo: “,
areaCirculo “Unidades cuadradas” perimetroCirculo “Unidades
3. Escribir “Perímetro del circulo:” Lineales”
,perimetroCirculo “Unidades
Lineales”
4. Retornar
Retornar
IMPRIMIR Imprimir(areaRectangulo,
{modulo que recibe Área y Perímetro del perimetroRectangulo)
rectángulo, y muestra sus valores en
pantalla
“Area del rectangulo:”,
Pasos
areaRectangulo “Unidades
1. Recibir areaRectangulo,
Cuadraticas”
perimetroRectangulo
2. Escribir “Area del rectangulo”, ”Perimetro del Rectangulo: “,
araeRectangulo “Unidades perimetroRectangulo “Unidades
cuadráticas” Lineales”
3. Escribir “Perimetro del rectangulo”,
perimetroRectangulo “Unidades
Lineales
4. Retornar
Retornar
Codificación y documentación de la solución
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/// <summary>
/// Guía: #5.
/// Ejercicio: #13.
/// Fecha: 19/03/2021.
/// Autor: Luis Fernando Salinas Benavides.
/// Carnet: SB21022.
/// GL: #23.
/// Instructor: Ing. Carlos Balmore Ortiz.
/// </summary>
namespace SB21022Guia5Ej13
{ //Comentarios, descripción del programa.
/// <summary>
/// Programa que, dado el radio de un disco, base, altura de un rectángulo
calcule e imprima el perímetro
/// de la circunferencia del disco y el perímetro del rectángulo, así como el
área del disco y el área del rectángulo.
/// </summary>
class Program
{
//Constantes.
const double PI = 3.141592;
//Entrada de datos
Console.Write("Ingrese el RADIO del circulo: ");
RADIO = double.Parse(Console.ReadLine());
Console.Write("Ingrese la BASE del rectangulo: ");
BASE = double.Parse(Console.ReadLine());
Console.Write("Ingrese la ALTURA del rectangulo: ");
ALTURA = double.Parse(Console.ReadLine());
//Proceso
areaCirculo = calcularAreaCir(RADIO, PI, 2);
perimetroCirculo = calcularPerimetroCir(2, RADIO, PI);
areaRectangulo = calcularAreaRec(BASE, ALTURA);
perimetroRectangulo = calcularPerimetroRec(BASE, ALTURA, 2);
//Resultados
Console.WriteLine("\narea del circulo es igual a: {0:#####0.00} mts^2",
areaCirculo);
Console.WriteLine("perimetro del circulo es igual a: {0:#####0.00} mts",
perimetroCirculo);
Console.WriteLine("area del rectangulo es igual a {0:#####0.00} mts^2",
areaRectangulo);
Console.WriteLine("perimetro del rectangulo es igual a {0:#####0.00}
mts", perimetroRectangulo);
Console.ReadKey();
}
/// <summary>
/// areaCirculo: recibe como radio del circulo en unidades,
/// calcula y retorna el area del circulo en unidades cuadraticas
/// </summary>
/// <param name="RADIO">representa el radio del circulo</param>
/// <param name="PI">representa la constante PI = 3.14592</param>
/// <param name="J">Representa 2</param>
/// <returns>area del circulo en unidades cuadraticas</returns>
static double calcularAreaCir(double RADIO, double PI, int J)
{
double areaC;
areaC = Math.Pow(RADIO, J) * PI;
return areaC;
}
/// <summary>
/// perimetroCirculo: recibe radio del circulo en unidades,
/// calcula y retorna el area del circulo en unidades cuadraticas
/// </summary>
/// <param name="J">Representa 2</param>
/// <param name="Rad">representa el radio del circulo</param>
/// <param name="PI">representa la constante PI = 3.14592</param>
/// <returns>perimetro del circulo en unidades lineales</returns>
static double calcularPerimetroCir(int J, double Rad, double PI)
{
double perimetroC;
perimetroC = J * Rad * PI;
return perimetroC;
}
/// <summary>
/// areaRectangulo: recibe como base y altura en unidades,
/// calcula y retorna el area del rectangulo en unidades cuadraticas.
/// </summary>
/// <param name="Bas1">Representa la base del rectangulo</param>
/// <param name="Altu1">Representa la altura del rectangulo</param>
/// <returns>area del rectangulo en unidades cuadraticas</returns>
static double calcularAreaRec(double Bas1, double Altu1)
{
double areaRec;
areaRec = Bas1 * Altu1;
return areaRec;
}
/// <summary>
/// periemtroRectangulo: recibe como base y altura en unidades,
/// calcula y retorna el area del rectangulo en unidades lineales
/// </summary>
/// <param name="Bas2">Representa la base del rectangulo</param>
/// <param name="Altu2">Representa la altura del rectangulo</param>
/// <param name="J">Representa 2</param>
/// <returns>perimetro del rectangulo en unidades lineales</returns>
static double calcularPerimetroRec(double Bas2, double Altu2, int J)
{
double perimetroRec;
perimetroRec = (Bas2 + Altu2) * J;
return perimetroRec;