% Progetto ALU
%
% Programma per del Teorema di Pitagora C=sqr(A+B)
%
% Valori definiti nel programma
%
% Programma elaborato da
%
% Giovanni DI CECCA & Virginia BELLINO
% 50 / 887 408 / 466
%
% http://www.dicecca.net
% Pulisci memoria
clear
% Pulisci schermo
clc
disp(' Programma che calcola il Teorema di Pitagora')
disp(' ')
disp(' C=sqr(A+B)')
disp(' ')
disp(' Programma elaborato da')
disp(' ')
disp(' Giovanni DI CECCA & Virginia BELLINO')
disp(' 50 / 887 408 / 466')
disp(' ')
disp(' http://www.dicecca.net')
disp(' ')
disp(' ')
d=input('Inserire il valore di a in decimale ');
e=input('Inserire il valore di b in decimale ');
% Metti il valore in a in binario
a=int2bin(d,10)
% Associa a b lo stesso valore di a
b=a
% Carry iniziale valido per due computazioni
c_flag=0
% Operaizone di somma valido per due computazioni
op_code=[0 0 0 0]
% Calcola il quadrato di a
for r=2 : d
% Carica l'interfaccia dell'ALU ed esegue il calcolo
[y,flags]=alu(a,b,op_code,c_flag)
a=y;
end
% Stampa a video il quadrato calcolato
bin2int(y)
% Deposita il valore in d
d=y;
% Metti il valore in a il secondo valore
a=int2bin(e,10)
% Associa a b lo stesso valore di a
b=a
% Calcola il quadrato del secondo numero
for r=2 : e
% Carica l'interfaccia dell'ALU ed esegue il calcolo
[y,flags]=alu(a,b,op_code,c_flag)
a=y;
end
% Stampa a video il valore calcolato
bin2int(y)
% associa ad e il valore calcolato
e=y;
% ricambia i valori calcolati in a et b
a=d
b=e
% Calcola la somma dei due valori calcolati
[y,flags]=alu(a,b,op_code,c_flag)
% Stampa a video il valore in decimale e conservalo in c
c=bin2int(y)
% Inizio routine per il calcolo della radice quadrata
% Annulla la variabile
b=[0 0 0 0 0 0 0 0 0 0]
% Attiva il codice di incrementazione della varaibile b
op_code=[0 1 0 0]
% Ciclo for che calcola la successione dei numeri dispari arrotondando al intero superiore
for r=1 : r+2 : c
% Carica l'interfaccia ALU
[y,flags]=alu(a,b,op_code,c_flag)
% Memorizza il valore calcolato in b
b=y;
end
% Stampa il risultato
bin2int(y)