1337181251.INFORMATICA 2015 - Trabajo Práctico Nro 08.pdf

Pág.3/5. La función deberá determinar si la circunferencia pequeña se halla: ... El Nro del término de esa Serie que deberá determinar. Las Series son:.
158KB Größe 5 Downloads 31 vistas
Informática del CBI – 2015 Dictado : Ing. Juan Manuel Conti

TRABAJO PRACTICO Nro 8 Funciones en Pascal

Problema 1 : En la siguiente figura:

R2=20

R1=10

Xc1=R1

Xc2=R2

A la izquierda se tienen dos funciones circulares y a su derecha el producto de ambas. Ud. deberá implementar una función en Pascal denominada Maximo ( ) que tendrá como parámetros: R1, R2, Xc1, Xc2 y deberá determinar cuál es el valor máximo de la función producto, valor que retornará a su punto de invocación el cual lo mostrará por pantalla.

NOTA: P/verificar si el resultado obtenido es correcto tiene dos caminos: a) Chequear en el gráfico. b) Utilizar Solver desde EXCEL.

Trabajo Práctico Nro 08

Pág.1/5

Informática del CBI – 2015 Dictado : Ing. Juan Manuel Conti Problema 2 : En la siguiente figura:

r

Ro=10

L=40

Un cuadrado de lado L=40, posee centrada en su interior una circunferencia de radio Ro=10. Se generan 15 circunferencias de coordenadas del centro aleatorias, dentro de dicho cuadrado, y se desea desarrollar una función denominada Esta( ), que reciba como parámetros: Xc, Yc y r (coordenadas del centro y radio de las circunferencias pequeñas). El radio “r” es constante e igual a 2.5.

Trabajo Práctico Nro 08

Pág.2/5

Informática del CBI – 2015 Dictado : Ing. Juan Manuel Conti

La función deberá determinar si la circunferencia pequeña se halla: -

Dentro (retornará 1). Fuera (retornará 2). Parte dentro y parte fuera (retornará 3).

En pantalla, y desde el punto de invocación, se irá mostrando: Xc=…… Xc=…… Etc.

Yc=….. Yc=…..

DENTRO/FUERA/EN PARTE DENTRO/FUERA/EN PARTE

NOTA: Para hacer la selección de los casos dentro de la función, utilice la estructura “case of”.

Problema 3 : En la siguiente figura: Desarrollar una función denominada Entran( ), que reciba como parámetro el radio “r” de una circunferencia pequeña (que estará en el rango de 1 a 20), y determinará cuántas de ellas entrarán en la circunferencia grande (de radio Ro=50): ese es el valor que retornará. Esta función será invocada desde el main a través de un lazo for donde la variable de control (de 1 a 20) será el radio r que ingrese como parámetro de la función.

r

Ro=50

Trabajo Práctico Nro 08

Pág.3/5

Informática del CBI – 2015 Dictado : Ing. Juan Manuel Conti

Problema 4 :

Desarrollar una función denominada SupTrap( ), que determine el área de un trapecio que posee el lado derecho vertical y el izquierdo una recta inclinada:

Bmen=8

a H

Bmay=20

Esta función trabajará con el método de la división en rectángulos de ancho "a" y recibirá como único parámetro el número de divisiones Ndivs con que particionará la base Bmay. El valor que retornará será de tipo double. NOTA: Como esta función será invocada desde el main, puede invocarla varias veces con distintos valores de Ndivs. Verifique la exactitud del método comparando con el cálculo geométrico simple de (Bmay + Bmen).H / 2.

Problema 5 Observe la siguiente figura:

r

H=20 (cte)

Trabajo Práctico Nro 08

Pág.4/5

Informática del CBI – 2015 Dictado : Ing. Juan Manuel Conti Sobre una circunferencia de radio “r” (variable) se circunscribe un triángulo de altura constante H=20 y base que se irá amoldando al tamaño de la circunferencia. Una función denominada SupTriang( ) recibirá como único parámetro el radio “r” y retornará el valor de la superficie del triángulo (de tipo double). Esta función será invocada 15 veces desde el main para valores aleatorios de “r” entre 1 y 5. En pantalla se irá informando: r = …. r = …. etc.

SupTriang=….. (con tres decimales) SupTriang=….. (con tres decimales)

Problema 6 Una función denominada Termino_N( ) recibirá 2 parámetros: - El Nro de orden de una Serie (la Serie 1, o la 2, etc.) - El Nro del término de esa Serie que deberá determinar. Las Series son: 1 : Fibonacci TermAct = Suma de los dos anteriores. 2 : TermAct = 2*Anterior + 1. 3 : TermAct = (Suma de los dos anteriores)*2. 4 : TermAct = (Cuadrado del térm pre-anterior) + Anterior. Calcular el 7mo término para c/u de las Series e ir mostrándolo por pantalla. Agregar un código que contemple si le está solicitando alguna serie inexistente y que retorne un valor especial (por ej -1). En pantalla deberá ir apareciendo: Serie 1 Serie 2 Serie 3 Serie 4 Serie 5 Serie 6

Term_Nro 7 Term_Nro 7 Term_Nro 7 Term_Nro 7 Term_Nro 7 Term_Nro 7

……. ……. ……. ……. -1 -1

Esta fn será invocada desde el main( ) desde una lazo for de 1 a 6. NOTA. Utilizar la estructura case of dentro de la función.

Trabajo Práctico Nro 08

Pág.5/5