Informatica e Delphi

Materie:Appunti
Categoria:Informatica
Download:50
Data:13.04.2001
Numero di pagine:4
Formato di file:.doc (Microsoft Word)
Download   Anteprima
informatica-delphi_1.zip (Dimensione: 6.58 Kb)
trucheck.it_informatica-e-delphi.doc     40.5 Kb
readme.txt     59 Bytes


Testo

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
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
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
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.

Esempio