Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


informatica ejercicios resueltes, Ejercicios de Ingeniería Mecánica

Asignatura: informatica, Profesor: , Carrera: Ingeniería Técnica Industrial Especialidad en Mecánica, Universidad: UVIGO

Tipo: Ejercicios

2016/2017

Subido el 20/04/2017

davidnoya
davidnoya 🇪🇸

3 documentos

1 / 66

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
25 Ejercicios Resueltos Informatica
Informática para a Enxeñaría (Universidad de Vigo)
25 Ejercicios Resueltos Informatica
Informática para a Enxeñaría (Universidad de Vigo)
Distributing prohibited | Downloaded by Axel Heitz ([email protected])
lOMoARcPSD|1413116
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42

Vista previa parcial del texto

¡Descarga informatica ejercicios resueltes y más Ejercicios en PDF de Ingeniería Mecánica solo en Docsity!

25 Ejercicios Resueltos Informatica

Informática para a Enxeñaría (Universidad de Vigo)

25 Ejercicios Resueltos Informatica

Informática para a Enxeñaría (Universidad de Vigo)

IPI. Ejercicios resueltos. última actualización enero 2016

IPI. Ejercicios resueltos

  • IPI. Ejercicios resueltos. última actualización enero
  • 1 EJERCICIO DE BUCLES (GRADO DE DIFICULTAD: 0) Tabla de contenidos - 1.1 E NUNCIADO - 1.2 SOLUCIÓN
  • 2 RELOJ (GRADO DE DIFICULTAD: 0) - 2.1 E NUNCIADO - 2.2 SOLUCIÓN
  • 3 BALÍSTICA (GRADO DE DIFICULTAD: 0)................................................................................................................ - 3.1 E NUNCIADO - 3.2 SOLUCIÓN
  • 4 CÁLCULO SALARIAL (GRADO DE DIFICULTAD: 1) - 4.1 E NUNCIADO - 4.2 SOLUCIÓN
  • 5 EJERCICIO DE VECTORES (GRADO DE DIFICULTAD: 1).......................................................................................... - 5.1 E NUNCIADO - 5.2 SOLUCIÓN
  • 6 CÁLCULO DEL MÍNIMO DE UNA MATRIZ 2D (GRADO DE DIFICULTAD: 1) - 6.1 E NUNCIADO - 6.2 SOLUCIÓN
  • 7 DEFINICIÓN Y USO DE UNA FUNCIÓN QUE INDIQUE SI UN VALOR ES PAR O IMPAR (GRADO DE DIFICULTAD: 1) - 7.1 E NUNCIADO - 7.2 SOLUCIÓN
  • 8 TRANSFORMAR VALOR ENTERO POSITIVO EN BINARIO (GRADO DE DIFICULTAD: 1) - 8.1 E NUNCIADO - 8.2 SOLUCIÓN
  • 9 EJERCICIO DE FUNCIONES (GRADO DE DIFICULTAD: 2)...................................................................................... - 9.1 E NUNCIADO - 9.2 SOLUCIÓN
  • 10 DIVIDIR UN NÚMERO (GRADO DE DIFICULTAD: 2) - 10.1 E NUNCIADO - 10.2 SOLUCIÓN.......................................................................................................................................................
  • 11 TRANSFORMAR UN VALOR BINARIO EN UN NÚMERO ENTERO POSITIVO (GRADO DE DIFICULTAD: 2)............. - 11.1 E NUNCIADO - 11.2 SOLUCIÓN.......................................................................................................................................................
  • 12 CONTROL DE ASISTENCIAS (GRADO DE DIFICULTAD: 2) - 12.1 E NUNCIADO - 12.2 SOLUCIÓN.......................................................................................................................................................
  • 13 DISTANCIA Y PUNTO MEDIO DE DOS PUNTOS (GRADO DE DIFICULTAD: 2)....................................................... - 13.1 E NUNCIADO - 13.2 SOLUCIÓN.......................................................................................................................................................
  • 14 CALCULO DE LA RESISTENCIA TOTAL DE UN CIRCUITO, SU CORRIENTE Y VOLTAJE (GRADO DE DIFICULTAD: 2)
    • IPI. Ejercicios resueltos. última actualización enero
      • 14.1 E NUNCIADO ii
      • 14.2 SOLUCIÓN.......................................................................................................................................................
  • DIFICULTAD: 2) 15 CÁLCULO DE UN COEFICIENTE BINOMIAL, NÚMERO COMBINATORIO O COMBINACIÓN (GRADO DE - 15.1 E NUNCIADO - 15.2 SOLUCIÓN SIN MODULARIDAD............................................................................................................................. - 15.3 SOLUCIÓN MEDIANTE EL USO DE UNA FUNCIÓN - 15.4 SOLUCIÓN MEDIANTE EL USO DE UNA FUNCIÓN RECURSIVA.......................................................................................
  • 16 INTEGRALES (GRADO DE DIFICULTAD: 2) - 16.1 E NUNCIADO - 16.2 SOLUCIÓN.......................................................................................................................................................
  • 17 ESTUDIO ESTADÍSTICO (GRADO DE DIFICULTAD: 3) - 17.1 E NUNCIADO - 17.2 SOLUCIÓN.......................................................................................................................................................
  • 18 CAFETERÍA (GRADO DE DIFICULTAD: 3)............................................................................................................. - 18.1 E NUNCIADO - 18.2 SOLUCIÓN.......................................................................................................................................................
  • 19 PROGRAMA QUE PERMITE INTRODUCIR NOTAS DE ALUMNOS (EVOLUCIÓN I) (GRADO DE DIFICULTAD: 3)..... - 19.1 E NUNCIADO - 19.2 SOLUCIÓN.......................................................................................................................................................
  • 20 PROGRAMA PARA INTRODUCIR LAS NOTAS DE LOS ALUMNOS (EVOLUCIÓN II) (GRADO DE DIFICULTAD: 3) - 20.1 E NUNCIADO - 20.2 SOLUCIÓN.......................................................................................................................................................
  • DIFICULTAD: 3) 21 MULTIPLICAR DOS VECTORES DE IGUAL LONGITUD Y GUARDAR EL RESULTADO EN UNA MATRIZ (GRADO DE - 21.1 E NUNCIADO - 21.2 SOLUCIÓN SIN FUNCIONES - 21.3 SOLUCIÓN CON FUNCIONES
  • 22 LONGITUD DE PALABRAS (GRADO DE DIFICULTAD: 3) - 22.1 E NUNCIADO - 22.2 SOLUCIÓN.......................................................................................................................................................
  • 23 PROGRAMA PARA INTRODUCIR LAS NOTAS DE LOS ALUMNOS (EVOLUCIÓN III) (GRADO DE DIFICULTAD: 4) - 23.1 E NUNCIADO - 23.2 SOLUCIÓN.......................................................................................................................................................
  • 24 EJERCICIO DE ESCRITURA / LECTURA DE DATOS VECTOR EN UN FICHERO (GRADO DE DIFICULTAD: 4) - 24.1 E NUNCIADO - 24.2 SOLUCIÓN.......................................................................................................................................................
  • 25 BALÍSTICA GRÁFICO (GRADO DE DIFICULTAD: 4)............................................................................................... - 25.1 E NUNCIADO - 25.2 SOLUCIÓN.......................................................................................................................................................

IPI. Ejercicios resueltos. última actualización enero 2016

1 Ejercicio de bucles (grado de dificultad: 0)

1.1 Enunciado

Calcular el dinero que se acumula tras un número de años, sabiendo que cada año se incrementa

dicho capital en un porcentaje (tipo de interés).

1.2 Solución

Option Explicit On ' nos obliga a declarar las variables Module Module Sub Main()

Dim inicial As Single, interes As Single Dim acumulado As Single, plazo As Integer Dim i As Integer, incremento As Single

' como los intereses y el dinero pueden tener decimales, ' se usa Single (y no Integer o Long)

' Preguntamos al usuario los valores necesarios para el cálculo inicial = InputBox("¿Capital inicial?") interes = InputBox("¿Tipo de interés (%)?") plazo = InputBox("¿Período en años?")

acumulado = inicial For i = 1 To plazo ' para cada año se hace el siguiente cálculo:

' cada año se incrementa el dinero: incremento = acumulado * interes / 100 ' dividido por 100 pq es %

' se acumula a lo ya disponible acumulado = acumulado + incremento Next i

MsgBox("El capital acumulado es de " & acumulado) End Sub End Module

IPI. Ejercicios resueltos. última actualización enero 2016

3 Balística (grado de dificultad: 0)

3.1 Enunciado

Alcance: constantes y variables y operaciones matemáticas básicas.

Desarrollar un programa capaz de calcular el tiempo y distancia que tarda un proyectil en impactar

con el suelo, dadas una velocidad y ángulo de disparo.

El programa deberá:

  • Definir constantes (gravedad) y variables.
  • Solicitar al usuario la velocidad y el ángulo de salida.
  • Calcular el tiempo y distancia.
  • Mostrar al usuario los datos anteriormente calculados.

3.2 Solución

Module Module Sub Main() Const g = 9. Dim Vo, ang As Double Dim tiempo, distancia As Double

Console.Write("Velocidad (m/s): ") Vo = Console.ReadLine() Console.Write("Angulo (grados): ") ang = (Math.PI / 180.0) * Console.ReadLine() 'convertir de grados a radianes tiempo = Vo * Math.Sin(ang) / (0.5 * g) distancia = Vo * Math.Cos(ang) * tiempo

Console.WriteLine("Tiempo: " & FormatNumber(tiempo, 2) & " s") Console.WriteLine("Distancia: " & FormatNumber(distancia, 2) & " m") Console.ReadLine() End Sub End Module

IPI. Ejercicios resueltos. última actualización enero 2016

4 Cálculo salarial (grado de dificultad: 1)

4.1 Enunciado

Alcance: constantes y variables y operaciones aritméticas básicas.

Cuando una empresa paga a sus empleados por su trabajo, el estado le obliga a retener una

cantidad en concepto de impuestos que paga el empleado y además abonarle una cantidad en

concepto de los impuestos que paga la empresa. Se entiende como “salario bruto” la cantidad que

cobra el empleado anualmente antes de que la empresa retenga los impuestos que le

corresponden pagar al empleado, “salario neto la cantidad que recibe el empleado” y “coste del

empleado” al salario bruto más los impuestos que ha de pagar la empresa (a mayores) por el

empleado. Además la empresa ha de tener en cuenta que si en algún momento despide a un

empleado tiene que indemnizarle con un determinado número de días de salario por año

trabajado, de manera que algunas empresas contemplan una provisión por despido y lo

consideran un coste más asociado al empleado. Además, si la empresa tiene beneficios tendrá que

pagar un impuesto sobre los mismos. En España, los principales costes son (valores aproximados y

simplificado):

Los que la empresa le retiene al trabajador o este paga:

  • Cuota de Seguridad Social del Obrero: 6,4% del salario bruto
  • IRPF (impuesto de la Renta de las Personas Físicas): 20% del salario bruto
  • IVA (Impuesto de Valor Añadido): 21% de los gastos

Los que la empresa paga a mayores:

  • Cuota de Seguridad Social de la Empresa: 36,22% del salario bruto
  • Provisión de Indemnización: 30 días por año trabajado (365 días)
  • Impuesto de Sociedades: 25% del beneficio (ingresos-gastos)

Se supondrá que todos los empleados de la empresa cobran lo mismo, trabajan 1800 horas al año,

reciben 12 pagas mensuales meses y que la empresa tiene unos gastos generales (alquileres, luz…)

que son el 15% de sus ingresos.

El programa deberá:

  • Definir constantes y variables.
  • Solicitar al usuario el salario neto, el número de empleados y el precio por hora que le factura a sus clientes por el trabajo de los empleados.
  • Calcular ingresos, coste salarial, impuestos directos, beneficios después de impuestos y el poder adquisitivo real de los empleados sobre su coste total ( gastan el 60% de su salario neto, sobre lo que pagan IVA).
  • Mostrar al usuario los datos anteriormente calculados.

4.2 Solución

Module Module

IPI. Ejercicios resueltos. última actualización enero 2016

5 Ejercicio de vectores (grado de dificultad: 1)

5.1 Enunciado

Dada un vector que representa las temperaturas medidas durante un período de tiempo, localizar

la variación máxima de temperatura (diferencia entre los valores máximo y mínimo)

5.2 Solución

Option Explicit On Module Module Sub Main() ' Dada un vector que representa las temperaturas medidas ' durante un período de tiempo, localizar la variación máxima ' de temperatura(diferencia entre los valores máximo y mínimo) Dim numpos As Integer, i As Integer ' ojo: las temperaturas pueden tener decimales, por lo para ellas se ' debe usar Single o Double: Dim v() As Single ' paréntesis vacíos pq aún no sabemo el nº de posiciones Dim max As Single, min As Single

' CARGA DE DATOS EN EL VECTOR ' preguntamos al usuario el número de posiciones del vector numpos = InputBox("¿Cuántos valores se guardarán?") ' creamos el vector ReDim v(numpos - 1) ' entre paréntesis: nº de pos (siempre empiezan en cero) ' pedimos los datos y los guardamos en el vector For i = 0 To numpos - 1 ' recorremos todas las posiciones del vector (empieza en 0) v(i) = InputBox("¿Valor de la posición " & i & " ?") Next i ' BÚSQUEDA DE LOS VALORES MÁXIMO Y MÍNIMO For i = 0 To numpos - 1 ' recorremos valor por valor ' si es el primer valor analizado (i=0) o es menor q ' el que hasta ese momento era el máximo (max): If (i = 0) Or v(i) > max Then max = v(i) End If ' de modo similar para el mínimo If (i = 0) Or v(i) < min Then min = v(i) End If Next ' MOSTRAMOS EL RESULTADO: MsgBox("La máxima variación de temperatura es de " & max - min & " grados") End Sub End Module

IPI. Ejercicios resueltos. última actualización enero 2016

6 Cálculo del mínimo de una matriz 2D (grado de dificultad: 1)

6.1 Enunciado

Cálculo del mínimo de una matriz 2D.

6.2 Solución

Option Explicit On Module EjemploMinimo Const NF = 3 ' constante: número de filas Const NC = 2 ' constante: número de columnas Sub main() Dim A(NF - 1, NC - 1) As Integer ' crea la matriz de enteros (los índices empiezan en cero) Dim i As Integer, j As Integer, menor As Integer For i = 0 To NF - 1 ' pide los datos de la matriz For j = 0 To NC - 1 A(i, j) = InputBox("A(" & i & "," & j & ")") Next j Next i menor = A(0, 0) ' inicializa: de momento, el menor es el primero For i = 0 To NF - 1 For j = 0 To NC - 1 If (menor > A(i, j)) Then menor = A(i, j) ' si hay alguno menor, actualiza "menor" Next j Next i End Sub End Module ' NOTA: si no se inicializa la varible "menor", en caso de ' que los valores de la matriz sean negativos, no funcionaría ' el programa

IPI. Ejercicios resueltos. última actualización enero 2016

8 Transformar valor entero positivo en binario (grado de

dificultad: 1)

8.1 Enunciado

Realizar un programa en Visual Basic que solicite un valor entero positivo al usuario y muestre:

  • Su valor correspondiente en binario con el siguiente mensaje: “El valor en binario del

número XXX es: YYYYYYYYYY”

  • El número de bits que tiene dicho valor binario con el siguiente mensaje: “El número de bits

que ocupa son: ZZZZZZ”

Para pasar un valor entero a binario se realizarán sucesivas divisiones por 2, empezando por el

número y continuando por el cociente entero hasta que el cociente entero sea 0. El valor binario estaría

formado por los restos de cada una de las divisiones sucesivas que se van haciendo empezando por el

último resto calculado.

  • Resto de una división utilizar la expresión VALOR MOD 2; esta operación devuelve el resto

de dicha división

  • Cociente entero de una división utilizar la expresión int(VALOR / 2). Esta función Int()

devuelve el valor entero del cociente.

8.2 Solución

Module Module

Sub main() 'Definimos la variables a utilizar Const base As Byte = 2 'Vble que almacena el cambio de base a binario Dim numero, contar_bits, cociente As Integer Dim Resto As Byte 'Vble que guarda el resto de la operación MOD Dim respuesta As Char 'Vble para guardar la respuesta de repetir el programa Dim valor_binario As String 'Vble para ir guardando el numero binario

Console.WriteLine("Calcular numero binario") Do contar_bits = 0 'Inicializamos el contador de bits a cero

IPI. Ejercicios resueltos. última actualización enero 2016

valor_binario = "" 'Inicializamos la cadena a "" (Vacio) Do 'repito petición de número hasta que sea > numero = InputBox("Dame un número?") If numero < 0 Then MsgBox("ERRROR: debe ser un valor positivo") End If Loop Until numero > 0 'igualo el cociente al número para empezar a dividir por el mismo 'y luego ir cambiando el valor a medida que se divide, asi mantenemos 'el valor del número introducido sin modificarlo cociente = numero Do Resto = cociente Mod base 'almaceno el resto en la cadena valor_binario 'recordar que empieza de izquierda a derecha la secuencia del binario 'de ahí el orden en la concatenación con el operador & valor_binario = Resto & " " & valor_binario cociente = Int(cociente / base) contar_bits = contar_bits + 1 'contabilizamos las veces que se hace la operación Loop While cociente > 0 'visualizamos las soluciones MsgBox("El valor en base (" & base & ") del número " & numero & " es: " & valor_binario) MsgBox("el número de bits creados son: " & contar_bits) 'Preguntamos si desea volver a ejecutar el programa Do respuesta = UCase(InputBox("Desea ejecutar de nuevo el programa? (s/n) ")) If respuesta <> "S" Then 'se podría empezar por comparar el valor "N" If respuesta <> "N" Then MsgBox("ERROR: respuesta no válida. Debe pulsar 'S' o 'N'") End If End If Loop Until respuesta = "S" Or respuesta = "N" Loop While respuesta <> "N" End Sub

End Module

IPI. Ejercicios resueltos. última actualización enero 2016

10 Dividir un número (grado de dificultad: 2)

10.1Enunciado

Realizar un programa en Visual Basic que solicite un valor entero positivo (numero) al usuario y un

valor entero positivo (divisor) por el cual dividirlo.

Teniendo en cuanta que si el valor por el cual se divide es mayor al número, deberá volver a pedir

dicho valor, el programa deberá realizar sucesivas divisiones del valor entero entre su divisor, empezando

por el número y continuando por el cociente entero hasta que el cociente entero sea 0. También debe ir

guardando en una variable tipo String los sucesivos restos de las divisiones que se vayan realizando

separados por un espacio. A continuación debe mostrar:

  • El valor de la variable String que contiene los restos con el siguiente mensaje: “Los restos de las

divisiones del número XXX son: YYYYYYYYYY”

  • El número de divisiones que se realizaron con el siguiente mensaje: “El número de divisiones

realizadas son: ZZZZZZ”

NOTA.-

  • Resto de una división utilizar la expresión NUMERO MOD DIVISOR; esta operación devuelve el resto

de dicha división

  • Cociente entero de una división utilizar la expresión int( NUMERO / DIVISOR). La función

INT(expresión) devuelve el valor entero del resultado de la expresión o el valor sin decimales).

10.2Solución

Module Module Sub main() 'Definimos la variables a utilizar Dim numero, divisor, contar_divisiones, cociente As Integer Dim Resto As Byte 'Vble que guarda el resto de la operación MOD Dim respuesta As Char 'Vble para guardar la respuesta de repetir el programa Dim valor_restos As String 'Vble para ir guardando los restos de las divisiones

Console.WriteLine("Divisiones sucesivas") Do contar_divisiones = 0 'Inicializamos el contador de divisiones a cero valor_restos = "" 'Inicializamos la cadena de restos a "" (vacio)

Do 'Pedimos el numero hasta que sea positivo numero = InputBox("Dame un número?") If numero < 0 Then

IPI. Ejercicios resueltos. última actualización enero 2016

MsgBox("ERRROR: debe ser un valor positivo") End If Loop Until numero > 0 Do 'Pedimos el divisor hasta que sea positivo y mayor que el numero divisor = InputBox("dame su divisor?") If (divisor > numero) Or (divisor < 0) Then MsgBox("ERROR: el divisor tiene que ser menor que " & numero & " y mayor que cero.") End If Loop Until divisor < numero And divisor > 0 'igualo el cociente al número para empezar a dividir por el mismo 'y luego ir cambiando el valor a medida que se divide, asi mantenemos 'el valor del número introducido sin modificarlo cociente = numero Do Resto = cociente Mod divisor 'almaceno el resto en la cadena valor_resto valor_restos = valor_restos & " " & Resto cociente = Int(cociente / divisor) contar_divisiones = contar_divisiones + 1 'contabilizamos las veces que se hace la operación Loop While cociente > 0 'Visualizamos las soluciones MsgBox("Los restos de las divisiones sucesivas del número " & numero & " son: " & valor_restos) MsgBox("El número de divisiones realizadas son: " & contar_divisiones) 'Preguntamos si desea volver a ejecutar el programa Do respuesta = UCase(InputBox("Desea ejecutar de nuevo el programa? (s/n) ")) If respuesta <> "S" Then 'se podría empezar por comparar el valor "N" If respuesta <> "N" Then MsgBox("ERROR: respuesta no válida. Debe pulsar 'S' o 'N'") End If End If Loop Until respuesta = "S" Or respuesta = "N" Loop While respuesta <> "N" End Sub

End Module

IPI. Ejercicios resueltos. última actualización enero 2016

Console.WriteLine("ERROR.- el valor debe ser mayor que cero o igual/menor que 7") End If Loop Until (ctos_digitos <= 7 Or ctos_digitos > 0) 'Creamos el vector con el número de digitos que ha 'indicado el usuario menos uno ReDim binario(ctos_digitos - 1) 'inicializamos j a uno para que le indique al usuario que 'valor está introduciendo, aunque se almacene al revés j = 1 'solicitamos cada uno de los dígitos al usuario 'almacenandolos desde la posición mayor hasta la posición cero For i = UBound(binario) To 0 Step - Do Console.Write("Introduzca el valor binario (" & j & ")= ") binario(i) = Console.ReadLine() If (binario(i) < 0) Or (binario(i) > 1) Then Console.WriteLine("ERROR: el valor sólo puede ser ""0"" (cero) o ""1"" (uno)") End If Loop Until (binario(i) = 0 Or binario(i) = 1) 'vamos incrementando j para que le aparezca al usuario el valor a introducir correcto j = j + 1 Next 'llamamos a la función binario_decimal que devuelve el valor en binario Console.WriteLine("el valor en decimal es= " & binario_decimal(binario)) Console.ReadLine() End Sub 'Función que se le pasa el vector en binario y devuelve el valor en decimal Function binario_decimal(ByVal vector_binario() As Byte) As Integer Dim i As Integer Dim valor_decimal As Integer 'para almacenar el calculo en binario Const base As Byte = 2 'realizamos el calculo 'se podría empezar desde cero hasta el ultimo y daría igual For i = UBound(vector_binario) To 0 Step - valor_decimal = valor_decimal + (vector_binario(i) * base ^ i) Next 'devolvemos el valor decimal calculado Return valor_decimal End Function

End Module

IPI. Ejercicios resueltos. última actualización enero 2016

12 Control de asistencias (grado de dificultad: 2)

12.1Enunciado

Diseñar un programa en VB en modo console que permita gestionar las asistencias a clases de

teoría y prácticas de los 5 grupos (los grupos son A-B-C-D-E) de la asignatura Informática para ingeniería en

una determinada semana. Los datos se almacenarán en una matriz que guarde en la primera fila las

asistencias a teoría (el máximo número de asistentes será de 100 alumnos) y en la segunda fila las

asistencias a prácticas (el máximo número de asistentes será de 25 alumnos). Una vez introducidos los

datos se mostrará el siguiente menú:

1. Indicar el promedio de asistencias a teoría

2. Indicar que grupos (A-B-C-D-E) tienen una asistencia a prácticas inferior a 10 alumnos (utilizar

un string para visualizarlo). NOTA.- Si no existe ninguno, indicarlo con el mensaje “No existe

ningún grupo con asistencia menor a 10 alumnos”

3. Visualizar todos los datos de asistencias de todos los grupos tanto de teoría como prácticas (en

un string).

4. Salir.

12.2Solución

Module Module Sub Main() 'Declaración de variables Dim matriz(1, 4) As Byte Dim grupo() As String = {"A", "B", "C", "D", "E"} Dim horarios() As String = {"Teoría", "Práctica"} Dim Horario_mayor, cantidad As Integer Dim matriz_resultado As String = "" Dim repetidos As String = "" Dim matriz_promedio As String = "" Dim promedio As Double Dim existe As Integer Dim i, j, opcion As Byte 'Pide asistencias For i = 0 To 1 For j = 0 To 4 Do

matriz(i, j) = InputBox("dame las asistencias: " & grupo(j) & " " & horarios(i))

If i = 0 Then cantidad = 125 Else cantidad = 25 End If 'Verificar el número de alumnos que los que se nos permiten If matriz(i, j) > cantidad Then MsgBox("no puede haber en el horario: " & horarios(i) & " más que " & cantidad) End If Loop Until matriz(i, j) < cantidad Next Next

'Crear el menú Do