Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@paolorotolo
Forked from MichelePrimavera/traccia_1.m
Last active December 16, 2016 16:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save paolorotolo/3954eaa13cb04b03616f157aa8513bf8 to your computer and use it in GitHub Desktop.
Save paolorotolo/3954eaa13cb04b03616f157aa8513bf8 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
% #AUP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment