El documento presenta 10 ejercicios de programación en MATLAB. Los ejercicios incluyen programas para ingresar y promediar notas de estudiantes, validar cédulas, clasificar tornillos, crear tablas matemáticas, determinar si un número es primo, calcular el número entero más grande para una suma dada, dibujar triángulos, verificar si un año es bisiesto y determinar si un número es de Dudeney sumando y comparando la suma de sus dígitos a su cubo.
Ejercicios resueltos en Octave con funciones, ciclos y condicionales
1. //Ejercicio 1)
//Programa principal que permite ingresar n notas a un usuario
//guardarlas en un arreglo y presentarlas al final con el promedio
Nnotas=input("Ingrese cantidad de notas: ")
suma=0
notas=zeros(1,Nnotas)
for(i=1:Nnotas)
valor=input("Ingrese nota: ")
notas(i)=valor
suma=suma+valor
end
disp(notas)
printf("El promedio de notas es: %.2f",suma/Nnotas)
//Ejercicio 2
function bool=cedulaValida(ced)
A=[2,1,2,1,2,1,2,1,2,0]
provincia=ced(1)*10+ced(2)
Tdigito=ced(3)
suma=0
for(i=1:10)
mul=A(i)*ced(i)
if(mul>9)
mul=modulo(mul,10)+int(mul/10)
end
suma=suma+mul
end
residuo=modulo(suma,10)
if(residuo==0)
result=0
else
result=10-residuo
end
if(Tdigito<6 & provincia<=24 & provincia>=1 & result==ced(10))
bool=%t
else
bool=%f
end
endfunction
//Ejercicio3
function [AT]=generarArreglo()
AT=zeros(1,20)
for(i=1:20)
AT(i)=int(rand()*7)+1
end
endfunction
function [AR]=clasificarTornillos(AT)
AR=zeros(1,7)
for(i=1:20)
AR(AT(i))=AR(AT(i))+1;
end
endfunction
//Ejercicio 4
//Programa principal, presenta al usuario 5 opciones, 4 de estas opciones son
//tablas de sumar, multiplicar, dividir, y de potenciación
op=-2
while(op<>5)
printf("Programan1)Tabla Sumarn2)Tabla Multiplicarn3)Tabla Dividirn4)Tabla Potenciacionn5)Salir")
op=input("ingrese opcion: ")
select(op)
case 1
2. numero=input("Ingrese numero: ")
for(j=1:12)
printf("%.2f+%i=%.2n",numero,j,numero+j)
end
case 2
numero=input("Ingrese numero: ")
for(j=1:12)
printf("%.2f*%i=%.2fn",numero,j,numero*j)
end
case 3
numero=input("Ingrese numero: ")
for(j=1:12)
printf("%.2f/%i=%.2fn",numero,j,numero/j)
end
case 4
numero=input("Ingrese numero: ")
for(j=1:12)
printf("%.2f^%i=%.2fn",numero,j,numero^j)
end
case 5
printf("Saliendo..")
else//Permite validar cuando un usuario ingrese una opción fuera del rango permitido
printf("Ingrese una opción valida")
end
end
//Ejercicio 5
//Programa principal que dado un número por el usuario indica si es primo o no
printf("Bienvenido al programa que le indica si un numero es primo o no");
numero=input("Ingrese el numero: ")
cont=0;
for(i=1:numero)
if (modulo(numero,i)==0)
cont=cont+1;
end
end
if(cont==2 | numero==1)
printf("El numero %i es primo",numero);
else
printf("El numero %i no es primo",numero);
end
//Ejercicio 6
//Programa principal para calcular el n entero más grande al dar como resultado una suma de 100
suma=0
numero=0
while(suma<=100)
numero=numero+1;
suma=suma+numero;
end
printf("El numero mas grande es: %i",numero);
//Ejercicio 7
//Programa principal que permite dibujar un triángulo equilátero cuya medida de altura
//ingresa el usuario
altura=input("Ingrese la altura del triangulo equilatero: ");
e=altura-1;
a=1;
for(k=1:altura)
for (i=1:e)
printf(" ");
end
for(j=1:a)
printf("*");
end
printf("n");
3. e=e-1;
a=a+2;
end
//Ejercicio 8
//Programa principal que permite dibujar un triángulo rectángulo
//dada la medida de la altura por el usuario
altura=input("Ingrese el valor del lado: ")
a=1;
for (i=1:altura)
for(i=1:a)
printf("*");
end
printf("n")
a=a+1;
end
//Ejercicio 9
//Programa principal que permite al usuario saber si un año es o no bisiesto
anio=input("Ingrese el anio: ");
if(modulo(anio,4)==0)
if(modulo(anio,100)==0)
if(modulo(anio,400)==0)
printf("EL anio es bisiesto");
else
printf("El anio no es bisiesto");
end
else
printf("Es bisiesto");
end
else
printf("No es bisiesto");
end
//Ejercicio 10
function [suma]=sumarDigitos(numero)
digito=0;
suma=0
while(numero>0)
digito=modulo(numero,10);
numero=int(numero/10);
suma=suma+digito;
end
endfunction
function [esDudeney]=esNumeroDudeney(numero)
[suma]=sumarDigitos(numero)
if (suma^3==numero) then
esDudeney=%t;
else
esDudeney=%f;
end
endfunction