Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DOCENTE:
CURSO:
Lenguaje de programación.
CICLO:
II
SECCIÓN:
“A”
TEMA:
Trabajo práctico 2
TRUJILLO - PERÚ
2019
ÍNDICE
1era PREGUNTA...……………………………...……….……..……………………….….............2
a. Divisores de un numero……….…....….....……….……………...............................2
b. Prueba de escritorio….……………..……...............................................................2
c. Diagrama de flujo de la pregunta 1..…..…………….…………..............................3
2da PREGUNTA...……………………………...……….……..……...........................................4
a. Área máxima y minima….................…...……….………...…...................................4
b. Prueba de escritorio….……………..……................................................................4
c. Diagrama de flujo de la pregunta 2…....……………...………………………………4
3 PREGUNTA...……………………………...……………..……...........................................5
era
a. Function………………………..…....…...…………………….....................................5
b. Prueba de escritorio……….………..……...............................................................5
c. Diagrama de flujo de la pregunta 3……..…………….……………………………….6
4ta PREGUNTA...……………………………...……….……..……...........................................7
a. Programa de trayectoria de misiles..…...……….……………...............................7
b. Prueba de escritorio………………..……................................................................9
c. Diagrama de flujo de la pregunta 4………………….…………………………….…10
d. Ecuaciones y formulismo analítico …………………….......................................13
e. Reemplazo de datos y respuesta.……………………………..…………………….14
f. Grafica de variables……………………….…...………….….……...........................14
g. Comentario de la solución…………….….…………..……...……………………….15
h. Conclusiones del tema……………………...…………….……...…………………...15
5 PREGUNTA...……………………………...……….……..…….........................................16
ta
1
%PREGUNTA 1
%Divisores de un número
N=input('ingrese el numero entero positivo=')
D=1;
S=0;
while D<N
if mod(N,D)==0
S=S+D;
end
D=D+1;
end
%para ver si es perfecto
if S==N
disp('es perfecto')
else
disp('no es perfecto')
end
%Guardar el programa en documentos-Matlab con el nombre de divisores1
PRUEBA DE ESCRITORIO
%procedemos a elabora la prueba del programa
%escribimos en el comand window el nombre con que guardamos el programa
>>divisores1
Ingrese el numero entero positivo=7
n=
7
No es perfecto
%vemos que 7 no es perfecto
28
Es perfecto
2
%Diagrama de Flujo de la pregunta 1
Verificar si el numero N
entero positivo es perfecto
Leer N
D=1;
s=0
D<N
Residuo(N/D)=0
S=S+D V F
S=N
D+1
No es
Es perfecto perfecto
IMPRIMIR
FIN
3
%PREGUNTA2
%calculamos el área máxima y mínima que se puede hacer con un alambre.
%al partirlo en dos mitades 3*x & L-3*x
%formamos area de un cuadrado y un triangulo equilátero
L=input('ingrese la longitud del alambre, L= ');
if L>0
x=0:0.1:L;
v='((L-3*x)/4).^2 + (sqrt(3)*x.^2)/4';
A=eval(v);
B=max(A)
C=min(A)
fprintf('obtener la máxima área: ',B)
fprintf('obtener la mínima área: ',C)
else
disp('Asigne un valor positivo para la longitud L del alambre')
end
%Guardamos el programa en documentos-Matlab con el nombre de areamaxmin
PRUEBA DE ESCRITORIO
%procedemos a elabora la prueba del programa
%escribimos en el comand window el nombre con que guardamos el programa
>>areamaxmin
ingrese la longitud del alambre,L= 12
B=
98.3538
C=
3.9163
B=
273.2051
C=
10.8752
4
%Diagrama de Flujo de la pregunta 2
INICIO
Leer: L
L>0
v='((L-3*x)/4).^2 +
(sqrt(3)*x.^2)/4'
A=eval(v);
B=max(A)
C=min(A)
IMPRIMIR: Áreas
máximas y
mínimas.
FIN
5
%PREGUNTA 3
PRUEBA DE ESCRITORIO
%escribimos en el comand window el nombre con que guardamos el programa.
a) Punto:(2,-4), recta:-2x+3,5y-6=0.
d=
5.9537
d=
8.0498
6
%Diagrama de Flujo de la pregunta 3
LEER:(xo, yo, A, B, C)
La distancia es:
ȁ𝐴ሺ𝑥𝑜ሻ + 𝐵ሺ𝑦0ሻ + 𝐶ȁ
𝑑=
ξ𝐴2 + 𝐵2
IMPRIMIR: d
Fin
7
%PREGUNTA 4
8
%dai=distancia de A hasta el impacto
dai=vo1x*tc1;
fprintf('la distancia desde A hasta el impacto de los proyectiles es=%4.2f\n',dai)
%dci=distancia entre el punto C y el punto de Impacto
dci=dac-dai;
fprintf('la distancia entre el punto C y el de impacto es=%4.2f\n',dci)
%Recordar
%vo1y=vo1 en el eje y
%vo2x=vo2 en el eje x
vo2x=dci/(tc1+5);
fprintf('la velocidad 2 en el eje x es=%4.2f\n',vo2x)
vo2y= (0.8*hmax1+(0.5*g*tc1^2))/(tc1+5);
fprintf('la velocidad inicial 2 en el eje y es=%4.2f\n',vo2y)
vo2=(vo2x^2+vo2y^2)/(sqrt(vo2x^2+vo2y^2));
fprintf('la velocidad de lanzamiento del proyectil 2 es=%4.2f\n',vo2)
%Recordar
%a2= theta 2 en radianes
a2=acos(vo2x/vo2);
theta2=a2*180/pi;
fprintf('el valor de theta2 en ° es=%4.2f\n',theta2)
%tt2=tiempo total del proyectil 2
tt2=2*vo2y/g;
%D=punto de impacto con el suelo del proyectil 2
disp('suponemos D como punto de impacto con el suelo del proyectil 2')
%dcd=distancia del punto C al D
dcd=vo2x*tt2;
t2=0:0.01:tt2;
x2=(dac-dcd)+(vo2x*t2);
y2=vo2y*t2-(0.5*g.*t2.^2);
plot(x2,y2,'b')
text(17000,4750,'trayectoria del proyectil 2')
text(14464.71,747.073,'choque entre los proyectiles')
text(15464.71,-10,'D')
text(0,-10,'A')
text(16320,-10,'B')
text(20000,-10,'C')
title('Colision entre 2 Proyectiles')
%Guardamos el programa en documentos-Matlab con el nombre de trayectoria1
PRUEBA DE ESCRITORIO
9
El tiempo hasta que impacte con el suelo el proyectil uno es=57.72
10
%PREGUNTA 5
%programa de las áreas
disp('1=area del triangulo')
disp('2=area del cuadrado')
disp('3=area del circulo')
disp('4=area del rectángulo')
área=input('coloque el área de que figura desea hallar:');
switcharea
case 1
%hallando el área del triangulo
B=input('coloque la base del triangulo:');
H=input('coloque la altura del triangulo:');
if B>0 & H>0
at= B*H/2;
%at: area Del triángulo
fprintf('el area del triangulo es=%4.2f\n', at)
else
disp('por favor coloque valores positivos')
end
case 2
%hallando el área del cuadrado
L=input('coloque el lado del cuadrado=');
if L>0
ac= L^2;
%ac: área del cuadrado
fprintf('el area del cuadrado es=%4.2f\n', ac)
else
disp('por favor coloque valores positivos')
end
case 3
%hallando el área del círculo
r=input('coloque el radio del circulo:');
if r>0
aci=pi*r^2;
%aci: área del circulo
fprintf('el área del circulo es=%4.2f\n', aci)
else
disp('por favor coloque valores positivos')
end
case 4
%hallando el área del rectángulo
B=input('coloque la base del rectángulo:');
H=input('coloque la altura del rectángulo:');
if B>0 & H>0
ar=B*H;
fprintf('el área del rectángulo es=%4.2f\n', ar)
else
disp('por favor coloque valores positivos')
end
otherwise
disp('escoja un área según las antes mencionadas con valores del 1 al 4')
end
%Guardamos el programa en documentos-Matlab con el nombre de áreas
11
PRUEBA DE ESCRITORIO
>>áreas
1=área del triangulo
2=área del cuadrado
3=área del circulo
4=área del rectángulo
Coloque el área de que figura desea hallar:2
Coloque el lado del cuadrado=-6
Por favor coloque valores positivos
12
%Diagrama de Flujo de la pregunta 5
INICIO
LEER: área
Área
Other w.
1 2 3 4
Imprimir:
‘escoja
un área
B&H L>= r> B&H según las
>=0 0 =0 >=0 antes
menciona
das con
valores
del 1 al
4
13
%PREGUNTA 6
% programa para determinar la expresión
S=0
n =0
m= input('números de términos m:')
for n=0:m
S= sqrt(12)*(S +(-1/3)^n/2*n+1)
end
fprintf('El valor (suma) de la serie es: %15f\n',S)
format long
%Guardamos el programa en documentos-Matlab con el nombre de expresión1
PRUEBA DE ESCRITORIO
Número de términos m: 5
Número de términos m= 10
14
%Diagrama de Flujo de la pregunta 6
INICIO
S=0
n=0
LEER: m
1 m
1 𝑛
S=ξ12 ∗ σ𝑛=𝑚
𝑛=0 ቀ− 3ቁ /ሺ2𝑛 + 1ሻ
IMPRIMIR: S
FIN
15
%PREGUNTA 7
% programa para determinar suma menores a 50
c=0; suma=0; men=0;
%men= número menor a 50
SM= input(´ingrese la cantidad de números a sumar SM:’)
while c < SM
c= c + 1
numero = input(‘ingrese un numero=’);
if numero < 50
men= men +1
suma = suma + numero;
end
end
fprintf(‘la suma de los números menores a 50 es= %4.5f/n’,suma);
%Guardamos el programa en documentos-Matlab con el nombre de sumamenores50
PRUEBA DE ESCRITORIO
Ingrese un numero= 25
Ingrese un numero= 90
Ingrese un numero= 35
Ingrese un numero= 70
%ingresamos otros números para hallar la suma de esos números menores que 50.
>>sumamenores50
Ingrese un numero= 15
Ingrese un numero= 95
Ingrese un numero= 40
Ingrese un numero= 73
Ingrese un numero= 20
16
%Diagrama de Flujo de la pregunta 7
INICIO
c=0
Suma=0
men= 0
LEER: SM
c< SM
c = c +1
LEER: numero
Numero
<50
men = men +1
suma = suma +
numero
FIN
17
%PREGUNTA 8
positivo=0
negativo=0
nulo=0
while true
n = input('\nIngrese la cantidad de números a evaluar:')
if n >0
for i=1:n
numero= input('\nIngrese el numero a evaluar:')
if numero > 0
positivo = positivo + 1
elseif numero==0
nulo = nulo + 1
else numero < 0
negativo = negativo + 1
end
end
fprintf('la cantidad de numeros positivos es: %i',positivo);
fprintf('la cantidad de numeros nulos es: %i',nulo);
fprintf('la cantidad de numeros negativos es: %i',negativo);
break
else
input('el numero ingresado no es correcto. Intente nuevamente')
end
end
%Guardamos el programa en documentos-Matlab con el nombre de numerosma1
PRUEBA DE ESCRITORIO
18
%ingresamos otros números para hallar cuantos son mayores, menores e iguales a
cero.
>>numerosma1
positivo =
0
negativo =
0
nulo =
0
Ingrese la cantidad de números a evaluar:4
n=
4
19
%Diagrama de Flujo de la pregunta 9
INICIO
Positivo = 0
Negativo = 0
Nulo = 0
TRUE IMPRIMIR:
Positivo,
negativo, nulo
LEER: n
i= 1: n n>0
LEER:
FIN
numero(N) IMPRIMIR:
falso
N <0 N =0 N>0
nu= nu + 1 po = po +1
ne = ne +1
20
%PREGUNTA 9
n=input('Ingrese el numero de trabajadores: ');
A=[0];
SH=0;
PH=30;
for i=1:n
fprintf('HORAS LABORADAS POR EL TRABAJADOR %4.0f\n',i)
for k=1:7
fprintf('DIA %4.0f\n',k);
A(i,k)=input('Ingrese el numero de horas laboradas: ');
if A(i,k)<0
disp('VUELVA A INGRESAR UN NUMERO DE HORAS POSITIVO PORFAVOR')
A(i,k)=input('Ingrese el numero de horas laboradas: ');
end
end
end
for i=1:n
for k=1:7
SH=SH+A(i,k);
end
end
PagoTotal=SH*PH;
fprintf('EL PAGO TOTAL DE LA EMPRESA PARA LOS TRABAJADORES
%4.2f\n',PagoTotal)
%Guardamos el programa en documentos-Matlab con el nombre de pago1
PRUEBA DE ESCRITORIO
>> pago1
Ingrese el numero de trabajadores: 4
HORAS LABORADAS POR EL TRABAJADOR 1
DIA 1
Ingrese el numero de horas laboradas: 8
DIA 2
Ingrese el numero de horas laboradas: 4
DIA 3
Ingrese el numero de horas laboradas: 7
DIA 4
Ingrese el numero de horas laboradas: 3
DIA 5
Ingrese el numero de horas laboradas: 2
DIA 6
Ingrese el numero de horas laboradas: 7
DIA 7
Ingrese el numero de horas laboradas: 8
HORAS LABORADAS POR EL TRABAJADOR 2
DIA 1
Ingrese el numero de horas laboradas: 7
DIA 2
Ingrese el numero de horas laboradas: 8
DIA 3
Ingrese el numero de horas laboradas: 4
DIA 4
Ingrese el numero de horas laboradas: 5
21
DIA 5
Ingrese el numero de horas laboradas: 4
DIA 6
Ingrese el numero de horas laboradas: 8
DIA 7
Ingrese el numero de horas laboradas: 7
HORAS LABORADAS POR EL TRABAJADOR 3
DIA 1
Ingrese el numero de horas laboradas: 5
DIA 2
Ingrese el numero de horas laboradas: 3
DIA 3
Ingrese el numero de horas laboradas: 8
DIA 4
Ingrese el numero de horas laboradas: 6
DIA 5
Ingrese el numero de horas laboradas: 8
DIA 6
Ingrese el numero de horas laboradas: 4
DIA 7
Ingrese el numero de horas laboradas: 6
HORAS LABORADAS POR EL TRABAJADOR 4
DIA 1
Ingrese el numero de horas laboradas: 4
DIA 2
Ingrese el numero de horas laboradas: 5
DIA 3
Ingrese el numero de horas laboradas: 5
DIA 4
Ingrese el numero de horas laboradas: 8
DIA 5
Ingrese el numero de horas laboradas: 7
DIA 6
Ingrese el numero de horas laboradas: 6
DIA 7
Ingrese el numero de horas laboradas: 5
EL PAGO TOTAL DE LA EMPRESA PARA LOS TRABAJADORES 4860.00
22
%Diagrama de Flujo de la pregunta 9
INICIO
A=[0]
SH=0
PH=30 i=1:n
i=1:n
SH=SH+A(i,k)
IMPRIMIR:
HORAS POR PagoTotal=SH*PH
C/T
K=1:7 FIN
Ingresar el número
de horas laboradas
Vuelva a
ingresar si
<0
23
%PREGUNTA 10
%Diagrama de Flujo de la pregunta 10
INICIO
Cadena de
tiendas
farmacéuticas
FIN
24