0% au considerat acest document util (0 voturi)
5 vizualizări37 pagini

Proiect Java

Acest document oferă o prezentare generală a unui proiect de calculator științific dezvoltat ca o îndeplinire parțială a unei diplome de master în tehnologia informației. Include o secțiune de mulțumiri în care sunt recunoscute persoanele care au oferit suport și îndrumare. Apoi, discută despre prezentarea generală a proiectului, inclusiv numele, tipul și software-ul utilizat. De asemenea, conturează cerințele și specificațiile sistemului, interfețele externe și fluxurile de date, un diagramă de flux de date la nivel înalt și un dicționar de date, planul de testare și o introducere în proiect. Codul sursă, cerințele hardware/software și capturi de ecran ale proiectului sunt de asemenea incluse.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
5 vizualizări37 pagini

Proiect Java

Acest document oferă o prezentare generală a unui proiect de calculator științific dezvoltat ca o îndeplinire parțială a unei diplome de master în tehnologia informației. Include o secțiune de mulțumiri în care sunt recunoscute persoanele care au oferit suport și îndrumare. Apoi, discută despre prezentarea generală a proiectului, inclusiv numele, tipul și software-ul utilizat. De asemenea, conturează cerințele și specificațiile sistemului, interfețele externe și fluxurile de date, un diagramă de flux de date la nivel înalt și un dicționar de date, planul de testare și o introducere în proiect. Codul sursă, cerințele hardware/software și capturi de ecran ale proiectului sunt de asemenea incluse.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

CALCULATOR Ș TIINȚIFIC

Raport de proiect
Trimis în finalizarea parț ială a
Cerinț e pentru obț inerea diplomei de

Msc(Tehnologia Informaț iei)

la

Universitatea Panjab

Colegiul Sanatan Dharam Goswami Sec-32/C, Chandigarh

Trimis la: Submitted By:


Prof. Paramjit Singh Krishma Garg
Komal Kashyap
Roll No.:
Roll No.:
MSc(IT)-1stsem
RECUNOAȘ TERE

Am depus eforturi în acest proiect. Cu toate acestea, nu ar fi fost posibil fără


sprijinul ș i ajutorul amabil al multor indivizi ș i organizaț ii. Aș dori să îmi extind
mulț umiri sincere tuturor lor.

Sunt profund îndatorat lui (GOSWAMI GANESH DUTTA SANATAM DHARAM


COLLEGE) pentru îndrumarea ș i supravegherea constantă, precum ș i pentru furnizarea
informaț iile necesare referitoare la proiect ș i, de asemenea, pentru sprijinul lor în finalizarea
proiect.

Aș dori să-mi exprim recunoș tinț a faț ă de părinț ii mei ș i de lectorul nostru Paramjiit Singh.
pentru cooperarea ș i încurajarea lor care m-au ajutat în finalizarea acestui lucru
proiect.

Aș dori să îmi exprim recunoș tinț a ș i mulț umirile speciale persoanelor din industrie pentru că mi-au oferit
atât de multă atenț ie ș i timp.

Mul ț umirile ș i aprecierile mele se îndreaptă ș i către colegul meu în dezvoltarea proiectului ș i
oameni care m-au ajutat de bunăvoie cu abilităț ile lor.
PREZENTARE PROIECT

PROJECT NAME CALCULATOR Ș TIINȚ IFIC

PROJECT TYPE PROIECT DE DEZVOLTARE

SOFTWARE JDK 6 Actualizare 17


SPECIFICAȚIILE CERINȚELOR DE SISTEM:
Este produs la culminarea sarcinii de analiză. Funcț ia ș i performanț a
alocate software-ului ca parte a ingineriei sistemelor sunt rafinate prin stabilirea unei
complete information description, an indication of performance requirements and design
constraints, criterii de validare adecvate ș i alte date relevante pentru cerinț e.

Dezvoltarea/ Operarea/ Întreț inerea Mediilor:


Mediile de succes pentru ingineria software sunt construite pe un mediu
arhitectură care cuprinde un software de sistem adecvat. În plus, mediul
arhitectura trebuie să ia în considerare modelele de lucru umane care sunt aplicate în timpul software-ului
engineering process.

INTERFAȚA EXTERNĂ Ș I FLUXURILE DE DATE


Interfaț ă externă: Designul interfeț ei externe începe cu o evaluare a fiecărei externe
entitate reprezentată în DFD-urile modelului de analiză. Datele ș i controlul
cerinț ele entităț ii externe sunt determinate ș i interfeț ele externe corespunzătoare sunt
proiectat. În acest proiect de MANAGEMENT AL BIROULUI avem nevoie de lucruri speciale, cum ar fi
verificarea semnăturilor digitale ca interfaț ă externă.

Interfaț a ar trebui să fie asociată cu algoritmi de validare a datelor ș i gestionare a erorilor cu


într-un modul. Deoarece efectele secundare se propagă prin interfeț ele programului, este esenț ial să
verifică toate datele care curg de la modul la modul.

DIAGRAMĂ DE FLUENCIA DE NIVEL ÎNALT Ș I DICȚIONAR DE DATE:

Data Dictionary :

Dictionarul de date este depozitul care conț ine descrieri ale tuturor obiectelor de date consumate.
sau produs de software. Se află în centrul modelului de analiză. Sau, cu alte cuvinte,
metadatele sunt date despre date.

Diagramă DFD detaliată ș i diagrame de structură:

DFD înseamnă diagramă de flux de date. DFD este o tehnică grafică care ilustrează informaț ia
ș i transformările care sunt aplicate pe măsură ce datele se deplasează de la intrare la ieș ire. DFD-ul este de asemenea
cunoscut sub numele de Grafic cu Bule. Diagrama fluxului de date poate fi folosită pentru a reprezenta un sistem sau

software la orice nivel de abstracț ie. De fapt, DFD poate fi împărț it în un nivel care
reprezintă un flux de informa ț ii în cre ș tere ș i detalii func ț ionale. Prin urmare, DFD
oferă un mecanism pentru modelarea funcț ională, precum ș i pentru modelarea fluxului. Astfel, ea
satisfice al doilea principiu de analiză operaț ională.

PLAN DE TESTARE

Funcț ia de bază a testării este de a detecta erorile în software după codare în


programe software disponibile care pot fi executate în scopuri de testare.
Aceasta implică faptul că testarea nu trebuie doar să descopere erorile introduse în timpul codării, ci ș i
eroare introduse în ultima fază. Astfel, scopul testării este de a descoperi cerinț a,
erori de codare ș i design în program. Prin urmare, sunt necesare diferite niveluri de testare
angajat. Există multe etape în care se desfăș oară testarea.

Testare func ț ională:


În timpul testului funcț ional, software-ul modulului este tratat ca o cutie neagră,
ș i cazurile de testare sunt stabilite pe baza specificaț iilor sistemului
sau modul. Această formă de testare se numeș te „Testare Black Box”. Accentul
este în testarea comportamentelor sistemului.

•Testare a Performan ț ei:


Software-ul care oferă func ț iile necesare, dar nu confirmă la
cerinț ele de performanț ă sunt inacceptabile. Testarea performanț ei este concepută
pe performan ț a timpului de execu ț ie al software-ului în contextul unei
sistem integrat. Testarea performanț ei are loc în toate etapele din
procesul de testare. Chiar ș i la nivel de unitate, performanț a unui modul poate
să fie evaluat ca un test de cutie albă efectuat. Totuș i, nu este până când toate sistemele
elementele sunt complet integrate astfel încât adevărata performanț ă a sistemului poate
a fi stabilit. Testele de performanț ă sunt adesea asociate cu testele de stres ș i
de multe ori necesită atât hardware, cât ș i software.
INTRODUCERE ÎN PROIECT

Secvenț ă pentru a crea o interfaț ă grafică pentru Calculator

1. Crea ț i un Cadru pentru Calculator (dimensione 200 pe 270)

2. Adăuga ț i bara de meniu la ea.

3. Adăuga ț i Element de Meniu (Tip CheckBox Basic ș i Extended)

4. Add TextField (to show the result of the calculations)


Adăuga ț i casetă de selectare pentru radiani ș i grade

6. Adăuga ț i un buton în cadru (20 pentru de bază ș i încă 8 pentru extins)


7. Următoarele metode de Ac ț iune/Elemente care trebuie incluse

(a) actionPerformed(ActionEvent ae){ toate acț iunile efectuate


pe calculator va fi notat prin această metodă ca apasând
add(+) button etc}
(b) itemStateChanged(ItemEvent ie){ aceasta va verifica pe bara de meniu
itemse.g. Dacă faci clic pe elementul extins al meniului Vizualizare, vei
vezi vista extinsă a calculatorului
8. Celelalte metode/clase care trebuie utilizate

(i) makeCalculator(){ aceasta va construi interfaț a grafică pentru calculator}

(ii) resetButon (num) { acesta va reseta butoanele adică va schimba


proprietate false}
(iii)reciproc(num){ dacă numărul este zero atunci mesaj de eroare altfel num = 1/num }

(iv) schimbaSemnul(num){ schimba semnul num}


(v) factorial(num){ dacă numărul este mai mic decât 1 mesaj de eroare altfel faceț i factorialul }

(vi) clasa MessageBox extinde Dialog ș i implementează ActionListener {


această clasă este apelată din alte metode pentru a afiș a eroarea
[Link] un constructor}
LIMBA DE PROGRAMARE JAVA
Limbajul de programare Java este un limbaj de nivel înalt care poate fi caracterizat prin toate
dintre următoarele cuvinte la modă:

Simplu
Orientat pe obiecte
Robust
•Sigur
• Neutru fa ț ă de arhitectură

•Portabil
Performan ț ă ridicată
Multithreading
Dinamic
Cu majoritatea limbajelor de programare, fie compilezi, fie interpretezi un program astfel încât să
po ț i rula pe computerul tău. Limbajul de programare Java este neobi ș nuit prin faptul că o
programul este atât compilat, cât ș i interpretat. Cu compilatorul, mai întâi traduci un
programare într-o limbă intermediară numită bytecode-uri Java - independentă de platformă
codurile sunt interpretate de interpretul pe platforma Java. Interpretul analizează ș i rulează
fiecare instruc ț iune de bytecode Java pe computer. Compilarea are loc o singură dată;
interpretarea are loc de fiecare dată când programul este executat. Figura următoare ilustrează
cum funcț ionează aceasta.

Poț i considera bytecode-urile Java ca instrucț iuni de cod maș ină pentru Java Virtual
Maș ină (Java VM). Fiecare interpreter Java, fie că este un instrument de dezvoltare sau un web
un browser care poate rula appleturi, este o implementare a Java VM.

Codurile byte Java ajută la realizarea conceptului "scrie o dată, rulează oriunde". Poț i să compilezi
programa în bytecode pe orice platformă care are un compilator Java. Bytecode-urile pot apoi
fie rulat pe orice implementare a JVM-ului Java. Asta înseamnă că, atâta timp cât un calculator are
o JVM Java, acelaș i program scris în limbajul de programare Java poate rula pe
Windows 2000, un workstation Solaris sau pe un iMac.

PLATFORMA JAVA
O platformă este mediul hardware sau software în care rulează un program. Am
deja men ț ionat câteva dintre cele mai populare platforme precum Windows 2000, Linux,
Solaris ș i MacOS. Cele mai multe platforme pot fi descrise ca o combinaț ie a sistemului de operare
sistem ș i hardware. Platforma Java diferă de majoritatea celorlalte platforme prin faptul că este o
platformă doar software care rulează pe lângă alte platforme bazate pe hardware.

Platforma Java are două componente:


Ma ș ina Virtuală Java (Java VM)
Interfa ț a de programare a aplica ț iilor Java (Java API)
API-ul Java este o colecț ie mare de componente software gata concepute care oferă multe
capabilită ț i utile, cum ar fi widget-urile interfe ț ei grafice de utilizator (GUI). API-ul Java este
grupate în biblioteci de clase ș i interfe ț e corelate; aceste biblioteci sunt cunoscute sub numele de
pachete.
Codul nativ este cod care, după ce îl compilezi, codul compilat rulează pe un anumit
platformă hardware. Ca un mediu independent de platformă, platforma Java poate fi o
un pic mai lent decât codul nativ. Cu toate acestea, compilatoarele inteligente, interpretoarele bine ajustate ș i doar-
compilatoarele bytecode în timp pot aduce performanț a aproape de cea a codului nativ fără
aportabilitate ameninț ătoare. Compilatorul Java îț i permite să cascadezi referinț e la clasă ș i
metodele ș i variabilele de instanț ă împreună, rezultând în construcț ii precum cea care apare
în programul de probă.
CERINȚE DE HARDWARE Ș I SOFTWARE

•Kit de dezvoltare Java (jdk 6 update17)


•Windows-XP/ 2000 sau mai recent
•Un adaptor grafic VGA sau SVGA
•O mouse ș i o tastatură cu pointer serial
•20 G.B. Hard Disk sau mai mult
•256 MB RAM sau mai mult
Unitate Floppy/ CD-ROM de 1.44
Monitor de 15"
Imprimantă
IMAGINE DE SINTEZĂ A PROIECTULUI
COD SURSĂ

import [Link].*;

import [Link].*;

class CalcFrame extinde Frame {

CalcFrame( String str) {

super(str);
adaugăFereastraAscultător(new FereastraAdaptare() {

public void fereastraInchidere (WindowEvent we) {

[Link](0);

});

clasa publică Calculator implementează ActionListener, ItemListener {

CalcFrame fr;

MenuBar mb;
Vizualizare meniu, font, despre;

MenuItem bold, regular, author;

CheckboxMenuItem de bază, ș tiinț ific;


CheckboxGroup cbg;

Checkbox radians, degrees;

CâmpText afişare;

Buton cheie[] = nou Button[20];

Button clearAll, clearEntry, round;

Buton scientificKey[] = nou Button[10];

boolean butonAdaugatApasat, butonScadeApasat, butonInmultesteApasat;

boolean divideButtonPressed, decimalPointPressed, powerButtonPressed;

boolean roundButtonPressed = false;

double numărIniț ial;

numărulCurent dublu = 0;

int locuriZecimale = 0;

public static void main (String args[]) {

Calculator calc = noul Calculator();

[Link]();

public void makeCalculator() {

final int BWIDTH = 25;

final int BHEIGHT = 25;

int count = 1;

creaț i un cadru pentru calculator

fr = new CalcFrame("Calculator de bază");

[Link](200,270);

[Link]([Link]ă);

mb = new MenuBar();
view = new Menu("Vizualizare");

font = new Menu ("Font");

about = new Menu("About");

basic = new CheckboxMenuItem("Basic", true);

[Link](this);

scientific = new CheckboxMenuItem("Scientific");

[Link](this);

bold = new MenuItem("Arial Bold");

[Link](this);

regular = new MenuItem("Arial Regular");

[Link](this);

author = new MenuItem("Authors");

[Link](this);

[Link]ă(basic);

[Link](scientific);

[Link](bold);

[Link]ă(regular);

[Link]ă(author);

[Link]ă(view);

[Link]ă(font);

[Link]ă(despre);

[Link](mb);

[Link](null);

pentru (int rand = 0; rand < 3; ++rand) {

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


key[count] = new Button([Link](count));

key[count].addActionListener(this);

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

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

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

key[0] = new Button("0");

key[0].addActionListener(this);

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

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

[Link]ă(clema[0]);

key[10] = new Button(".");

key[10].addActionListener(this);

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

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

[Link]ă(cheie[10]);

key[11] = new Button("=");

key[11].addActionListener(this);

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

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

[Link]ă(cheie[11]);

key[12] = new Button("*");

key[12].addActionListener(this);

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

[Link](cle(key[12]));

key[13] = new Button("/");

key[13].addActionListener(this);

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

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

[Link]ă(cheie[13]);

key[14] = new Button("+");

key[14].adaugăAcț iuneListener(this);

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

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

[Link]ă(cheie[14]);

key[15] = new Button("-");

key[15].addActionListener(this);

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

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

[Link]ă(key[15]);

key[16] = new Button("1/x");

key[16].adaugăActionListener(this);

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

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

[Link]ă(key[16]);

key[17] = new Button("x^n");

key[17].adaugăAcț iuneListener(this);

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

[Link]ă(cleș te[17]);

key[18] = new Button("+/-");

key[18].addActionListener(this);

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

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

[Link]ă(key[18]);

key[19] = new Button("x!");

key[19].addActionListener(this);

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

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

[Link]ă(cle/key[19]);

clearAll = new Button("CA");

[Link](this);

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

[Link](Color. galben);

[Link]ă(ș tergeTot);

clearEntry = new Button("CE");

[Link](this);

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

[Link]([Link]);

[Link]ă(clearsEntry);

rotund = nou Buton("Rotund");

[Link](this);

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


[Link]([Link]);

[Link]ă(round);

display = new TextField("0");

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

[Link]([Link]);

scientificKey[0] = new Button("Sin");

scientificKey[0].addActionListener(this);

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

scientificKey[0].setVisible(false);

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

[Link]ă(scientificKey[0]);

scientificKey[1] = new Button("Cos");

scientificKey[1].addActionListener(this);

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

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

scientificKey[1].setVisible(false);

[Link]ă(cleș teș tiȘ tiinț ific[1]);

scientificKey[2] = new Button("Tan");

scientificKey[2].addActionListener(this);

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

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

scientificKey[2].setVisible(false);

[Link]ă(schimbă) [2];

scientificKey[3] = new Button("Pi");

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

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

scientificKey[3].setVisible(false);

[Link]ă(scientificKey[3]);

scientificKey[4] = new Button("aSin");

scientificKey[4].addActionListener(this);

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

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

scientificKey[4].setVisible(false);

[Link]ă(scientificKey[4]);

scientificKey[5] = new Button("aCos");

scientificKey[5].addActionListener(this);

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

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

scientificKey[5].setVisible(false);

[Link]ă(clearscientific[5]);

scientificKey[6] = new Button("aTan");

scientificKey[6].addActionListener(this);

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

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

scientificKey[6].setVisible(false);

[Link]ă(specificKey[6]);

scientificKey[7] = 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]);

scientificKey[8] = new Button("todeg");

scientificKey[8].addActionListener(this);

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

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

scientificKey[8].setVisible(false);

[Link]ă(scientificKey[8]);

scientificKey[9] = new Button("torad");

scientificKey[9].addActionListener(this);

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

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

scientificKey[9].setVisible(false);

[Link]ă(cleș teș tiș ti[9]);

cbg = noua CheckboxGroup();

degrees = new Checkbox("Degrees", cbg, true);

radians = nou Checkbox("Radiani", cbg, fals);

[Link](this);

[Link](this);

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

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

[Link](false);

[Link](false);

[Link]ă(degrees);
[Link]ă(radiani);

[Link]ă(display);

[Link](true);

public void actionPerformed(ActionEvent ae) {

String buttonText = [Link]();

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

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

if(decimalPointPressed) {

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

currentNumber *= 10;

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

pentru (int i=1;i <=locuriZecimale; ++i) {

currentNumber /=10;

++decimalPlaces;

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

}
altfel dacă (butonul rotund a fost apăsat) {

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

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

displayNumber *=10;

displayNumber = [Link](displayNumber);

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

displayNumber /=10;
}

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

roundButtonPressed = false;

altfel {

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

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

if(buttonText == "+") {

addButtonPressed = true;

initialNumber = displayNumber;

currentNumber = 0;

decimalPointPressed = false;

dacă (textulButonului == "-") {

subtractButtonPressed = true;

initialNumber = displayNumber;

currentNumber = 0;

decimalPointPressed = false;

dacă (textulButonului == "/") {

divideButtonPressed = true;

initialNumber = displayNumber;

currentNumber = 0;
decimalPointPressed = false;

dacă (textulButonului == "*") {

multiplyButtonPressed = true;

initialNumber = displayNumber;

currentNumber = 0;

decimalPointPressed = false;

if (buttonText == "1/x") {

[Link](reciprocal(displayNumber));

currentNumber = 0;

decimalPointPressed = false;

if (buttonText == "+/-") {

[Link](changeSign(displayNumber));

currentNumber = 0;

decimalPointPressed = false;

if (buttonText == "x!") {

[Link](factorial(displayNumber));

currentNumber = 0;

decimalPointPressed = false;

if (buttonText == "x^n") {
powerButtonPressed = true;

initialNumber = displayNumber;

currentNumber = 0;

decimalPointPressed = false;

if (buttonText == "Sin") {

dacă ([Link]())

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

altfel {

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

currentNumber = 0;

decimalPointPressed = false;

dacă (textulButonului == "Cos") {

dacă ([Link]())

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

altfel{

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

currentNumber = 0;

decimalPointPressed = false;

dacă (textulButonului == "Tan") {

dacă ([Link]ț ineStarea())


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

altfel {

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

currentNumber = 0;

decimalPointPressed = false;

if (buttonText == "aSin") {

dacă ([Link]())

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

altfel {

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

currentNumber = 0;

decimalPointPressed = false;

dacă (textulButonului == "aCos") {

dacă ([Link]())

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

altfel {

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

currentNumber = 0;

decimalPointPressed = false;

}
dacă (buttonText == "aTan") {

dacă ([Link]())

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

altfel {

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

currentNumber = 0;

decimalPointPressed = false;

dacă (butonText == "todeg")

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

if (buttonText == "torad")

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

if (buttonText == "Pi") {

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

currentNumber =0;

decimalPointPressed = false;

if (buttonText == "Round")

roundButtonPressed = true;

dacă (textulButonului == ".") {

String displayedNumber = [Link]();

boolean punctDecimalGăsit = false;

int i;

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

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

decimalPointFound = true;

continuă;

dacă (!punctDecimalGăsit)

decimalPlaces = 1;

dacă(buttonText == "CA"){

resetatiToateButoanele();

[Link]("0");

currentNumber = 0;

if (buttonText == "CE") {

[Link]("0");

currentNumber = 0;

decimalPointPressed = false;

dacă (textulButonului == "E") {

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

currentNumber = 0;

decimalPointPressed = false;

if (buttonText == "=") {
currentNumber = 0;

if(addButtonPressed)

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

dacă(butonulDeScădereAPăsat)

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

dacă (butonulDeÎmpărț ireAPresat) {

dacă(displayNumber == 0) {

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

[Link]();

altfel

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

dacă (butonulDeÎnmulț ireAPesană)

[Link]([Link](initialNumber * displayNumber));
dacă (butonul de pornire este apăsat)

[Link](power(initialNumber, displayNumber));

reseteazăToateButoanele();

dacă (textulButonului == "Arial Regular") {

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

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

if (buttonText == "Arial Bold") {

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


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

dacă (buttonText == "Autori") {

MessageBox mb = new MessageBox ( fr, "Calculator ver 1.0 beta ", true, "Autori: Aarti
Kohli (aarti_nkr@[Link]) \t Shruti Manchanda (shruti.virgo89@[Link]) \t
Sakshi Taneja (simmytaneja@[Link])

[Link]();

public void itemStateChanged(ItemEvent ie) {

dacă ([Link]() == "Basic") {

[Link](true);

[Link](false);

[Link]("Basic Calculator");

[Link](200,270);

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

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

scientificKey[i].setVisible(false);

[Link](false);

[Link](false);

dacă ([Link]() == "Ș tiinț ific") {

[Link](false);

[Link](true);

[Link]("Scientific Calculator");
[Link](270,270);

dacă (!scientificKey[0].esteVizibil()) {

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

scientificKey[i].setVisible(true);

[Link](true);

[Link](true);

public void resetareToateButoanele() {

addButtonPressed = false;

subtractButtonPressed = false;

multiplyButtonPressed = false;

divideButtonPressed = false;

decimalPointPressed = false;

powerButtonPressed = false;

roundButtonPressed = false;

public String factorial(double num) {

int theNum = (int)num;

if (theNum < 1) {

MessageBox mb = new MessageBox (fr, "Eroare Factorial", true,

Nu se poate găsi factorialul numerelor mai mici decât 1.

[Link]();

return ("0");
}

altfel {

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

theNum *= i;

return [Link](theNum);

public String reciprocal(double num) {

dacă (num == 0) {

MessageBox mb = new MessageBox(fr,"Eroare Reciprocă", true,

„Nu se poate găsi recirpocul lui 0”

[Link]();

altfel

num = 1/num;

return [Link](num);

public String power (double base, double index) {

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

public String schimbaSemnul(double num) {

return [Link](-num);

clasa MessageBox extinde Dialog implements ActionListener {


Button ok;

MessageBox(Frame f, String title, boolean mode, String message) {

super(f, titlu, mod);

Panel centruPanel = nou Panel();

Label lbl = new Label(mesaj);

[Link]ă(lbl);

adauga(centrePanel, "Centru");

Panel southPanel = new Panel();

ok = new Button ("OK");

[Link](this);

[Link]ă(ok);

adaugă(sudPanel, "Sud");

împachetare();

addWindowListener (new WindowAdapter() {


public void fereastraInchidere (EvenimentFereastra we) {

[Link](0);

});

public void actionPerformed(ActionEvent ae) {

elimină(); } } // Sfârș itul codului sursă


ÎMBUNĂTĂȚIRE VIITOARE

Sistemul a fost conceput ș i dezvoltat având în vedere perspectivele viitoare.


Mai multe caracteristici au fost incluse pentru a face sistemul compatibil pe măsură ce este necesar.
necesară pentru cerinț ele utilizatorului în continuă schimbare.

Majoritatea situaț iilor posibile care ar putea apărea în timp sunt luate în considerare.
ș i sistemul a fost făcut compatibil cu lumea informatică extrem de dinamică ș i
schimbări nesfârș ite în cerinț ele utilizatorului.
Acest proiect este foarte portabil. Putem transfera foarte uș or proiectele de pe un sistem pe altul.
un altul fără nicio interferenț ă din partea hardware-ului sau software-ului maș inii. The
sistemul este foarte uș or de învăț at, eficient, economisind timp.
Candidatul a dezvoltat acest lucru singur ș i este foarte flexibil de modificat în funcț ie de nevoi.
a utilizatorilor ș i clienț ilor în viitor. Cu toate acestea, aplicaț ia este capabilă de îmbunătăț ire.

Câteva caracteristici, care pot fi introduse ulterior în software pentru a-l îmbunătăț i:

•Mai multe caracteristici ș i func ț ii pot fi adăugate în el.


Poate fi ata ș at la o bază de date pentru a recupera rezultatele anterioare în totalitate.
Complexitatea rezolvării problemelor poate fi schimbată în func ț ie de dezvoltare
funcț ii noi în biblioteca Java.
BIBLIOGRAFIE
• [Link]
•[Link]
•[Link]/wiki/Java_(limbaj_de_programare)
• [Link]
•[Link] ( de David Flanagan, de Joshua Bloch)

S-ar putea să vă placă și