2Eva_IIT2007_T1 Palabras aleatorias alternando vocal y consonante, genword

2da Evaluación II Término 2007-2008. Febrero 12, 2008 /ICM00794

Tema 1. (25 puntos) Elabore una función GenWord para generar palabras conformadas de n letras escogidas de forma aleatoria, que pueden ser válidas o no en el idioma español.

Para realizar la función se sugiere conformar una palabra de n letras, empezando con vocal o consonante y luego alternando entre vocal y consonante. Las letras se escogerán entre un arreglo de vocales y un arreglo de consonantes.

Elabore un programa que permita:

a) Leer y validar la cantidad de m palabras a generar.
b) Para cada palabra generada, llamando previamente a la función GenWord, pedir al usuario si la palabra es válida o no.
c) Mostrar el total de palabras válidas encontradas.

Ingrese la cantidad de palabras: 4
Palabra generada: VELA
Desea aceptarla (1: Si, 0: No): 1
Palabra generada: IBUX
Desea aceptarla (1: Si, 0: No): 0
Palabra generada: ADAN
Desea aceptarla (1: Si, 0: No): 1
Palabra generada: CARO
Desea aceptarla (1: Si, 0: No): 1
total de palabras válidas: 3

Referencia: Mono infinito. https://es.wikipedia.org/wiki/Teorema_del_mono_infinito

3Eva_IIT2006_T3 Números Primos más cercanos

3ra Evaluación II Término 2006-2007, Febrero 6, 2007 /ICM00794

Tema 3. (30 Puntos) Dada una lista de n números, obtener el número primo más cercano a cada uno de los números. En caso de que el número de la lista sea un número primo, ese número es el más cercano.

a) Escriba una función primo(n) que determine si el numero n es primo.

b) Realice un programa que revise de una lista, los números enteros, los inmediatos inferiores y superiores hasta encontrar un número primo y llene la tabla resultante.

Ejemplo: Sea n = 6
Números Primo superior Primo inferior
100 101 97
246 251 241
2 2
333 337 331
2007 2011 2003

3Eva_IT2006_T4 Juego planta bombas (buscaminas)

3ra Evaluación I Término 2006-2007, Septiembre 12, 2006 /ICM00794

Tema 4. (30 puntos) Un juego de guerra consiste en delimitar el área del enemigo para ser explorada por paracaidistas en ejercicios de prueba y error.

El enemigo planta bombas en el área para protección a prueba de paracaidistas.

El juego consiste en enviar un paracaidista a una coordenada del área enemiga y si aterriza exitosamente, explore el área a su alrededor e informe al centro de comando, cuántas bombas existen alrededor de su coordenada.

a) Realice una función plantabombas(m, n) que dada una cantidad de m bombas, coloque en el área definida por una matriz cuadrada de tamaño las bombas de manera aleatoria y no repetida.
Considere que m siempre es menor que n2.

b) Realice un programa, que pida las coordenadas de aterrizaje de un paracaidista, utilice la función del tema anterior, valide si el paracaidista logro llegar a salvo, e informe de cuantas bombas existen a su alrededor.

Nota: Las coordenadas no pueden ser de los límites de la matriz.

x\y 1 2 3 4
1 0 1 1
2 0 paracaidista 0
3 1 0 1
4
Bombas cercanas a matriz[2,2]=4

3Eva_IT2006_T3 Tabular cuotas y saldo de deuda

3ra Evaluación I Término 2006-2007, Septiembre 12, 2006 /ICM00794

Tema 3. (25 puntos) Una empresa de venta y financiación de vehículos ofrece a sus clientes planes de pago con cuotas mensuales.

El vendedor dispondrá de un programa que calcule la cantidad de meses que le tomará a su cliente pagar la totalidad de la deuda de acuerdo a los parámetros definidos.

p: Precio de Vehículo
r: Tasa de interés mensual en porcentaje
cuota: Cuota mensual

a) Realice una función saldo(r, cuota, saldoanterior) que calcule el saldo mensual conociendo la tasa de interés, la cuota y el saldo anterior.

b) Realice un programa que usando la función saldo, determine en cuántos meses el cliente terminaría de pagar su deuda.

Mes Intereses Cuota Saldo
0 8.000,00
1 80,00 300,00 7.780,00
2 77,80 300,00 7.557,80
3 75,58 300.00 saldo
4 0

3Eva_IT2006_T2 Intercalar palabras pastestring(a,b,p)

3ra Evaluación I Término 2006-2007, Septiembre 12, 2006 /ICM00794

Tema 2. (25puntos) Implemente una función en matlab llamada PasteString(a, b, p) que dadas dos cadenas a y b, inserte después de la posición p de primera, a la segunda cadena y retorne la nueva cadena.

Ejemplo:
Si la primera cadena es “FUNDAMENTOS”, 
la segunda “PROG” y p es 4, 
el resultado será “FUNDPROGAMENTOS”

3Eva_IT2005_T4 Tabla de Pozo millonario

Mejoramiento I Término 2005 – 2006. Septiembre 13, 2005 /ICM00794

Tema 4 (15 puntos) En el juego del Pozo Millonario, similar al juego de bingo, una tabla se genera con 15 números aleatorios entre 1 y 25. tabla de bingo pozo millonario

Realice un algoritmo para generar una tabla de Pozo Millonario considerando que:

  • Los números en la tabla NO son repetidos
  • Los números se presentan ordenados de forma ascendente

Referencia: http://www.loteria.com.ec

Rúbrica:  Números NO repetidos (10 puntos). Presentados ordenados en forma ascendente (5 puntos).

3Eva_IT2005_T3 Calcular millas de viajero

Mejoramiento I Término 2005 – 2006. Septiembre 13, 2005 /ICM00794

Tema 3. (30 puntos).Para el cálculo de las millas de viajero frecuente promocionadas por las aerolíneas, se requiere las coordenadas cartesianas de un mapa que corresponden a las ciudades entre las que el viajero usa un boleto.

a) Escriba una función distancia(x1,y1,x2,y2) que dados dos puntos cartesianos, que retorne la distancia entre ellos. viaje en forma de poligono cerrado

b) Escriba un programa que en una estructura almacene los nombres de las ciudades y los puntos (x,y) por donde el viajero inicia su viaje, sigue su recorrido y retorna a su ciudad de origen y calcule, la distancia total recorrida entre todos los puntos usando la función distancia.

Ciudad X Y Distancia Recorrida
Guayaquil 0 0 0
Riobamba 5 1 5.099
Quito 4 3 2.236
Manta 1 2 3.162
Guayaquil 0 0 2.236
Millas Acumuladas: 12.733

3Eva_IIIT2004_T3 Elección de representante, cualquier candidato

Mejoramiento III Término 2004 – 2005. Marzo, 2005 /ICM00794

Tema 3. Un grupo de n personas: 1,2, 3, … , n, deben elegir su representante mediante una votación. votacion

Cualquiera de ellos puede ser candidato, pero para ganar la elección requiere tener más de la mitad de los n votos.

Escriba un programa que lea los n votos en un vector denominado votos y lo envíe a una función x=gana(votos), que usted debe escribirla, la cual entrega en x el número del candidato ganador.
Si no hay ganador, x contendrá 0.

Finalmente el programa debe mostrar en la pantalla el resultado de la elección.

3Eva_IT2004_T1 Buscar número al lanzar el dado

Mejoramiento I Término 2004 – 2005. Agosto 31, 2004 /ICM00794

Tema 1. Escriba la función al_fin(n,k) en C++ que reciba dos argumentos enteros:

  • n representa la cara de un dado (1≤n≤6), números aleatorios) y
  • k representa el número de éxitos que deben aparecer esa cara.

La función devolverá la cantidad de pruebas que se realizaron hasta conseguir los k éxitos.

Escriba un programa en C/C++ que llame a la función anterior m veces y encuentre las frecuencias en que aparecen los m resultados.

2Eva_IIIT2003_T4 Menú para un archivo de inventario

Final III Término 2003 – 2004. Abril 23, 2004 /ICM00794

Tema 4. En un almacén se requieren almacenar los datos correspondientes a los diferentes artículos disponibles en un archivo denominado ‘invent.dat‘ en la unidad de disco ‘C:\’.

Para cada artículo se deben registrar los siguientes datos:

código (entero),
nombre (cadena de hasta 30 caracteres),
precio (número real),
cant (número entero que refleja la cantidad existente).

a) Escriba una función, denominada ingresar_datos, la cual permitirá registrar los datos de varios artículos en el archivo ‘invent.dat‘ a través de una estructura.

Los códigos de cada registro se irán generando secuencialmente a partir de 1 y los restantes datos serán digitados por el usuario, mientras aquel desee continuar con el ingreso de más artículos.
Al final la función retorna el número de artículos ingresados.

b) Escriba un procedimiento, denominado venta_item, que reciba 2 parámetros:

  • el código de un artículo y
  • el número de unidades que serán vendidas.

Este procedimiento debe acceder en el archivo ‘ invent.dat‘ al artículo cuyo código se desea vender y mostrar por pantalla el importe de la venta de tal artículo.
Si la cantidad de artículos existentes es menor que la cantidad solicitada para la venta, se debe mostrar un mensaje que indique que la venta no puede ser realizada.

c) Escriba un programa en C/C++ que llame a la función ingresar_datos, que luego pida al usuario el ingreso del código de un artículo y el número de unidades que se desean vender de dicho artículo y que, finalmente, llame al procedimiento venta_item.