Codigos matlab

Solo disponible en BuenasTareas
  • Páginas : 5 (1242 palabras )
  • Descarga(s) : 4
  • Publicado : 31 de mayo de 2010
Leer documento completo
Vista previa del texto
SEGUNDO PARCIAL F.C.

MATRICES

PERSONA FAMOSA
clc
n=input('Ingresar el número de personas:');
P=zeros(n);
%ingresar datos
for f=1:n
fprintf('\n Persona %d :',f);
for c=1:n
if f==c
P(f,c)=1;
else
fprintf('\n conoce a la persona %d:',c);
P(f,c)=input('Ingresar relación:');
end
end
end

%persona famosa
famo=0;
forf=1:n
sf=0;sc=0;
for c=1:n
sf=sf+P(f,c);
sc=sc+P(c,f);
end
if sf==1 & sc==n
famo=f;
end
end

if famo==0
disp('No hay persona famosa');
else
disp('La persona famosa es:');disp(famo);
end

JUEGO 3 EN RAYA
clc
B=[1 0 1;0 1 1;0 1 0]
j=-1;
sp=0;ss=0;
for f=1:3
sf=0;sc=0;
sp=sp+B(f,f);
ss=ss+B(f,4-f);
for c=1:3sf=sf+B(f,c);
sc=sc+B(c,f);
end

if sf==0 | sc==0 | sp==0 | ss==0
j=0;
else
if sf==3 | sc==3 | sp==3 | ss==3
j=1;
end
end
end
disp(j)

JUEGO BUSCAMINAS
clc
n=input('Ingresar orden de la matriz:');
A=zeros(n);
B=ones(n)+1;
m=input('Ingresar la cantidad de bombas:');
while m>(n*n)/2
m=input('Ingresar lacantidad de bombas:');
end
for i=1:m
f=fix(rand*n)+1;
c=fix(rand*n)+1;
while A(f,c)==1
f=fix(rand*n)+1;
c=fix(rand*n)+1;
end
A(f,c)=1;
end

s=0;
op=1;
while op==1

disp(B);
x=input('Ingresar fila:');
y=input('Ingresar columna:');

if B(x,y)==2

if A(x,y)==1
disp('MUERTE :-( !!!!!');
break;
else

fori=x-1:x+1
for j=y-1:y+1
s=s+A(i,j);
B(i,j)=A(i,j);
end
end
fprintf('\n el número de bombas desarmadas es %d',s);
end

else
disp('La celda no es correcta');
end

op=input('Desea seguir jugando: Si(1) N0 (0) :');

end % fin del while

PROYECTOS
clc
n=input('Ingresar cantidad deproyectos:');
m=input('Ingresar cantidad de personas:');
A=zeros(n,m);
%ingresar datos
for f=1:n
fprintf('\n Proyecto %d :',f);
for c=1:m
fprintf('\n Horas de trabajo de la persona %d:',c);
A(f,c)=input('Ingresar horas:');
end
end

%determinar horas c/proyecto
may=0;
for f=1:n
s=0;
for c=1:m
s=s+A(f,c);
end
fprintf('\n Proyecto%d requiere %d horas.',f,s);
if s>may
may=s;
aux=f;
end

end
fprintf('\n El proyecto %d es el que requiere la mayor cantidad de horas',aux);

FUNCIONES

function r=mult(p,q)
if q==0
r=0;
else
if q==1
r=p;
else
if q>=2 & mod(q,2)==0
r=mult(2*p,fix(q/2));
else
if q>=2 & mod(q,2)==1r=mult(2*p,fix(q/2)) + p;
end
end
end
end

function r=A(m,n)
if m==0
r=n+1;
else
if m>0 & n==0
r=A(m-1,1);
else
if m>0 & n>0
r=A(m-1,A(m,n-1));
end
end
end

PROG. TIPO MENU CON FUNCIONES

RECICLAJE DE VASOS

function s=vasosn(n,x)
s=0;
while n>=x
vn=fix(n/x);
vs=mod(n,x);s=s+vn;
n=vn+vs;
end
function Hullman(n)
while n>1
if mod(n,2)==0
n=fix(n/2);
else
n=(n*3)+1;
end
disp(n);
end

clc
op=0;
while op~=3
clc
disp('1. Hullman');
disp('2. Vasos');
disp('3. Salir');
op=input('Ingresar opción:');
switch op
case 1, n=input('Ingresar el valor de n:');
Hullman(n);case 2,
m=input('Ingresar la cantidad total de vasos:');
k=input('Ingresar la cant necesaria para formar 1 vaso:');
s=vasosn(m,k);
disp('La cant total vn es:'); disp(s);
case 3,
disp('Gracias por utilizar el programa... chaoooo!!!');

otherwise,...
tracking img