Um programa que resolva as 4 operaçoes da aritimetica, sem usar os operadores aritméticos

15 respostas
Bruna_Mihcelly

Gente, boa noite!
Eu preciso fazer um programa que resolva as quatro operações básica, ou seja , soma, subtração, divisao e multiplicação!
porem sem usar, os operadores, +, -,*, / .

Esse é o problema, nem sei por onde começar!
Alguem me da uma luz?

15 Respostas

drsmachado

Bruna Mihcelly:
Gente, boa noite!
Eu preciso fazer um programa que resolva as quatro operações básica, ou seja , soma, subtração, divisao e multiplicação!
porem sem usar, os operadores, +, -,*, / .

Esse é o problema, nem sei por onde começar!
Alguem me da uma luz?


Qual o enunciado?
Você está vendo algum tipo de estrutura condicional (if/else), de repetição (for, while, do/while) por acaso?

Marcelo_de_Andrade

O que você disse está contraditório e confuso. Não é para utilizar operador lógico ou aritmético?

ViniGodoy

Note que a única dificuldade é descobrir como fazer a soma.

A partir daí, todas outras operações são derivadas:

subtração, é a soma pelo complemento:
a - b == a + (-b)

multiplicação é um conjunto de somas:
a * 3 == a + a + a

divisão é um conjunto de subtrações:
a / 4 == conte quantas vezes é possível fazer a = a - 4 até que a < 4

Agora, para resolver a soma. Você precisa então trabalhar com operadores de bit. Você já viu aquela aula de como somar números em binário, usando só operadores como & e | ?

Markus_Alemao

Cheat…

BigDecimal primeiro = new BigDecimal(10.0);
        BigDecimal segundo = new BigDecimal(10.0);
        
        System.out.println(primeiro.add(segundo));
        System.out.println(primeiro.subtract(segundo));
        System.out.println(primeiro.divide(segundo));
        System.out.println(primeiro.multiply(segundo));

:slight_smile:

Bruna_Mihcelly

drsmachado:
Bruna Mihcelly:
Gente, boa noite!
Eu preciso fazer um programa que resolva as quatro operações básica, ou seja , soma, subtração, divisao e multiplicação!
porem sem usar, os operadores, +, -,*, / .

Esse é o problema, nem sei por onde começar!
Alguem me da uma luz?


Qual o enunciado?
Você está vendo algum tipo de estrutura condicional (if/else), de repetição (for, while, do/while) por acaso?

Faça um programa que implemente as 4 funções básicas da aritmética: soma, subtracao, multiplicacao e divisao. Utilizando as funções criadas, faça com que o programa calcule as seguintes expressões matemáticas, sem usar diretamente os operadores matemáticos (+,-,, /):
Exemplo de equivalencia de uso de função:
(2+3)4 => multiplicacao(soma(2,3), 4)
a. (3
5)+(4/2)
b. 3
(4+5-6)
c. 345

Bom…
esse é o enunciado, confesso que eu tambem acho um pouco confuso, mas o professor, disse pra usar o for!

Bruna_Mihcelly

ViniGodoy:
Note que a única dificuldade é descobrir como fazer a soma.

A partir daí, todas outras operações são derivadas:

subtração, é a soma pelo complemento:
a - b == a + (-b)

multiplicação é um conjunto de somas:
a * 3 == a + a + a

divisão é um conjunto de subtrações:
a / 4 == conte quantas vezes é possível fazer a = a - 4 até que a < 4

Agora, para resolver a soma. Você precisa então trabalhar com operadores de bit. Você já viu aquela aula de como somar números em binário, usando só operadores como & e | ?

Esse é o problema, meu professor julga que nos ja sabemos essa materia, sendo assim ele so da uma “revisão”, e nao explica nada
entao é a mesma coisa de estudar por conta propria!

se vc tiver alguma video aula sobre esse assunto pra me recomendar, vou ficar muito feliz com isso!

eu ja tive contato, com as aulas do Prof. Neri.

Bruna_Mihcelly

:oops:
Não é pra usar os operadores aritimeticos!

:smiley:

Markus_Alemao

Hum … acho que o problema foi superestimado …
não se trata de não poder usar operadores matematicos e sim criar metodos correpondentes aos mesmos:

//(2+3)*4 >>
        System.out.println((new BigDecimal(2).add(new BigDecimal(3))).multiply(new BigDecimal(4)));
        //(3*5)+(4/2) >> 
        System.out.println((new BigDecimal(3).multiply(new BigDecimal(5))).add((new BigDecimal(4)).divide(new BigDecimal(2))));

Voce deve criar seus proprios metodos ex :

public static int somar(int um, int dois){
        return um + dois;
}

depois aplica-los ex:

//1+1 >>
System.out.println(somar(1,1));
mkaule

Bruna, poxa que legal ver uma garota na computação :smiley:
Isso na minha universidade é mito.

Eu não sei se entendi direito o que você está pedindo, mas como o nobre colega ViniGodoy disse a partir da soma você consegue todo o resto.

import java.util.Scanner;


public class TestDriveDado {


	public static void main(String[] args) {

		int nro1;
		int nro2;

		Scanner sc = new Scanner(System.in);
		System.out.println("Digite o primeiro número: ");
		nro1 = sc.nextInt();
		System.out.println("Digite o segundo número: ");
		nro2 = sc.nextInt();

		System.out.println(soma(nro1, nro2));

	}

	public static int soma(int numero1, int numero2){

		for (int i = 0; i < numero2; i++) {
			numero1++;
		}
		return numero1;
	}
}
Bruna_Mihcelly
mkaule:
Bruna, poxa que legal ver uma garota na computação :D Isso na minha universidade é mito.

Eu não sei se entendi direito o que você está pedindo, mas como o nobre colega ViniGodoy disse a partir da soma você consegue todo o resto.

import java.util.Scanner;


public class TestDriveDado {


	public static void main(String[] args) {

		int nro1;
		int nro2;

		Scanner sc = new Scanner(System.in);
		System.out.println("Digite o primeiro número: ");
		nro1 = sc.nextInt();
		System.out.println("Digite o segundo número: ");
		nro2 = sc.nextInt();

		System.out.println(soma(nro1, nro2));

	}

	public static int soma(int numero1, int numero2){

		for (int i = 0; i < numero2; i++) {
			numero1++;
		}
		return numero1;
	}
}

Nossa, muito obrigada pelo codigo!

e ainda são poucas as garotas que entram nessa area mas aos poucos isso pode mudar!!!kkk

Agora eu só continuo conforme vc começou, então pra colocar uma subtração e as outras operações
eu uso o:

public static int soma(int numero1, int numero2){

?

Anime

Oi,

Já vi isso aqui, use a busca do forum… :wink:

mkaule

Não Bruna, crie um método pra cada operação. Agora é com você. Use a imaginação. Conforme a Anime disse dá uma pesquisada no fórum você vai encontrar algo do tipo, possivelmente coisas melhores e mais elegantes. (:

Bruna_Mihcelly

Markus Alemao:
Hum … acho que o problema foi superestimado …
não se trata de não poder usar operadores matematicos e sim criar metodos correpondentes aos mesmos:

//(2+3)*4 >>
        System.out.println((new BigDecimal(2).add(new BigDecimal(3))).multiply(new BigDecimal(4)));
        //(3*5)+(4/2) >> 
        System.out.println((new BigDecimal(3).multiply(new BigDecimal(5))).add((new BigDecimal(4)).divide(new BigDecimal(2))));

Voce deve criar seus proprios metodos ex :

public static int somar(int um, int dois){
        return um + dois;
}

depois aplica-los ex:

//1+1 >>
System.out.println(somar(1,1));

Otimo! muito obrigada mesmo!
me ajudou bastante, preciso de pessoas assim pra me ajudar!

obrigada

Bruna_Mihcelly

Anime:
Oi,

Já vi isso aqui, use a busca do forum… :wink:

Otimo!
obirgada pela atenção vou da uma busca geral no forum sobre esse e outros assuntos

Bruna_Mihcelly

Ok!
depois que eu compilei o codigo que entendi o lance do public static int.

nunca tinha usado essa opçao, mas deu tudo certo, to apanhando um pouco na parte da divisao
mas nao é nada muito preoculpante.
Mas obrigada pela atenção, gostei muito da sua ajuda

boa noite

Criado 12 de outubro de 2011
Ultima resposta 12 de out. de 2011
Respostas 15
Participantes 7