Date post: | 02-Oct-2015 |
Category: |
Documents |
Upload: | mariojavierlobos |
View: | 28 times |
Download: | 0 times |
1) %cargar notas, calcular promedio, mostrar nota superior o contar notas superiores clc clear v=carganotas prom=calcularprom(v) mostrarnota(V) function v=carganotas( ); i=1; n=ingresarnota; % solo devuelve valores entre -1 y 10 while n~=-1 v(i)=n; i=i+1; n=ingresarnota; end function mta=ingresarnota( ); mta=input('ingrese nota : '); while mta10 mta=input('reitero nota: '); end function prom=calcularprom(v); suma=0; for i=1:length(v) suma=suma+v(i); end prom=suma/length(v); function mostrarnota(v); tam=lenght(v); for i=1:tam fprintf('%d',v(i)); end fprintf('/n'); 2) Vector de 10 elementos con numeros al azar entre 1 y 20 y hacer una funcion a) que devuelva un valor verdadero si lo encuentra(1) o falso si no lo encuentra(0) b) mostrar vestor c) ordenar de fomra ascendente d) mostrar vector ordenado clc clear v=cargavector(10); mostrar(v); v=ordenar(v);
mostrar(v); function v=cargavector(tam); for i=1:tam v(i)=fix(rand*20)+1; end function v=mostrar(v); tam=length(v); for i=1:tam fprintf('%d',v(i)); end fprintf('\n'); function v=ordenar(v); tam=length(v); for i=1:tam for j=i+1:tam if v(i)>v(j) aux=v(i); v(i)=v(j); v(j)=aux; end end end 3) cargar y mostrar una matriz de numeros al azar entre 1 y 20 clc clear m=cargamatriz(3,4); mostrarmatriz(m); function m=cargamatriz(f,c); for i=1:f for j=1:c m(i,j)=fix(rand*20)+1; end end function m=mostrarmatriz(m); [f,c]=size(m); for i=1:f for j=1:c fprintf('%d',m(i,j)); end
fprintf('\n'); end 4) Desarrollar un programa que permita mostrar una tabla de posiciones final de una carrera de bicicletas. - Los corredores estn identificados por un nmero entero y consecutivo. - La cantidad de corredores debe ser ingresada por teclado. - El tiempo de cada corredor se registra con un formato de horas, minutos y segundos. - Las horas estn comprendidas entre 0 y 3, los minutos entre 0 y 59, y los segundos entre 0 y 59. Estos valores sern ingresados al azar para las pruebas. - El programa deber emitir por pantalla la tabla de posiciones, en un formato equilibrado que pueda ser ledo con facilidad. Mostrar nmero de corredor, horas, minutos y segundos empleados. - Todo el desarrollo debe realizarse usando funciones propias. clc clear all e=input('Ingrese la cantidad de corredores: '); M=result(e); N=tabla(M); N=ordenoT(N); for i=1:N fprintf('Posicion %d: %d --> ',i,N(i,1)); fprintf('Con un tiempo de %d hs %d min %d seg \n',N(i,2),N(i,3),N(i,4)) end function N=ordenoT(N) [f c]=size(N); for i=1:f for j=1:c-1 if N(j,2)>N(j+1,2) for s=1:f aux=N(j,s); N(j,s)=N(j+1,s); N(j+1,s)=aux;
end end if N(j,2)==N(j+1,2) & N(j,3)> N(j+1,3) for s=1:f aux=N(j,s); N(j,s)=N(j+1,s); N(j+1,s)=aux; end end if N(j,2)==N(j+1,2) & N(j,3)==N(j+1,3) & N(j,4)> N(j+1,4) for s=1:f aux=N(j,s); N(j,s)=N(j+1,s); N(j+1,s)=aux; end end end end end function N=tabla(M) [f c]=size(M); for i=1:f for j=1:4
N(i,j)=M(i,j); end end function G=mostrarT(N) [f c]=size(N) for i=1:f for j=1:c fprintf('%d',N(i,j)); end end function M=result(e) for i=1:e for j=1:3 M(i,j)=0; end end for i=1:e M(i,1)=M(i,1)+i; end for i=1:e for j=1:3 M(i,2)=fix(rand()*4); end
end for i=1:e for j=1:3 M(i,3)=fix(rand()*60); end end for i=1:e for j=1:3 M(i,4)=fix(rand()*60); end end
5) Campeonato de futbol. Campeonato N equipos que juegan todos contra todos
Cargar una tabla de NxN con los goles realizados de todos los equipos en todas las
fechas.
Realizar la tabla de posiciones, ordenada por puntaje decreciente, en caso de empate
por mayor cantidad de goles a favor, y de seguir empatados por menor cantidad de
goles en contra.
Cargar
Caso A: la matriz al azar con valores entre cero y diez.
Caso B: Ingresar por teclado
opc=input('Para que la matriz se genere al azar oprima 0, caso contrario el 1');
if opc==0
M=azar;
else opc==1
equipos=input('Ingrese la cantidad de equipos:');
M=porteclado(equipos);
end
M=diagonalcero(M);
N=tablacero(M);
N=puntos(M,N);
N=golesafavor(M,N);
N=golesencontra(M,N);
N=intercambiarfilas(N);
N=difgoles(N);
disp('_____________________________________________________________');
printf(' Tabla de Goles \n')
disp('_____________________________________________________________');
disp(M);
disp('_____________________________________________________________');
printf(' Equipo Puntos GF GC DG\n');
disp('_____________________________________________________________');
disp(N);
disp('-------------------------------------------------------------');
printf('El equipo campeon es el equipo numero %d con %d puntos\n',N(1,1),N(1,2));
disp('-------------------------------------------------------------');
%funcion AZAR ejercicio 4
function M=azar
clear all;
az=fix(rand()*11);
while az
%funcion DIFGOLES ejercicio 4
function N=difgoles(N)
[f c]=size(N);
for fila=1:f
N(fila,5)=N(fila,3)-N(fila,4);
end
%funcion GOLES A FAVOR ejercicio 4
function N=golesafavor(M,N)
[f c]=size(M);
for fila=1:f
N(fila,3)=0;
for columna=1:c
if fila~=columna
N(fila,3)=N(fila,3)+M(fila,columna);
end
end
end
%funcion GOLES EN CONTRA ejercicio 4
function N=golesencontra(M,N)
[f c]=size(M);
for fila=1:c
N(fila,4)=0;
for columna=1:f
if fila~=columna
aux=M(columna,fila);
N(fila,4)=N(fila,4)+aux;
end
end
end
%funcion PORTECLADO ejercicio 4
function M=porteclado(x)
for i=1:x
for j=1:x
if i~=j
M(i,j)=valido(i,j);
end
end
end
%funcion PUNTOS ejercicio 4
function N=puntos(M,N)
[f c]=size(M);
for i=1:f
N(i,3)=0;
for j=1:c
if i~=j
if M(i,j)>M(j,i)
printf(' %d Gano a %d : %d a %d\n',i,j,M(i,j), M(j,i));
N(i,2)=N(i,2)+3;
end
if M(i,j)==M(j,i)
printf(' %d y %d Empataron : %d a %d\n',i,j,M(i,j), M(j,i));
N(i,2)=N(i,2)+1;
end
end
end
end
%funcion TABLA CERO ejercicio 4
function N=tablacero(M)
[f c]=size(M);
a=1;
for i=1:f
for j=1:5
N(i,j)=0;
end
end
for k=1:f
N(k,1)=a;
a=a+1;
end
%funcion VALIDO ejercicio 4
function M=valido(i,j)
printf('Ingrese cantidad de goles que le hizo el equipo %d al %d ',i,j);
GOL=input('=');
while GOL10
disp('Valor incorrecto');
GOL=input ('Ingrese otro valor del 0 al 10 :');
end
M=GOL;
%funcion INTERCAMBIAR FILAS ejercicio 4
function N=intercambiarfilas(N)
[f c]=size(N);
for i=1:f
for j=1:f-i
if N(j,2)
6) Un jugador de tiro al blanco almacena los resultados de cada tiro en un vector de 20
elementos, cada par de posiciones en el vector representan las coordenadas x e y de un
tiro.Se pide desarrollar un programa, cumpla con los siguientes objetivos utilizando
funciones para cada operacin:
1. Cargar un vector de enteros de 20 elementos, al azar, con valores reales entre -99 y 99. Los valores en posiciones impares corresponden a la coordenada x, los pares a y. El centro del blanco coincide con el centro de coordenadas.
2. Mostrar por pantalla en que tiro se logr la mejor aproximacin al centro, si hay ms de uno mostrarlos todos.
3. Mostrar adems los nmeros de tiro ordenados por distancia al centro decreciente, en caso de coincidencia ordenarlos por nmero de tiro.
4. Mostrar nmeros de tiro de los cinco mejores y los tres peores. 5. Indicar por pantalla la distancia promedio. 6. Mostrar por pantalla la distancia ms lejana del centro. distancia = sqrt((x*x)+(y*y))
clc clear all v=cargavector1(20); muestravector(v); mostrarMenorDist(v); v=ordena1(v); muestravector(v); function v=cargavector1(); for i=1:20 v(i)=fix(rand*(99-(-99+1)))+(-99); end function muestravector(v); fprintf('Nro de tiro coord x coord y distancia\n'); for i=1:2:20 fprintf('tiro %d, %d, %d, %d\n',(i+1)/2,v(i),v(i+1),distancia(v(i),v(i+1))); end function d=distancia(x,y); d=((x*x)+(y*y))^0.5;
function v=ordena1(v); for i=1:9 for j=i+1:10 inx=(i*2)-1; iny=(i*2); jnx=(j*2)-1; jny=(j*2); if distancia(v(inx),v(iny))distancia(v(i),v(i+1)) mdis=distancia(v(i),v(i+1)); end end fprintf('La menor distancia es %6.2f\n',mdis) disp('en los tiros') for i=1:2:20 if mdis==distancia(v(i),v(i+1)) fprintf('Tiro %2d\n',(i+1)/2) end end 7) Almacenar Una matriz con locaciones y Temp.-6 locaciones y 30 temp por locacion mostrar la temp mas alta con dia y locacion mostrar tabla de temp media mensual ordenada temperatura decreciente Mt=generaMatriz; mostrarMatriz5(Mt); [loc dia]=mayorTemperatura(Mt); mostrarMayorTemperatura(Mt,loc,dia); Tt=generaTabla(Mt);
Tt=ordenaTabla2(Tt) function Mt=generaMatriz() for i=1:6 Mt(i,1)=i; for j=2:31 Mt(i,j)=5+rand(1)*126; end end function mostrarMatriz5(Mt) for i=1:6 fprintf('%2d ',Mt(i,1)); for j=2:31 fprintf('%6.2f ',Mt(i,j)); end fprintf('\n'); end function [loc , dia]=mayorTemperatura(Mt) loc=1; dia=2; for i=1:6 for j=2:31 if Mt(loc,dia) < Mt(i,j) loc=i; dia=j; end end end function mostrarMayorTemperatura(Mt,loc,dia) fprintf('La temperatura maxima se produjo\n'); fprintf('El dia %d en la locacion %d\n',dia,loc); fprintf('y fue de %6.2f\n',Mt(loc,dia)); function Tt=generaTabla(Mt) for i=1:6 Tt(i,1)=i; Tt(i,2)=0;
vector = cargarVector(20); %muestro el vector mostrarVector(vector); posMenor = mayorVelocidad(vector); fprintf("\n\nLa vueltas mas rapida fue la %d con un tiempo de %d cs", posMenor,
vector(posMenor)); vPromedio = velocidadPromedio(vector); fprintf("\n\nLa velocidad promedio de la carrera fue de %d km/h", vPromedio); velocidadPromedioVuelta(vector); vecOrdenado = ordenar(vector); velocidadPromedioVuelta(vecOrdenado); function vt = cargarVector(n) for i = 1:n max = 60000; min = 12000; vt(i) = fix(rand * (max - min)) + min; end end function res = mayorVelocidad(v) min=v(1); #decimos que esta en la pos 1 pos=1; #recorramos el vector for i = 1: length(v) #si el min es mayor que el que sigue if (min > v(i)) #cambiamos min = v(i); #y cambiamos la pos del minimo pos = i;
elseif min == v(i) pos = i; endif endfor res = pos; endfunction function mostrarVector(vec) tam = length(vec); disp("\n"); for i = 1 : tam fprintf("%d\t", vec(i)); end end function vt = ordenar(vt) tam = length(vt); for i = 1 : tam for j = i + 1 : tam if vt(i) < vt(j) aux = vt(i); vt(i) = vt(j); vt(j) = aux; end end end end function res = posicionMenor(v) min=v(1); #decimos que esta en la pos 1 pos=1; #recorramos el vector for i = 1: length(v) #si el min es mayor que el que sigue if (min > v(i)) #cambiamos min = v(i); #y cambiamos la pos del minimo pos = i; elseif min == v(i)
pos = i; endif endfor res = pos; endfunction function res = velocidadPromedio(tiempo) tam = length(tiempo); vt = []; for i = 1 : tam vt(i) = (6225/1000) / ( tiempo(i)/360000); %km/h end suma = 0; tam2 = length(vt); for i = 1 : tam2 suma = suma + vt(i); end res = suma / tam; end function velocidadPromedioVuelta(vector) tam = length(vector); for i = 1 : tam velo = (6225/1000) / ( vector(i)/360000); %km/h fprintf("\n La velocidad en la vuelta %d fue de %d km/h", i, velo); end end
9) Una empresa distribuidora de materiales para la construccin mantiene la informacin de sus existencias en una matriz de tres columnas. Primera columna: numero de articulo (entero consecutivo comenzando en 1) Segunda columna: cantidad de existencia (unidades enteras entre 0 y 1000) Tercera columna: precio unitario (valor real entre $5.00 y $299.99)
a) Mostrar por pantalla el articulo de mayor valor unitario b) Mostrar todos los articulos sin existencia c) Sabiendo que el producto entre existencia y valor unitario se denomina stock valorizado,
mostrar la matriz ordenada por stock Valorizado creciente. Se requiere generar la matriz con al menos 15 artculos con valores al azar. Todos los datos deben ser mostrados por pantalla correctamente formateados. No podr utilizar disp para visualizar. Debe realizar al menos 3 funciones para la resolucin.
clear all clc m=matrizproductos(); mayor=mayorvalorunit(m); fprintf ('El de mayor Valor Unitario es %.2f \n',mayor) fprintf ('\n') fprintf ('Articulos sin existencia: \n') sinexistencia(m) fprintf ('\n') muestraproductos (m) fprintf ('\n') m=ordenamatriz(m); fprintf ('\n') muestraproductos (m) function ma=matrizproductos() for i=1:15 ma(i,1)=i; ma(i,2)=fix((rand*1000)); ma(i,3)= ((rand*294)+5); end function may= mayorvalorunit(m) p=m(1,3); may=m(1,3); for i=2:15; if m(i,3)>p p=m(i,3); may=m(i,3); end end function sinexistencia(m) for i=1:15 if m(i,2)==0 fprintf('Art. %2d %5.f %7.2f \n',m(i,1),m(i,2),m(i,3)) end end function muestraproductos(m) fprintf('Nro Art. C/Exist P/u Stock Val\n') for i=1:15 fprintf('Art. %2d %5.f %7.2f %9.2f\n',m(i,1),m(i,2),m(i,3),stockval(m,i)) end function m=ordenamatriz(m)
[fila,col]=size(m); ordenado=0; while ~ordenado ordenado=1; for i=1:fila-1 if stockval(m,i) < stockval (m,i+1) m=intercambio(m,i,i+1); ordenado=0; end end fila=fila-1; end function m=intercambio(m,fi,fj) [filas,cols]=size(m); for c=1:cols aux=m(fi,c); m(fi,c)=m(fj,c); m(fj,c)=aux; end function s=stockval(m,i) s=m(i,2)*m(i,3); 10) Cargar una matriz de m x n elementos, con nmeros al azar entre -3 y 20.. m y n deben ser ingresados por teclado con m>6 y n>=3 - Informar el nmero de columna de mayor promedio, ste valor se obtiene por medio de una funcin. Informar el primer valor encontrado. -Mostrar todas las filas que tengan la mayor simetra (funcin) - Ordenar las filas de la matriz segn el valor de la segunda columna creciente- En caso de igualdad ordenar por la primera columna decreciente. clc clear all M=cargaMatriz(); disp('Matriz original') mostrarMatriz(M); col=colMayorProm(M); fprintf('La columan con mayor promedio es %d\n',col); disp('Filas con mayor sumatria') filasMayorSumatoria(M); M=ordena(M); disp('Matriz ordenada') mostrarMatriz(M)
11) Cargar 50 notas aleatorias entre 0 y 10 en forma de vector. Determinar el promedio. Determinar el promedio de las notas mayores o iguales a 7 (promedio mayor). Mostrar las notas mayores al promedio mayor. Determinar cul es la nota mayor y en que posicin se encuentra. Determinar cual es la nota mas baja y en que posicin se encuentra. clc clear all nota=cargaVector(50); mostrarVector(nota) prom=calculaPromedio(nota); fprintf('El promedio es : %.2f\n',prom) prom7=calcularPromedioMay(nota,7); fprintf('El promedio a los mayores o iguales a 7 es : %.2f\n',prom7) mostrarMay7(nota,prom7) [nAlta pos]=masAlta(nota); fprintf('La nota mas alta es %d y se encuentra en la pos %d\n',nAlta,pos) [nBaja posB]=masBaja(nota); fprintf('La nota mas baja fue %d \n',nBaja) disp('Las Posiciones') for i=1:length(posB) fprintf('%4d',posB(i)) end fprintf('\n') function v = cargaVector(cant) for i=1:cant v(i)=fix(rand(1)*11); end function mostrarVector(nota) disp('NOTAS') for i=1:length(nota) fprintf('%4d',nota(i)) end fprintf('\n') function prom = calculaPromedio(nota) suma=0; for i=1:length(nota) suma=suma+nota(i); end prom=suma/length(nota);
function prom=calcularPromedioMay(nota,val) suma=0; cta=0; for i=1:length(nota) if nota(i)>= val suma=suma+nota(i); cta=cta+1; end end prom=suma/cta; function mostrarMay7(nota,prom7) disp('NOTAS mayores al prom mayor') for i=1:length(nota) if nota(i) > prom7 fprintf('%4d',nota(i)) end end fprintf('\n') function mostrarMay7(nota,prom7) disp('NOTAS mayores al prom mayor') for i=1:length(nota) if nota(i) > prom7 fprintf('%4d',nota(i)) end end fprintf('\n') function [nBaja, posB]=masBaja(nota) nBaja=11; for i=1:length(nota) if nBaja>nota(i) nBaja=nota(i); end end k=1; for i=1:length(nota) if nBaja==nota(i) posB(k)=i; k=k+1; end end 12) Una fabrica automotriz tiene 5 lineas de produccin, en cada una fabrican diariamente hasta 25 vehculos. Para administrar la produccin y generar informes para la gerencia de la empresa, se registra la produccin diaria de cada linea para un mes de trabajo (30 das)Los informes producidos son:
Las lineas que durante la mayor cantidad de das no tuvieron produccin.
Panilla de produccin, ordenada por mayor produccin mensual descendente (debe contener linea de produccin)
La carga de la panilla de producciones debe realizarse mediante una funcin y los datos deben ser generados al azar.Todos los clculos deben ser implementados en funciones. Los resultados pueden no mostrase en funciones siempre que no se trate de tablas o matrices.
clear all clc tab=tabla() sinProduccion(tab) ordenDescendente(tab) function tab=tabla() for f=1:5 tab(f,1)=f; for c=2:31 tab(f,c)=produccion(); end end function sinProduccion(tab) for f=1:5 for c=2:31 if tab(f,c)==0 fprintf("La linea %d no tuvo produccion el dia %d\n", f, c-1); end end end function tab=ordenDescendente(tab) for f=1:5 suma=0; for c=2:31 suma=suma+tab(f,c); end tab(f,32)=suma; end [fil col]=size(tab); for i=1:fil-1 max=i; for j=1+i:fil if tab(max,32)
end end aux=tab(i,:); tab(i,:)=tab(max,:); tab(max,:)=aux; end function prod=produccion() prod=0+fix(rand()*26); 13) Crear un programa Matlab que permita mostrar por pantalla informacin sobre consumos de un conjunto de lineas telefnicas.
Para cada linea telefnica se ingresa el nmero de linea y la cantidad de minutos consumidos.
Los consumos se facturan segn la siguiente tabla:
hasta 100 min. $1.30 el minuto
hasta 500 min. $1.03
hasta 1000 min $0.80
mas de 1000 min. $0.60
Informar:
Linea, minutos consumidos e importe de factura en orden decreciente de importe. En caso de igualdad por orden decreciente de minutos consumidos
Importes Total de la facturacin
Promedio de de minutos consumidos y promedio de importes facturados Deber realizar al menos
Una funcin que permita ingresar solo valores positivos o cero.
Una funcin que calcule importes de factura
Una funcin que calcule el promedio El ingreso de datos concluye con un nmero de linea 0(cero)
clear all
clc
linea=numeroLinea();
tab=tabla(linea);
tab=ordenaTabla(tab);
imprimirTabla(tab, linea)
promedio(tab, linea)
function linea=numeroLinea()
linea=1;
i=1;
while linea!=0
linea(i)=input("Ingrese numero de linea: ");
i=i+1;
end
function tab=tabla(linea)
for f=1:length(linea)-1
tab(f,1)=linea(f);
for c=2:3
min=minutos();
tab(f,2)=min;
tab(f,3)=costos(min);
end
end
function tab=ordenaTabla(tab)
[fil col]=size(tab);
for i=1:fil-1
max=i;
for j=1+i:fil
if tab(max,3)
aux= tab(i,:);
tab(i,:)=tab(max,:);
tab(max,:)=aux;
end
function imprimirTabla(tab, linea)
for f=1:length(linea)-1
fprintf("%d\t", tab(f,1))
for c=2
fprintf("%.6d min\t", tab(f,2));
end
for c=3
fprintf("$%.2f\t", tab(f,3));
end
fprintf("\n")
end
function promedio(tab, linea)
minu=0;
suma=0;
for f=1:length(linea)-1
for c=2
minu=minu+tab(f,2);
end
for c=3
suma=suma+tab(f,3);
end
end
fprintf("El total de facturacion es $%.2f\n", suma)
fprintf("El promedio de facturacion es $%.2f\n",suma/(length(linea)-1))
fprintf("El promedio de minutos es %.2f\n", minu/(length(linea)-1))
function cost=costos(min)
if min101 & min501 & min1001
cost=min*0.6;
end
end
end
end
function min=minutos()
min=0+fix(rand()*2001);
14) Un grupo de investigadores vulcanlogos estn registrando los parmetros trmicos de un volcn prximo a erupcionar. Con ese objetivo obtienen y registran datos de seis locaciones que circundan el volcn.
Para cada locacin se almacena la temperatura media diaria durante un perodo de 30 das.
Se pide :
7. Desarrollar un programa en Matlab que permita determinar que locacin tuvo la
temperatura mas alta y en que da se produjo. 8. Mostrar una tabla conteniendo las locaciones y sus temperaturas medias
ordenada por temperatura media decreciente. A fin de generar los datos necesarios para verificar el funcionamiento del cdigo realizado deber cargar la matriz de temperatura con valores entre 5 y 130 C, con valores al azar.
Todos los clculos deben ser implementados en funciones
Los resultados pueden no mostrase en funciones siempre que no se trate de tablas o matrices.
clear all
clc
mat=matrizDatos()
buscaMayor(mat)
ordenaMatriz(mat)
function mat=matrizDatos()
for f=1:6
mat(f,1)=f;
for c=2:31
mat(f,c)= temperaturaMedia();
end
end
function buscaMayor(mat)
l=1;
m=1;
aux=0;
for f=1:6
for c=2:31
if mat(f,c)>aux
aux=mat(f,c);
l=f;
m=c-1;
end
end
end
fprintf("La temperatura mas alta fue de %d grados, se dio el dia %d en la locacion %d", aux,m,l)
function mat=ordenaMatriz(mat)
[fil col]=size(mat);
for f=1:fil
for i=2:col-1
for j=1+i:col
if mat(f,i)
Nmero de motor
Velocidades mnima, mxima y promedio. Considerando el promedio de las velocidades extremas Deber ordenar la tabla por velocidad promedio creciente, en caso de igualdad, por mxima creciente, y si an se mantiene, por mnima decreciente.
Informar cuales fueron los motores con la mxima velocidad Promedio
Informar promedio general y cuantos motores lo superaron
Deber realizar al menos
Una funcin que permita ingresar solo valores enteros positivos o cero.
Una funcin que genere la tabla de resultados
Una funcin que calcule el promedio El ingreso de datos es manual y concluye con un nmero de motor 0(cero)
clear all clc motor=numeroMotorv(); tab=tabla(motor); tab=ordenaTabla(tab); imprimirTabla(tab) promedioVM(tab) promGeneral(tab) function motor=numeroMotor() motor=1; j=1; while motor!=0 motor(j)= input("Ingrese el numero de motor: "); j=j+1; end function tab=tabla(motor) for f=1:length(motor)-1 suma=0; tab(f,1)=motor(f); for c=2 tab(f,2)=velocidadMinima(); suma=suma+tab(f,2); end for c=3 tab(f,3)=velocidadMaxima(); suma=suma+tab(f,3); end for c=4 tab(f,4)=suma/2; end end
function imprimirTabla(tab) [fil col]=size(tab); for f=1:fil fprintf("%d\t", tab(f,1)) for c=2 fprintf("%.2f\t",tab(f,2)) end for c=3 fprintf("%.2f\t",tab(f,3)) end for c=4 fprintf("%.2f\t",tab(f,4)) end fprintf("\n") end function vM=velocidadMaxima() vM=8.5+fix(rand()*14); function vm=velocidadMinima() vm=0.4+fix(rand()*1.7); function promedioVM(tab) [fil col]= size(tab); suma=0; for f=1:fil for c=3 suma=suma+tab(f,3); end end prom=suma/fil; fprintf("El promedio de vel maxima es: %.2f\n",prom) suma2=0; for f=1:fil for c=3 if tab(f,3)>prom suma2=suma2+1; end end end fprintf("%d motores superaron la vel max promedio\n", suma2) function promGeneral(tab) [fil col]=size(tab); suma=0; for f=1:fil for c=4 suma=suma+tab(f,4); end end
prom=suma/fil; fprintf("El promedio general es %.2f\n",prom) suma2=0; for f=1:fil for c=4 if tab(f,4)>prom suma2=suma2+1; end end end fprintf("%d motores superaron el promedio general\n",suma2) function tab=ordenaTabla(tab) [fil col]=size(tab); for i=1:fil-1 max=i; for j=1+i:fil if tab(max,4)>tab(j,4) max=j; end end aux=tab(i,:); tab(i,:)=tab(max,:); tab(max,:)=aux; end 16) Una industria textil produce 3 tipos de telas (numeradas del 1 al 3). Con el objeto de generar informacin para la toma de decisiones operativas y con fines impositivos se registran las ventas semanales de un ao. Los datos registrados son tipo de producto y monto de venta. Los productos de tipo 1 generan un beneficio neto (sin descontar impuestos) del 15% de la venta, los de tipo 2 un 23,5% y los del tipo 3 un 31,2%. Realizar un programa q permita:
a) Mostrar nmero total de ventas. b) Mostrar monto total de ganancias. c) Tabla de tipo de producto y monto vendido ordenado por monto decreciente d) Siendo el impuesto el 30% de la ganancia, informar el monto del impuesto.
Se solicita una prueba del buen funcionamiento del programa por lo que deber cargar los datos de al menos 100 ventas de forma aleatoria con un monto minimo de $ 100 y un mximo menor a $25000 clear all clc tab=tabla(); totalVentas(tab) tab=ganancias(tab); tab=ordenaTabla(tab); imprimeTabla(tab)
function ventas=ventas() ventas=fix(rand*(25000-(100+1))+100); function tab=tabla() for f=1:3 suma=0; tab(f,1)=f; for c=2:101 tab(f,c)=ventas(); suma=suma+tab(f,c); end tab(f,102)=suma; end function totalVentas(tab) [fil col]=size(tab); suma=0; for f=1:3 for c=102 suma=suma+tab(f,c); end end fprintf("Las ventas totales fueron $%.2f\n",suma) function tab=ganancias(tab) [fil col]=size(tab); for f=1:fil for c=2:101 tab(f,c); end for c=102:103 tab(1,103)=0.15*tab(1,102); end for c=102:103 tab(2,103)=0.235*tab(2,102); end for c=102:103 tab(3,103)=0.312*tab(3,102); end end suma=tab(1,103)+tab(2,103)+tab(3,103); fprintf("Las ganacias totales fueron $%.2f\n", suma) fprintf("El impuesto sera del $%.2f\n",suma*0.3) function tab=ordenaTabla(tab) [fil col]=size(tab); for i=1:fil-1 max=i; for j=1+i:fil
xlabel("Eje x") ylabel("Eje y") legend('coseno', 'seno') 19) Una planta de elaboracin de aditivos para combustibles produce 3 tipos de productos enumerados del 1 al 3. Cada uno de ellos contiene un componente de alto precio que incide significativamente en los costos de fabricacin. El de tipo 1 contiene 20 gr del insumo costoso por kg de producto. El de tipo 2 contiene 7 gr/kg y el de tipo 3 100gr/Kg. Con el objeto de generar informacin para la toma de decisiones operativas, se registra la produccin horaria de cada tipo en kg. Durante un dia(24 hs) a) mostrar kg totales producidos. B) Mostrar kg totales producidos discriminados por tipo y ordenados en forma decreciente. c) mostrar cantidad del insumo costoso utilizado en la produccin de cada tipo de producto. Se solicita una prueba del buen funcionamiento del programa por lo que deber cargar datos en forma aleatoria con un minimo producido de 1.00 kg y un mximo menor a 15.00. clear all clc tab=tabla(); totalVentas(tab) tab=ordenaTabla(tab); imprimeTabla(tab); tab=ganancias(tab); function ventas=ventas() ventas=fix(rand*(15-(1+1))+1); function tab=tabla() for f=1:3 suma=0; tab(f,1)=f; for c=2:25 tab(f,c)=ventas(); suma=suma+tab(f,c); end tab(f,26)=suma; end function totalVentas(tab) [fil col]=size(tab); suma=0; for f=1:3 for c=26 suma=suma+tab(f,c); end end fprintf("Los Kilos totales producidos en 24 horas fueron %.2f\n",suma) function tab=ordenaTabla(tab)
x=linspace(0,2); y1=x.^5-4 plot(x,y1) title("Funcion polinomica") xlabel("Eje x") ylabel("Eje y") function c=raiz(a,b,5) for i=1:5 c=(a+b)/2; if y1(a)*y1(c)>0 a=c; else b=c; end end