Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

PROGETTO DI INFORMATICA - Testo esercitazione proposta

informatica



PROGETTO DI INFORMATICA N.1


Testo esercitazione proposta


ESEGUIRE UN PROGRAMMA IN DELPHI CHE SIMULI L'UTILIZZO DELLE 4 FUNZIONI BASE DELLA CALCOLATRICE.




ANALISI DEL PROBLEMA

FORM PRINCIPALE



Project calcolatrice






ELENCO PROPRIETA'

Enabled

True in tutti 4 i button 414c23e




Caption

+,-,*,/ a seconda del bottone



ELENCO EVENTI GESTITI






Click "button +"

Somma text1 e text2 e mostra il risultato su text3




Click "button -"

Sottrae text1 e text2 e mostra il risultato su text3





Moltiplica text1 e text2 e mostra il risultato su text3





Divide text1 e text2 e mostra il risultato su text3





PROGETTAZIONE DEL PROGRAMMA

Per eseguire questo programma ho scomposto pensato di fare una procedura principale che facesse l'operazione necessaria a seconda di quale fosse la mia scelta(+,-,*,/) attraverso 4 bottoni.Nel main program di ogni bottone ho poi richiamato la procedura calcola,sostituendo le variabili formali con quelle globali

PROCEDURA CALCOLA

VAR (N1,N2:INTEGER;OPT:CHAR;N3:REAL)

INIZIO

SE OPT:="+" ALLORA N3=N1+N2;

SE OPT:="-" ALLORA  N3=N1-N2;

SE OPT:="*" ALLORA  N3:=N1*N2;

SE OPT:="/" ALLORA  N3:=N1/N2;

FINE.

Poi in ogni button ho sostituito ad n1,n2,n3 rispettivamente add1,add2 e risultato ,e li ho trasferiti su text1,text2 e text3 in modo da essere visibili.E' qui di seguito riportato un esempio di uno dei 4 bottoni,in questo caso del button "+".

PROGRAMMA BUTTON1

VAR ADD1,ADD2:INTEGER:

VAR RISULTATO:REAL

INIZIO

ADD1:=STRTOINT(TEXT1.TEXT);

ADD2:=STRTOINT(TEXT2.TEXT);

CALCOLA(ADD1,ADD2,+,RISULTATO);//QUI AVVIENE LO SCAMBIO TRA PARAMETRI FORMALI E VARIABILI GLOBALI.I PROGRAMMI DEGLI ALTRI BUTTON DIFFERISCONO DA QUESTO SOLO DAL SIMBOLO OPT.

RISULTATO:=FLOATTOSTR(TEXT3.TEXT);


FUNZIONI USATE

Funzione iterativa if=per la scelta dell'operazione aritmetica da svolgere.

Strtoint=per trasformare stringhe in interi

Floattostr=per trasformare reali in stringhe


VARIABILE

TIPO DI VARIABILE

CONTENUTA IN.

NATURA DELLLA VARIABILE/PARAMETRO

UTILITA'

N1

INTEGER

PROCEDURA

CALCOLA

FORMALE

RAPPRESENTA IL PRIMO FATTORE

N2

INTEGER

PROCEDURE CALCOLA

FORMALE

RAPPRESENTA IL SECONDO FATTORE

OPT

CHAR

PROCEDURA CALCOLA

FORMALE

E' IL TIPO DI OPERAZIONE

N3

REAL

PROCEDURA CALCOLA

FORMALE

E' IL RISULTATO

ADD1

INTEGER

OGNI MAIN PROGRAM DEI 4 BUTTON

GLOBALE

SOSTITUISCE N1

ADD2

INTEGER

OGNI MAIN PROGRAM DEI 4 BUTTON

GLOBALE

SOSTITUISCE N2

RISULTATO

REAL

OGNI MAIN PROGRAM DEI 4 BUTTON

GLOBALE

SOSTITUISCE N3

CLASSIFICAZIONE DELLE VARIABILI






PROGRAMMA COMPLETO

unit Unit1;


interface


uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;


type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

procedure calcola(n1,n2:integer; opt:char; var n3:real);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private


public


end;


var

Form1: TForm1;


implementation



procedure Tform1.calcola(n1,n2:integer; opt:char; var n3:real);

begin

if opt='+' then n3:=n1+n2;

if opt='-' then n3:=n1-n2;

if opt='*' then n3:=n1*n2;

if opt='/' then n3:=n1/n2;

end;





procedure TForm1.Button1Click(Sender: TObject);

var add1,add2:integer;

var risultato:real;

begin

add1:=strtoint(edit1.text);

add2:=strtoint(edit2.text);

calcola(add1,add2,'+',risultato);

edit3.text:=floattostr(risultato);

end;


procedure TForm1.Button2Click(Sender: TObject);

var add1,add2:integer;

var risultato:real;

begin

add1:=strtoint(edit1.text);

add2:=strtoint(edit2.text);

calcola(add1,add2,'-',risultato);

edit3.text:=floattostr(risultato);

end;


procedure TForm1.Button3Click(Sender: TObject);

var add1,add2:integer;

var risultato:real;

begin

add1:=strtoint(edit1.text);

add2:=strtoint(edit2.text);

calcola(add1,add2,'*',risultato);

edit3.text:=floattostr(risultato);

end;


procedure TForm1.Button4Click(Sender: TObject);

var add1,add2:integer;

var risultato:real;

begin

add1:=strtoint(edit1.text);

add2:=strtoint(edit2.text);

calcola(add1,add2,'/',risultato);

edit3.text:=floattostr(risultato);

end;


end.


PIANO DI TEST


Ho provato a fare il programma inizialmente senza procedure ma ho visto poi che era piu' complicato.non ho dovuto testare molto anche perché le 4 funzioni usate per i main program dei bottoni erano praticamente identiche.

OSSERVAZIONI E CONCLUSIONI


Ho potuto constatare l'efficacia delle procedure che rendono il lavoro più veloce e meno complesso.Ho avuto qualche difficoltà nel trasferire le variabili sui vari text e di trasformarle in intgere in modo da poter essere visualizzate sulla striscia di testo.





Privacy




Articolo informazione


Hits: 1278
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024