Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ASIGNATURA
DEBER # 8
ESTUDIANTE
DOCENTE
PARALELO
7-4
FECHA DE ENTREGA
20/06/2019
PERIODO LECTIVO
2019 - 2020 CI
2. Escriba una función primo(n) para determinar si un número n
dado es primo. Escriba un programa de prueba que mediante la
función escrita, encuentre los números primos existentes entre 1
y n, siendo n un dato.
function p=primo(n);
c=0;
for d=1:n
if mod(n,d)==0;
c=c+1;
end
SCRIPT 1 end
if c>2
p=0;
else
p=1;
end
end
RESULTADO
4. Escriba una función divisores(n) que entregue un vector
conteniendo todos los divisores enteros positivos que tiene un
número entero dado n. Escriba un programa de prueba que use la
función escrita para encontrar para cada número entero del 20 al
30, sus divisores enteros
function c=ndiv(n)
c=0;
e=[];
for d=1:n
if mod(n,d)==0
c=c+1;
SCRIPT 1 e=[e d];
end
end
disp('Los Divisores son: ')
e=e'
disp('Numero de divisores:')
end
RESULTADO
6. Escriba una función perfecto(n) que determine si un número
entero dado n es un número perfecto. Un número perfecto debe ser
igual a la suma de todos sus divisores enteros menores que el
valor del número.
Ejemplo: 28 = 1 + 2 + 4 + 7 + 14
Escriba un programa de prueba que use la función escrita y
encuentre los números perfectos entre 1 y 1000
function n_perfecto
cot=0;
for n=1:1000
s=0;
for i=1:n-1
if mod(n,i)==0
s=s+i;
end
end
if n==s
SCRIPT 1 cot=cot+1;
z=true;
[n s]
else
z=false;
end
end
disp('la cantidad de valores es:');
disp(cot);
end
RESULTADO
8. Escriba una función cuad(n) que determine si el cuadrado de
un número natural n dado, es igual a la suma de los primeros n
números impares.
Ej. 36 = 1+3+5+7+9+11
Escriba un programa de prueba que ingrese un dato desde el teclado,
use la función y muestre el resultado en la pantalla.
function cuad
n=input('Ingrese un Numero Entero: ');
disp('El cuadrado del entero es: ');
c=n^2;
disp(c)
s=0;
h=[];
for i=1:2:c
s=s+i;
SCRIPT 1
h=[h i];
if s==c
break
end
end
disp('Los numeros impares que sumando son el numero
cuadrado son:');
disp(h)
end
SCRIPT 2
RESULTADO
10. Escriba una función conteo(x) que reciba una cadena de
caracteres x, y determine la cantidad de palabras que contiene.
Suponga que las palabras están separadas por un espacio. Escriba
un programa de prueba que ingrese un dato desde el teclado, use
la función y muestre el resultado en la pantalla.
function conteo_palabras
x=input('Ingrese el texto: ','s');
a=0;
for i=1:length(x);
if x(i)==' '
SCRIPT 1
a=a+1;
end
end
fprintf('numero de palabras en el texto %d\n\n',a+1)
end
SCRIPT 2
RESULTADO
12. Escriba una función alfin(n) que entregue como resultado la
cantidad de veces que debe lanzarse un dado hasta que salga un
número n dado como parámetro. Escriba un programa de prueba que
ingrese un dato desde el teclado, use la función y muestre el
resultado en la pantalla.
function alfin
x=input('Ingrese un numero del 1 al 6: ');
c=0;
if x<=6
while (fix(rand*6)+1)~=x
c=c+1;
SCRIPT 1 end
fprintf('Numero de intentos hasta conseguir numero
%d\n\n',c+1)
else
disp('Error es un dado no sea cojudo');
end
end
SCRIPT 2
RESULTADO
16. Escriba una función suma(n) que reciba un numero entero n y
devuelva la suma de sus dígitos. Escriba un programa de prueba
que genere números aleatorio entre 1 y 100 hasta que la suma de
los dígitos de alguno de ellos sea múltiplo de 7
VARIABLES ENTRADA
FORMULA
SALIDA
function suma_n_s
n=input('Ingrese un numero: ');
s=0;
v=num2str(n);
for i=1:length(v)
SCRIPT 1 s=s+str2double(v(i));
end
disp('La suma de los valores del dato ingresado es: ')
disp(s)
end
SCRIPT 2
RESULTADO
18. Escriba una función mcd(a, b) que reciba dos números enteros
a y b, y devuelva el máximo común divisor entre ellos. Escriba un
programa de prueba que genere dos números aleatorios entre 1 y
100, use la función y muestre el resultado en la pantalla
VARIABLES ENTRADA
FORMULA
SALIDA
SCRIPT 1
SCRIPT 2
RESULTADO
20. Escriba un a función rango(v,a,b) que reciba un vector v, y
determine cuantos elementos están en el rango [a, b]
VARIABLES ENTRADA
FORMULA
SALIDA
SCRIPT 1
SCRIPT 2
RESULTADO
22. Escriba una función recursiva para obtener la cantidad de
dígitos impares que contiene un número entero positivo.
VARIABLES ENTRADA
FORMULA
SALIDA
SCRIPT 1
SCRIPT 2
RESULTADO
24. Escriba una función polar(x, y) que reciba las coordenadas
cartesianas de un punto y entregue sus coordenadas polares r,
theta
VARIABLES ENTRADA
FORMULA
SALIDA
SCRIPT 1
SCRIPT 2
RESULTADO
26. En una expresión aritmética en notación INFIX se escriben
los operandos (números) separados por un operador aritmético
conocido (+, –, *, /).
En una expresión aritmética en notación POSTFIX, primero se
escriben los operandos y luego el operador, como se muestra en
los ejemplos.
INFIX POSTFIX
2 + 3 2 3 +
9 – 6 9 6 –
5 * 4 5 4 *
8 / 7 8 7 /
VARIABLES ENTRADA
FORMULA
SALIDA
SCRIPT 1
SCRIPT 2
RESULTADO
28. Escriba una función que reciba una matriz. La función debe
debe entregar un vector con la cantidad de elementos pares que
contiene cada columna de la matriz
3 4 5
Ejm. Entra [6 1 8] sale [2 3 1]
8 6 3
7 8 7
VARIABLES ENTRADA
FORMULA
SALIDA
SCRIPT 1
SCRIPT 2
RESULTADO
30. La operación xor en el sistema binario produce el siguiente
resultado
m k m x or k
0 0 0
0 1 1
1 0 1
1 1 0
VARIABLES ENTRADA
FORMULA
SALIDA
SCRIPT 1
SCRIPT 2
RESULTADO
32. La función strfind entrega la posición inicial de todas las
ocurrencias de algún texto en una cadena de caracteres, como se
muestra en el ejemplo:
VARIABLES ENTRADA
FORMULA
SALIDA
SCRIPT 1
SCRIPT 2
RESULTADO
34. Escriba una función recursiva que permita invertir una cadena
de caracteres.
VARIABLES ENTRADA
FORMULA
SALIDA
SCRIPT 1
SCRIPT 2
RESULTADO