![]() | ![]() |
|
|
CALCOLATRICE
Lab. Sistemi
-Analisi Problema
Devo costruire un programma in cui mi appare un menù con le operazioni che la calcolatrice sa svolgere associata a un numero, in modo tale che quando i 929j97j o prema quel dato numero mi esegua quella certa operazione scelta.
La calcolatrice in questione è in grado di :
-Sommare
-Sottrarre
-Dividere
-Moltiplicare
-Quadrato di un numero
-Convertire da Decimale a Binario.
-Descrizione a Parole
Questo programma è costituito da un programma principale che racchiude tutte le procedure della calcolatrice;
Il programma è composto dal menù che elenca le operazioni della calcolatrice, a ognuna di queste corrisponde una procedura.
-Flow Chart
Procedura I_Var Procedure Addizione Procedure Sottrazione
Procedure Divisione Procedure Moltiplicazione Procedure Quadrato
Procedure Dec_Bin
Programma Pascal
Program Calcolatrice;
uses crt;
var
a,b,
c,
x,y
:integer;
g,h,
d
:real;
t:char;
Procedure i_var;
Begin
a:=0; b:=0; c:=0;
g:=0; h:=0; d:=0;
End;
procedure menu;
Begin
textcolor(9);
writeln('Questo programma ti permette di eseguire');
writeln('alcune operazioni di calcolo matematico');
writeln
writeln('');
textcolor(5);
writeln('Cosa vuoi fare?....Premi un tasto');
writeln
writeln('');
textcolor(2);
write('1. ');
writeln('ADDIZIONE');
write('2. ');
writeln('SOTRAZIONE');
write('3. ');
writeln('DIVISIONE');
write('4.
writeln('MOLTIPLICAZIONE');
write('5.
writeln('QUADRATO');
write('6. ');
writeln('DEC --> BIN');
gotoxy(20,40);
textcolor(9);
writeln('Premi ESC per uscire dal programma....');
end;
Procedure Addizione;
Begin
clrscr;
i_var;
textcolor(11);
write('Inserisci il primo numero --> ');
readln(a);
write('Inserisci il secondo numero --> ');
readln(b);
c:=a+b;
writeln('');
writeln('');
textcolor(10);
write('Il risultato è --> ',c);
readln;
End;
Procedure Sottrazione;
Begin
clrscr;
i_var;
textcolor(9);
write('Inserisci il primo numero --> ');
readln(a);
write('Inserisci il secondo numero --> ');
readln(b);
c:=a-b;
writeln('');
writeln('');
textcolor(10);
write('Il risultato è --> ',c);
readln
End;
Procedure Divisione;
Begin
clrscr;
i_var;
textcolor(9);
write('Inserisci il primo numero --> ');
readln(g);
write('Inserisci il secondo numero --> ');
readln(h);
d:=g/h;
writeln('');
writeln('');
textcolor(10);
write('Il risultato è --> ',d:6:2);
readln;
End;
Procedure Moltiplicazione;
Begin
clrscr;
i_var;
textcolor(9);
write('Inserisci il primo numero --> ');
readln(a);
write('Inserisci il secondo numero --> ');
readln(b);
c:=a*b;
writeln('');
writeln('');
textcolor(10);
write('Il risultato è --> ',c);
readln
End;
Procedure Quadrato;
Begin
clrscr;
i_var;
textcolor(9);
write('Inserisci il numero --> ');
readln(a);
c:=a*a;
writeln('');
writeln('');
textcolor(10);
write('Il risultato è --> ',c);
readln
End;
Procedure dec_bin;
Begin
clrscr;
i_var;
textcolor(9);
write('Inserisci il numero da codificare --> ');
readln(a);
writeln('');
writeln('');
textcolor(10);
writeln('Il Numero in binario è...');
gotoxy(x,y);
x:=40; y:=15;
repeat
c:=a mod 2;
a:=a div 2;
gotoxy(x,y);
write(c);
x:=x-2;
until a=0;
readln;
End;
procedure termine;
begin
clrscr;
textcolor(lightblue);
gotoxy(32,3);
writeln('FINE ---> ');
delay(2000);
end;
BEGIN
repeat
clrscr;
menu;
t:=readkey;
if (t='1') or (t='2') or (t='3') or (t='4') or (t='5') or (t='6') then
case t of
'1': addizione;
'2': sottrazione;
'3': divisione;
'4': moltiplicazione;
'5': quadrato;
'6': dec_bin;
end;
if t=chr(27) then termine;
until keypressed;
end.
Conclusioni
Questo programma è stato semplice da realizzare mediante procedure perché è come se fosse composto da tanti piccoli programmi, mentre ho avuto qualche problema con la funzione case of anche se alla fine l' ho risolto in modo adeguato.
Il programma esegue perfettamente tutte le funzioni assegnate.
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025