Skip to content

Instantly share code, notes, and snippets.

@MichelePrimavera
Created December 16, 2016 15:59
Show Gist options
  • Save MichelePrimavera/ea53652a4e5ea639079b45d5fcf2376b to your computer and use it in GitHub Desktop.
Save MichelePrimavera/ea53652a4e5ea639079b45d5fcf2376b to your computer and use it in GitHub Desktop.
%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