Sunteți pe pagina 1din 6

Facultad de Ingeniera

Programa de Ingeniera de Sistemas


Algoritmos
CASO 1-0

CASO DE ESTUDIO: Pitgoras

EC1: Elemento de competencia 1: Usa un lenguaje de alto nivel para resolver
problemas bsicos de ingeniera de acuerdo a procesos estandarizados

Semana Saber Hacer Ser


2
Losalgoritmos
enlasolucin
deproblemas.
Conceptosy
propiedades
dealgoritmos.
Variablesy
expresiones.
Asignacin.
Entradaysalida
simpleI/O.

Analizacaso1deestudio
propuesto.
Seleccionalosdatos
necesariospararesolverel
caso.
Usalasinstruccionesde
entrada,saliday
asignacin.
Aplicalasexpresiones
matemticas.
Resuelveelcasocon
variablesdeentrada,
procesosyentregadedatos
resultado.
Creativoenel
planteamientode
soluciones
eficientes.
Propositivoenla
bsquedade
alternativaspara
lasolucinde
problemas

CE1: Identifica la estructura de un algoritmo y el rol que juega cada uno de los elementos
quelocomponen.

1. ENUNCIADO:
Elaboreunasolucinpormediodeunalgoritmoqueresuelvaelsiguienteenunciado:
1. Pedir los dos catetos de un tringulo rectngulo y entregar como resultado la
hipotenusa.
2. Pedir un cateto y la hipotenusa de un tringulo rectngulo y entregar como
resultadoelcatetofaltante(realiceesteprocesoparaamboscatetos).

Facultad de Ingeniera
Programa de Ingeniera de Sistemas
Algoritmos
CASO 1-0

Contexto del caso:
El teorema de Pitgoras establece que en todo
tringulo rectngulo el cuadrado de la hipotenusa (el
lado de mayor longitud del tringulo rectngulo) es
igual a la suma de los cuadrados de los catetos (los
dos lados menores del tringulo, los que conforman el
ngulorecto).
Si un tringulo rectngulo tiene catetos de longitudes
y ,ylamedidadelahipotenusaes entoncesseestableceque:

Deestaecuacinsededucefcilmente3corolariosdeaplicacinprctica:

El teorema de Pitgoras tiene este nombre porque su descubrimiento recae sobre la
escuela pitagrica. Anteriormente, en Mesopotamia y el Antiguo Egipto se conocan
ternas de valores que se corresponden con los lados de un tringulo rectngulo, y se
utilizaban para resolver problemas referentes a los citados tringulos, tal como se
indica en algunas tablillas y papiros. Sin embargo, no ha perdurado ningn
documento que exponga tericamente su relacin. La pirmide de Kefrn, datada en
el siglo XXVI a. C., fue la primera gran pirmide que se construy basndose en el
llamadotringulosagradoegipcio,deproporciones345.
2. ESTRUCTURADEDATOS:
Una de las propiedades de los algoritmos es (1) tener una o ms 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
(datosdeentradaydatosdesalida):
Deacuerdoalenunciado:
1. Pedir los dos catetos de un tringulo rectngulo, almacenarlos en variables
yentregarcomoresultadolahipotenusa.
Se definen como datos de entrada los valores de los catetos a y b. Dato de salida,
elvalordelahipotenusa:C

Facultad de Ingeniera
Programa de Ingeniera de Sistemas
Algoritmos
CASO 1-0

2. Pedir un cateto y la hipotenusa de un tringulo rectngulo y entregar como


resultadoelcatetofaltante(realiceesteprocesoparaamboscatetos).
Caso (1) Se definen como datos de entrada los valores del cateto a y la hipotenusa
C.Datodesalida,elvalordelcateto:b

Caso (2) Se definen como datos de entrada los valores del cateto b y la hipotenusa
C.Datodesalida,elvalordelcateto:a

Procedimientoparadefinirvariables:
1) Tenga en cuenta el tipo de Dato (numrico o alfanumrico) a la hora de
necesitarlosparahacerclculos.
2) Defina los nombres de cada una de las variables (tenga en cuenta las normas
paranombrarvariables).
Normasparanombresdevariables
Noespaciosenblanco
Nocaracteresextraos(*+!=??~^{})
Usenombresqueserelacionenconeldatoquealmacena
Puedeutilizarletrasconnmeros,osololetras
Puedeutilizarelguindepiso_

Datodeentrada Tipodedato Nombrevariable


ValordelCatetoa Numrico cateto_a
ValordelCatetob Numrico cateto_b
ValordelaHipotenusaC Numrico hipotenusa_C

3. REQUERIMIENTOSFUNCIONALES:
Otra propiedad de los algoritmos es (2) tener una o ms SALIDAS, esto significa
que siempre debe devolver un resultado y este se debe entender como medio para
apreciarlosefectosdelasaccionesdelalgoritmo.
El algoritmo debe ser DEFINIDO sin ambigedad, debe indicar la accin a realizar
sincriteriosdeinterpretacin,estaesotrapropiedaddelosalgoritmos(3).

Facultad de Ingeniera
Programa de Ingeniera de Sistemas
Algoritmos
CASO 1-0

RF1: El programa deber entregar como resultado el valor de la hipotenusa
deuntringulorectngulodadosloscatetos.
print"ElvalordelahipotenusaCes:",hipotenusa_C
RF2: El programa deber calcular cateto faltante de un tringulo rectngulo
dadosuncatetoylahipotenusa.
print"Elvalordelcatetoaes:",cateto_a
print"Elvalordelcatetobes:",cateto_b
4. REQUERIMIENTOSINSTRUCCIONALES:
A continuacin damos solucin al problema teniendo en cuenta las etapas bsicas
Input/Outputquecomprenden,datosdeentrada,procesoydatosdesalida.
Dos de las propiedades de los algoritmos, (4) El algoritmo debe ser FINITO, debe
componerse de un nmero especfico y numerable de pasos, el cual deber finalizar
al completarlos. (5) Adems el tiempo y esfuerzo por cada paso realizado debe ser
preciso.SlodebeusarseloqueserequieraparasuejecucinconEFECTIVIDAD.
EtapasI/O
A. Entrada: En esta etapa se debe tener en cuenta el anlisis de las estructuras de
datos,enespeciallosdatosdeentrada.
Para capturar los datos numricos (float si son reales, int si son enteros), con
surespectivomensaje,utilizamoslasiguienteinstruccin:
cateto_a=float(input("Digitevalorparaelcatetoa:"))
cateto_b=float(input("Digitevalorparaelcatetob:"))
B. Proceso: Despus de obtener la informacin o datos de entrada, procedemos a
realizarlasoperacionesquenospermitenentregarresultados.
Despus 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**2+cateto_b**2)

Facultad de Ingeniera
Programa de Ingeniera de Sistemas
Algoritmos
CASO 1-0

Esta es una operacin de Asignacin, esto es, a la variable hipotenusa_C se le
estasignandoelvalordelaoperacinsqrt(cateto_a**2+cateto_b**2),osea:

C. Salida:Finalmenteseimprimeelresultado:
print"ElvalordelahipotenusaCes:",hipotenusa_C

Cdigo fuente (pitagoras.py)


#calcularhipotenusaycatetosdeacuerdoapitgoras
frommathimportsqrt
defpitagoras():
cateto_a=float(input("Digitevalorparaelcatetoa:"))
cateto_b=float(input("Digitevalorparaelcatetob:"))
hipotenusa_C=sqrt(cateto_a**2+cateto_b**2)
print"ElvalordelahipotenusaCes:",hipotenusa_C
cateto_b=float(input("Digitevalorparaelcatetob:"))
hipotenusa_C=float(input("DigitevalorparalahipotenusaC:"))
cateto_a=sqrt(hipotenusa_C**2cateto_b**2)
print"Elvalordelcatetoaes:",cateto_a
cateto_a=float(input("Digitevalorparaelcatetoa:"))
hipotenusa_C=float(input("DigitevalorparalahipotenusaC:"))
cateto_b=sqrt(hipotenusa_C**2cateto_a**2)
print"Elvalordelcatetobes:",cateto_b

pitagoras()

Operaciones bsicas:
SUMA RESTA MULTIPLICACIN DIVISINNATURAL
A=10
B=15
Resultado=A+B
A=7
B=3
Resultado=AB
A=2
B=8
Resultado=A*B
A=10
B=3
Resultado=A/B
#RESULTADO=3.333333

DIVISINCONREDONDEO
(haciaabajo)
MODULOORESIDUODEUNA
DIVISIN
EXPONENCIAL
A=10
B=3
A=10
B=3
A=2
Resultado=A**3

Facultad de Ingeniera
Programa de Ingeniera de Sistemas
Algoritmos
CASO 1-0

Resultado=A//B
#Resultado=3
Resultado=A%B
#Resultado=1
#2elevadoala3
#Resultado=8

Despus de codificar las actividades y/o procesos en la herramienta computacional


seleccionada, es necesario realizar la debidas pruebas que garanticen el correcto
funcionamiento del programa construido bajo un conjunto de situaciones posibles a
lasquesepuedaenfrentar.
Datos de prueba (Entrada y salida)
cateto_a=4 cateto_b=5 hipotenusa_C=6.40312423743
cateto_b=5 hipotenusa_C=10 cateto_a=8.66025403784
cateto_a=10 hipotenusa_C=20 cateto_b=17.3205080757

cateto_a=12 cateto_b=9 hipotenusa_C=15.0


cateto_b=2 hipotenusa_C=6 cateto_a=5.65685424949
cateto_a=9 hipotenusa_C=14 cateto_b=10.7238052948

Tenga en cuenta que la hipotenusa es mayor que los catetos y que en ningn caso
puedensercero(0).
5. ENTREGABLES:
1. Cdigofuente(pitagorasT00000000.py)
2. AnlisisdelasetapasI/O,colocarcomentariosutilizandoelsmbolo#

S-ar putea să vă placă și