Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Caso01 PDF
Caso01 PDF
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 1
CASO DE ESTUDIO: PITÁGORAS
1. ENUNCIADO:
Elabore una solución por medio de un algoritmo que resuelva el siguiente
enunciado:
1. Pedir los dos catetos de un triángulo rectángulo y entregar como resultado la
hipotenusa.
2. Pedir un cateto y la hipotenusa de un triángulo rectángulo y entregar como
resultado el cateto faltante (realice este proceso para ambos catetos).
Contexto del caso:
El teorema de Pitágoras establece que en todo
triángulo rectángulo el cuadrado de la hipotenusa (el
lado de mayor longitud del triángulo rectángulo) es
igual a la suma de los cuadrados de los catetos (los
dos lados menores del triángulo, los que conforman
el ángulo recto).
De esta ecuación se deduce fácilmente 3 corolarios de aplicación práctica:
El teorema de Pitágoras tiene este nombre porque su descubrimiento recae sobre
la escuela pitagórica. Anteriormente, en Mesopotamia y el Antiguo Egipto se
conocían ternas de valores que se corresponden con los lados de un triángulo
rectángulo, y se utilizaban para resolver problemas referentes a los citados
triángulos, tal como se indica en algunas tablillas y papiros. Sin embargo, no ha
perdurado ningún documento que exponga teóricamente su relación. La pirámide
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 1
de Kefrén, datada en el siglo XXVI a. C., fue la primera gran pirámide que se
construyó basándose en el llamado triángulo sagrado egipcio, de proporciones
345.
2. ESTRUCTURA DE DATOS:
Una de las propiedades de los algoritmos es (1) tener una o más
ENTRADAS ,
esto significa que los datos son proporcionados como insumo para llevar a cabo
las operaciones necesarias. En nuestro caso es conveniente seleccionar los datos
en (datos de entrada y datos de salida):
De acuerdo al enunciado:
1. Pedir los dos catetos de un triángulo rectángulo, almacenarlos en
variables y entregar como resultado la hipotenusa.
Se definen como datos de entrada los valores de los catetos a y
b
. Dato de
salida, el valor de la hipotenusa: C
2. Pedir un cateto y la hipotenusa de un triángulo rectángulo y entregar
como resultado el cateto faltante (realice este proceso para ambos catetos).
Caso (1) Se definen como datos de entrada los valores del cateto a y la
C
hipotenusa b
. Dato de salida, el valor del cateto:
Caso (2) Se definen como datos de entrada los valores del cateto b y la
C
hipotenusa a
. Dato de salida, el valor del cateto:
Procedimiento para definir variables:
1) Tenga en cuenta el tipo de Dato (numérico o alfanumérico) a la hora de
necesitarlos para hacer cálculos.
2) Defina los nombres de cada una de las variables (tenga en cuenta las
normas para nombrar variables).
Normas para nombres de variables
● No espacios en blanco
● No caracteres extraños (* + ! = ? ¡ ? ~ ^ { })
● Use nombres que se relacionen con el dato que almacena
● Puede utilizar letras con números, o solo letras
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 1
● Puede utilizar el guión de piso _
Dato de entrada Tipo de dato Nombre variable
Valor del Cateto a Numérico cateto_a
Valor del Cateto b Numérico cateto_b
Valor de la Hipotenusa C Numérico hipotenusa_c
3. REQUERIMIENTOS FUNCIONALES:
Otra propiedad de los algoritmos es (2) tener una o más
SALIDAS
, esto significa
que siempre debe devolver un resultado y este se debe entender como medio para
apreciar los efectos de las acciones del algoritmo.
cout<<"\nEl valor de la hipotenusa C es:"<<hipotenusa_c;
● RF2
: El programa deberá calcular cateto faltante de un triángulo rectángulo
dados un cateto y la hipotenusa.
cout<<"\nEl valor del cateto a es:"<<cateto_a;
cout<<"\nEl valor del cateto b es:"<<cateto_b;
4. REQUERIMIENTOS INSTRUCCIONALES:
A continuación damos solución al problema teniendo en cuenta las etapas básicas
Input / Output
que comprenden, datos de entrada, proceso y datos de salida.
Etapas I/O
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 1
A. Entrada:
En esta etapa se debe tener en cuenta el análisis de las estructuras
de datos, en especial los datos de entrada.
Para capturar los datos numéricos (float si son reales, int si son enteros),
con su respectivo mensaje, utilizamos la siguiente instrucción:
cout<<"\nDigite valor para el cateto a:";
cin>>cateto_a;
cout<<"\nDigite valor para el cateto b:";
cin>>cateto_b;
B. Proceso: Después de obtener la información o datos de entrada, procedemos a
realizar las operaciones que nos permiten entregar resultados.
Después de capturar los datos de entrada y tenerlos almacenados en sus
respectivas variables se procederá a las operaciones teniendo en cuenta el
enunciado:
hipotenusa_c = sqrt(cateto_a*cateto_a + cateto_b*cateto_b);
C. Salida:
Finalmente se imprime el resultado:
cout<<"\nEl valor de la hipotenusa C es:"<<hipotenusa_c;
Código fuente (
pitagoras.cpp
)
// calcular hipotenusa y catetos de acuerdo a pitágoras
#include <cmath>
#include <iostream>
using namespace std;
int main()
{
float cateto_a, cateto_b, hipotenusa_c;
cout<<"\nDigite valor para el cateto a:";
cin>>cateto_a;
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 1
cout<<"\nDigite valor para el cateto b:";
cin>>cateto_b;
hipotenusa_c = sqrt(cateto_a*cateto_a + cateto_b*cateto_b);
cout<<"\nEl valor de la hipotenusa C es:"<<hipotenusa_c;
cout<<"\nDigite valor para el cateto a:";
cin>>cateto_a;
cout<<"\nDigite valor para la hipotenusa C:";
cin>>hipotenusa_c;
cateto_b=sqrt(hipotenusa_c*hipotenusa_c + cateto_a*cateto_a);
cout<<"\nEl valor del cateto b es:"<<cateto_b;
cout<<"\nDigite valor para el cateto b:";
cin>>cateto_b;
cout<<"\nDigite valor para la hipotenusa C:";
cin>>hipotenusa_c;
cateto_a=sqrt(hipotenusa_c*hipotenusa_c + cateto_b*cateto_b);
cout<<"\nEl valor del cateto a es:"<<cateto_a;
cout<<"\n\n";
return 0;
}
Operaciones básicas:
SUMA RESTA MULTIPLICACIÓN DIVISIÓN
MODULO O RESIDUO DE UNA DIVISIÓN EXPONENCIAL
A = 10; A = 2;
B = 3; Resultado= pow(A,3);
B;
%
Resultado= A // 2 elevado a la 3
//Resultado = 1 // Resultado = 8
Después de codificar las actividades y/o procesos en la herramienta
computacional seleccionada, es necesario realizar las debidas pruebas que
Facultad de Ingeniería
Programa de Ingeniería de Sistemas
Programación I
CASO 1
garanticen el correcto funcionamiento del programa construido bajo un conjunto de
situaciones posibles a las que se pueda enfrentar.
Datos de prueba (Entrada y salida)
cateto_a = 4 cateto_b = 5 hipotenusa_c = 6.40312423743
5. ENTREGABLES:
1. Código fuente (pitagorasT00000000.cpp)
2. Análisis de las etapas I/O,
colocar comentarios utilizando el símbolo
//