100% acharam este documento útil (1 voto)
4 visualizações37 páginas

Relatório de Projeto: Calculadora Científica

Este documento fornece uma visão geral de um projeto de calculadora científica desenvolvido como parte do cumprimento de um grau de Mestrado em Tecnologia da Informação. Inclui uma seção de agradecimentos agradecendo àqueles que forneceram apoio e orientação. Em seguida, discute a visão geral do projeto, incluindo o nome, tipo e software utilizado. Também descreve os requisitos e especificações do sistema, interfaces externas e fluxos de dados, um diagrama de fluxo de dados de alto nível e dicionário de dados, plano de testes e uma introdução ao projeto. O código-fonte, requisitos de hardware/software e capturas de tela do projeto também estão incluídos.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
100% acharam este documento útil (1 voto)
4 visualizações37 páginas

Relatório de Projeto: Calculadora Científica

Este documento fornece uma visão geral de um projeto de calculadora científica desenvolvido como parte do cumprimento de um grau de Mestrado em Tecnologia da Informação. Inclui uma seção de agradecimentos agradecendo àqueles que forneceram apoio e orientação. Em seguida, discute a visão geral do projeto, incluindo o nome, tipo e software utilizado. Também descreve os requisitos e especificações do sistema, interfaces externas e fluxos de dados, um diagrama de fluxo de dados de alto nível e dicionário de dados, plano de testes e uma introdução ao projeto. O código-fonte, requisitos de hardware/software e capturas de tela do projeto também estão incluídos.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

CALCULADORA CIENTÍFICA

Relatório do Projeto
Submetido em Cumprimento Parcial do
Requisitos para o Grau de

Mestrado em Tecnologia da Informação

para o

Universidade de Panjab

Colegio Sanatan Dharam Goswami Sec-32/C, Chandigarh

Submetido A: Enviado Por:


Prof. Paramjit Singh Krishma Garg
Komal Kashyap
Número de matrícula:
Número de Registro:

MSc(IT)-1stsem
RECONHECIMENTO

Eu fiz esforços neste projeto. No entanto, não teria sido possível sem o
apoio gentil e ajuda de muitos indivíduos e organizações. Gostaria de estender minha
sinceros agradecimentos a todos eles.

Estou altamente endividado a (GOSWAMI GANESH DUTTA SANATAM DHARAM


COLÉGIO) por sua orientação e supervisão constante, bem como por fornecer
informações necessárias sobre o projeto e também por seu apoio na conclusão do
projeto.

Gostaria de expressar minha gratidão aos meus pais e ao nosso professor Paramjiit Singh
pela sua gentil cooperação e encorajamento que me ajudaram na conclusão disso
projeto.

Gostaria de expressar minha especial gratidão e agradecimentos às pessoas da indústria por me dar
tanta atenção e tempo.

Meus agradecimentos e apreciações também vão para meu colega no desenvolvimento do projeto e
pessoas que me ajudaram voluntariamente com suas habilidades.
VISÃO GERAL DO PROJETO

NOME DO PROJETO CALCULADORA CIENTÍFICA

TIPO DE PROJETO PROJETO DE DESENVOLVIMENTO

SOFTWARE JDK 6 Atualização 17


ESPECIFICAÇÕES DE REQUISITOS DO SISTEMA:

É produzido na culminação da tarefa de análise. A função e o desempenho


alocadas para software como parte da engenharia de sistemas são refinadas por meio da criação de um
descrição completa das informações, uma indicação dos requisitos de desempenho e design
restrições, critérios de validação apropriados e outros dados pertinentes aos requisitos.

Desenvolvimento/ Operação/ Manutenção de Ambientes:


Os ambientes de sucesso para engenharia de software são construídos em um ambiente
arquitetura que abrange software de sistema apropriado. Além disso, o ambiente
a arquitetura deve considerar os padrões de trabalho humano que são aplicados durante o software
processo de engenharia.

INTERFACE EXTERNA E FLUXOS DE DADOS


Interface Externa: O design da interface externa começa com uma avaliação de cada externa
entidade representada nos DFDs do modelo de análise. Os dados e o controle
os requisitos da entidade externa são determinados e as interfaces externas apropriadas são
Projetado. Neste projeto de GESTÃO DE ESCRITÓRIO, precisamos de coisas especiais como
verificação de assinaturas digitais como interface externa.

A interface deve estar acoplada a algoritmos de validação de dados e manipulação de erros com
em um módulo. Porque os efeitos colaterais se propagam através das interfaces do programa, é essencial que
verifique todos os dados fluindo de módulo para módulo.

DIAGRAMA DE FLUXO DE DADOS DE ALTO NÍVEL E DICIONÁRIO DE DADOS:

Dicionário de Dados

O dicionário de dados é o repositório que contém descrições de todos os objetos de dados consumidos
ou produzido pelo software. Está no cerne do modelo de análise. Ou em outras palavras, ele
é metadados (dados sobre dados).
Diagramas DFD detalhados e diagramas de estrutura:

DFD significa diagrama de fluxo de dados. DFD é uma técnica gráfica que retrata informações
e as transformações que são aplicadas à medida que os dados se movem da entrada para a saída. O DFD também é
conhecido como Gráfico de Bolhas. O diagrama de fluxo de dados pode ser utilizado para representar um sistema ou
software em qualquer nível de abstração. Na verdade, o DFD pode ser dividido em um nível que
representa o aumento do fluxo de informações e detalhes funcionais. Portanto, o DFD
fornece um mecanismo para modelagem funcional, bem como modelagem de fluxo. Ao fazer isso, ele
satisfa o segundo princípio da análise operacional.

PLANO DE TESTE

A função básica do teste é detectar os erros no software após a codificação.


programas de computador disponíveis que podem ser executados para fins de teste.
Isso implica que os testes não devem apenas descobrir erros introduzidos durante a codificação, mas também
erros introduzidos durante a última fase. Assim, o objetivo dos testes é descobrir requisitos,
erros de codificação e design no programa. Consequentemente, diferentes níveis de teste são
empregado. Existem muitos estágios nos quais os testes são realizados.

•Teste Funcional:
Durante o teste funcional, o software do módulo é tratado como uma caixa preta,
e os casos de teste são decididos com base nas especificações do sistema
ou módulo. Essa forma de teste é chamada de “Teste de Caixa Preta”. O foco
está testando os comportamentos do sistema.

Testes de Desempenho:
O software que fornece funções necessárias, mas não confirma a
o requisito de desempenho é inaceitável. Os testes de desempenho são projetados
sobre o desempenho de tempo de execução de testes de software dentro do contexto de um
sistema integrado. O teste de desempenho ocorre em todas as etapas no
processo de teste. Mesmo no nível da unidade, o desempenho de um módulo pode
ser avaliado como teste de caixa branca realizado. No entanto, não é até que todo o sistema
os elementos estão totalmente integrados para que o verdadeiro desempenho do sistema possa
ser determinado. Testes de desempenho são frequentemente combinados com testes de estresse e
geralmente exigem tanto hardware quanto software.
INTRODUÇÃO AO PROJETO

Sequência para criar uma GUI para Calculadora


1. Crie uma Janela de Calculadora (tamanho 200 por 270)

2. Adicione MenuBar a ele.


3. Adicionar Item de Menu (CheckBox tipo Básico e Estendido)

4. Adicionar Campo de Texto (para mostrar o resultado dos cálculos)


5. Adicionar caixa de seleção para radianos e graus

6. Adicione um Botão ao Quadro (20 para básico e mais 8 para estendido)


7. Os seguintes métodos de Ação/Item a serem incluídos
(a) actionPerformed(EventoAcao ae){ todas as ações realizadas
no calculador será anotado por este método como pressionando
botão adicionar (+) etc}

(b) itemStateChanged(ItemEvent ie) { isso verificará na barra de menu }


itens, por exemplo, se você clicar no item expandido do menu Visualizar, você irá

veja a visualização ampliada da calculadora


8. Os outros métodos/classes a serem utilizados

(i) makeCalculator(){ isso irá construir a GUI para a calculadora }


(ii) resetButtons (num) { isso irá redefinir os botões ou seja, mudar o
propriedade para falso}

(iii)recíproco(num){ se num for zero então mensagem de erro senão num =1/num}
(iv) mudarSinal(num){ muda o sinal do num}
(v) fatorial(num){ se num for menor que 1 mensagem de erro senão faça o fatorial}
(vi) classe MessageBox estende Dialog e implementa ActionListener {
essa classe é chamada de outros métodos para exibir o erro
Crie um construtor
A LINGUAGEM DE PROGRAMÇÃO JAVA
A linguagem de programação Java é uma linguagem de alto nível que pode ser caracterizada por tudo
dos seguintes termos da moda:

Simples
•Orientado a objetos
Robusto
Seguro
•Neutro em relação à arquitetura

Portátil
Alta performance
Multithreaded
Dinâmico
Com a maioria das linguagens de programação, você ou compila ou interpreta um programa para que você
pode executá-lo em seu computador. A linguagem de programação Java é incomum porque uma
o programa é tanto compilado quanto interpretado. Com o compilador, primeiro você traduz um
programa em uma linguagem intermediária chamada bytecodes Java—independente da plataforma
códigos interpretados pelo interpretador na plataforma Java. O interpretador analisa e executa
cada instrução de bytecode Java no computador. A compilação acontece apenas uma vez;
a interpretação ocorre cada vez que o programa é executado. A figura a seguir ilustra
como isso funciona.
Você pode pensar nos bytecodes Java como as instruções de código de máquina para a Java Virtual
Máquina(Java VM). Todo interpretador Java, seja uma ferramenta de desenvolvimento ou um Web
navegador que pode executar applets, é uma implementação da VM Java.
Os bytecodes Java ajudam a tornar possível o 'escreva uma vez, execute em qualquer lugar'. Você pode compilar seu
programar em bytecodes em qualquer plataforma que tenha um compilador Java. Os bytecodes podem então
pode ser executado em qualquer implementação da Java VM. Isso significa que, desde que um computador tenha
uma JVM, o mesmo programa escrito na linguagem de programação Java pode rodar em
Windows 2000, uma estação de trabalho Solaris, ou em um iMac.

A PLATAFORMA JAVA
Uma plataforma é o ambiente de hardware ou software no qual um programa é executado. Nós temos
já mencionei algumas das plataformas mais populares como Windows 2000, Linux,
Solaris e MacOS. A maioria das plataformas pode ser descrita como uma combinação do sistema operacional
sistema e hardware. A plataforma Java difere da maioria das outras plataformas no sentido de que é um
plataforma apenas de software que funciona em cima de outras plataformas baseadas em hardware.

A plataforma Java tem dois componentes:


A Máquina Virtual Java (Java VM)
•A Interface de Programação de Aplicativos Java (Java API)

A API Java é uma grande coleção de componentes de software prontos que fornecem muitos
capacidades úteis, como widgets de interface gráfica do usuário (GUI). A API Java é
agrupadas em bibliotecas de classes e interfaces relacionadas; essas bibliotecas são conhecidas como
pacotes.
Código nativo é o código que, após a compilação, é executado em um específico
plataforma de hardware. Como um ambiente independente de plataforma, a plataforma Java pode ser uma
um pouco mais lento do que o código nativo. No entanto, compiladores inteligentes, interpretadores bem ajustados e apenas-
compiladores de bytecode em tempo real podem trazer desempenho próximo ao do código nativo sem
portabilidade ameaçadora. O compilador Java permite que você encadeie referências a classes e
métodos e variáveis de instância juntos, resultando em construções como a que aparece
no programa de amostra.
REQUISITOS DE HARDWARE E SOFTWARE

•Kit de Desenvolvimento Java (jdk 6 atualização 17)

•Windows XP/ 2000 ou Superior


•Um Adaptador Gráfico VGA ou SVGA
•Um Mouse e Teclado com Conector Serial
• Disco Rígido de 20 G.B. ou mais
•256 MB de RAM ou mais
Unidade Floppy 1.44 / CD-ROM
Monitor de 15"
Impressora
VISÃO GERAL DO PROJETO
CÓDIGO-FONTE

import [Link].*;

import [Link].*;

classe CalcFrame estende Frame {

CalcFrame( String str) {

super(str);

addWindowListener(new WindowAdapter() {

public void janelaFechando (EventoJanela ej) {

[Link](0);

});

public class Calculator implements ActionListener, ItemListener {

CalcFrame fr;

MenuBar mb;

Menu

MenuItem bold, regular, author;

CheckboxMenuItem básico, científico;


GrupoDeCaixas cbg;

Caixa de seleção radianos, graus;

CampoTexto display;

Botão key[] = new Botão[20];

Button clearAll, clearEntry, round;

Botão scientificKey[] = novo Botão[10];

boolean addButtonPressed, subtractButtonPressed, multiplyButtonPressed;

botãoDividirPressionado

boolean roundButtonPressed = false;

dobro initialNumber;

double currentNumber = 0;

int casasDecimais = 0;

public static void main (String args[]) {

Calculadora calc = nova Calculadora();

[Link]();

public void fazerCalculadora() {

int BWIDTH = 25;

final int BHEIGHT = 25;

int count = 1;

// criar quadro para a calculadora

fr = new CalcFrame("Calculadora Básica");

[Link](200,270);

[Link]([Link]);

mb = new MenuBar();
nova Menu("Ver")

fonte = novo Menu ("Fonte");

Sobre

básico

[Link](this);

científico

[Link](this);

bold = new MenuItem("Arial Negrito");

[Link](this);

novo MenuItem("Arial Regular");

[Link](this);

Novo Item de Menu("Autores");

[Link](this);

[Link](básico);

[Link](científico);

[Link](negrito);

[Link](regular);

[Link](autor);

[Link](visão);

[Link](fonte);

[Link](sobre);

[Link](mb);

[Link](null);

para (int linha = 0; linha < 3; ++linha) {

para (int col = 0; col < 3; ++col) {


novo Botão([Link](count));

key[count].addActionListener(this);

key[count].setBounds(30*(col + 1), 30*(row + 4), BWIDTH, BHEIGHT);

key[count].setBackground([Link]);

[Link](chave[count++]);

novo Botão("0")

key[0].addActionListener(this);

key[0].setBounds(30,210,BWIDTH,BHEIGHT);

key[0].setBackground([Link]);

[Link](chave[0]);

new Botão(".")

key[10].addActionListener(this);

key[10].setBounds(60,210,BWIDTH,BHEIGHT);

key[10].setBackground([Link]);

[Link](key[10]);

new Button("=");

key[11].addActionListener(this);

key[11].setBounds(90,210,BWIDTH,BHEIGHT);

key[11].setBackground([Link]);

[Link](chave[11]);

new Button("*");

key[12].addActionListener(this);

key[12].setBounds(120,120,BWIDTH,BHEIGHT);
key[12].setBackground([Link]);

[Link](key[12]);

new Button("/")

key[13].addActionListener(this);

key[13].setBounds(120,150,BWIDTH,BHEIGHT);

key[13].setBackground([Link]);

[Link](chave[13]);

new Button("+");

key[14].adicionarAcaoListener(this);

key[14].setBounds(120,180,BWIDTH,BHEIGHT);

key[14].setBackground([Link]);

[Link](chave[14]);

new Button("-");

key[15].addActionListener(this);

key[15].setBounds(120,210,BWIDTH,BHEIGHT);

key[15].setBackground([Link]);

[Link](chave[15]);

new Button("1/x")

key[16].addActionListener(this);

key[16].setBounds(150,120,BWIDTH,BHEIGHT);

key[16].setBackground([Link]);

[Link](chave[16]);

new Button("x^n")

key[17].addActionListener(this);

key[17].setBounds(150,150,BWIDTH,BHEIGHT);
key[17].setBackground([Link]);

[Link](chave[17]);

novo Botão("+/-");

key[18].addActionListener(this);

key[18].setBounds(150,180,BWIDTH,BHEIGHT);

key[18].setBackground([Link]);

[Link](key[18]);

new Button("x!");

key[19].addActionListener(this);

key[19].setBounds(150,210,BWIDTH,BHEIGHT);

key[19].setBackground([Link]);

[Link](chave[19]);

novo Botão("CA");

[Link](this);

[Link](30, 240, BWIDTH+20, BHEIGHT);

[Link]([Link]);

[Link](limparTudo);

CE

[Link](this);

[Link](80, 240, BWIDTH+20, BHEIGHT);

[Link]([Link]);

[Link](limparEntrada);

round = new Button("Rodar");

[Link](this);

[Link](130, 240, BWIDTH+20, BHEIGHT);


[Link]([Link]);

[Link](rodada);

novo TextField("0");

[Link](30,90,150,20);

[Link]([Link]);

new Button("Seno")

scientificKey[0].addActionListener(this);

scientificKey[0].setBounds(180, 120, BWIDTH + 10, BHEIGHT);

scientificKey[0].setVisible(false);

scientificKey[0].setBackground([Link]);

[Link](chaveCientífica[0]);

new Button("Cos")

scientificKey[1].addActionListener(this);

scientificKey[1].setBounds(180, 150, BWIDTH + 10, BHEIGHT);

scientificKey[1].setBackground([Link]);

scientificKey[1].setVisible(false);

[Link](chaveCientífica[1]);

Botão("Tan")

scientificKey[2].addActionListener(this);

scientificKey[2].setBounds(180, 180, BWIDTH + 10, BHEIGHT);

scientificKey[2].setBackground([Link]);

scientificKey[2].setVisible(false);

[Link](chaveCientífica[2]);

Botão("Pi")

scientificKey[3].addActionListener(this);
scientificKey[3].setBounds(180, 210, BWIDTH + 10, BHEIGHT);

scientificKey[3].setBackground([Link]);

scientificKey[3].setVisible(false);

[Link](chaveCientífica[3]);

new Button("aSin");

scientificKey[4].addActionListener(this);

scientificKey[4].setBounds(220, 120, BWIDTH + 10, BHEIGHT);

scientificKey[4].setBackground([Link]);

scientificKey[4].setVisible(false);

[Link](chaveCientífica[4]);

novo Botão("aCos")

scientificKey[5].addActionListener(this);

scientificKey[5].setBounds(220, 150, BWIDTH + 10, BHEIGHT);

scientificKey[5].setBackground([Link]);

scientificKey[5].setVisible(false);

[Link](chaveCientífica[5]);

new Button("aTan")

scientificKey[6].addActionListener(this);

scientificKey[6].setBounds(220, 180, BWIDTH + 10, BHEIGHT);

scientificKey[6].setBackground([Link]);

scientificKey[6].setVisible(false);

[Link](chaveCientífica[6]);

new Button("E");

scientificKey[7].addActionListener(this);

scientificKey[7].setBounds(220, 210, BWIDTH + 10, BHEIGHT);


scientificKey[7].setBackground([Link]);

scientificKey[7].setVisible(false);

[Link](scientificKey[7]);

new Button("todeg")

scientificKey[8].addActionListener(this);

scientificKey[8].setBounds(180, 240, BWIDTH + 10, BHEIGHT);

scientificKey[8].setBackground([Link]);

scientificKey[8].setVisible(false);

[Link](chaveCientífica[8]);

novo Botão("torad")

scientificKey[9].addActionListener(this);

scientificKey[9].setBounds(220, 240, BWIDTH + 10, BHEIGHT);

scientificKey[9].setBackground([Link]);

scientificKey[9].setVisible(false);

[Link](chaveCientifica[9]);

cbg = new CheckboxGroup();

graus = new Checkbox("Graus", cbg, true);

radianos = new Checkbox("Radianos", cbg, false);

[Link](this);

[Link](this);

[Link](185, 75, 3 * BWIDTH, BHEIGHT);

[Link](185, 95, 3 * LARGURA_B, ALTURA_B);

[Link](false);

[Link](false);

[Link](degrees);
[Link](radianos);

[Link](exibir);

[Link](true);

public void actionPerformed(ActionEvent ae) {

String buttonText = [Link]();

double displayNumber = [Link]([Link]()).doubleValue();

se(([Link](0) >= '0') & ([Link](0) <= '9')) {

se(pontoDecimalPressionado) {

para (int i=1;i <=decimalPlaces; ++i)

currentNumber *= 10;

currentNumber += (int)[Link](0) - (int)'0';

para (int i=1;i <=decimalPlaces; ++i) {

currentNumber /=10;

++casasDecimais;

[Link]([Link](currentNumber));

senão se (botãoRedondoPressionado) {

int decPlaces = (int)[Link](0) - (int)'0';

para (int i=0; i< decPlaces; ++i)

displayNumber *=10;

displayNumber = [Link](displayNumber);

para (int i = 0; i < decPlaces; ++i) {

displayNumber /=10;
}

[Link]([Link](displayNumber));

roundButtonPressed = false;

senão {

currentNumber = currentNumber * 10 + (int)[Link](0) - (int)'0';

[Link]([Link]((int)currentNumber));

se(buttonText == "+") {

addButtonPressed = true;

displayNumber;

currentNumber = 0;

decimalPointPressed = false;

se (textoDoBotão == "-") {

subtractButtonPressed = true;

initialNumber = displayNumber;

númeroAtual = 0;

decimalPointPressed = false;

se (buttonText == "/") {

divideButtonPressed = true;

initialNumber = displayNumber;

currentNumber = 0;
decimalPointPressed = false;

se (buttonText == "*") {

multiplyButtonPressed = true;

initialNumber = displayNumber;

numeroAtual = 0;

decimalPointPressed = false;

se (textoBotão == "1/x") {

[Link](reciprocal(displayNumber));

currentNumber = 0;

decimalPointPressed = false;

se (textoDoBotão == "+/-") {

[Link](mudarSinal(displayNumber));

currentNumber = 0;

decimalPointPressed = false;

se (buttonText == "x!") {

[Link](fatorial(displayNumber));

currentNumber = 0;

decimalPointPressed = false;

se (textoBotao == "x^n") {
powerButtonPressed = true;

númeroInicial = númeroDeExibição;

currentNumber = 0;

decimalPointPressed = false;

se (textoDoBotão == "Sin") {

se ([Link]())

[Link]([Link]([Link]([Link] * displayNumber/180)));

senão {

[Link]([Link]([Link](displayNumber)));

currentNumber = 0;

decimalPointPressed = false;

se (textoDoBotão == "Cos") {

se ([Link]())

[Link]([Link]([Link]([Link] * displayNumber/180)));

senão{

[Link]([Link]([Link](displayNumber)));

currentNumber = 0;

decimalPointPressed = false;

se (buttonText == "Tan") {

se ([Link]())
[Link]([Link]([Link]([Link] * displayNumber/180)));

senão {

[Link]([Link]([Link](displayNumber)));

numeroAtual = 0;

decimalPointPressed = false;

se (textoDoBotão == "aSin") {

se ([Link]())

[Link]([Link]([Link](displayNumber)* 180/[Link] ));

senão {

[Link]([Link]([Link](displayNumber)));

currentNumber = 0;

decimalPointPressed = false;

se (textoDoBotao == "aCos") {

se ([Link]())

[Link]([Link]([Link](displayNumber)* 180/[Link] ));

senão {

[Link]([Link]([Link](displayNumber)));

currentNumber = 0;

decimalPointPressed = false;

}
se (buttonText == "aTan") {

se ([Link]())

[Link]([Link]([Link](displayNumber) * 180 / [Link]));

senão {

[Link]([Link]([Link](displayNumber)));

currentNumber = 0;

decimalPointPressed = false;

se (textoBotao == "todeg")

[Link]([Link]([Link](displayNumber)));

se (buttonText == "torad")

[Link]([Link]([Link](displayNumber)));

se (textoBotão == "Pi") {

[Link]([Link]([Link]));

currentNumber =0;

decimalPointPressed = false;

se (textoDoBotão == "Rodada")

roundButtonPressed = true;

se (textoDoBotão == ".") {

String displayedNumber = [Link]();

boolean pontoDecimalEncontrado = false;

int i;

decimalPointPressed = true;
para (i = 0; i < [Link](); ++i) {

se([Link](i) == '.') {

pontoDecimalEncontrado

continue;

se (!pontoDecimalEncontrado)

decimalPlaces = 1;

se(buttonText == "CA"){

resetarTodosOsBotoes();

[Link]("0");

currentNumber = 0;

se (textoDoBotão == "CE") {

[Link]("0");

numeroAtual = 0;

decimalPointPressed = false;

se (textoDoBotão == "E") {

[Link]([Link](Math.E));

currentNumber = 0;

decimalPointPressed = false;

se (buttonText == "=") {
númeroAtual = 0;

se(addButtonPressed)

[Link]([Link](initialNumber + displayNumber));

se(botãoSubtrairPressionado)

[Link]([Link](initialNumber - displayNumber));

se (botãoDividirPressionado) {

se(displayNumber == 0) {

MessageBox mb = new MessageBox ( fr, "Error ", true, "Cannot divide by zero.");

[Link]();

senão

[Link]([Link](initialNumber/displayNumber));

se(botaoMultiplicarPressionado)

[Link]([Link](initialNumber * displayNumber));

se (botãoDeEnergiaPressionado)

[Link](potência(númeroInicial, númeroDisplay));

resetarTodosOsBotoes();

se (textoDoBotão == "Arial Regular") {

para (int i = 0; i < 10; ++i)

key[i].setFont(new Font("Arial", [Link], 12));

se (textoBotão == "Arial Negrito") {

para (int i = 0; i < 10; ++i)


key[i].setFont(new Font("Arial", [Link], 12));

se (textoBotao == "Autores") {

MessageBox mb = new MessageBox ( fr, "Calculadora ver 1.0 beta ", true, "Autores: Aarti
Kohli (aarti_nkr@[Link])
Sakshi Taneja (simmytaneja@[Link])

[Link]();

public void itemStateChanged(ItemEvent ie) {

se ([Link]() == "Básico") {

[Link](true);

scientí[Link](falso);

Calculadora Básica

[Link](200,270);

se (scientificKey[0].isVisible()) {

para (int i=0; i < 8; ++i)

scientificKey[i].setVisible(false);

[Link](false);

[Link](false);

se ([Link]() == "Científico") {

[Link](falso);

[Link](true);

[Link]("Calculadora Científica");
[Link](270,270);

se (!scientificKey[0].isVisible()) {

para (int i=0; i < 10; ++i)

scientificKey[i].setVisible(true);

[Link](true);

[Link](true);

public void resetarTodosOsBotoes() {

addButtonPressed = false;

subtractButtonPressed = false;

multiplyButtonPressed = false;

divideButtonPressed = false;

decimalPointPressed = false;

powerButtonPressed = false;

roundButtonPressed = false;

public String fatorial(double num) {

int theNum = (int)num;

se (oNum < 1) {

MessageBox mb = new MessageBox (fr, "Erro de Fatorial", true,

Não é possível encontrar o fatorial de números menores que 1.

[Link]();

retornar ("0");
}

senão {

for (int i=(theNum -1); i > 1; --i)

theNum *= i;

return [Link](theNum);

public String recíproco(double num) {

se (num == 0) {

MessageBox mb = new MessageBox(fr, "Erro Recíproco", true,

Não é possível encontrar o recíproco de 0

[Link]();

senão

num = 1/num;

return [Link](num);

public String power (double base, double index) {

return [Link]([Link](base, index));

public String mudarSinal(double num) {

return [Link](-num);

classe MessageBox estende Dialogo implementa ActionListener {


Botão ok;

Mensagem Caixa

super(f, título, modo);

Painel centrePanel = novo Painel();

Label lbl = new Label(mensagem);

[Link](lbl);

adicionar(centroPainel, "Centro");

Painel southPanel = novo Painel();

ok = novo Botão ("OK");

[Link](this);

[Link](ok);

adicionar(painelSul, "Sul");

empacotar();

addWindowListener (new WindowAdapter() {

public void janelaFechando (EventoJanela we) {

[Link](0);

});

public void actionPerformed(ActionEvent ae) {

dispôr(); } } // Fim do código fonte


MELHORIA FUTURA

O sistema foi projetado e desenvolvido levando em consideração as perspectivas futuras.


Várias funcionalidades foram incluídas para tornar o sistema compatível à medida que necessário.
exigido pela demanda do usuário em constante mudança.
A maioria das situações possíveis que podem surgir ao longo do tempo está sendo considerada.
e o sistema foi tornado compatível com o mundo computacional altamente dinâmico e
mudanças infinitas nos requisitos do usuário.
Este projeto é muito portátil. Podemos transferir os projetos de um sistema para outro muito facilmente.
outro sem qualquer interferência do hardware ou software da máquina. O
o sistema é muito fácil de aprender, eficiente e economiza tempo.
O candidato desenvolveu isso por conta própria e é muito flexível para modificar conforme as necessidades.
de usuários e clientes no futuro. No entanto, o aplicativo é capaz de melhorias.

Alguns recursos, que podem ser introduzidos mais tarde no software para melhorá-lo:

Mais recursos e funções podem ser adicionados a ele.


•Pode ser conectado a um banco de dados para recuperar resultados anteriores juntos.
A complexidade na resolução de problemas pode ser alterada dependendo do desenvolvimento de
novas funções na biblioteca Java.
Bibliografia
• [Link]
•[Link]
•[Link]/wiki/Java_(linguagem_de_programação)
• [Link]
•[Link] ( por David Flanagan, por Joshua Bloch)

Você também pode gostar