Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica 1y2
Practica 1y2
PRACTICA N1 tema: Instrucciones de asignacin e instrucciones de control. 1. Desarrolle un algoritmo que le permita calcular el rea de un triangulo conociendo las coordenadas de sus vrtices en el plano. DIAGRAMA DE FLUJO:
PSEUDOCDIGO
disp('este programa calcula rea de triangulo conociendo las coordenadas de sus vrtices en el plano') disp('------------------------------------------------------------------') x1=input('ingrese x1: '); y1=input('ingrese y1: '); x2=input('ingrese x2: '); y2=input('ingrese y2: '); x3=input('ingrese x3: '); y3=input('ingrese y3: '); %............................... d1=sqrt((x1-x2)^2+(y1-y2)^2); d2=sqrt((x1-x3)^2+(y1-y3)^2); d3=sqrt((x3-x2)^2+(y3-y2)^2); if (d1>0 & d2>0 & d3>0); A=(abs((x1*y2+x2*y3+x3*y1)-(x2*y1+x3*y2+x1*y3)))/2; disp('el area es: ') disp(A) else disp('elija otras coordenadas') end
inicio
escribir A
FIN
PSEUDOCDIGO
disp('este programa calcula el area de un cuadrilatero') disp('------------------------------------------------') x1=input('ingrese x1: '); y1=input('ingrese y1: '); x2=input('ingrese x2: '); y2=input('ingrese y2: '); x3=input('ingrese x3: '); y3=input('ingrese y3: '); x4=input('ingrese x4: '); y4=input('ingrese y4: '); A=(abs((x1*y2+x2*y3+x3*y4+x4*y1)-(x2*y1+x3*y2+x4*y3+x1*y4)))/2; disp('el area es: ') disp(A)
inicio leer
escribir error
escribir A
FIN PSEUDOCDIGO
disp('este programa calcula la pendiente de una recta conociendo el angulo de inclinacion') disp('-------------------------------------------------------------------') a=input('ingrese en angulo de inclinacion: '); if a~=90 & a~=270; m=tand(a); fprintf('la pendiente del angulo %d es %12.4f\n\n\n',a,m); else fprintf('error cambia de angulo\n\n\n') end
inicio leer
escribir error
escribir A ,V
FIN PSEUDOCDIGO
disp('Este programa determina el area y el volumen de un cilindro') disp('------------------------------------------------------------') r=input('ingrese el valor del radio: '); h=input('ingrese el valor la altura: '); if r>0 & h>0; A=2*pi*r*(r+h); V=pi*r^2*h; fprintf('el valor del area es %d12.4f y el valor del volumen es %d12.4f\n\n\n',A,V) else fprinft('elija otros valores para el radio y la altura\n\n\n') end
inicio leer v F
FIN
PSEUDOCDIGO
disp('este programa determina siun numero es positivo o negativo') disp('----------------------------------------------------------') n=input('ingrese el numero: '); if n>0 fprintf('el numero %5.2f es positivo \n\n\n',n); elseif n==0 fprintf('es neutro'); else fprintf('el numero %5.2f es negativo\n\n\n ',n); end
inicio leer F v
escribir A es mayor
FIN
PSEUDOCDIGO
disp('este programa permite ingresar dos nmeros y ver cual es mayor') disp('--------------------------------------------------------------') %ingresar dos nmero y ver cual es el mayor a=input('ingrese el primer numero: '); b=input('ingrese el segundo numero: '); if a~=b; if a>b fprintf('elnumero %12.4f es mayor que %12.4f\n\n\n',a,b) else fprintf('elnumero %12.4f es mayor que %12.4f\n\n\n',b,a) end else fprintf('los numeros son iguales\n\n\n') end
escribir es par
escribir es impar
FIN
PSEUDOCDIGO
disp('este programa saber si un numero es par o impar') disp('-----------------------------------------------') %saber si un numero es par o impar a=input('ingrese el numero: '); if rem(a,2)==0; fprintf('el numero %8.4f es par\n\n\n',a) else fprintf('el numero %8.4f es impar\n\n\n',a) end
inicio leer V F
escribir A es mayor
escribir C es mayor
escribir B es mayor
escribir C es mayor
FIN
PSEUDOCDIGO
disp('este programa permite saber cul es el mayor de tres nmeros') disp('-------------------------------------------------------------') %dado tres numeros saber cual es mayor a=input('ingrese el primer numero: '); b=input('ingrese el segundo numero: '); c=input('ingrese el tercer numero: '); if a>b; if a>c fprintf('el numero %12.4f es mayor de los numeros \n\n\n',a); else fprintf('el numero %12.4f es mayor de los numeros \n\n\n',c) end elseif b>c fprintf('el numero %12.4f es mayor de los numeros \n\n\n',b); else fprintf('el numero %12.4f es mayor de los numeros \n\n\n',c); end
F V F
PSEUDOCDIGO
FIN
disp('este programa permite saber si la suma de dos numeros es igual al tercero ') disp('-----------------------------------------------------------------') a=input('ingrese el primer numero: '); b=input('ingrese el segundo numero: '); c=input('ingrese el tercer numero: '); x=a+b; y=b+c; z=a+c; if x==c; fprintf('la suma de %7.4f y %7.4f es igual a %7.4f \n\n\n',a,b,c); elseif y==a fprintf('la suma de %7.4f y %7.4f es igual a %7.4f \n\n\n',b,c,a); elseif z==b fprintf('la suma de %7.4f y %7.4f es igual a %7.4f \n\n\n',a,c,b); else fprintf('ninguno es la suma de los otros dos \n\n\n'); end
escribir C=A+B
F F
V V
escribir
escribir
FIN
if a~=0 d=b^2-4*a*c; if d>=0 if d==0 x1=-b/(2*a); x2=x1; fprintf('las raices %6.2f y %6.2f son iguales \n\n\n ',x1,x2) else x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); fprintf('las raices son x1: %6.2f y x2: %6.2f \n\n\n ',x1,x2) end else d=-d; pr=-b/(2*a); pI=(sqrt(d))/(2*a); fprintf('las raices son x1: %6.2f + %6.2fi y x2: %6.2f - %6.2fi \n\n\n ',pr,pI,pr,pI) end else x1=-c/b; fprintf(' es una ecuacion lineal cuya raiz es:%6.2f \n\n\n ',x1) end
inicio leer
S=0
escribir S FIN
PSEUDOCDIGO
disp('este programa realiza la suma de los n numeros impares') disp('------------------------------------------------------') %este programa realiza la suma de los n numeros impares n=input('ingrese el n-esimo lugar: '); s=0; disp('------------------------------------------------------') for i=1:1:n; s=s+2*i-1; end fprintf('la suma es: %5.2f \n\n\n',s)
inicio leer V F V F
fact=1
FIN
PSEUDOCDIGO
disp('este programa calcula el factorial de un numero entero') N=input('ingrese el valor de N: '); if (N>=1) fact=1; for i=1:N; fact=fact*i; end fprintf('el factorial de %d es: %d\n\n\n',N,fact); else if N==0; fact=1; fprintf('el factorial de %d es: %d\n\n\n',N,fact); else fprintf('el factorial de %d no existe\n\n\n',N); end end
leer Ni, Si
FIN
PSEUDOCDIGO
q=input('ingrese el numero de trabajadores: '); nombre1=''; for i=1:q nombre2=input('ingrese nombre del trabajador: ','s'); nombre1=char(nombre1,nombre2); s(i)=input('ingrese el sueldo del trabajador: '); end for i=1:q d(i)=0.13.*s(i); st(i)=s(i)-d(i); end disp('===========================================================') disp('PLANILLA DE PAGOS') for i=1:q fprintf('el trabajador %10s percibe un sueldo de %9.3f y un descuento %9.3f \n\n\n',nombre1(i+1,:),st(i),d(i)); end
leer N
ap=ap+1
escribir desaprobado
escribir p, ap FIN
PSEUDOCDIGO
ap=0; s=0; for i=1:36 n=input('ingresar nota: '); s=s+n; if n>=10.5 ap=ap+1; else disp('desaprobado') end end p=s/36; fprintf('la nota promedio es: %9.2f y son %9.2f los aprobados \n\n\n',p,ap)
escribir
FIN
Disee un diagrama de flujos de programas que le permita leer 'n' valores, y escribir independientemente el promedio de los pares y de los impares DIAGRAMA DE FLUJO. inicio leer n
leer a(i) V F
escribir 'nulo'
escribir pp, pi
FIN
escribir S
PSEUDOCDIGO
FIN
%PROGRAMA QUE CALCULA LA SUMA SE LA SERIE: X=input('ingrese el valor para x: '); n=input('ingrese el n-esimo termino que desea sumar: '); s=1; for i=2:n f=1; p=1; for k=1:(i-1) p=p*X; f=f*k; end s=s+(p)/f; end disp('---------------------------------------------------------') fprintf('el suma de los %1f primeros terminos es %1f:\n\n\n',n,s);
escribir S FIN
PSEUDOCDIGO
n=input('ingrese el grado de la matriz cuadrada: '); for i=1:n for j=1:n a(i,j)=input('igrese elemento de la matriz: '); end end s=0; for i=1:n for j=1:n if i==j s=s+a(i,j); else disp('error'); end end end disp('---------------------------------------------------------') fprintf('la suma de los elementos de la diagonal es %1f:\n\n\n',s);
leer
leer p, q
leer
escribir
');
');
escribir
FIN
PSEUDOCDIGO
n=input('ingrese el numero de elementos: '); for i=1:n a(i)=input('ingrese elemento del arreglo: '); end for j=1:(n-1) for k=1:(n-j) if a(k)>a(k+1) aux=a(k); a(k)=a(k+1); a(k+1)=aux; end end end fprintf('el menor numero es %5f\n ', a(1)) fprintf('el mayor numero es %5f\n ', a(n))