COMPUTACION I INFORMATICA I -...

24
COMPUTACION I INFORMATICA I Ingeniería Electrónica y Bioingeniería Guía de Problemas “Introducción a la Programación de Computadoras” Parte I: Problemas simples y con estructuras de control. Departamento de Electrónica y Automática Facultad de Ingeniería Universidad Nacional de San Juan

Transcript of COMPUTACION I INFORMATICA I -...

COMPUTACION I INFORMATICA I

Ingeniería Electrónica y Bioingeniería

Guía de Problemas

“Introducción a la Programación de Computadoras”

Parte I: Problemas simples y con estructuras de control.

Departamento de Electrónica y Automática Facultad de Ingeniería

Universidad Nacional de San Juan

PROBLEMAS PROPUESTOS

• PURAMENTE SECUENCIALES

Ejercicio 1) Escribir un algoritmo que permita asignar los números 10, 15 y 20 a tres variables numéricas, y que calcule y muestre el promedio de ellas.

Ejercicio 2) Escribir un algoritmo que permita leer un valor real que presenta el radio de una circunferencia, que calcule y muestre el perímetro y superficie de la misma (recordar que P = 2 π Radio y S = π Radio 2 ).

Ejercicio 3) Escribir un algoritmo que permita leer cinco valores numéricos reales (con decimales), que calcule y muestre la suma de esos cinco valores.

Ejercicio 4) Escribir un algoritmo que permita leer la cantidad de horas trabajadas por un empleado y el precio de la hora de trabajo, también que calcule y muestre el salario que le corresponde cobrar a ese empleado. Recordar que: Salario = cantidad de Horas * Precio de Hora trabajada.

Ejercicio 5) Escribir un algoritmo que permita leer el peso de un objeto expresado en libras, que calcule y muestre el peso de ese mismo objeto expresado en kilogramos (recordar que 1 Libra = 0.454 Kilogramo).

• ESTRUCTURAS DE SELECCIÓN

Ejercicio 6) Escribir un algoritmo que permita leer tres número enteros y que los escriba ordenados de menor a mayor.

Ejercicio 7) Escribir un algoritmo que permita leer un número entero, que calcule y muestre un mensaje indicando si el número ingresado es par o impar.

Ejercicio 8) Escribir un algoritmo que permita leer dos números enteros, que calcule y muestre al mayor de ellos (si son iguales, el algoritmo debe mostrar un mensaje indicando esa situación).

Ejercicio 9) Repetir el problema anterior, leyendo ahora tres valores.

Ejercicio 10) Escribir un algoritmo que permita leer dos números enteros, que calcule y muestre la suma, la diferencia, el producto, y cociente entre ellos. En este último caso, el algoritmo debe considerar la posibilidad de que el divisor sea cero y evitar el error de división asociado; indicando además tal situación mediante un mensaje.

Ejercicio 11) Escribir un algoritmo que permita leer tres valores numéricos reales (a, b y c) que representan los coeficientes de una ecuación completa de segundo grado, que calcule y muestre el valor de las raíces de esa ecuación, teniendo en cuenta todos los casos posibles (reales y distintas, reales y coincidentes o complejas conjugadas).

Ejercicio 12) Escribir un algoritmo que permita leer los valores numéricos de las longitudes de los tres lados de un triángulo, que calcule y muestre un mensaje indicando el tipo de triángulo ingresado (equilátero, isósceles o escaleno).

Ejercicio 13) Escribir un algoritmo que permita leer dos valores numéricos reales que representan las coordenadas X e Y de un punto en el plano, que calcule y muestre un mensaje indicando si el punto leído se encuentra comprendido en la circunferencia de radio 4 y con centro en el origen (recordar ρ 2 2 2= +x y ).

Ejercicio 14) Escribir un algoritmo que permita leer el rendimiento de combustible de un vehículo (en km./litro) y la capacidad de combustible del tanque de tres modelos diferentes de vehículos, que calcule y muestre cuál es la mayor distancia que puede ser recorrida. Indicar también, cuál vehículo es capaz de realizarla.

• ESTRUCTURAS DE REPETICIÓN (Algunos ejercicios combi nan varios tipos de estructuras de control !!!)

Ejercicio 15) Escribir un algoritmo que permita leer dos números enteros, que calcule y muestre el producto de esos dos números, utilizando la técnica de sumas sucesivas para la multiplicación.

Ejercicio 16) Escribir un algoritmo que permita leer dos números enteros, que calcule y muestre la potencia del mayor valor leído elevado al menor valor leído, utilizando la técnica de sumas sucesivas para la potenciación.

Ejercicio 17) Escribir un algoritmo que permita leer un valor entero y un real, que calcule y muestre la potencia del valor real elevado al valor entero, utilizando la técnica de productos sucesivos para la potenciación.

Ejercicio 18) Escribir un algoritmo que permita leer tres valores numéricos, que calcule y muestre la suma de los mismos. El algoritmo debe repetir este proceso indefinidamente.

Ejercicio 19) Escribir un algoritmo que permita leer datos numéricos enteros hasta que aparezca un valor igual a cero, que calcule y muestre la suma de los datos leídos.

Ejercicio 20) Escribir un algoritmo que permita leer valores numéricos reales que representan el radio de una circunferencia, que calcule y muestre perímetro y área de la misma. Repetir este proceso mientras el valor leído del radio sea mayor que cero.

Ejercicio 21) Escribir un algoritmo que permita leer un conjunto de N números reales, que calcule y muestre el promedio de los valores mayores que cero (positivos).

Ejercicio 22) Escribir un algoritmo que permita leer un conjunto de N valores reales, que calcule y muestre el mayor número leído y posición en la que fue leído (si fue el primero o el segundo, o etc.)

Ejercicio 23) Escribir un algoritmo que permita leer tres números reales, y que calcule y muestre al mayor de ellos. El algoritmo debe repetir esta tarea deteniéndose solo cuando los tres valores leídos sean iguales entre sí.

Ejercicio 24) Escribir un algoritmo que permita leer grupos de tres números naturales. El algoritmo debe repetir esta lectura, deteniéndose solo cuando los tres valores leídos sean impares consecutivos. Entonces se deben mostrar los tres valores que produjeron esta situación.

Ejercicio 25) Escribir un algoritmo que permita leer números naturales y acumularlos (sumarlos entre sí), en tanto el valor acumulado no supere 10000. En este momento el algoritmo debe mostrar la cantidad de números que se han leído.

Ejercicio 26) Escribir un algoritmo que permita leer un número real que representa un valor límite. A continuación el algoritmo debe permitir la lectura repetitiva de números reales y sumarlos, hasta que el valor acumulado supere el valor límite leído al comienzo. Entonces debe mostrar el valor acumulado antes de exceder el límite.

Ejercicio 27) Escribir un algoritmo que permita leer dos valores numéricos reales que representan las coordenadas X e Y de puntos en el plano, en forma repetitiva, hasta que se lea un par de coordenadas que indiquen que el punto pertenece a cualquiera de los ejes de coordenadas. El algoritmo debe calcular y mostrar la cantidad de puntos leídos que pertenecen a cada cuadrante del plano.

Ejercicio 28) Escribir un algoritmo que permita leer los valores de un conjunto de diez (10) datos numéricos enteros, que calcule y muestre: • El promedio de los valores mayores que cero (positivos). • La cantidad de valores leídos que son iguales a cero (0). • La suma (acumulación) de los valores menores que cero (negativos).

Ejercicio 29) Escribir un algoritmo que permita leer un número entero y positivo (escriba un mensaje de error si esto no ocurre). Calcular y mostrar el valor del factorial (simbolizado por n!) de ese número

(recordar que n!= n . (n-1)! Y 0! = 1 ). El cálculo debe realizarse utilizando estructuras de repetición condicional diferentes (son dos problemas diferentes).

Ejercicio 30) Escribir un algoritmo que permita leer un número natural, que calcule y muestre el cuadrado o el factorial, dependiendo si el número era par o impar respectivamente.

Ejercicio 31) Escribir un algoritmo que permita leer la cantidad de mediciones diarias de presión atmosférica y los valores de cada una de ellas que se toman en una estación meteorológica, y que calcule y muestre los valores de la máxima medición, la mínima medición y el promedio de todas las mediciones para un día de lectura.

Ejercicio 32) Escribir un algoritmo que permita leer la cantidad de valores a procesar (N) y también los dichos valores. Calcule y muestre el promedio de los datos leídos mayores que -10, y el promedio de los datos leídos menores o iguales que -20.

Ejercicio 33) Escribir un algoritmo que permita leer el valor numérico real de cada extremo de un intervalo abierto, luego los valores reales. El algoritmo debe repetir esta última tarea y detenerse cuando se hayan encontrado diez (10) valores que pertenezcan al intervalo; entonces se debe mostrar el valor de la suma de esos diez números detectados.

Ejercicio 34) Escribir un algoritmo que permita leer un grupo de pares de valores reales A, B y un valor real X (tres valores por cada lectura), que calcule y muestre la cantidad de pares leídos junto con el promedio de todas las componentes A. El algoritmo debe realizar la lectura en forma repetitiva deteniéndose cuando se encuentre un par que cumpla con la condición de A+B=X. Este último par no debe incluirse en el procesamiento.

Ejercicio 35) Escribir un algoritmo que permita leer un grupo de pares de valores reales A, B y un solo valor real X al comienzo del algoritmo. Calcular y mostrar la suma de las componentes A y el producto de las componentes B de todos los pares. El algoritmo debe realizar la lectura en forma repetitiva deteniéndose cuando se encuentre un par que cumpla con la condición de B=X. Este último par si debe incluirse en el procesamiento.

Ejercicio 36) Escribir un algoritmo que permita leer la cantidad de alumnos que participaron en una evaluación y procesar los resultados, leyendo las notas que fueron obtenidas por los alumnos. Si la corrección se realizó utilizando como notas posibles a 'B': “BUENO”, 'S': “SUFICIENTE” y 'A': “APLAZADO”, el algoritmo debe calcular y mostrar el porcentaje de alumnos aprobados y el porcentaje de alumnos reprobados.

Ejercicio 37) Escribir un algoritmo que permita leer las edades de un grupo de personas, en forma repetitiva, y que se detenga cuando se lea una edad negativa. El algoritmo debe calcular y mostrar la cantidad de personas con edades entres 17 y 20 años, la cantidad de personas con edades entres 21 y 24 años, la cantidad de personas con edades entres 25 y 30 años, y la cantidad de personas con edades superiores a los 30 años.

Ejercicio 38) En una bodega se cuenta con los datos sobre la cantidad de viñateros, la cantidad de uva cosechada por cada viñatero, y el código del tipo de uva (1 es moscatel, 2 es comunes, 3 es blancas y 4 es tintas). Teniendo en cuenta que cada viñatero solo cosecha un tipo de uva, se pide escribir un algoritmo que permita leer toda la información relevante de la bodega, que calcule y muestre: a) El total de uva entregada a la bodega por los viñateros. b) El porcentaje del conjunto de uvas moscatel y blancas sobre el total entregado. c) La cantidad de kilos de uvas tintas cosechadas.

Ejercicio 39) La policía de tránsito desea procesar la información vehicular relevada por un puesto caminero. A cada vehículo que pasa por el puesto se le asigna un código que representa el tipo de vehículo ("a" es auto, "c" es camión, "m" es moto y "o" son otros tipos), también se pregunta la edad del conductor. Se pide escribir un algoritmo que permita obtener, a partir de esta información: a) La mayor edad registrada en el puesto caminero. b) El porcentaje de camiones que pasaron por el puesto. c) La cantidad total de autos examinados y si pasó al menos una moto. (Elegir a gusto la condición de

fin de lectura).

Ejercicio 40) Escribir un algoritmo que permita leer un conjunto de valores reales que representan las medidas del radio (en cm) de un conjunto de piezas cilíndricas que son producidas por una fábrica (leer previamente la cantidad de piezas). Calcule y muestre cuantas piezas pueden ser comercializadas, sabiendo que una pieza es buena si la superficie de la base circular de la pieza no excede los 10 cm2.

Ejercicio 41) En un centro de salud luego de un día de atención, se requiere procesar la información obtenida. Se deberá ingresar la edad, el peso y el diagnóstico de cada paciente. La lectura finaliza cuando se ingresa una edad negativa o un peso superior a 200 Kg. Se deberá obtener: a) La edad del paciente con mayor peso y cuyo diagnostico sea 003. b) El porcentaje de pacientes menores de 3 años con diagnostico 005.

Ejercicio 42) Realizar un algoritmo que permita leer un valor R y un conjunto de N números reales (máximo 100), que calcule y escriba: b) El promedio de los valores positivos menores que R. c) El porcentaje de valores positivos pares.

Ejercicio 43) Leer un conjunto de datos enteros hasta que se complete una cantidad N previamente ingresada por el operador o cuando un dato sea superior a 1000 y par. Se pide calcular y mostrar: a) El promedio de los múltiplos de 5. b) El porcentaje de los múltiplos de 3. c) La cantidad de datos que sean múltiplos de 3 y 5 simultáneamente.

COMPUTACION I INFORMATICA I

Ingeniería Electrónica y Bioingeniería

Guía de Problemas

“Introducción a la Programación de Computadoras”

Parte II: Situaciones reales

Departamento de Electrónica y Automática

Facultad de Ingeniería Universidad Nacional de San Juan

PROBLEMAS PROPUESTOS Problema 1: Leer datos hasta que se llegue a 1000 elementos o que el dato ingresado sea igual a -50. Calcular e imprimir: a) La cantidad de elementos ingresados b) El porcentaje de los elementos pares. c) El promedio de todos los datos ingresados, excluyendo (si se ingresa) el -50. Nota: Recordar que el operador mod se usa para obtener el resto de la división entera. Problema 2: Un conjunto de pintores requiere que sus pinturas tengan una densidad entre 100 y 120 unidades inclusive para ser aceptadas, si la densidad no está comprendida en el rango especificado se considera como rechazada. Se deben ingresar los valores de densidad correspondientes a N muestras de pintura. Se solicita calcular e imprimir: a) La cantidad de muestras de pintura rechazadas. b) El promedio de densidad de las muestras aptas para la aplicación. Problema 3: Realizar un algoritmo que permita leer un valor R y un conjunto de N números reales (máximo 100), que calcule y escriba: a) La cantidad de valores mayores que el primero ingresado. b) El promedio de los valores positivos menores que R. c) El porcentaje de valores positivos pares. Problema 4: Una fábrica de botellas requiere que el espesor del vidrio de sus productos esté comprendido en el rango 1,1 y 1,5 mm. Leer como máximo 1000 valores de espesor o terminar la lectura si el valor ingresado es negativo. Calcular e imprimir: a) La cantidad de botellas que no cumplen la especificación. b) El promedio de espesor de las botellas que cumplen la especificación. c) Mostrar el mayor espesor de los productos rechazados. Problema 5: Se debe realizar un algoritmo que permita ingresar datos que representan el largo y el diámetro de barrotes de acero. a) Determinar y mostrar el máximo largo ingresado. b) Mostrar el mensaje “barrote bueno” cuando el diámetro esté entre 10 y 11cm y su largo entre 110 y

115cm, en caso contrario el mensaje “barrote rechazado”. c) Mostrar el promedio de los diámetros de los barrotes considerados buenos. El ingreso de la información termina cuando se leen 250 barrotes o cuando el largo o el diámetro ingresado sea negativo. Problema 6: Ingresar un conjunto de N números, donde N sea impar. Si N es par no se debe permitir la carga de datos hasta que se ingrese N impar. Determinar y mostrar: a) La cantidad de números impares comprendidos entre -10 y 10. b) Mostrar los números pares que sean distintos de 2 y 4. Problema 7: En un censo de pacientes se debe realizar el siguiente procesamiento de la información. Por cada paciente se debe ingresar su edad y su peso. La lectura finaliza cuando se introduzca un peso negativo o cuando la cantidad de pacientes supere los 400. Calcular y mostrar, a) La cantidad de pacientes cuya edad esté comprendida entre 7 y 11 años inclusive. b) De los pacientes que verifican el punto a) calcular el porcentaje sobre este rango de aquellos que su

peso superan los 50 kg. c) El paciente con menor peso y su edad. Problema 8: Leer un conjunto de números enteros hasta que la cantidad de datos superen los 300 o el último dígito del dato ingresado sea cero. Calcular y mostrar, a) El promedio de los datos pares de orden par. b) El porcentaje de los elementos ceros de los primeros 50 datos siempre que sea posible. Problema 9: En un censo de pacientes se debe realizar el siguiente procesamiento de la información. Por cada paciente se debe ingresar su edad y su altura. La lectura finaliza cuando se introduzca una altura inferior a 1,20 metros o cuando la cantidad de pacientes supere los 200. Calcular y mostrar,

a) El promedio de edad de aquellos pacientes cuyo altura esté comprendida entre 1,50 y 1,75 metros inclusive.

b) El porcentaje de pacientes cuya altura no supere 1,60 metros y de edad en los rangos 10 a 15 años y 30 a 35 años.

c) El paciente con mayor altura y su edad. Problema 10: Leer un conjunto de números enteros (máximo 1000) hasta que se ingresen dos datos iguales a cero consecutivos. Calcular y mostrar, a) El promedio de valores positivos leídos en posición impar. b) La cantidad de datos pares ubicados entre las posiciones 10 y 32 inclusive siempre que sea posible. Problema 11: Una empresa de vasos desea controlar la calidad de sus productos. Para esto se toma una muestra de X vasos de la producción total. Para que un vaso se considere de buena calidad, su alto deberá estar comprendido en el rango 10cm ±5% y su peso superior a los 40gramos o cuando su volumen esté comprendido en el rango 125 a 176 cm3. Por cada vaso se debe ingresar el alto, peso y volumen. Calcular y mostrar: a) El porcentaje y el promedio del volumen de vasos de buena calidad. b) El promedio del alto de los que cumplen la condición sobre su alto. c) Suponiendo una producción total de 5x106 vasos. ¿Cuál será la cantidad de vasos buenos a ser

comercializados? Problema 12: Una fábrica de espirales desea controlar la calidad de sus productos. Para ello se toma una muestra de X espirales de la producción total. Un espiral se asume bueno (bien fabricado) cuando: • la cantidad de vueltas es igual a ocho • el largo es de 60cm con un error de más o menos 1cm. • el peso es de 20gr con un error de más o menos 0.5gr. Un parámetro de producción especifica que si más del 20% de la muestra corresponde a elementos defectuosos, toda la muestra se considera mala o no representativa. Se debe informar cual es la cantidad de espirales que no pasan el control de ca lidad y su porcentaje solo si la muestra es buena. Problema 13: Una empresa de cables de par trenzados desea controlar la calidad de sus productos. Para ello se ha pedido un algoritmo que lea los datos relevantes de la producción. El cable producido se obtiene trenzando dos cables , los que deben cumplir con las siguientes condiciones para formar un cable trenzado bueno: • Resistencia eléctrica entre extremos del rollo es de 100 ± 10% Ohms • Aislación eléctrica mayor a 10 kv. En el caso en que alguno de los cables formantes no cumpla con una sola de las especificaciones anteriores, el cable trenzado debe ser marcado como de segunda calidad. Si ambos cables formantes dejan de cumplir con alguna de las dos especificaciones, el cable trenzado debe ser marcado como malo. El ingreso de datos finaliza cuando se ingresa un valor de resistencia nulo. Mostrar: a) Cantidad de cables analizados. b) Porcentaje de cables de primera y de segunda. c) Promedio de la resistencia de los cables de la producción total. Problema 14: Una fábrica de pulóveres utiliza cierta calidad de lana para sus tejidos. La información más relevante de la calidad de cada ovillo es: • Porcentaje de Polyester • Gramos /metros Realizar un programa en pseudocódigo que haga la siguiente operación: a) Leer los datos de un lote de ovillos hasta que los gramos/metros sean igual a 10 o el porcentaje de

polyester se encuentre comprendido entre 50 y 60. b) Calcular y mostrar el promedio de gramos/metros de la muestra. c) Averiguar y mostrar cuantos ovillos cumplen con condiciones de calidad:

i- Primera calidad: porcentaje de polyester entre 0 y 10%, gramos/metros 40. ii- Segunda calidad: porcentaje de polyester entre el 10 y 30 %, gramos/metro entre 35 y 45. iii- Mala calidad: cualquier otro caso.

Problema 15: En una clínica se atienden pacientes durante un día, a los cuales se les deben realizar una serie de estudios. Hacer un algoritmo que permita leer un código de paciente (numero entero) y la cantidad de estudios que se les deben realizar. Luego para cada estudio se deberá ingresar el tipo de estudio (1, 2, 3 ó 4) y el costo de ese estudio. La lectura de datos finaliza cuando se ingrese un código negativo de paciente o cuando el código del tipo de estudio sea distinto de los cuatros valores posibles. Se deberá calcular: a) El costo total por paciente para realizarse los estudios. b) El costo promedio para todos los pacientes c) El porcentaje de estudios tipo 2 y su costo total involucrado d) El estudio con mayor cantidad de pacientes y su cantidad. Problema 16: Se debe realizar un algoritmo para procesar los datos más relevantes de una provincia, referidos a sus departamentos, los que se identifican por el orden de ingreso. Por cada departamento se deberá leer superficie, cantidad de habitantes y el ingreso de coparticipación correspondiente, la lectura finaliza cuando se ingrese una superficie negativa, no debiéndose considerar este último dato en caso de ser inválido. Se pide calcular e informar: a) El departamento (Nro. de orden), de aquellos con más de 10.000 habitantes que tiene mayor

presupuesto por habitante, indicando ese valor. b) Los datos del departamento con mayor superficie. Problema 17: Para el mundial de fútbol se desea evaluar el desenvolvimiento de los jugadores de los equipos. Por cada jugador se debe ingresar la edad, el equipo (numérico) y la cantidad de goles convertidos. La lectura finaliza cuando se ingresa el equipo número 33 o cuando la edad del jugador sea menor que 15. Se pide determinar e informar: a) El promedio de edad de jugadores del equipo 2 que hicieron goles. b) El porcentaje de jugadores menores a 21 años y que hicieron goles c) La cantidad total de goles convertidos

COMPUTACION I INFORMATICA I

Ingeniería Electrónica y Bioingeniería

Guía de Problemas

“Introducción a la Programación de Computadoras”

Parte III: Arreglos

Departamento de Electrónica y Automática

Facultad de Ingeniería Universidad Nacional de San Juan

PROBLEMAS PROPUESTOS PARA RESOLVER CON ARREGLOS UNIDIMENSIONALES

Ejercicio 1: Escribir un algoritmo que permita leer un conjunto de N elementos. A partir de este generar un nuevo conjunto formado solamente por los elementos mayores que cero. Mostrar la cantidad y el valor de los elementos del nuevo conjunto. Ejercicio 2: Escribir un algoritmo que permita leer dos valores enteros A y B, y que lea también un conjunto de N elementos. El algoritmo debe calcular y mostrar el promedio de los elementos del vector que sean mayores que B y que sean iguales a A. Ejercicio 3: Escribir un algoritmo que permita leer los valores de las componentes de dos vectores de N componentes. Calcular y mostrar el resultado del producto escalar entre ellos. Ejercicio 4: Escribir un algoritmo que permita leer dos números enteros A y B, y un par de vectores de N componentes cada uno. Calcular y mostrar: • Si A > B � la menor componente de cada vector. • Si A = B � el vector suma. • Si A < B � el producto escalar entre el par de vectores leídos. Repetir todo el proceso a menos que se cumpla que A=0 y B=0. En este caso, finalizar el algoritmo. Ejercicio 5: Escribir un algoritmo que permita leer las componentes de un arreglo de N elementos y que lea también el valor de un número entero A, y que calcule y muestre: • Si A = 0, el producto de los componentes. • Si A = 1, la cantidad de ellas mayores que cero. • Si A = 2, la cantidad de ellas iguales a cero. • Si A = 3, la cantidad de ellas menores que cero. • Si A = 4, la suma de todas las componentes. Ejercicio 6: Escribir un algoritmo que permita leer dos conjuntos: uno con N elementos y otro con M elementos. Calcule y muestre el conjunto intersección. Ejercicio 7: Escribir un algoritmo que permita leer dos arreglos, uno de N elementos y otro de M elementos, y que calcule y muestre la cantidad de ceros de cada arreglo, y la relación que existe entre estos valores (indicar cual cantidad es mayor). En el caso de no existir ceros en ningún arreglo, indicar esta situación. Ejercicio 8: Escribir un algoritmo que permita leer un arreglo de N elementos, y que busque y muestre las componentes cuyo valor es estrictamente mayor que el valor de la primer componente del arreglo. También se debe indicar la cantidad de tales componentes mayores. Ejercicio 9: Escribir un algoritmo que permita leer dos arreglos, uno de P elementos y otro de Q elementos, calcular y mostrar el promedio de los elementos menores que 100 y la cantidad de elementos comprendidos entre 0 y 26 para cada uno de los arreglos. Repetir este proceso mientras Q sea menor que el doble de P. Ejercicio 10: Escribir un algoritmo que permita leer los valores de las componentes de dos vectores de dimensión N y también leer un escalar. Calcular y mostrar el vector resultante del producto entre el escalar y el vector suma de los dos vectores leídos inicialmente Ejercicio 11: Escribir un algoritmo que permita leer el valor de los extremos de un intervalo cerrado (por ejemplo: A y B), y que lea también un conjunto de N elementos. Calcular y mostrar la suma de los elementos del conjunto cuyo valor pertenece al intervalo cerrado leído (que son mayores o iguales que A y menores o iguales que B, suponiendo que A < B ) y la cantidad de elementos que no pertenecen.

Ejercicio 12: Escribir un algoritmo que permita leer un conjunto de N números enteros, y que a partir de ellos forme un nuevo conjunto cuyas componentes sean el factorial de la correspondiente componente del conjunto original. Ejercicio 13: Escribir un algoritmo que permita leer un conjunto de N elementos enteros. Calcule y muestre valor y orden (posición) de los elementos cuyo valor sea menor que el valor del último elemento del conjunto. Ejercicio 14: Escribir un algoritmo que permita leer pares de vectores (dos vectores por vez) de N componentes cada uno. Calcule y muestre el producto de todas las componentes del vector resultante de la suma vectorial de cada par de vectores leídos. Repetir este proceso mientras el valor de N sea mayor que uno. Informar además el mayor producto calculado. Además dar el orden o posición del par de vectores al cual corresponde este máximo. Ejercicio 15: Escribir un algoritmo que permita leer pares de vectores (dos vectores por vez) de N componentes cada uno. Calcule y muestre el vector suma. Repetir este proceso hasta que el vector suma tenga todos sus elementos menores que cero, o aparezca un valor de N < 3. Informar también la cantidad total de vectores analizados. Ejercicio 16: Escribir un algoritmo que permita leer dos arreglos, uno de N elementos y otro de M elementos, y que calcule y muestre el promedio de los elementos de cada arreglo e indique que relación existe entre esos promedios (esto es, indicar cual de ellos es el mayor). Ejercicio 17: Escribir un algoritmo que permita leer tres conjuntos de N elementos cada uno de ellos. Calcule y muestre el conjunto intersección resultante entre el conjunto unión de los dos primeros y el último (hacer: D A B C= ∪ ∩( ) ). Ejercicio 18: Leer un único valor X y un conjunto de pares de valores enteros (A, B) la lectura de los pares finaliza cuando se ingrese un par en que la suma de sus elementos sea igual a 200, o cuando el primer elemento del par sea mayor a cinco veces el segundo. ( A[i] > 5*B[i] ). Calcular y mostrar: a) El porcentaje de pares en que el primer elemento sea par y mayor que el segundo. b) El promedio de las segundas componentes del par que sean mayores que la primera y que

pertenezcan a un par ingresado en orden impar. c) Mostrar los pares en que el valor X esté incluido en el intervalo (A,B). Ejercicio 19: Escribir un algoritmo que permita leer ternas de vectores (tres vectores por vez) de N componentes cada uno, y que calcule y muestre el vector suma en cada terna (la suma de los tres vectores). Repetir este proceso mientras N >= 2. Ejercicio 20: Leer un conjunto de datos enteros hasta que se complete una cantidad N ingresada por el operador o cuando un dato sea superior a 1000 y par. Se pide calcular y mostrar: a) El promedio de los múltiplos de 5 b) El porcentaje de los múltiplos de 3 c) La cantidad de datos que sean múltiplos de 3 y 5 simultáneamente Ejercicio 21: En una clínica neonatal se evalúan una cierta cantidad N de pacientes recién nacidos. Por cada uno de ellos, el personal registra sobre una planilla el peso y la altura del bebe. Se pide calcular y mostrar: a) La cantidad de bebes con peso comprendido entre 3 y 4,5 Kg. b) El promedio de altura de los pacientes con peso mayor de 4 Kg. c) El paciente con menor altura y su peso mayor a la altura promedio. d) El porcentaje de recién nacidos con más de 40 cm cuyo peso supere los 3Kg. Ejercicio 22: Escribir un algoritmo que permita leer un arreglo de N componentes y un número entero A. Calcule y muestre el cociente entre el número entero leído y el módulo del vector. Repetir este proceso mientras el entero sea positivo y N sea mayor que 2.

Ejercicio 23: Leer un arreglo de enteros hasta que se ingresen dos datos iguales consecutivos (prever un máximo de 300 elementos). Calcular y mostrar a) El mayor valor y su ubicación. b) El menor valor y su ubicación. c) El promedio de los datos que están ubicados entre las posiciones encontradas en los puntos a y b. Ejercicio 24: Escribir un algoritmo que permita leer un conjunto de N datos (N no menor a 7). A partir de él, calcular y mostrar el promedio de los elementos mayores que cero comprendidos entre el primer y el último elemento de valor nulo. Calcular y mostrar también la suma de todos los elementos. Ejercicio 25: Leer un arreglo de enteros hasta que se ingresen dos datos con valores opuestos en signo en posiciones consecutivas (prever un máximo de 100 elementos). Se pide calcular y mostrar: a) El menor valor de los datos mayores al promedio y su ubicación. b) El mayor valor y su ubicación para aquellos datos que se encuentran en la segunda mitad del

arreglo. c) El porcentaje de la cantidad total de datos que están ubicados entre las posiciones encontradas en

los puntos a y b. Ejercicio 26: Escribir un algoritmo que permita leer un conjunto de N elementos, que genere y muestre tres nuevos conjuntos (también la cantidad de elementos de cada uno), obtenidos a partir del conjunto originalmente leído, a saber: a) El conjunto de múltiplos de 3. b) El conjunto de valores pares. c) El conjunto de valores impares. Repetir todo el proceso mientras el valor de N >=2. Ejercicio 27: En un centro de salud luego de un día de atención de pacientes se requiere procesar la información obtenida. Para esto se deberá ingresar la cantidad de N pacientes atendidos y por cada paciente se ingresara la edad y un código numérico (de cuatro posibles a saber: 1,2,3y 4) que indica el diagnostico. El programa deberá indicar: a) EL diagnóstico que más pacientes registró. b) La edad del paciente con mayor edad. c) El promedio de edad de los pacientes con diagnostico 2. Ejercicio 28: Escribir un algoritmo que permita leer pares de vectores (dos vectores por vez) de N componentes cada uno, que calcule y muestre el producto escalar ambos vectores, repitiendo el proceso mientras el resultado del producto escalar sea distinto de cero. Además se debe informar el mayor producto escalar obtenido, y la posición en la lectura del par de vectores correspondiente a ese máximo. Ejercicio 29: Escribir un algoritmo que permita leer los coeficientes A y B de una recta que tiene por ecuación: Y = A * X + B . También se deben leer las coordenadas (X, Y) de un conjunto de N puntos del plano. El algoritmo debe Informar cuáles puntos del conjunto leído pertenecen a la recta dada, y en caso de no encontrar ninguno, informar esta situación. Realizar con arreglos. Ejercicio 30: Un conjunto de pintores requiere que sus pinturas tengan una densidad entre 100 y 120 unidades inclusive para ser aceptadas. Si la densidad no está comprendida en el rango especificado se considera como rechazada. Se deben ingresar los valores de densidad correspondientes a N muestras de pintura. Se solicita calcular e imprimir: a) La cantidad de muestras de pintura rechazadas. b) El promedio de densidad de las muestras aptas para la aplicación. c) La cantidad de muestras de pintura aptas para la aplicación que superan el promedio calculado en

el punto b). Ejercicio 31: Realizar un algoritmo que permita la lectura de un conjunto de datos enteros (arreglo ) que representan las edades de los alumnos de la Facultad de Ingeniería, prever un máximo. La lectura

finaliza cuando se ingrese una edad negativa, o cuando se alcance el máximo establecido. Se pide determinar y mostrar a) La mayor edad del conjunto y la cantidad de alumnos que tienen esa edad. b) El promedio de edad de los alumnos con edad menor a 23 años y que se encuentren en posición

impar. c) Generar y mostrar un nuevo arreglo con las edades cuyo valor esté comprendido entre el valor del

promedio calculado anteriormente mas dos años y menos un año. Ejercicio 32: En una maratón corren N participantes, para cada uno de ellos se debe ingresar el tiempo de carrera en minutos y su edad, los cuales deben almacenarse en dos arreglos. Determinar e informar: a) El tiempo promedio de carrera. b) El porcentaje de participantes con edades en el rango 15 a 40 años y tiempo menor al promedio. c) El mejor y peor tiempo de carrera con la edad correspondiente para cada caso. Ejercicio 33: Leer un arreglo de una cierta cantidad X de datos enteros que representan las edades de un grupo de personas. Calcular e Informar: a) El promedio de edades de todas las personas en posiciones par del arreglo. b) La cantidad de personas que posean edades superiores al promedio calculado antes. c) El porcentaje de personas con edades en el rango 18 a 35 años, que se encuentran en la primera

mitad del arreglo. Ejercicio 34: Se realiza una encuesta entre una cantidad N de familias. Se les solicita el ingreso mensual de dinero de cada familia, y el número de integrantes del grupo familiar. Se solicita: a) Listar los datos correspondientes a las familias con un número impar de integrantes, mayor a tres y

un ingreso superior a $1200. b) Obtener el promedio de ingreso per cápita de toda la encuesta. c) Mostrar los datos correspondientes al grupo familiar con menor ingreso, incluyendo el orden, en el

que ingreso. Ejercicio 35: Un supermercado desea evaluar sus ventas diarias durante el mes que pasó. Para ello se necesita ingresar en correspondientes arreglos los ingresos y los costos obtenidos en cada día del mes. Se pide: a) Determinar la ganancia total del mes. b) ¿Qué días del mes presentan ganancias negativas? c) ¿Cuántos días hay con ingreso mayor al promedio? d) Si el primer día del mes corresponde a un Martes, que día (nombre) se tiene mayor gasto?

PROBLEMAS PROPUESTOS PARA RESOLVER CON ARREGLOS BIDIMENSIONALES

Ejercicio 1: Escribir un algoritmo que permita leer una matriz de orden N x N. Y que calcule y muestre el producto de los elementos de la diagonal principal. Ejercicio 2: Escribir un algoritmo que permita leer una matriz de orden NxN, y que calcule y muestre la suma de los elementos de la diagonal secundaria. Ejercicio 3: Escribir un algoritmo que permita leer dos matrices de orden MxM, y que calcule y muestre la matriz suma. Ejercicio 4: Escribir un algoritmo que permita leer pares de matrices (dos matrices por vez): A de orden MxN y B de orden NxL , que calcule y muestre la matriz resultante de efectuar el producto de cada par de matrices leídas. Repetir todo el proceso hasta que se introduzca un valor de M = 0. Ejercicio 5: Escribir un algoritmo que permita leer una matriz de orden NxM, y que calcule, forme y muestre un vector donde cada componente es el módulo de cada fila de la matriz. Repetir todo el

proceso mientras la suma de los elementos de la primera columna de la matriz sea mayor que la suma de los elementos de su ultima columna. Ejercicio 6: Escribir un algoritmo que permita leer una matriz A (MxN) y otra B (NxM) , y que calcule y muestre el vector suma resultante de considerar como vectores a la primera fila de A y la segunda columna de B. Repetir todo el proceso hasta que M o N sean menores que 2. Ejercicio 7: Escribir un algoritmo que permita leer una matriz de orden 3x3, y que calcule y muestre la matriz traspuesta. Repetir todo el proceso mientras la primera fila y la segunda columna de la matriz leída contengan simultáneamente todos sus elementos distintos de cero. Ejercicio 8: Escribir un algoritmo que permita leer una matriz NxM, y que busque aquellas filas proporcionales entre sí. En caso de que existan, informar cuales son (el número de fila). En caso contrario imprimir un mensaje indicando esa situación. Ejercicio 9: Escribir un algoritmo que permita leer una matriz de orden NxN, y que calcule y muestre el vector resultante de la suma de considerar como vectores a la diagonal principal y a la diagonal secundaria (sumar vectorial de ambas diagonales). Repetir todo el proceso mientras el valor de N > 1. Ejercicio 10: Escribir un algoritmo que permita leer una matriz cuadrada de dimensión N y un valor entero M, y que calcule y muestre la matriz leída elevada a la potencia M. Ejercicio 11: Escribir un algoritmo que permita leer una matriz cuadrada de dimensión N y un vector de igual dimensión, y que calcule y muestre nuevos vectores generados cuyos elementos resulten de los productos escalares del vector con cada una de las filas de la matriz (por ejemplo: el elemento i del nuevo vector estará formado por el resultado del producto escalar del vector leído por la fila i de la matriz � nv(i)=v(i) ^ m(i, j) , para j=cte ). Repetir todo el proceso hasta que el valor de N < 2. Ejercicio 12: Escribir un algoritmo que permita leer las temperaturas máximas de los 12 meses del año, desde 1980 a 1989, y que calcule y muestre la máxima temperatura de cada año (temperatura y mes) y la máxima temperatura de la década (temperatura, mes y año) para el conjunto de valores leídos. Ejercicio 13: Escribir un algoritmo que permita leer las coordenadas <X,Y> de un conjunto de N pares de puntos (dos puntos por vez) en el plano, y que calcule y muestre los coeficientes de las rectas definidas por cada par de puntos leídos. Informar cuántas rectas tienen una pendiente superior al 20% de la pendiente promedio. Ejercicio 14: Una fábrica produce piezas cilíndricas en lotes de 10 unidades. Las piezas cuya superficie de la base del cilindro no se encuentre entre 14 y 16 cm2 son rechazadas. Escribir un algoritmo que permita leer los radios de las piezas de N lotes, y que calcule y muestre el lote con más piezas rechazadas (lote y cantidad de piezas rechazadas) y la cantidad de lotes que superan el 20% de rechazo.

COMPUTACION I INFORMATICA I

Ingeniería Electrónica y Bioingeniería

Guía de Problemas

“Introducción a la Programación de Computadoras”

Parte IV: Problemas “tipo” parcial / final

Departamento de Electrónica y Automática

Facultad de Ingeniería Universidad Nacional de San Juan

PROBLEMAS PROPUESTOS Problema 1: Se deben leer 2 arreglos de datos enteros: Un arreglo A de N elementos (el valor N deberá ser ingresado por el operador debiéndose prever un máximo de 1000 elementos), y un arreglo B que deberá ser leído hasta que la diferencia entre los dos últimos elementos ingresados sea par y múltiplo de 9 simultáneamente (prever un máximo de 1000 elementos para cada arreglo). Encontrar e informar: a) El conjunto C formado por la intersección de los elementos de A y B (considerar que en cada

conjunto no existen elementos repetidos). b) El promedio entre todos los elementos de ambos conjuntos A y B c) El porcentaje de los elementos del conjunto C que sean mayores al promedio calculado en el punto

b. Problema 2: Leer un arreglo de reales hasta que uno de los datos sea par y mayor que 10. (Considerar este último como válido). Prever un máximo de 200 datos. Calcular y mostrar: a) El porcentaje de elementos iguales a 10, a 50 y 90 todos incluidos.. a) Calcular el promedio de los elementos del arreglo que ese encuentran en posición par. a) Determinar la cantidad de elementos del arreglo que son mayores que dicho promedio. a) El producto de los datos comprendidos el rango de valores de -50 a 90 (ambos incluidos). Problema 3: Leer un arreglo de enteros hasta que se ingresen dos datos iguales consecutivos (prever un máximo de 300 elementos). Calcular y mostrar: a) El mayor valor y su ubicación. b) El menor valor y su ubicación. c) El promedio de los datos que están ubicados entre las posiciones encontradas en los puntos a y b. Problema 4: Leer un arreglo de números enteros hasta que se ingrese un valor par y mayor que 2000. Prever una cantidad máxima de 700 elementos, sin permitir que se supere esta cantidad. Leer también un índice p. Se pide: a) Generar y mostrar un nuevo arreglo formado por los elementos del arreglo original, cuyo valor sea

impar y estén ubicados en una posición posterior a p. Mostrar el nuevo arreglo, si este existe, y la cantidad de elementos que posee.

b) Determinar y mostrar el porcentaje de elementos del arreglo original que son mayores al promedio de los elementos del segundo arreglo (si este existe).

c) Mostrar el valor y la posición del mayor elemento del segundo arreglo, si este arreglo existe. d) Mostrar el menor elemento del primer arreglo, ubicado en posición impar. Problema 5: Leer un arreglo de datos hasta que se llegue a 1000 elementos o cuando el dato ingresado sea menor que -50. Calcular e imprimir: a) La cantidad de elementos del arreglo b) El porcentaje de los pares comprendidos en el rango de 50 a 90 inclusive. c) La cantidad de datos mayores que el promedio. Problema 6: Una empresa desea controlar los ingresos y gastos producidos durante un mes de venta. Para ello se deberá ingresar estos datos mediante dos arreglos, donde cada elemento de cada arreglo corresponde a cada día del mes que se está vendiendo. Para esto se deberá ingresar previamente la cantidad de días que corresponde al mes de evaluación. Se pide calcular y mostrar: a) El día con mayor ingreso de ventas indicando el monto obtenido. b) El día que se gastó menos, indicando el gasto obtenido. c) El promedio de gastos durante los días pares, cuyo ingreso no sea menor a los $1.000 diarios. d) Generar y mostrar un nuevo arreglo con las ganancias obtenidas por cada día del mes, mostrando

también el día de ese mes que mayor ganancia tuvo (Ganancia = Ingreso - Gastos). Problema 7: Se debe leer un arreglo de datos enteros hasta que se ingrese un dato igual a la mitad del que fue ingresado en la quinta posición del arreglo, teniendo en cuenta además que la cantidad de datos ingresados no debe superar los 120. El algoritmo, además de leer los datos, deberá determinar y mostrar: a) El mayor elemento del arreglo que sea menor que el promedio de todos los elementos. b) El porcentaje de los elementos pares mayores al promedio, referido al total de elementos pares.

c) El valor y la ubicación en el arreglo del mayor elemento impar. d) La cantidad de elementos menores que los dos tercios del último elemento ingresado. Problema 8: Se deben leer 2 arreglos de datos enteros. Un arreglo A de N elementos. El valor N deberá ser ingresado por el operador, prever un máximo de 1000 elementos. Un arreglo B que deberá ser leído hasta que la suma de sus elementos supere 10.000 o cuando ingrese un elemento igual al último elemento ingresado del conjunto A (prever un máximo de 1000 elementos). a) Encontrar un conjunto C formado por la intercalación de los elementos de A y B, de la siguiente

forma: En las posiciones impares del conjunto C estarán los elementos del conjunto A y en las pares los elementos de B, siempre que sea posible (hasta que A y B tengan elementos disponibles).

b) Mostrar el nuevo conjunto. c) Encontrar e informar el promedio de los elementos del conjunto C. d) Determinar e informar el porcentaje de los elementos del conjunto A que sean mayores al promedio

calculado en el punto 3. Problema 9: Leer un arreglo de números enteros A hasta que se ingrese un valor par, mayor que 300, donde la cantidad de datos ingresados no supere los 1000. Se pide: a) Generar un nuevo arreglo B formado por los datos ubicados en posición par, que sean divisibles por

6. b) Generar otro arreglo C con los datos que sean mayores al promedio de los datos del conjunto B

generado en el apartado a. c) Determinar el mayor elemento del conjunto C y su posición, mostrarlos por pantalla. d) Indicar y mostrar la cantidad de elementos generados de cada arreglo. Problema 10: Se debe leer un arreglo de datos enteros hasta que se ingresen en forma consecutiva dos (2) datos impares iguales, teniendo en cuenta que la cantidad de datos ingresados no deben superar los 200. De los datos leídos, se debe calcular e informar: a) El promedio de los datos que son divisibles por 3 y por 5 a la vez. b) Generar un segundo arreglo con todos los elementos del arreglo original que sean mayores al

promedio antes calculado. Problema 11: Se debe ingresar en tres arreglos la edad, código de carrera (01, 02, 03, 04) y calificación obtenida correspondiente a un examen de un grupo de alumnos. El ingreso de información termina cuando se ingrese un máximo de 49 alumnos o cuando se ingrese una edad inferior a los 15 años. Se pide calcular e informar: a) La cantidad de alumnos que asistieron por cada carrera de las cuatros posibles. b) El promedio de los aprobados (no inferior a cuatro). c) El porcentaje de alumnos pertenecientes a las carreras 01 y 02 juntas, con nota superior al promedio

calculado. d) La nota más alta obtenida con su edad y carrera correspondientes. Problema 12: Leer un arreglo de enteros hasta que el elemento leído sea igual al promedio entero de los anteriores o se supere un máximo. Prever un máximo de 200 elementos. Con los datos leídos: a) Generar un nuevo arreglo, también de N elementos, donde cada elemento surja como la suma de

todos los elementos comprendidos entre el primer elemento del arreglo y el de la posición actual inclusive.

b) Mostrar el máximo elemento y su posición de este nuevo arreglo c) Indicar cuántos elementos del arreglo original son mayores que el máximo mostrado Problema 13: Una fábrica de pañales realiza un muestreo sobre su producción. Para ello se toma una muestra de 3000 pañales durante un mes de producción. La información contenida por cada muestra son: coeficiente de absorción (variación 0 a 1), y tamaño del pañal (1,2 y 3). Se considera pañal de PRIMERA si el coeficiente de absorción supera e iguala los 0.9, de SEGUNDA si el coeficiente de absorción está entre 0.6 y 0.89 inclusive, y de TERCERA si dicho coeficiente no supera los 0.6. Se pide: a) Calcular la cantidad de pañales de cada calidad. b) Calcular el porcentaje de pañales de PRIMERA y SEGUNDA para cada tamaño. c) Indicar la cantidad de pañales de PRIMERA cuyo coeficiente de absorción supere el promedio total.

Problema 14: Se debe leer un arreglo A de números enteros, prever un máximo de 250, el ingreso finaliza cuando se ingrese un dato par comprendido entre los valores 700 y 1200 ó bien cuando se supere el máximo previsto. Se pide determinar y mostrar: a) El promedio de los datos ubicados en lugares (posiciones) pares. b) Generar un nuevo arreglo B con los elementos del arreglo original mayores al 10% del promedio. c) El producto de los elementos del arreglo B que sean múltiplos de 3. d) El promedio de todos los elementos del arreglo B. e) El porcentaje de los elementos del arreglo original comprendidos entre los dos promedios

calculados, según corresponda. Problema 15: Leer un arreglo de enteros hasta que la cantidad de elementos leídos sea mayor que 500 o cuando se ingrese un dato múltiplo de 5 y menor que el ingresado en la posición anterior. Prever un máximo de 100 elementos. Una vez leídos los datos se deberá: a) Generar un nuevo arreglo con los elementos pares menores que el promedio. b) Determinar el porcentaje de elementos del arreglo original cuyo valor esté comprendido entre 300 y

5000 inclusive. c) Determinar la ubicación del mayor elemento impar del arreglo original. d) Determinar cuántos elementos pares, mayores que el promedio, existen en el arreglo original. Problema 16: Se realizan 20 experimentos para relevar los parámetros de un generador. Para ello se mide 3000 valores la corriente y tensión entregadas cada 1mseg. durante 3 seg. Debe calcularse la corriente y tensión promedio para cada experimento. Los experimentos se clasifican como: • BUENO si el valor absoluto de todas las mediciones no supera el 150% del valor medio. • DUDOSO si el valor absoluto de 1 a 3 mediciones supera el 150% del valor medio. • MALO en otro caso. Debe indicarse: a) El experimento BUENO de mayor valor medio en corriente. b) La cantidad de MALOS y DUDOSOS. Problema 17: Leer un arreglo de números enteros, la lectura finaliza cuando la cantidad de elementos sea igual a 300 o cuando se lea un dato par y mayor que 3000. Se pide: a) Un nuevo arreglo formado por los elementos del arreglo original que sean mayores al que está

ubicado en la posición inmediata anterior. b) Calcular y mostrar el promedio de los datos del segundo arreglo. c) Calcular y mostrar el porcentaje de los elementos del nuevo arreglo que son mayores al promedio

calculado en el punto 2. Problema 18: Se debe realizar una evaluación sobre el resultado electoral de la próxima elección, para lo cual se ha realizado una encuesta. A cada encuestado se le pedirá: edad, años de estudio y por quien votara, donde deberá indicar 1 o 2 según sea el candidato elegido de los dos posibles, o 3 si está indeciso. La lectura de datos finaliza cuando se superen las 1000 encuestas, siempre y cuando no se ingrese un encuestado menor de 18 años. Se deberá determinar e informar: a) El porcentaje sobre el total de votos definidos que tiene el candidato más votado. b) El porcentaje de indecisos. c) Cual sería el candidato ganador si se considera solo la porción del electorado formada por los

electores cuyas edades están comprendida entre 20 y 35 años con más de 12 años de estudio. d) Suponiendo que los votos indecisos se dividen por igual entre ambos candidatos, cuantos votos

obtendrían en la elección el más votado, si se estima un total de 19 millones de votantes. e) El promedio de edad de los encuestados que votaron el candidato que va primero en la encuesta. Problema 19: La Caja Acción Social realiza un muestreo de los N sorteos de Quiniela, considerando dos arreglos de 400 elementos como máximo para el estudio del número ganador a la cabeza y la cantidad de apostadores que ganaron con ese número. Se pide un algoritmo que calcule y muestre: a) Cuál es el número que en una sola jugada tuvo más ganadores. b) La cantidad de números ganadores que pertenecen a la primer decena. c) Indicar el porcentaje de apostadores que ganaron jugando a un número par.

d) Ingresar un número per teclado e indicar si salió premiado o no, y en el caso de ser premiado, determinar cuantas veces salió y la cantidad total de ganadores.

Problema 20: Una empresa de mosaicos desea controlar la calidad de sus productos. Para ello se ha pedido un algoritmo que lea los datos relevantes de la producción. Estos datos son: Ancho Longitud y Peso. La lectura de estos datos se debe detener cuando la diferencia entre la longitud y el ancho sea mayor que 10cm o bien cuando el peso de cada mosaico supere los 350grs. Calcular: a) Porcentaje de los mosaicos sobre el total leído, que cumplen con: Longitud igual a 20cm +/- 1% y

Ancho igual a 20cm, +/- 2% b) Porcentaje de los que son cuadrados. c) El promedio del peso de aquellos mosaicos cuyo peso es menor de 200grs. Problema 21: Se debe leer la información de ensayos realizados a tubos fluorescentes. La información más relevante es, la potencia del tubo y la intensidad luminosa entregada, medida en Lúmenes. Se deben generar dos arreglos con esta información, previendo un máximo de 500 tubos. La carga de información finaliza cuando se encuentre un tubo que no enciende. Hacer un algoritmo que permita calcular: a) Para todos los tubos con potencia igual a los 20 W el promedio de intensidad luminosa. b) El porcentaje de tubos de cualquier potencia con intensidades de luz superiores al promedio

calculado en el punto 1 c) La potencia de los tubos con máxima intensidad luminosa entregada. Problema 22: En un puesto caminero del Instituto Nacional de Vitivinicultura que posee una báscula se registra la siguiente información correspondiente a cada uno de los camiones que transportan uva en la presente cosecha en un día de operación. Se toman los números de terminación de la patente y el peso en kg. Escribir un algoritmo que permita ingresar esos datos, y finalice la lectura cuando el peso ingresado sea mayor que 7500 y el número de terminación sea par. No considerar este último dato como válido. Se solicita: a) Calcular y mostrar el promedio de peso de los vehículos ingresados en orden impar. b) Encontrar y mostrar el peso y el número de terminación de patente, correspondientes al vehículo

con mayor peso de los que poseen número de terminación de patente par. c) Mostrar todos los vehículos con peso mayor a 1000kg, ingresados en orden impar, y con número de

terminación de patente múltiplo de 3. Problema 23: Para analizar los datos provenientes de un censo poblacional, se solicita implantar un algoritmo que realice lo siguiente: por cada familia encuestada se deberá ingresar la cantidad de integrantes y por cada uno de ellos su edad. El Ingreso de información finaliza cuando la cantidad de integrantes de un grupo familiar sea cero o negativo. EI programa deberá calcular y mostrar: a) La edad promedio de cada familia. b) El porcentaje de familias con menos de 4 integrantes y cuya edad promedio este comprendida entre

18 y ·20 años. c) El orden de ingreso de la familia que tenga como integrante a la persona con mayor edad. d) El porcentaje de familias numerosas (más de cinco integrantes). Problema 24: En una estación meteorológica se desea procesar la información correspondiente a las mediciones efectuadas durante un mes, con los datos de Temperatura y Humedad medias de cada uno de los N días del mes. Para lo cual se deberá realizar un algoritmo que cumpla con las siguientes tareas: a) Se deberán leer los datos de temperatura y humedad relativa media, correspondientes a cada uno

de los días del mes, los que deberán guardarse en dos arreglos. El algoritmo deberá requerir la cantidad de días del mes que se desea procesar.

b) Calcular y mostrar los promedios de Temperatura del mes. c) Calcular y mostrar el porcentaje de días para los primeros diez días del mes en que la temperatura

sea mayor que el promedio calculado en b) y que la humedad relativa sea superior a 50. d) Determinar cual fue el día más caluroso del mes, teniendo en cuenta que si se tienen dos días con

igual temperatura, se considera más caluroso el que tenga mayor humedad. e) Asumiendo que el primer día del mes, corresponde a un Lunes, calcular y mostrar el promedio de las

temperaturas para cada uno de los fines de semana (Sábado y Domingo) del mes.

Problema 25: En una clínica pediátrica se evalúan pacientes hasta los 9 años de edad. Por cada uno de ellos, el profesional toma su temperatura y la anota sobre una planilla junto a su edad. Como no se sabe de antemano la cantidad de pacientes por día se establece que cuando la temperatura sea superior a 70 grados se debe detener el proceso de carga de datos. Se pide calcular y mostrar: a) El promedio de edades de los pacientes ingresados. b) El porcentaje de pacientes entre 3 y 5 años, con temperatura normal (entre 36 y 37 grados de

temperatura). c) El porcentaje de pacientes con temperatura moderada (entre 37 y 39 grados de

temperatura). d) El paciente con mayor temperatura y su edad.

Problema 26: En una competencia de levantamiento de pesas, se necesita procesar la información de la performance de cada uno de los competidores. Para ello se necesita que se ingrese por cada competidor la edad, la categoría (codificada del 1 al 20), el peso máximo que levantó (en Kg.) y el tiempo que duró (Real en seg). La lectura de datos finaliza cuando se ingrese una categoría no válida o cuando el peso máximo supere los 200 kg. No más de 400 competidores. Se pide: a) Cuántos competidores tienen mayor edad que el que más tiempo duró. b) Muestre por pantalla la cantidad de competidores que hubieron por cada una de las categorías. c) Genere y muestre por pantalla un nuevo arreglo de edades de aquellos competidores que duraron

más que el promedio. d) Indique la cantidad de competidores con tiempo de duración mayor que el promedio. e) Muestre por pantalla las edades de cada uno de los ganadores de sus respectivas categorías. Se

considera ganador aquel que mas peso levantó, y a igual peso levantado entre rivales, el que más duró.

COMPUTACION I INFORMATICA I

Ingeniería Electrónica y Bioingeniería

Guía de Problemas

“Introducción a la Programación de Computadoras”

Parte V: Manejo de caracteres.

Departamento de Electrónica y Automática

Facultad de Ingeniería Universidad Nacional de San Juan

Problema 1 : Ingresar un conjunto de caracteres hasta que se ingrese un carácter numérico. Se pide mostrar por pantalla: a) El porcentaje de vocales ingresadas. b) ¿Cuántos caracteres no alfabéticos fueron leídos ingresados en orden impar?

Problema 2: Ingrese una cantidad de caracteres, donde la cantidad debe ser pedida previamente por teclado. Se pide mostrar por pantalla: a) El porcentaje de caracteres numéricos menores a 4 ingresados. b) La cantidad de caracteres iguales al ingresado en primera posición. Problema 3: Ingrese un conjunto N de palabras, considere un máximo de 20. Indique por pantalla: a) La cantidad de palabras que comienzan con ‘n’ o ‘s’. b) El porcentaje de palabras que contienen el subconjunto de caracteres “NO” o “no”. Problema 4: Ingrese en forma sucesiva nombres de animales terrestres y de aire, hasta que se lea por teclado la palabra “pingüino”. No tener en cuente este último animal ingresado. Se pide mostrar: a) El número de animales cuyo nombre comiencen con la primera letra de aquel ingresado en primer

orden. b) Porcentaje de animales que tiene más de seis caracteres y cuyo orden de ingreso es par. Problema 5: Ingrese ternas de palabras hasta que se tengan como mínimo dos palabras iguales. No tener en cuenta para el procesamiento, esta última terna. Se pide: a) Mostrar por pantalla la palabra más larga de la terna. b) Mostrar por pantalla en cada terna de palabras, la oración formada por dichas tres palabras

ingresadas. c) Indique por pantalla cuál es la oración formada en el punto anterior que tiene mayor cantidad de

caracteres. Problema 6: Lea por teclado en un arreglo de cadena de caracteres, autores de libros de Literatura. La lectura finaliza cuando se ingrese un autor llamado “Ramón Díaz” o el número de caracteres supere los 50 o cuando se supere el máximo previsto para el arreglo. No tener en el procesamiento cuenta el último autor ingresado. Se pide: a) Escribir la cantidad de autores que comienzan con el mismo carácter de aquel ingresado en último

lugar. b) Ingrese por teclado un autor determinado e indique por pantalla si fue leído en el arreglo. c) Muestre por pantalla el orden y nombre de autor que tiene mayor cantidad de caracteres. Problema 7: Ingrese un arreglo de cadenas que corresponde a distintas fechas (formato aaaammdd) de los últimos accidentes que hubieron en la ruta 40 de la ciudad de San Juan al Sur. La lectura deberá hacerla en forma ordenada creciente, las fechas más viejas primero. La lectura finaliza cuando se alcance un máximo de 50 fechas o cuando se ingrese por teclado una fecha igual a “00000000”. Se pide: a) Muestre por pantalla la fecha más nueva y la más vieja. b) Lea por teclado un valor entero que corresponde a un índice p (asegurarse que sea menor o igual a

la cantidad de fechas ingresadas) e indique por pantalla el porcentaje de accidentes (en relación al número total) que corresponde a accidentes posteriores respecto de aquel indicado por p.

c) ¿Cuál es la cantidad de accidentes que se produjeron en aquellas fechas cuyos días terminan en 1? Ej: 01, 11, etc.

Problema 8: Se desea llevar el control de peces que hay en un estanque mediante un programa editado en pseudocódigo. Para ello se deben procesar los siguientes datos: Peso (en kg.) y tipo de pez de río( carácter, 'C': carpa, 'B': boga, 'T': trucha ). Estos datos deben ser almacenados en arreglos. La lectura de datos finaliza cuando se ingresa un peso negativo o un tipo de pez nulo (caracter 'N'). Se pide: a) ¿Cuál es el tipo de pez más pescado? b) Ingrese por teclado un tipo de pez e indique en qué orden se pescó el espécimen de mayor peso

para ese tipo.

c) Ingrese por teclado un índice q determinado (asegurarse que sea menor a la cantidad de datos almacenados en las arreglos) y calcular el promedio de peso de aquellas bogas con menor peso respecto del pez que indica q.

Problema 9: Para un evento de carreras de bicicleta se debe realizar un programa en pseudocódigo a fin de procesar los datos de los concursantes. Para ello se deberá ingresar Tiempo que hizo en la carrera (Entero), Edad (Entero) y Categoría (carácter desde 'A' a la 'D') en sus respectivos arreglos. La lectura finaliza cuando se ingrese una categoría no válida o cuando se alcance el máximo previsto para la dimensión de los arreglos. Se pide: a) El orden de lectura y edad de cada ganador de cada categoría. b) ¿En qué categoría está la mayor cantidad de inscriptos? c) Cuál es la categoría del competidor más joven. d) Genere un nuevo arreglo de edades de aquellos competidores cuya posición en el arreglo estén

comprendidos entre el mejor y peor tiempo realizado o viceversa. Problema 10: Un instituto de enseñanza de informática posee una planilla de evaluación de sus alumnos, a los cuáles se les realizó dos evaluaciones durante el cursado. Para ello se necesita de un programa en pseudocódigo que procese esta información. Los datos que se utilizarán en programa son: Apellido y Nombre del alumno, Nota Evaluación 1 y Nota Evaluación 2 (enteros de 0 a 10) . Se debe pedir por teclado la cantidad de alumnos inscriptos. Se pide: a) Generar un nuevo arreglo de caracteres que contenga los aprobados con ‘A’ para los alumnos con

promedio mayor o igual a 7 y los reprobados con ‘R’ de aquellos con promedio menor a 7. Muestre el nuevo arreglo junto con el nombre de los alumnos y al final escriba el porcentaje de aprobados y de reprobados.

b) Indique el apellido y nombre de quienes tienen el promedio más alto y más bajo de la lista. c) De los reprobados, indique cuál es la cantidad de alumnos que aprobaron la evaluación 1 y cuántos

la evaluación 2.