Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mag00

Potenciação - PASCAL

Recommended Posts

Boa noite galera.

 

A história é a mesma de todos. Trabalho de faculdade.

 

O professor solicitou que fizéssemos uma calculadora com diversas operações e dentre elas a exponenciação/potenciação.

 

Todas as operações já estão prontas, mas a potenciação exige uma certa cautela. O professor fica de olho nos tratamentos dos erros.

 

Na avaliação passada, por exemplo, ferrou todo mundo porque ninguém preparou a operação de divisão para tratar uma divisão por zero. Na hora da execução dos programas todos fechavam com um erro porque é matematicamente impossível. :(

 

Como só a potência está embaçada, vou postar aqui o meu código de potência apenas, mas já explico o problema na sequência.

 

program teste_potencia;

uses crt;

var n1, n2, n3 : real;

begin

  clrscr;

  repeat

  writeln;
  writeln ('Operação: Potenciação!');
  write ('Digite a base: ');
  readln ( n1 );
  writeln;
  write ('Digite a potência: ');
  readln ( n2 );
  writeln;
  if n1 = 0 then
	begin
	  if n2 <= 0 then
		write (n1:0:5, ' elevado a ', n2:0:5, ' resulta em uma operação ilegal!')
	  else
		begin
		  n3 := 0;
		  write (n1:0:5, ' elevado a ', n2:0:5, ' = ', n3:0:5);
		end;
	end
  else if n1 > 0 then
	  write (n1:0:5, ' elevado a ', n2:0:5, ' = ', exp(n2*ln(n1)):0:5)
  // Início da treta
  else // Quando a base for negativa
	begin
	  n1 := n1*-1;
	  n3 := exp(n2*ln(n1));
	  if n2 < 0 then
		n3 := n3*-1;
	  n1 := n1*-1;
	  write (n1:0:5, ' elevado a ', n2:0:5, ' = ', n3:0:5)
	end;
  writeln;
  writeln;
  write ('esperando uma tecla');
  readln;

  until n1 = 111; 

end.

Se testarem o programa, verão que ele calcula praticamente todas as potências, porém, ao colocarmos uma base negativa, começa a aparecer uma falha.

 

Pesquisando na internet, descobri que infelizmente o pascal não possui uma função interna para a potência, então, usa-se comumente 2 funções interligadas para chegar-se ao resultado.

 

EXP() e LN().

 

Considerando B = número base, e P = valor da potência, a utilização das funções acima ficaria assim num programa:

 

exp(P * ln(B))

Funciona direitinho até alguém colocar uma base negativa. Aí o ln (Logaritmo Neperiano) da base dá erro e a coisa mela toda.

 

No meu código de potência eu trato diversos erros comuns, mas quando chega nessa parte eu travo.

 

Eu fiz o seguinte. Coloquei uma condição para que quando a base for negativa, ele a multiplica por -1, aí calcula normalmente a potência e no fim ele deveria multiplicar o resultado por -1 novamente se a potência for ímpar, mas se for par mantém o resultado.

 

Entretanto, não consigo identificar se a potência é par ou impar porque a maneira que o pascal possui de fazer isso obriga que a variável que guarda o valor da potência seja do tipo INTEGER, mas eu preciso que ela seja do tipo REAL.

 

Será que isso tem solução?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

pega a potencia e aplica o mod(2), se o resultado for zero é par, se for 1 é impar.

 

 

 

editando....

pelo que eu lembre, no pascal para calcular a potencia usava dois (*)

5 elevado a 2

5**2 = 25

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço a resposta NaPraia, mas não funciona o MOD nesse caso devido ao tipo de variável. Expliquei no fim do meu post ali.

 

Vou tentar fazer esse 5**2 pra ver o que rola.

 

Valeu.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

if n1 = 0 then
begin
  if n2 <= 0 then
	write (n1:0:5, ' elevado a ', n2:0:5, ' resulta em uma operação ilegal!')
  else
	begin
	  n3 := 0;
	  write (n1:0:5, ' elevado a ', n2:0:5, ' = ', n3:0:5);
	end;
end

 

Nao entendi porque expoente negativo é exceção. Matematicamente ele só indica que você tem que calcular o inverso da base elevado ao expoente positivo.

 

Por definicao, x0 = 1.

 

Funciona direitinho até alguém colocar uma base negativa. Aí o ln (Logaritmo Neperiano) da base dá erro e a coisa mela toda.

 

Não é o logarimo neperiano que da erro.É a forma como você esta tratando bases negativas.

 

Digite a base: -5

Digite a potêia: 4

Breakpoint 1, main () at potencia.p:28

28 n1 := n1*-1;

3: N3 = 0

2: N2 = 4

1: N1 = -5

(gdb) s

Breakpoint 3, main () at potencia.p:29

29 n3 := exp(n2*ln(n1));

3: N3 = 0

2: N2 = 4

1: N1 = 5

(gdb) s

Breakpoint 4, main () at potencia.p:30

30 if n2 < 0 then

3: N3 = 625

2: N2 = 4

1: N1 = 5

(gdb) s

32 n1 := n1*-1;

3: N3 = 625

2: N2 = 4

1: N1 = 5

(gdb) s

33 write (n1:0:5, ' elevado a ', n2:0:5, ' = ', n3:0:5)

3: N3 = 625

2: N2 = 4

1: N1 = -5

(gdb) s

-5.00000 elevado a 4.00000 = 625.0000035

 

Digite a base: -5

Digite a potêia: 3

Breakpoint 1, main () at potencia.p:28

28 n1 := n1*-1;

3: N3 = 0

2: N2 = 3

1: N1 = -5

(gdb) s

Breakpoint 3, main () at potencia.p:29

29 n3 := exp(n2*ln(n1));

3: N3 = 0

2: N2 = 3

1: N1 = 5

(gdb) s

Breakpoint 4, main () at potencia.p:30

30 if n2 < 0 then

3: N3 = 125

2: N2 = 3

1: N1 = 5

(gdb) s

32 n1 := n1*-1;

3: N3 = 125

2: N2 = 3

1: N1 = 5

(gdb) s

33 write (n1:0:5, ' elevado a ', n2:0:5, ' = ', n3:0:5)

3: N3 = 125

2: N2 = 3

1: N1 = -5

(gdb)

-5.00000 elevado a 3.00000 = 125.0000035

 

E tem mais coisa:

Digite a base: -5

Digite a potêia: -4

Breakpoint 1, main () at potencia.p:28

28 n1 := n1*-1;

3: N3 = 0

2: N2 = -4

1: N1 = -5

(gdb) s

Breakpoint 3, main () at potencia.p:29

29 n3 := exp(n2*ln(n1));

3: N3 = 0

2: N2 = -4

1: N1 = 5

(gdb) s

Breakpoint 4, main () at potencia.p:30

30 if n2 < 0 then

3: N3 = 0.0016000000000000001

2: N2 = -4

1: N1 = 5

(gdb) s

31 n3 := n3*-1;

3: N3 = 0.0016000000000000001

2: N2 = -4

1: N1 = 5

(gdb) s

32 n1 := n1*-1;

3: N3 = -0.0016000000000000001

2: N2 = -4

1: N1 = 5

(gdb)

33 write (n1:0:5, ' elevado a ', n2:0:5, ' = ', n3:0:5)

3: N3 = -0.0016000000000000001

2: N2 = -4

1: N1 = -5

(gdb)

-5.00000 elevado a -4.00000 = -0.0016035

 

Deveria ser (-5)^(-4) = 1/[(-5)^4] = 1/625 = 0.0016

 

Se a base for negativa,faça um while ao inves de ficar procurando chifre em cavalo.

E pelo amor de deus: de um nome decente p/ variaveis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço a resposta NaPraia, mas não funciona o MOD nesse caso devido ao tipo de variável.

só precisa modificar um pouco o código.

se a função mod funcionasse para real, o resultado do número par mod 2 iria variar entre 0 <= valor < 1

e se o número fosse ímpar o mod 2 iria variar entre 1 <= valor < 2, concorda????

sendo assim, pega a parte inteira desse teu número e joga numa variável inteira e calcula o mod.

 

PS: qual é o erro que dá ao tentar executar o mod com um número do tipo REAL??

Compartilhar este post


Link para o post
Compartilhar em outros sites
sendo assim, pega a parte inteira desse teu número e joga numa variável inteira e calcula o mod.

 

E como você faria com 35,6?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sendo assim, pega a parte inteira desse teu número e joga numa variável inteira e calcula o mod.

E como você faria com 35,6?
quem sabe você não lê direito o que foi escrito no tópico????

A dica que eu postei foi sobre como ele verificar se um número inteiro tende a ser par ou ímpar.

 

quanto a potência como vírgula você podia estudar um pouco mais para saber que não se usa dessa forma, se usa na forma de fração.

Compartilhar este post


Link para o post
Compartilhar em outros sites
quem sabe você não lê direito o que foi escrito no tópico????

A dica que eu postei foi sobre como ele verificar se um número inteiro tende a ser par ou ímpar.

 

quanto a potência como vírgula você podia estudar um pouco mais para saber que não se usa dessa forma, se usa na forma de fração.

 

Comece a pensar na porcaria que você acabou de falar.Mesmo sendo fração em alguns casos tem representação finita e não só pode como é representado usando numeros com vírgulas. Só porque você conhece um único modo de se representar alguma coisa,não saia falando asneira. Ainda quer exemplo? Modelo COCOMO de estimação de esforço e custo usado em engenharia de software:

 

E = 2,4 (KLOC)1,05

D = 2,5*E0,38

 

Para p/ falar de algo que você deve conhecer pela metade você pára, mas nem passa pela sua cabeça o problema de se truncar um racional p/ fazer teste de paridade...

 

E quem sabe você não lê o que foi escrito no tópico:

 

mas eu preciso que ela [a potência] seja do tipo REAL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

import java.Isis, o que você usou para gerar o "log" dos quotes no seu primeiro reply?

 

Sobre a nomenclatura das variáveis, realmente não me preocupei com isso, e nem devo no momento, visto que é apenas um trabalho de faculdade E o meu curso não é relacionado diretamente a programação/TI.

 

Quem sabe se no próximo semestre o professor se dedica mais em tirar as dúvidas dos alunos e passar uma base mais concreta sobre a linguagem eu então me preocupe em definir nomes de variáveis mais elaborados.

 

NaPraia, o erro que dá é justamente que a variável é do tipo REAL e ele precisa que seja uma "ShortInt" ou "LongInt".

 

Aos dois, não briguem por um trabalho de faculdade, senhores. Só vim tirar a dúvida e não gerar um conflito. Como pude notar, ambos tem um bom conhecimento em matemática, o que eu não tenho, portanto tenho certas limitações em trabalhar com a forma como os cálculos são efetuados. Nesse caso, não consegui pensar em outra maneira de tentar resolver o problema.

 

Entretanto, entreguei ontem o trabalho e fiquei com um belo 9 devido apenas a um erro tosco onde eu deveria ter colocado um readln para parar a tela na hora de mostrar um resultado e acabei colocando um writeln, o que fez o resultado apenas piscar na tela e voltar ao menu.

 

Como ele não tentou fazer um cálculo de base negativa e potência impar, ficaria com um 10 se não tivesse errado nisso. Enfim, por pura nerdisse ainda gostaria de saber como resolver o problema. Se alguém quiser me mostrar o que corrigir, fico agradecido.

 

Segue então o código da minha "Calculadora" para que possam opinar sobre.

 

Valeu.

 

{
	Programa: Calculadora Simples
	Autor: Gerson Fioravanti Junior
	Versão: 0.5
	Linguagem: PASCAL
	Proposta: Desenvolver o programa de uma calculadora que permitisse ao usuário efetuar
			  algumas operações.
			  Posteriormente foi solicitado o tratamento de alguns erros de operações que
			  inicialmente não foram efetuados.
	}
	program calculadora_av4_pascal;

	uses crt;

	var tecla : char;
		n1, n2, n3 : real;
		dec, a1, a2 : integer;

	function tan () :char;
	  begin
		writeln;
		writeln;
		writeln ( 'Operação: Tangente!' );
		writeln;
		write ( 'Digite o ângulo: ' );
		readln ( a1 );
		writeln;
		a2 := a1 mod 90;
		if a2 = 0 then
		  write ( 'Operação inválida. Não há tangente de ', a1,'°!' )
		else
		  begin
			writeln ( 'Resultado:' );
			writeln;
			write ( 'A tangente de ', a1, '° é ', sin(a1*pi/180)/cos(a1*pi/180):0:dec);
		  end;
		readln;
	  end;

	begin

	  dec := 2;

	  textbackground(blue);

	  while ord ( tecla ) <> 27 do

	  begin
		clrscr;

		writeln ( '																	  Versão 0.5' );
		writeln;
		writeln ( '	>ESC< - Finalizar | Casas decimais = ', dec );
		writeln;
		writeln ( '>A< - Adicionar			   >Q< - Quadrado' );
		writeln ( '>S< - Subtrair				>R< - Raiz Quadrada' );
		writeln ( '>D< - Dividir				 >F< - Fatorial' );
		writeln ( '>M< - Multiplicar			 >%< - Porcentagem' );
		writeln ( '>,< - Seno					>P< - Potenciação' );
		writeln ( '>.< - Cosseno				 >I< - Inverso' );
		writeln ( '>T< - Tangente				>:< - Casas decimais' );
		writeln;
		write ( 'Escolha uma opção indicada no destaque: ' );
		tecla := readkey;
		write ( tecla );

		case upcase ( tecla ) of
		  ':': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Mudar o número de casas decimais!' );
				 writeln;
				 writeln ( 'Atual: ', dec );
				 write ( 'Digite o novo valor: ' );
				 readln ( dec );
			   end;
		  'A': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Adição!' );
				 writeln;
				 write ( 'Digite o primeiro número: ' );
				 readln ( n1 );
				 write ( 'Digite o segundo número: ' );
				 readln ( n2 );
				 writeln;
				 writeln ( 'Resultado:' );
				 writeln;
				 write ( n1:0:dec, ' + ', n2:0:dec, ' = ', n1 + n2:0:dec );
				 readln;
			   end;
		  'S': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Subtração!' );
				 writeln;
				 write ( 'Digite o primeiro número: ' );
				 readln ( n1 );
				 write ( 'Digite o segundo número: ' );
				 readln ( n2 );
				 writeln;
				 writeln ( 'Resultado:' );
				 writeln;
				 write ( n1:0:dec, ' - ', n2:0:dec, ' = ', n1 - n2:0:dec );
				 readln ();
			   end;
		  'D': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Divisão!' );
				 writeln;
				 write ( 'Digite o primeiro número: ' );
				 readln ( n1 );
				 write ( 'Digite o segundo número: ' );
				 readln ( n2 );
				 writeln;
				 if n2 = 0 then
				   write ( 'Operação inválida. Não há divisão por ZERO!' )
				 else
				   begin
					 writeln ( 'Resultado:' );
					 writeln;
					 write ( n1:0:dec, ' / ', n2:0:dec, ' = ', n1 / n2:0:dec );
				   end;
				 readln ();
			   end;
		  'M': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Multiplicação' );
				 writeln;
				 write ( 'Digite o primeiro número: ' );
				 readln ( n1 );
				 write ( 'Digite o segundo número: ' );
				 readln ( n2 );
				 writeln;
				 writeln ( 'Resultado:' );
				 writeln;
				 write ( n1:0:dec, ' * ', n2:0:dec, ' = ', n1 * n2:0:dec );
				 readln ();
			   end;
		  'Q': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Elevar ao quadrado!' );
				 writeln;
				 write ( 'Digite o número: ' );
				 readln ( n1 );
				 writeln;
				 writeln ( 'Resultado:' );
				 writeln;
				 write ( n1:0:dec, ' ao quadrado é igual a ', sqr(n1):0:dec );
				 readln ();
			   end;
		  'R': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Raiz quadrada!' );
				 writeln;
				 write ( 'Digite o número: ' );
				 readln ( n1 );
				 writeln;
				 if n1 < 0 then
				   write ( 'Operação inválida. Não existe raiz de número negativo!' )
				 else
				   begin
					 writeln ( 'Resultado:' );
					 writeln;
					 write ( 'A raiz quadrada de ', n1:0:dec, ' é ', sqrt(n1):0:dec );
				   end;
				 readln ();
			   end;
		  'F': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Fatoração!' );
				 writeln;
				 write ( 'Digite o número a ser fatorado: ' );
				 readln ( n1 );
				 writeln;
				 if n1 < 0 then
				   write ( 'Operação inválida. Não fatoram-se números negativos!' )
				 else if n1 = 0 then
				   begin
					 n1 := 1;
					 write ( 'Resultado: ', n1:0:dec );
				   end
				 else
				   begin
					 n2 := n1 - 1;
					 writeln ( 'Fatorando o número : ', n1:0:dec );
					 writeln;
					 while  ( n2 > 1 ) do
					   begin
						 writeln ( n1:0:dec, ' * ', n2:0:dec, ' = ', n1 * n2:0:dec );
						 n1 := n1 * n2;
						 n2 := n2 -1;
					   end;
					 writeln;
					 write ( 'Resultado: ', n1:0:dec );
				   end;
				 readln ();
			   end;
		  'T': tan();
		  ',': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Seno!' );
				 writeln;
				 write ( 'Digite o ângulo: ' );
				 readln ( n1 );
				 writeln;
				 writeln ( 'Resultado:' );
				 writeln;
				 write ( 'O seno de ', n1:0:dec, char(248), ' é ', sin(n1*pi/180):0:dec);
				 readln;
			   end;
		  '.': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Cosseno!' );
				 writeln;
				 write ( 'Digite o ângulo: ' );
				 readln ( n1 );
				 writeln;
				 writeln ( 'Resultado:' );
				 writeln;
				 write ( 'O cosseno de ', n1:0:dec, char(248), ' é ', cos(n1*pi/180):0:dec);
				 readln;
			   end;
		  '%': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Porcentagem!' );
				 writeln;
				 write ( 'Digite o valor total: ' );
				 readln ( n1 );
				 write ( 'Digite a porcentagem: ' );
				 readln ( n2 );
				 writeln;
				 writeln ( 'Resultado:' );
				 writeln;
				 write ( n2:0:dec, '% de ', n1:0:dec, ' é ', n1*(n2/100):0:dec);
				 readln;
			   end;
		  'I': begin
				 writeln;
				 writeln;
				 writeln ( 'Operação: Inverso!' );
				 writeln;
				 write ( 'Digite o número: ' );
				 readln ( n1 );
				 writeln;
				 if n1 = 0 then
				   write ( 'Operação inválida. Não há soluçao para essa inversão!' )
				 else
				  begin
					writeln ( 'Resultado:' );
					writeln;
					write ( '1 / ', n1:0:dec, ' = ', 1/n1:0:dec);
				  end;
				 readln;
			   end;
		  'P': begin
				 writeln;
				 writeln ('Operação: Potenciação!');
				 write ('Digite a base: ');
				 readln ( n1 );
				 writeln;
				 write ('Digite a potência: ');
				 readln ( n2 );
				 writeln;
				 if n1 = 0 then
				   begin
					 if n2 <= 0 then
					   write (n1:0:5, ' elevado a ', n2:0:5, ' resulta em uma operação ilegal!')
					 else
					   begin
						 n3 := 0;
						 write (n1:0:5, ' elevado a ', n2:0:5, ' = ', n3:0:5);
					   end;
				   end
				 else if n1 > 0 then
				   write (n1:0:5, ' elevado a ', n2:0:5, ' = ', exp(n2*ln(n1)):0:5)
				 else
				   begin
					 n1 := n1*-1;
					 n3 := exp(n2*ln(n1));
					 n3 := n3*-1;
					 n1 := n1*-1;
					 write (n1:0:5, ' elevado a ', n2:0:5, ' = ', n3:0:5)
				   end;
				 readln;
			   end;
		end;
	  end;

	  writeln;
	  writeln;
	   writeln ( 'Programa: Calculadora simples - Avaliação 4 do 1º Sem. (UNINOVE)' );
	  writeln ( 'Testers: - Renata C. F.' );
	  writeln ( '		 - Marcelo F.' );
	  writeln ( '		 - Alexandre S.' );
	  writeln ( '		 - Danilo G.' );
	  writeln ( '		 - Gilson S' );
	  writeln ( '		 - Fernanda T.' );
	  writeln;
	  write ( 'Fim de programa, pressione qualquer tecla para sair' );
	  readkey;
	  textbackground(black);
	  clrscr;

	end.

Compartilhar este post


Link para o post
Compartilhar em outros sites
import java.Isis, o que você usou para gerar o "log" dos quotes no seu primeiro reply?

 

Se chama debugger. Quanto mais cedo você aprender a usar um,melhor.

Nao sei se você usa o Free Pascal,mas compilando com -g ele gera os dados p/ serem usados pelo GDB.

 

 

Sobre a nomenclatura das variáveis, realmente não me preocupei com isso, e nem devo no momento, visto que é apenas um trabalho de faculdade E o meu curso não é relacionado diretamente a programação/TI.

 

AH!!!! Queima!!!

você deve se preocupar com nome de variável,sim. Isso é coisa que se ensina na primeira aula de algoritmos.O fato do curso não ser relacionado à programação não é desculpa p/ você escrever um código ilegível à primeira vista.E nunca é apenas um trabalho de faculdade.Meu curso não tem nada a ver com hardware,mas a gente tem que projetar processador nele.E daí,José?

 

 

Quem sabe se no próximo semestre o professor se dedica mais em tirar as dúvidas dos alunos e passar uma base mais concreta sobre a linguagem eu então me preocupe em definir nomes de variáveis mais elaborados.

 

você quer transferir tudo p/ o professor? Se você precisa de um professor pra te motivar a fazer isso, sério, não vá p/ frente.

 

 

Aos dois, não briguem por um trabalho de faculdade, senhores.

 

Não tô brigando. Só tô falando que ele disse uma besteira quando afirmou que não se usa potência como número real. Ou o conjunto dos números reais deixou de ser subconjunto dos racionais?

Compartilhar este post


Link para o post
Compartilhar em outros sites
program teste_potencia;
var
 contador : integer;
 base,potencia,resultado : real;
 radical,quociente : real;


function RetornaNumerador(expoente:real) : real;
var
 temp : real;
begin
 temp := expoente;
 contador := 0;
 while int(frac(temp)) > 0 do
 begin
temp := temp * 10;
 end;
 RetornaNumerador := temp;
end;


begin
 writeln;
 writeln ('Operação: Potenciação!');
 write ('Digite a base: ');
 readln (base);
 writeln;
 write ('Digite a potência: ');
 readln ( potencia );
 writeln;

 if (potencia = 0) then
 begin
writeln('1');
 end else if (potencia > 0) and (base = 0.0) then
 begin
writeln('0');
 end else if (potencia < 0.0) and (base <> 0.0) then
 begin
base := 1/base;
potencia := potencia * (-1);
 end else if (potencia < 0.0) and (base = 0.0) then
 begin
writeln('Erro: divisao por zero');
 end;
if (potencia > 0) and (base <> 0.0) then
 begin
if base > 0 then
begin
   resultado := exp(potencia*Ln(base));
   writeln(resultado);
end else
begin
   radical := RetornaNumerador(potencia);
   quociente := radical/2;
   contador := 1;
   if base < 0.0 then
	   begin
			 if (int(radical) - 2*int(quociente) <> 0) then
			 begin
		  base := base * (-1);
			contador := contador * (-1);
			 end else
			 begin
		  base := base* (-1);
			 end;
   end;
   resultado := exp(potencia*Ln(base))*contador;
   writeln(resultado);

end;
 end;
end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tô brigando. Só tô falando que ele disse uma besteira quando afirmou que não se usa potência como número real. Ou o conjunto dos números reais deixou de ser subconjunto dos racionais?

 

 

isis, desculpe, mas o conjunto dos números reais não deixou de ser subconjunto dos racionais, ele nunca foi, os racionais que é um subconjunto dos reais, fikdik

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.