Pascal/Turbo Pascal - Potencias y Raices

 
Vista:
sin imagen de perfil

Potencias y Raices

Publicado por Alejandro (7 intervenciones) el 17/04/2007 09:27:46
Hola amigos del foro, nuevamente yo aqui molestandoles:

Mi duda ahora es la siguiente, el dia de ayer quise realizar un ejercicio de pascal el cual trataba de realizar sacar potencias a cualquiera, es decir:

Elevar un numero x a una potencia y, ya que de esta forma se pueden sacar tambien cualqueir raiz por ejemplo la raiz quinta de un numero quedaria de la siguiente manera: x^(1/5), el problema es que al hacerlo en pascal no me acepta el simbolo de ^, estuve viendo en la red y cheque unos ejemplos que lo hacian con sentencis de If, pero que pasa si quiero poner varias operaciones juntas que deben tomar este valor, por ejemplo:

Elevar un numero a la cuarta potencia y que este sea multiplicado por la raiz sexta de otro numero: Yo cuando maneje Turbo Basic quedaba de la manera siguiente:

z=(x^4)*(y^(1/6))

Solo que en pascal no veo como hacer esto por ejemplo.

Muchas gracias de antemano y espero me puedan ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Potencias y Raices

Publicado por Diego Romero (996 intervenciones) el 18/04/2007 09:52:04
La única función estandar para potenciación es Sqr(x) que devuelve el cuadrado de x (x*x), para otros exponentes debes escribir tu propia función para que lo haga.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Potencias y Raices

Publicado por brian (1 intervención) el 09/09/2007 18:04:11
2322no sirve para codificar en turbo pascal
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Potencias y Raices... una cosa más

Publicado por Diego Romero (996 intervenciones) el 18/04/2007 09:53:32
Lo olvidaba, el circunflejo (^) en Pascal tiene otro significado que no tiene nada que ver con aritmética (indica que estás usando un puntero a variable).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Potencias y Raices... una cosa más

Publicado por Alejandro (7 intervenciones) el 19/04/2007 07:01:14
Hola amigos muchas gracias pero ya he encontrado la ffuncion para sacar las potencias, asi como las raices: queda de la suiente manera:

PROGRAM POT;
USES CRT;
VAR a,b,potencia:REAL;
BEGIN
ClrScr;
WRITE ('Introduce el valor a sacar potencia: '); Read (a);
WRITE ('Introduce el valor de potencia a sacar: '); Read (b);
potencia:=Exp(b*Ln(a));
Write ('El resultado de la potencia es: ',potencia:20:2);
Readkey;
END.

Y para sacar cualqueir raiz es:

PROGRAM RAIZ;
USES CRT;
VAR a,b,rai:REAL;
BEGIN
ClrScr;
WRITE ('Introduce el valor a sacar raiz: '); Read (a);
WRITE ('Introduce el valor del radical de la raiz: '); Read (b);
rai:=Exp((1/b)*Ln(a));
Write ('El resultado de la potencia es: ',rai:20:2);
Readkey;
END.

Y ya de esta manera me ha salido lo que queria obtener, muchas gracias por sus opiniones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Potencias y Raices... una cosa más

Publicado por Diego Romero (996 intervenciones) el 19/04/2007 11:45:53
Muy inteligente :).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Potencias y Raices... una cosa más

Publicado por acc (1 intervención) el 09/09/2007 08:44:16
FUNCTION Potencia(x,n:Real):Real;
BEGIN
Potencia := Exp(n *Ln(x))
END;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Potencias y Raices... una cosa más

Publicado por Juan (1 intervención) el 21/07/2016 02:28:11
Gracias bro me haz salvado el pellejo... ando haciendo un programa super basico y estaba atoradisimo con esto.!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Potencias y Raices... una cosa más

Publicado por jpr (1 intervención) el 17/05/2019 00:39:48
hola, tengo un ejercicio parecido. es mi primer ejercicio en pascal geany y no se como formularlo.
ya se como saber si es triangulo o no, pero dentro del if en caso de ser triangulo tengo que informar en caso de ser triangulo rectangulo

el ejercicio todavia no esta terminado, lo tenemos que continuar en clase... aviso por que van a ver por ej variables sin utilizar.

el ejercicio es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
program primero;
uses dos,crt;
var
	n1,n2,n3,i:integer;
	r1,r2:real;
	s1,s2:string;
	b:boolean;
	c1,c2:char;
procedure triangulo (a1,a2,a3:integer; var car:string);
begin
	if (a1<a2+a3) and (a2<a1+a3) and (a3<a1+a2) then
		car:='es triangulo'
	else
		car:='no es triangulo';
end;
 
begin
for i:=1 to 4 do
begin
writeln ('ingrese 3 nros');
readln (n1,n2,n3);
s1:='hola';
triangulo (n1,n2,n3,s1);
writeln (s1);
end;
end.


es un procedure con un programa principal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 112
Bronce
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

RE:Potencias y Raices... una cosa más

Publicado por juanba (40 intervenciones) el 21/05/2019 12:53:11
Supongo que el problema es determinar si tres segmentos de longitudes dadas pueden formar un triángulo y si este es rectángulo. Propongo esta solución:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
program primero;
var n1, n2, n3: integer;               // Tamaño de los lados del triangulo
    s1: string;                        // Respuesta
 
procedure Triangulo(a1, a2, a3: integer; var car: string);
begin
                                       // ¿Los segmentos pueden formar triangulo?
  if (a1<a2+a3) and (a2<a1+a3) and (a3<a1+a2) then
  begin
                                       // ¿Y cumplen el teorema de Pitagoras?
    if (a1*a1 = (a2*a2 + a3*a3)) or (a2*a2 = (a1*a1 + a3*a3)) or (a3*a3 = (a1*a1 + a2*a2)) then
      car := 'triangulo rectangulo'
    else
      car := 'triangulo NO rectangulo'
  end
  else
    car := ' NO forman un triangulo'
end;
 
begin
  writeln ('Bienvenido al maravilloso programa de comprobacion de Triangulos.');
  writeln('ingrese 3 nros enteros (Rtn despues de cada numero)');
  readln (n1,n2,n3);
  triangulo (n1,n2,n3,s1);
  writeln (n1, ', ', n2, ', ', n3, ' forman: ', s1);
  readln;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Potencias y Raices... una cosa más

Publicado por Ibai (5 intervenciones) el 26/04/2021 10:51:43
Hola buenas, se que estoy respondiendo a un mensaje de hace mucho tiempo...
Pero como se haria para elevar un numero negativo a otro numero cualquiera??
El, Exp (b * Ln (a)) no se podria utilizar puesto que la base es negativa...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Potencias y Raices... una cosa más

Publicado por David (224 intervenciones) el 26/04/2021 19:02:35
La solución a eso es preguntar antes si el exponente es negativo. Si es que sí, se trata de hacer la potencia como si fuese positiva y luego dividir entre uno el resultado. Por ejemplo:

base = 2
exponente = -3

multiplicamos el exponente por -1 y hacemos la potencia. Luego el resultado de la operación será 1/potencia. En este caso, 1/8.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar