Guia Gabinete 2 - Algoritmos y Programacion

4
1 de 3 Matemática D Algoritmos y Programación Ejercicio 1: Escribir un algoritmo que calcule la superficie de un triangulo en función de la base y la altura. Ejercicio 2: Utilizando el operador '>' (mayor que), escribir un archivo de comandos que permita definir si un número a es mayor que un número b. El programa debe permitir ingresar los números a y b, e imprimir el resultado: 'a es mayor que b', 'a es menor que b' o 'a es igual a b'. (Sugerencia: En SciLab, si deseamos escribir el mensaje: Alicia cumplirá 12 este año., podemos utilizar el comando mprintf: mprintf('Alicia cumplirá %s este año.',12). Ejercicio 3: Escribir un archivo de comandos que ahora dé como resultado el menor de tres números a, b y c. Ejercicio 4: Implemente un algoritmo determine el máximo de tres números ingresados por el usuario. Utilizar expresiones condicionales. Se asume que los números ingresados son diferentes. Ejercicio 5: Desarrolle un programa que permita determinar el valor de la función (y) para un valor de x ingresado por el usuario. Ejercicio 6: Crear una función en SciLab que permita evaluar la función f dada por: 2 30 ,5 () 5,3 3 3, x si x fx x si x x si x El programa debe permitir ingresar un valor de x y devolver como resultado el valor de f(x). Graficar la función f del item anterior. (Sugerencia: considerar la función en el intervalo [-10; 10]). Ejercicio 7: Escribir un archivo de comandos llamado TP2Ejer5.sce que pida por teclado el valor de la nota examen y el valor de control (Utilice el comando examen=input(‘Ingrese nota de examen’)). El código debe mostrar en pantalla la palabra Aprobado si el valor de la variable examen es mayor o igual a 70 y el valor de la variable control es mayor o igual a 8; en caso contrario, el programa muestra en pantalla la palabra Reprobado. (El comando disp('...') permite escribir mensajes en SciLab). Supongamos ahora que el alumno reprobó la materia pero tiene la oportunidad de rehacer el examen o el control, pero solo uno de ellos. Agregar al programa anterior los comandos necesarios para que nos devuelva además el mensaje: El alumno debe rehacer el control o El alumno debe rehacer el examen o El alumno reprobó el control y el examen. Ejercicio 8: Diseñar un algoritmo para calcular la velocidad (en metros/segundo) de los corredores de una carrera de 1500 metros. La entrada serán pares de números (minutos, segundos) que darán el tiempo de cada corredor. Por cada corredor se visualizará el tiempo en minutos y segundos, así como la velocidad media. Ejercicio 9: Construya un algoritmo que permita sumar los números pares comprendidos entre 1 y 1000.

Transcript of Guia Gabinete 2 - Algoritmos y Programacion

Page 1: Guia Gabinete 2 - Algoritmos y Programacion

1 de 3

Matemática D – Algoritmos y Programación

Ejercicio 1: Escribir un algoritmo que calcule la superficie de un triangulo en función de la base y la altura.

Ejercicio 2: Utilizando el operador '>' (mayor que), escribir un archivo de comandos que permita definir si un número a es mayor que un número b. El programa debe permitir ingresar los números a y b, e imprimir el resultado: 'a es mayor que b', 'a es menor que b' o 'a es igual a b'. (Sugerencia: En SciLab, si deseamos escribir el mensaje: Alicia cumplirá 12 este año., podemos utilizar el comando mprintf:

mprintf('Alicia cumplirá %s este año.',12).

Ejercicio 3: Escribir un archivo de comandos que ahora dé como resultado el menor de tres números a, b y c.

Ejercicio 4: Implemente un algoritmo determine el máximo de tres números ingresados por el usuario. Utilizar expresiones condicionales. Se asume que los números ingresados son diferentes.

Ejercicio 5: Desarrolle un programa que permita determinar el valor de la función (y) para un valor de x ingresado por el usuario.

Ejercicio 6: Crear una función en SciLab que permita evaluar la función f dada por:

2

30 , 5

( ) 5,3

3 3,

x si x

f x x si x

x si x

El programa debe permitir ingresar un valor de x y devolver como resultado el valor de f(x).

Graficar la función f del item anterior. (Sugerencia: considerar la función en el intervalo [-10; 10]).

Ejercicio 7: Escribir un archivo de comandos llamado TP2Ejer5.sce que pida por teclado el valor de la nota examen y el valor de control (Utilice el comando examen=input(‘Ingrese nota de examen’)). El código debe mostrar en pantalla la palabra Aprobado si el valor de la variable examen es mayor o igual a 70 y el valor de la variable control es mayor o igual a 8; en caso contrario, el programa muestra en pantalla la palabra Reprobado. (El comando disp('...') permite escribir mensajes en SciLab). Supongamos ahora que el alumno reprobó la materia pero tiene la oportunidad de rehacer el examen o el control, pero solo uno de ellos. Agregar al programa anterior los comandos necesarios para que nos devuelva además el mensaje: El alumno debe rehacer el control o El alumno debe rehacer el examen o El alumno reprobó el control y el examen.

Ejercicio 8: Diseñar un algoritmo para calcular la velocidad (en metros/segundo) de los corredores de una carrera de 1500 metros. La entrada serán pares de números (minutos, segundos) que darán el tiempo de cada corredor. Por cada corredor se visualizará el tiempo en minutos y segundos, así como la velocidad media.

Ejercicio 9: Construya un algoritmo que permita sumar los números pares comprendidos entre 1 y 1000.

Page 2: Guia Gabinete 2 - Algoritmos y Programacion

2 de 3

Ejercicio 10: Construya un algoritmo que determine el resultado de multiplicar los números impares comprendidos entre 1 y N, donde N es un entero mayor que 1.

Ejercicio 11: Construya un algoritmo cuya entrada sea un vector con los números 0 1, , , nx x x y

un numero x. La salida será el producto 0 1 nx x x x x x .

Ejercicio 12: Crear un archivo de comandos que devuelva un vector de 50x1 cuyos elementos son los primeros 50 números naturales impares. Realizar esto utilizando el ciclo for-end. Realizar los cambios adecuados a la función anterior si ahora, dado n un número natural, se desea que el programa devuelva un vector cuyos elementos son los n primeros números naturales impares.

Ejercicio 13: Crear un archivo de comandos que, dado un número natural n, dé como resultado la

suma de los primeros números naturales, es decir, devuelva la suma: 1 2 n . Probarlo para varios números naturales, corroborando el resultado con la siguiente fórmula:

11 2

2

n nn

.

Ejercicio 14: Escribir un archivo de comandos que dado un número natural n, devuelva como resultado la suma de los primeros números naturales pares. Probarlo para varios números naturales, corroborando el resultado con la siguiente fórmula:

2 1 2 2 2 3 2 2 1 2 3 ( 1)n n n n .

Ejercicio 15: Escribir un archivo de comandos que encuentre el primer entero que haga que la

suma de la serie 1 2 n supere 40. Dicho archivo debe devolver como resultado el entero deseado y la suma correspondiente. Luego, generalizarlo para cualquier número natural n.

Ejercicio 16: El precio de un boleto de viaje redondo en tren se calcula tomando en cuenta el número de kilómetros que se van a recorrer, siendo el precio $60.00 por Km. Este precio puede tener un descuento del 30% si el viaje de regreso se hace después de 7 días del viaje de ida, o si el recorrido supera los 800 Km. Elabore un algoritmo que calcule cuánto se debe pagar por un boleto de tren dando como datos el total de Km recorridos y el número de días entre el viaje de ida y el viaje de vuelta. Implemente el algoritmo en SciLab.

Ejercicio 17: Realizar un programa que permita calcular el salario de un trabajador ingresando la cantidad de horas trabajadas y la tarifa por hora. Considere que si el trabajador ha superado las 40 horas la tarifa por hora se incrementará en un 50% para las horas extras.

Ejercicio 18: Utilizando las herramientas apropiadas de SciLab, genere un programa que permita calcular el promedio de 3 notas ingresadas por cada usuario y muestre el resultado en pantalla. El programa debe verificar que cada dato ingresado pertenezca a la escala de puntuación (1 a 10). En caso que el dato no cumpla lo requerido, debe exigir ingresar otro dato.

Ejercicio 19: Utilizando las herramientas apropiadas de SciLab, genere un programa que permita calcular el promedio de 6 notas ingresadas como un vector de 6 elementos y muestre el resultado en pantalla con la leyenda “El promedio de las notas ingresadas es”, así como también los datos con los que se evaluó (“Se evaluó con los siguientes datos: “), y los datos descartados (“los datos mostrados a continuación no se utilizaron para el cálculo:”). El algoritmo debe verificar que cada dato ingresado pertenezca a la escala de puntuación (1 a 10). En caso que el dato no cumpla lo requerido, el programa debe descartar estos datos y evaluar el promedio solo con los datos validos.

Ejercicio 20: Una agencia automotriz ofrece planes de crédito para la adquisición de los diferentes modelos de automóviles. Si el automóvil vale más de $35,000.00 la agencia solicita un 35% de

Page 3: Guia Gabinete 2 - Algoritmos y Programacion

3 de 3

cuota inicial y el resto debe cubrirse en 24 mensualidades sin intereses. Si el automóvil tiene un valor máximo de $35,000.00 se requiere una cuota inicial del 25% y el resto se debe pagar en 18 mensualidades sin intereses. La agencia desea saber, en base al precio de un automóvil que un determinado cliente elija, cuál es el monto de la cuota inicial; y cuál es el número y e l monto de las mensualidades que éste debe cubrir.

Ejercicio 21: El siguiente diagrama de flujo representa un algoritmo de cálculo para resolver un sistema de Ecuaciones lineales. Implemente el algoritmo en SciLab utilizando los comandos rank.

Ejercicio 22: Elabore un programa que permita calcular las raíces reales de un polinomio de segundo grado de la forma . Tenga en cuenta que dependiendo del valor del discriminante (D=b2-4ac) el sistema puede dar raíces reales (D≥0) o raíces complejas (D<0). El programa debe informar al usuario si el sistema no tiene raíces reales. Además se debe indicar si las raíces reales son iguales (D=0) o diferentes (D>0). .

Ejercicio 23: Cree un archivo de comandos que ejecute el siguiente código. Explique qué es lo que sucede.

x=1;

while x<2

disp('Esto continuara por siempre')

end

Ejercicio 24: Desarrolle un programa que pida al usuario que ingrese un número mientras el número sea distinto de “7”. Muestre en pantalla la cantidad de veces que se ha ingresado un número.

Ejercicio 25: Desarrolle un programa que calcule el duplo de un número (n) con 1≤n≤5 y almacene cada uno de los resultados.

a) Utilice la estructura for-end b) Utilice la estructura while-end

Sistema Compatible Indeterminado Múltiples soluciones

Sistema Incompatible No hay solución

Rango [A] = Rango de A

Rango [A,b] = Rango Matriz Ampliada

RangoAb > RangoA

Si

No

Page 4: Guia Gabinete 2 - Algoritmos y Programacion

4 de 3

Ejercicio 26: Desarrollar un programa que a partir de un número N ingresado por el usuario, muestre números sucesivos menores que N. Asuma que se ingresa un número entero positivo.

a) Utilice la estructura while-end b) Utilice la estructura for-end

Ejercicio 27: Desarrollar un programa que a partir de un número N ingresado por el usuario, muestre números sucesivos menores que N. Asuma que se ingresa un número entero positivo.

a) Utilice la estructura while-end b) Utilice la estructura for-end

Ejercicio 28: Desarrolle un programa que calcule el duplo de un número (n) con 1≤n≤5 y almacene cada uno de los resultados.

a) Utilice la estructura for-end b) Utilice la estructura while-end

Ejercicio 29: Elabore un programa que calcule el área total y el volumen de un cilindro ingresando el radio y la altura. Considerar que es erróneo el ingreso de valores negativos de altura y radio, ya que no puede obtenerse como resultado un valor de volumen o área negativo. Tenga en cuenta que el área de un cilindro es igual a la suma de las áreas de los dos círculos más el área del rectángulo formado por la longitud de la circunferencia y la altura del cilindro y que el volumen se obtiene multiplicando la superficie de la base del círculo por la altura del cilindro.

Ejercicio 30: Diseñe un programa que pida por teclado una temperatura en °C, la convierta a K y muestre el resultado. Considere que el usuario requiere realizar la conversión un número indefinido de veces. Almacenar todos los valores convertidos.

a) Utilice la estructura for-end b) Utilice la estructura while-end

Ejercicio 31: Escriba el código de un programa en SciLab donde se calcule la potencia de un numero introduciendo el numero base y el exponente. Compruebe el resultado utilizando la instrucción ya programada en SciLab.

Ejercicio 32: Escribir un algoritmo para determinar el máximo común divisor de dos números enteros (MCD) por el algoritmo de Euclides:

Dividir el mayor de los dos enteros positivos por el más pequeño.

A continuación dividir el divisor por el resto.

Continuar el proceso de dividir el ultimo divisor por el ultimo resto hasta que la división sea exacta

El último divisor es el mcd.