Primera Parte
[A] Programas sólo con "Estructura Secuencia"
Ejer01.m
Defina dos variables numéricas (reales o enteras) dentro de
programa, asignándoles cualquier valor y que se desplieguen en dos renglones en
donde, para cada variable, se muestre su valor, el valor de su cuadrado y finalmente
su raíz cuadrada.
Ejer02.m
Dada una variable numérica, que corresponda al radio de un círculo,
que se calcule y despliegue la longitud de la circunferencia, así como el área
del círculo correspondiente.
Ejer03.m
Dados dos números cualesquiera, que se calcule y despliegue su
suma, resta del primero menos el segundo, su producto y, finalmente, la división del segundo entre el primero.
Ejer04.m
Dadas tres variables a, b y c desde el teclado, que
corresponden a los coeficientes de una ecuación cuadrática de segundo grado ax2
+ bx + c = 0. Hacer el programa para obtener y desplegar únicamente el valor de
las raíces reales de la ecuación (por el momento, asignar valores para a, b y c
que den por resultado raíces reales).
Ejer05.m
Dado un valor T desde el teclado, y que corresponda a una
temperatura en grados Farenheit, hacer el programa que convierta dicho valor a
sus equivalentes Centígrado y Absoluto (Kelvin).
Ejer06.m
Dadas dos variables X e Y por teclado, haga el programa para
que se desplieguen. Posteriormente, que se intercambien sus valores y que se
vuelvan a desplegar para observar el cambio de contenido.
Ejer07.m
Escriba un programa para calcular áreas de triángulos rectángulos
cuando se conocen las dimensiones de la base y la altura (reciba los valores de
base y altura dados por el usuario desde teclado).
Ejer08.m
Hacer un programa para determinar el valor de la hipotenusa
de un triángulo, conocidas las longitudes de los catetos.
Ejer09.m
Realizar un programa que calcule áreas de triángulos en
función de la longitud de sus tres catetos dados.
Ejer10.m
Dados dos puntos de un plano con coordenadas X1,Y1 y X2, Y2,
realice el programa para calcular y desplegar la distancia existente entre
dichos dos puntos.
Ejer11.m
Dada una variable R que corresponde al radio de la base de
un cilindro y una variable H que es su altura, hacer un programa que obtenga y
despliegue el área total del material necesario para la construcción del
cilindro, así como también el volumen resultante de dicho cilindro.
[B] Programas con "Estructuras Selectivas"
Ejer12.m
Dados dos números X e Y por teclado, que se despliegue cuál
es el mayor de ellos ó si ambos números son iguales.
Ejer13.m
Dados tres números cualesquiera A, B y C por teclado, que se
desplieguen siempre en orden de menor a mayor.
Ejer14.m (ampliación del programa Ejer04.m)
Dadas tres variables a, b y c desde el teclado, que
corresponden a los coeficientes de una ecuación cuadrática de segundo grado ax2
+ bx + c = 0. Hacer el programa para obtener y desplegar el valor de las raíces
reales de la ecuación (considerar que pueden existir raíces repetidas). En el
caso de raíces imaginarias, desplegar un mensaje de error y detener el
programa.
Ejer15.m (ampliación del programa Ejer05.m)
Dado un valor T que corresponde a un valor de temperatura,
que puede estar dado en grados Centígrados, Farenheit ó Absolutos (Kelvin);
hacer el programa que convierta dicho valor a las otras dos equivalencias. Se
debe de implementar una forma de saber en qué sistema está dada la temperatura
inicial, para saber que conversiones hacer.
Ejer16.m
Dados dos números X e Y por teclado, que se desplieguen
ambos valores y además un mensaje indicando si X es múltiplo de Y ó viceversa,
si Y es múltiplo de X.
Ejer17.m
Dado un número N por teclado, que se despliegue el número y
además un mensaje indicando si dicho número tiene la característica de ser par
ó non.
Ejer18.m
Dado un valor C por teclado, que corresponde a un valor de
calificación, despliegue dicho valor y además se despliegue su
"equivalente alfabético" según la siguiente tabla:
Rango: Equivalente:
0 <= C < 3 Muy deficiente
3 <= C < 5 Deficiente
5 <= C < 5.5 Insuficiente
5.5 <= C < 6 Suficiente
6 <= C < 8 Regular
8 <= C < 9 Bueno
9 <= C <= 10 Excelente
Ejer19.m
Dados un valor de tiempo T (en min) y un valor S (en seg)
por teclado, correspondientes a la duración de una llamada telefónica;
determinar el importe a pagar y desplegarlo, de acuerdo con lo siguiente:
1) Toda llamada hasta
por 3 min. cuesta $10.00
2) El minuto adicional
cuesta $1.00
3) Cada 15 seg.
adicionales cuestan $0.25
4) Cada seg. adicional
cuesta $0.02
Ejer20.m
Dado un valor A por teclado, correspondiente al valor de un
año (con 4 dígitos, p.ej. 2002), que el programa determine, y despliegue, si se
trata ( o no) de un año bisiesto. Nota: Son bisiestos los años múltiplos de 4,
excepto los múltiplos de 100 que no lo son de 400.
Ejer21.m
Dado un valor S por teclado, correspondiente al sueldo de un
trabajador (sin decimales, p.ej. 12345), que el programa determine su
"desglose de moneda" (cuantos billetes y monedas de cada denominación
son necesarios para pagar el sueldo) en los billetes de 1000, 500, 200, 100, 50
y 20; así como también con las monedas de 10, 5, 2 y 1 pesos. Deberá de desplegarse
una "tabla" con las cantidades resultantes de cada billete y moneda.
Ejer22.m
Dados seis valores de calificaciones C1, C2, C3, C4, C5 y
C6; hacer un programa que calcule y despliegue su promedio, su varianza
y su desviación estándar.
Ejer23.m
Hacer un programa que reciba un numero entero X en el rango
de 0 a 10. Si el número recibido es 2, 5 ó 7 deberá calcularse su raíz
cuadrada. Si el número es 3, 4, 6 ú 8 deberá de obtenerse su raíz cúbica. Si es
9 deberemos obtener el valor de e9 . Si es 0 ó 1 deberemos de
obtener su logaritmo natural log( ). Si el número no es entero ó se encuentra
fuera de rango, deberemos de enviar un mensaje de error.
Ejer24.m
Hacer un programa para que dado un número N, entero de cinco
dígitos, por teclado; separe y despliegue los cinco dígitos individuales que lo
componen. Los dígitos individuales deberán de desplegarse en forma horizontal
con una separación de tres espacios entre ellos (p.ej. el número 12345 debe
desplegarse: 1 2 3 4 5).
Ejer25.m
Dado un número N, que se despliegue dicho número y además un
mensaje indicando si dicho número es primo o si no es primo. Nota:
Investigar la forma de determinar, probablemente, si un número es primo o no,
sin efectuar ningún ciclo o iteraciones).
Ejer26.m
Que se reciban por teclado dos cadenas alfanuméricas,
correspondientes a los nombres de dos personas y que se comparen entre sí. El
programa deberá de reportar si son iguales ó diferentes, desplegar el primer
nombre todo en mayúsculas y el segundo nombre con las tres primeras letras
convertidas en mayúsculas. Además, se deberá de reportar la longitud de cada
nombre a su derecha.
Ejer27.m
Que se reciban por teclado tres cadenas alfanuméricas N, AP,
AM; correspondientes al nombre y los apellidos de una persona. El programa deberá
de concatenar las cadenas y desplegar el nombre completo de las
siguientes formas:
nombre, apellido
paterno apellido materno
apellido paterno
apellido materno, nombre
apellido paterno
inicial ap.materno, nombre
inicial nombre,
inicial ap.paterno inicial ap.materno
Ejer28.m
Hacer un programa para que se reciba por teclado una cadena
alfanumérica N. Que se despliegue dicha cadena y su tamaño a la derecha
obtenido con la función [ f c ] = size( N ). Posteriormente, en otro renglón,
que se desplieguen la letra situada en la parte media y la última letra de la
cadena en mayúsculas.
Ejer29.m
Hacer un programa que reciba por teclado una cadena
alfanumérica N de alrededor de 20 caracteres. Que se despliegue dicha cadena y
su longitud. A continuación haga la operación N(60) = ' X ' y vuelva a
desplegar la cadena y su longitud. Explique que sucede.
Ejer30.m
Haga un programa que reciba por teclado una cadena
alfanumérica N de cuatro caracteres y que se despliegue de la forma siguiente,
por ejemplo si N = 'Hola',
H
o
l
a
Ejer31.m
Haga un programa que reciba por teclado una cadena
alfanumérica N de cuatro caracteres y que se despliegue. Posteriormente sume o
reste un número entero a cada elemento de la cadena, por ejemplo para cada
elemento se tendría: N(1) = N(1) + 5, N(2) = N(2) + 3, ... etc. y despliegue la
cadena resultante. Explique que sucede.
Segunda Parte
[C] Programas con "Estructuras Repetitivas"
(Utilice en cada programa la estructura que crea más
conveniente de acuerdo al proceso a realizar (p.ej. while ó for).
Tenga en cuenta que se pueden usar más de una estructura ó que pueden estar anidadas
y también que se pueden mezclar de ambos tipos).
Ejer32.m
Hacer un programa que genere y despliegue en pantalla
una "tabla" ( usando tabulador \t ) de los números impares del
15 al 75 inclusive.
Ejer33.m
Haga un programa que despliegue una tabla de los cubos de
los múltiplos de cinco menores de 100 en orden descendente.
Ejer34.m
Haga un programa para que reciba una variable numérica X y
se despliegue si su valor es par ó non, que se haga una pausa y que vuelva a
solicitar otro valor para X. El programa continuará recibiendo y desplegando
hasta que se teclee un valor negativo para X, como clave de fin de proceso, y hasta
entonces deberá de terminar.
Ejer35.m
Haga un programa para que se despliegue una tabla de las
raíces cuadradas desde el valor 4 hasta el 5 inclusive, en incrementos de 0.05,
alineando las columnas al punto decimal.
Ejer36.m
Hacer un programa para que se lean por teclado estaturas de
personas y desplegar el número de estaturas recibidas y el valor de la estatura
promedio del grupo. El programa deberá de pedir valores de estatura hasta que
se reciba un valor 999 y entonces obtener los resultados mencionados.
Ejer37.m
Hacer un programa que calcule la suma de los cubos de los
pares desde 10 hasta 40 inclusive y despliegue su valor.
Ejer38.m
Haga un programa que calcule la suma de los 10 primeros
términos de la serie: S = 1 + 1/4 + 1/9 + 1/16 + 1/25 + ...
Ejer39.m
Haga un programa que calcule y despliegue una tabla de los
volúmenes de esferas de acero cuyos tamaños van desde 1 cm. hasta 2.5 cm. de
radio, sabiendo que los tamaños del radio van cambiando nominalmente en 0.01
cm.
Ejer40.m
Se desea un programa que calcule la suma de 1/x, desde el
valor 1 hasta el valor 2 inclusive en incrementos de 0.1, que multiplique dicha
suma por 0.1 y que despliegue el valor resultante. Repita el cálculo, pero
ahora con incrementos de 0.01 y multiplicar al valor de la nueva suma por 0.01
y que se despliegue también (como forma de comprobación, en ambos casos el
valor obtenido debe ser aproximadamente igual al valor del logaritmo natural de
2).
Ejer41.m
Hacer un programa que reciba por teclado una variable
numérica X y que se valide que el valor recibido sea un entero positivo
(usando un ciclo de validación). En el caso de que no cumpla con dichos
requisitos mandar un mensaje de error y volver a solicitarlo. Si el valor es
correcto simplemente se deberá de desplegar y el programa termina.
Ejer42.m
Haga un programa que lea por teclado un valor positivo impar
cualquiera (validar las condiciones) y si es correcto que se despliegue una
tabla de cuadrados de los números impares desde dicho número y hasta los diez
impares siguientes. El programa deberá de hacer una pausa y volver al inicio y
solicitar nuevamente otro número impar y repetir el proceso. Para terminar, el
usuario deberá de teclear un valor cero y hasta entonces el programa debe
terminar.
Ejer43.m
Hacer un programa que deberá de funcionar como un
"Menú" de opciones numéricas. Que se reciban dos variables numéricas
X e Y y una tercera variable N, que deberá de ser un entero positivo con valor
1, 2, 3 ó 9 (validarlo) que indica la operación a realizar por el programa. Si N
vale 1 se deberán de sumar X e Y, si N vale 2 se deberán de multiplicar, si N
vale 3 se deberán de dividir X/Y y, finalmente, si N vale 9 el programa debe
terminar. Si no es ningún valor de éstos, mandar un mensaje de error y volver
al inicio. El programa después de desplegar los resultados de cada operación
deberá de hacer una pausa y volver a solicitar valores hasta que se teclee un 9
y hasta entonces terminar.
Ejer44.m
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Hacer un programa que
calcule la suma de los primeros N términos de la serie: S = 1 - 1/4 + 1/9 -
1/16 + 1/25 - ... (Nótese que tiene signos positivos y negativos alternados).
Donde N deberá de ser un número entero positivo mayor que cero (validarlo), el
cuál se dará por teclado.
Ejer45.m
Haga un programa que lea desde teclado un número entero
positivo en el rango de 10 a 20 y que se calcule y despliegue el valor de su factorial.
Ejer46.m
Hacer un programa de conversión de valores de presión
atmosférica. El programa deberá de leer por teclado un rango a calcular
mediante su límite inferior y su límite superior que indicarán presiones en cm.
de Hg. (validar que el límite superior sea igual ó mayor que el límite
inferior, si no fuese así mandar mensaje de error y volver a pedirlos), y que
varían en 0.5 cm. El programa deberá desplegar la tabla de equivalencias en
atmósferas para cada valor de presión, hacer una pausa y volver a pedir otro
rango a menos que el usuario teclee un valor de cero en el límite inferior y
entonces el programa terminará.
Ejer47.m
Hacer un programa que calcule la resistencia equivalente de
un grupo de N resistencias conectadas en paralelo y se despliegue dicho valor.
Los valores de las resistencias se reciben por teclado y deberán ser positivos
(validarlos). El programa solicitará valores hasta que se teclee un valor de
999 que es la clave de fin de proceso, hasta entonces se desplegará el
resultado y el programa termina.
Ejer48.m
Haga un programa que lea las calificaciones obtenidas por un
grupo de N alumnos, en escala de 1 a 10 (validar que estén en el rango y que
sean valores enteros), y que se despliegue el número total de aprobados, número
total de reprobados y la calificación promedio de todo el grupo. El fin de
archivo ó fin de proceso se indicará con una calificación con valor
negativo, hasta entonces se reportarán los resultados y el programa finalizará.
Ejer49.m
Hacer un programa para generar y desplegar cada uno de los N
primeros términos de la Serie de Fibonacci (en la que cada nuevo
término, a partir del tercero, es la suma de los dos anteriores):
S = 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , ... El número N de términos
deseados deberá de ser leído por teclado y validado de que sea un número
entero, positivo y mayor que dos.
Ejer50.m
Haga un programa que lea desde teclado un valor numérico de
tipo entero positivo en el rango de 3 hasta 18 inclusive (validarlo) y que
calcule y despliegue una tabla de los valores de los factoriales de los
múltiplos de tres que existan entre 3 y el número tecleado. Después de
desplegar la tabla, hacer una pausa y repetir el proceso. El programa deberá de
seguir pidiendo valores hasta que se teclee un valor negativo y hasta entonces
terminar.
Ejer51.m
Calcule la suma de un rango cualquiera de términos de la
serie: S = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ... El programa
deberá de recibir el valor del término inicial y el número del término final
del rango de la serie a sumar, calcular dicha suma y desplegar el valor
resultante (recuerde validar que los números de término inicial y final deberán
de ser enteros positivos y que el término final debe de ser igual ó mayor que
el inicial).
Ejer52.m
Hacer un programa para calcular el importe a pagar de
recibos de energía eléctrica, de acuerdo a lo siguiente: Se deberá de leer por
teclado la tarifa del precio por kilowatt-hora al inicio del programa.
Posteriormente, leer por teclado un cierto número de parejas de mediciones de
la lectura anterior y lectura actual de los recibos (validar que sean números
enteros no negativos y que la lectura actual sea mayor que la anterior).
El importe de cada pareja se calcula mediante la diferencia entre ambas
lecturas multiplicada por la tarifa. Se deberán desplegar en el renglón: la
pareja de mediciones, el consumo (diferencia), el importe a pagar, el impuesto
(iva) y el importe total del recibo. El programa deberá de hacer una pausa y
seguir pidiendo parejas hasta que encuentre la clave de fin de proceso que será
un valor cero en la lectura anterior.
Ejer53.m (ampliación del programa Ejer21.m)
Haga un programa que calcule el desglose de moneda de nómina
de una compañía. El programa deberá de recibir una cierta cantidad de salarios
S por teclado, correspondiente al sueldo de un trabajador (sin decimales, p.ej.
12345), que el programa determine su "desglose de moneda" (cuantos billetes
y monedas de cada denominación son necesarios para pagar el sueldo) en los
billetes de 1000, 500, 200, 100, 50 y 20; así como también con las monedas de
10, 5, 2 y 1 pesos. Deberá de desplegarse una "tabla" con las
cantidades resultantes de cada billete y moneda. Después de calcular el
desglose de cada salario, que se haga una pausa y volver a solicitar el
siguiente salario hasta que se teclee la clave de fin de proceso que será un
cero en el salario. Nota: habrá que tener variables contadoras para cada denominación
pues, justo antes de salir, se requiere que el programa despliegue la tabla
sumaria del total de billetes y monedas de cada denominación necesarios
para pagar la totalidad de la nómina de la compañía.
Ejer54.m
Hacer un programa que permita calcular valores de logaritmos
naturales para valores de X que deberán de leerse por teclado y estar entre 0 y
2 inclusive (validarlo), y para éllo, usar un número N de términos que deberá
ser un entero positivo que se recibirá por teclado: Ln X = (X - 1) - 1/2
(X - 1)2 + 1/3 (X - 1)3 - 1/4 (X - 1)4 + 1/5
(X - 1)5 - ... El programa deberá de seguir pidiendo
valores para X hasta que se teclee un valor negativo como clave de fin de
proceso.
Ejer55.m
Hacer un programa que permita aproximar eX para
valores enteros de X que deberán de leerse desde teclado y estar entre 0 y 15
inclusive (validarlo), usando N términos de la serie: eX = 1 +
X + X2/2! + X3/3! + X4/4! + X5/5! +
... El número N de términos deberá de ser un entero positivo
leído por teclado (validarlo) y el programa deberá de seguir pidiendo valores
para X hasta que se teclee un valor negativo como clave de fin de archivo ó fin
de proceso.
Ejer56.m
El valor de Pi puede aproximarse mediante una serie infinita
que se define como: la raíz cuadrada de seis veces la sumatoria para i =
1 hasta N de 1/i2. Haga un programa que reciba por teclado el
valor del número de términos N, que debe ser un entero positivo (validarlo) y
aproxime el valor de Pi. Se deberá de desplegar el número de términos empleado
y el valor de Pi obtenido, hacer una pausa y volver a pedir el valor N. El
programa seguirá calculando y desplegando hasta que en el valor de términos se
teclee un valor cero y hasta entonces terminar.
Ejer57.m
Hacer un programa que reciba por teclado una cadena alfanumérica
N no mayor a 20 caracteres y que también se reciba una cadena L de una letra de
longitud (validar ambas cadenas). El programa deberá de detectar si la letra en
L existe en la cadena N. De ser así, que se cambie dicha letra por mayúscula en
todas las ocurrencias que existan en N y que se despliegue el nombre cambiado,
que se haga una pausa y volver al inicio. Si la letra de L no existe en N,
mandar un mensaje de error, hacer pausa y volver al inicio. El programa
terminará al dejar "vacía" la cadena N.
Ejer58.m
Hacer un programa que leerá una cadena alfanumérica N, no
mayor de 40 caracteres (validarla) y que invierta su contenido de letras sobre
la misma variable para proceder, posteriormente, a desplegarla invertida. De
igual forma, crear otra variable tipo vector columna de igual longitud que N y
"transportar" la cadena invertida al nuevo vector columna comenzando
desde el último elemento hacia el primer elemento en orden descendente y al
terminar, desplegar esta variable, hacer una pausa y volver al inicio. El
programa terminará al teclear tres espacios para la cadena N.
Ejer59.m
Haga un programa para que se lean dos cadenas alfanuméricas
que representen a dos nombres de personas cuya longitud no deberá de rebasar
los 30 caracteres (validarlas). Que se comparen entre sí y que evalúe: si son
iguales que se despliegue un mensaje de error y que se vuelvan a solicitar. Si
son distintas, que reemplace todas las letras 'e' que pudieran existir del
primer nombre con 'E' y para el segundo nombre que reemplace todas las letras
'a' por 'A', si es que existen dichas letras en los nombres. Posteriormente,
que "complete" los dos nombres a una longitud de 40 caracteres usando
guiones y que se desplieguen ambos nombres y que se haga pausa. El programa
deberá de seguir solicitando nombres hasta que se teclee 'xxx' en el primer
nombre como clave de fin de proceso y hasta entonces terminar.
Ejer60.m
Haga un programa que muestre un "Menú" en pantalla
con cuatro opciones alfanuméricas, que son: con 'U' convertir una cadena a
mayúsculas, con 'L' convertir una cadena a minúsculas, con 'C' comparar dos
cadenas, con 'P' pegar dos cadenas y con 'S' salir del programa. Se deberán de
proveer las instrucciones para cada uno de los casos, así como para hacer una
pausa y prevenir casos de error.