Created
December 16, 2016 15:59
-
-
Save MichelePrimavera/ea53652a4e5ea639079b45d5fcf2376b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%traccia simulazione | |
%acquisisco il numero di operai | |
n_op= input('Inserire il numero di operai'); | |
%Acquisisco per ogni operaio: paga oraria, ore settimanali e pezzi prodotti | |
%in un giorno | |
for i=1:n_op | |
paga_oraria(i)=input('Inserire la paga oraria'); | |
ore_settimanali(i)=input('Inserire le ore settimanali dell''operaio'); | |
pezzi_giorno(i)=input('Inserire i pezzi prodotti giornalmente dall''operaio'); | |
end | |
%avvio il menu di scelta delle operazioni | |
scelta=8; %per entrare nel controllo dell'input | |
%controllo l'input | |
while scelta >7 | |
scelta=input('Benvenuto. Cosa vuoi fare? \n 1.Calcolo del costo medio di ogni prezzo. \n 2.Calcolo del numero di pezzi prodotti in un mese. \n 3.Calcolo della retribuzione mensile di un operaio. \n 4.Calcolo dell''importo che la fabbrica deve destinare ai salari degli operai. \n 5.Individuare l''operaio che risulta più efficiente. \n 6.Calcolo del numero medio di ore necessarie a produrre un pezzo. \n Scelta: '); | |
end | |
%inizio del menu | |
%costo medio | |
if scelta==1 | |
costo_medio= funzione1 (paga_oraria, ore_settimanali, pezzi_giorno, n_op); | |
disp(costo_medio); | |
end | |
%pezzi mensili | |
if scelta==2 | |
pezzi_mensili= funzione2 (pezzi_giorno, n_op); | |
disp(pezzi_mensili); | |
end | |
%retribuzione mensile di un operario | |
if scelta==3 | |
retribuzione_mensile= funzione3 (paga_oraria, ore_settimanali, n_op); | |
disp(retribuzione_mensile); | |
end | |
%Calcolo dell''importo che la fabbrica deve destinare ai salari degli operai | |
if scelta==4 | |
salari_operai= funzione4 (paga_oraria, ore_settimanali, n_op); | |
disp(salari_operai); | |
end | |
%Operaio più efficiente | |
if scelta==5 | |
operaio_efficiente= funzione5(pezzi_giorno,ore_settimanali, n_op); | |
disp(operaio_efficiente); | |
end | |
%Calcolo del numero medio di ore necessarie a produrre un pezzo | |
if scelta==6 | |
ore_medie= funzione6(pezzi_giorno, n_op); | |
disp(ore_medie); | |
end | |
%funzione1 costo medio | |
function c_m= funzione1 (paga, ore, pezzi_giorno, n_op) | |
tot_paga=0; | |
tot_pezzi=0; | |
for i=1:n_op | |
tot_paga= tot_paga+paga(i)*ore(i); | |
tot_pezzi= tot_pezzi+ pezzi_giorno(i)*6; | |
end | |
c_m=tot_paga/tot_pezzi; | |
end | |
%funzione2 pezzi prodotti in un mese | |
function pezzi_mensili= funzione2 (pezzi_giornalieri, n_op) | |
pezzi_mensili=0; | |
for i=1:n_op | |
pezzi_mensili= pezzi_mensili+pezzi_giornalieri*30; | |
end | |
disp(pezzi_mensili) | |
end | |
% funzione3 retribuzione mensile di un operario | |
function retribuzione_mensile= funzione3(paga_oraria, ore_settimanali, n_op) | |
operaio=2000; %a caso, per farlo entrare nel ciclo | |
while (operaio> n_op) %controllo input | |
operaio=input('Di quale operaio vuoi valcolare la retribuzione mensile? \n Scelta: '); | |
end | |
retribuzione_mensile = paga_oraria(operaio)* ore_settimanali(operaio)*4; | |
end | |
%funzione4 Calcolo dell''importo che la fabbrica deve destinare ai salari degli operai | |
function salari_operai= funzione4(paga_oraria, ore_settimanali, n_op) | |
salari_operai=0; | |
for i=1:n_op | |
salari_operai=salari_operai+ paga_oraria(i)*ore_settimanali(i)*4; | |
end | |
end | |
%funzione5 Operaio più efficiente | |
function operaio_efficiente= funzione5(pezzi_giorno,ore_settimanali, n_op) | |
max=0; | |
operaio_efficiente=1; | |
for i=1:n_op | |
rendimento=0; | |
rendimento(i)=pezzi_giorno(i)*5/ore_settimanali(i); | |
if max< rendimento(i) | |
max=rendimento(i); | |
operaio_efficiente=i; | |
end | |
end | |
end | |
%funzione6 Calcolo del numero medio di ore necessarie a produrre un pezzo | |
function ore_medie= funzione6(pezzi_giorno, n_op) | |
pezzi_ora=0; | |
for i=1:n_op | |
pezzi_ora=pezzi_ora+pezzi_giorno(i)/24; | |
end | |
ore_medie=pezzi_ora/n_op; | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment