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


ejercicios tema5, Ejercicios de Informática

Asignatura: MTP 1, Profesor: , Carrera: Ingeniería Técnica de Informática de Gestión, Universidad: UJAEN

Tipo: Ejercicios

Antes del 2010

Subido el 04/10/2007

helena_vv
helena_vv 🇪🇸

3.9

(14)

59 documentos

1 / 5

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Metodología y Tecnología de la Programación I
Relación de Ejercicios
Tema 5. Arrays
1. Diseñar un algoritmo que lea el nombre y la nota de 20 alumnos y calcula la calificación
promedio. El algoritmo debe imprimir el nombre de aquellos alumnos que están por
encima de la media.
2. Escribir un algoritmo que calcule la desviación estándar ( 2
1
)(
1xx
N
N
ii
=
=
σ
) de N
números. El valor de N se da por teclado.
3. Para el caso de un vector A de n elementos reales, formular un algoritmo que determine el
primer y segundo elementos más grande del vector. Supóngase que todos los elementos
son diferentes.
4. Dado un vector A de n números reales, obtener la menor diferencia entre dos elementos
consecutivos.
5. Diseñar un algoritmo que lea un vector desordenado A, compuesto de n enteros y
construya otro vector con los mismos elementos pero ordenado de mayor a menor.
6. Realizar un algoritmo para crear un array de 20 elementos leyendo los números desde el
teclado y determinar cual es el elemento mayor, el menor y la media de todos ellos.
7. Realizar un algoritmo para crear un array de 3x3 leyendo los números desde el teclado y
calcular su determinante.
8. Realizar un algoritmo para leer un array de 3x4 y crear su matriz traspuesta, At.
(ji
t
ij aa =)
9. Hacer un algoritmo para calcular la suma de dos matrices cuadradas de 3x3. Modificarlo
para que incluya también la resta.
10. Una matriz A de nxm se dice que es simétrica si n=m y aij=aji. Desarrollar un algoritmo
para leer una matriz y determinar si se trata de una simétrica o no.
11. Hacer un algoritmo para calcular el producto escalar de un número y una matriz cuadrada
de 3x3. El número y la matriz se darán por teclado
12. Hacer un algoritmo para calcular el producto de dos matrices cuadradas de 3x3.
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga ejercicios tema5 y más Ejercicios en PDF de Informática solo en Docsity!

Metodología y Tecnología de la Programación I

Relación de Ejercicios

Tema 5. Arrays

  1. Diseñar un algoritmo que lea el nombre y la nota de 20 alumnos y calcula la calificación promedio. El algoritmo debe imprimir el nombre de aquellos alumnos que están por encima de la media.
  2. Escribir un algoritmo que calcule la desviación estándar (

2

1

x x

N

N

i

∑ i

=

σ = − ) de N

números. El valor de N se da por teclado.

  1. Para el caso de un vector A de n elementos reales, formular un algoritmo que determine el primer y segundo elementos más grande del vector. Supóngase que todos los elementos son diferentes.
  2. Dado un vector A de n números reales, obtener la menor diferencia entre dos elementos consecutivos.
  3. Diseñar un algoritmo que lea un vector desordenado A, compuesto de n enteros y construya otro vector con los mismos elementos pero ordenado de mayor a menor.
  4. Realizar un algoritmo para crear un array de 20 elementos leyendo los números desde el teclado y determinar cual es el elemento mayor, el menor y la media de todos ellos.
  5. Realizar un algoritmo para crear un array de 3x3 leyendo los números desde el teclado y calcular su determinante.
  6. Realizar un algoritmo para leer un array de 3x4 y crear su matriz traspuesta, At.

( (^) ji

t

aij = a )

  1. Hacer un algoritmo para calcular la suma de dos matrices cuadradas de 3x3. Modificarlo para que incluya también la resta.
  2. Una matriz A de nxm se dice que es simétrica si n=m y a (^) ij =a (^) ji. Desarrollar un algoritmo para leer una matriz y determinar si se trata de una simétrica o no.
  3. Hacer un algoritmo para calcular el producto escalar de un número y una matriz cuadrada de 3x3. El número y la matriz se darán por teclado
  4. Hacer un algoritmo para calcular el producto de dos matrices cuadradas de 3x3.
  1. Generalizar los ejercicios 8, 9, 10, 11 y 12 para que la dimensión (nxm) de las matrices sea dada por teclado. Tener en cuenta que algunas operaciones tienen restricciones en el número de filas o columnas de las matrices que intervienen.
  2. Dada una matriz NOTAS cuyo elemento NOTAS[I,J] contiene la calificación del J-ésimo problema de un examen del I-ésimo estudiante, y un factor de ponderación PESOS, cuyo elemento PESOS[J] denota la ponderación correspondiente al J-ésimo problema de un examen, formular un algoritmo que construya un vector ALUMNO, de tal forma que ALUMNO[I] contenga la calificación final del I-ésimo estudiante. El algoritmo debe leer los datos de entrada para N estudiantes y M problemas, así como las M ponderaciones para cada problema.
  3. Sean NOMBRE y SEXO dos vectores que contienen el nombre y el sexo (V o M) de cada uno de los miembros de un club deportivo. Diseñar un algoritmo que genere dos nuevos vectores VARON y MUJER, de tal forma que VARON contenga los nombres de todos los varones en orden alfabético y MUJER contenga los nombres de todas las mujeres, también en orden alfabético.
  4. Diséñese una función SIGMA para calcular la suma de los n elementos del vector X (X y n son parámetros de la función).

n i n

i

x x x x

  1. Diséñese una función PROD para calcular el producto de los n elementos del vector X (X y n son parámetros de la función).

n

n

i

xi x 1 * x 2 .... x

1

∏^ =

=

  1. Realizar un procedimiento que tome como entrada un array de 20 elementos con valores enteros positivos y devuelva el mismo array reemplazando los elementos repetidos por el valor -1. También devolverá el número de modificaciones realizadas.
  2. El producto escalar de dos vectores A y B de magnitud n se define como:

n n

n

i

A • B =∑ ai bi = ab + ab + + ab

=

1 a) Diseñar una función con tres parámetros A, B y N, que calcule el producto escalar b) Si el producto escalar de dos vectores es cero se dice que los vectores son ortogonales. Diseñar un algoritmo que llame a la función de la parte a) y que imprima VECTORES ORTOGONALES cuando el valor que regrese de la función sea cero.

  1. Se desea realizar unas estadísticas a partir de los siguientes datos de 10 individuos: nombre, sexo (M o F), edad, altura (en centímetros), peso (en kilos), color de ojos (1 para azules, 2 para castaños y 3 para los demás), color del cabello (1 para castaño, 2 para rubio y 3 para los demás). Diseñar un algoritmo para que lea estos datos e imprima los nombres de: a) todas las mujeres de cabello rubio y ojos azules, que miden entre 160 cm y 170 cm, y que pesan menos de 60 kilos. b) todos los varones de ojos castaños, que no sean rubios ni castaños y de 19 años c) todos los individuos con edades comprendidas entre 25 y 35 años, con ojos azules o castaños, rubios y que pesen 65 kilos o midan 168 cm
  2. Calcular el número de elementos negativos, positivos y ceros presentes en un vector de 60 elementos.

lleguemos al primer elemento de la lista que no esté tachado y cuyo cuadrado sea mayor que N. Todos los números que no se han tachado en la lista son los primos entre 2 y N.

  1. Dado un polinomio p(x) de la forma

p(x) = a0xn + a1xn-1 + ... + an-1x + an

donde a0, a1,... , an son los números reales que indican los coeficientes del polinomio. Construir un programa que lea el grado n, seguido de los coeficientes y calcula una posible raíz del polinomio (es decir, un valor de x que haga 0 al polinomio) dentro de un intervalo dado por el usuario.

Para ello usaremos el método de aproximaciones sucesivas. Primero buscaremos dos valores x1 y x2 tales que p(x1) tiene distinto signo de p(x2). Luego calcularemos el punto medio x3 donde x3= (x1 + x2)/2 y determinaremos el signo de p(x3). Desecharemos el punto que tenga igual signo en el polinomio que el nuevo punto obtenido y realizamos el mismo procedimiento con los dos puntos restantes (que tienen signos en p(x) diferentes) hasta que la diferencia entre ambos puntos xi y xj sea menor a un umbral dado (el error de aproximación). Cuando así sea (o el valor de evaluar alguno de los puntos sea 0) finalizaremos el proceso devolviendo el valor del último punto medio calculado.

  1. Desarrollar un programa que implemente las operaciones básicas sobre polinomios (suma de polinomios, resta de polinomios y multiplicación de un escalar por un polinomio). Utilizar un menú con las distintas opciones e implementar las operaciones mediante el uso de subprogramas.
  2. Realizar un programa para calcular el producto de dos polinomios de grado n (0<=n<=10).
  3. Implementar el juego de los BARQUITOS. Tendremos dos matrices 7x7, donde aleatoriamente colocaremos (en horizontal o vertical) 4 barcos de tamaño 4, 3, 2 y 1 respectivamente. Iremos dando coordenadas, por turnos, al igual que el ordenador, que generá coordenadas aletariamente. Comprobando en cada caso si hemos hecho “agua” o “tocado” o “hundido”. En pantalla se visualizarán los dos tableros, en el nuestro veremos los barcos y en el del ordenador sólo los resultados de nuestros disparos.

Una instantánea de este juego podría ser: nosotros ordenador 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 * * - - - - - 1 - - - - - - - 2 - - - - * - - 2 - - - - T T T 3 - * - - - - - 3 - - X - - - - 4 - T - - - X - 4 - - - - - - - 5 - * - - - - - 5 - - - X - - - 6 X - - * * * * 6 - - - - - - - 7 - - - - - - - 7 - - - - - - - introduzca coordenadas? 3 4

  1. Realizar un programa que implemente el juego del BUSCAMINAS. Dicho juego consiste en lo siguiente: Existe una matriz bidimensional de NxM en la que se sitúan aleatóriamente K minas. Una vez distribuidas las minas en el tablero, el jugador especifica una casilla de la tabla, de manera que, si en dicha casilla existe una mina, el juego termina. Si en la casilla no existe mina, el programa debe devolver el número de minas que se encuentran en las casillas adyacentes a la casilla en cuestión, entendiendo por adyacentes todas aquellas casillas que se encuentren encima, debajo, a la izquierda, a la

derecha, y en las cuatro esquinas. El juego se gana cuando el jugador es capaz de levantar todas las casillas libres del tablero sin haber “explotado” con ninguna mina.

  1. Un observatorio astronómico toma datos de sus telescopios, dividiendo el cielo en casillas. En cada observación se toman datos de la intensidad lumínica de cada área del cielo (como un dato entero entre 0 y 9), pretendiendo con ello determinar las estrellas. Según sus cálculos, la observación encuentra una estrella cuando, además de en la propia casilla, existen tres casillas adyacentes (de las 8 adyacentes posibles) en las que la intensidad lumínica supera cierto umbral (el umbral es introducido por el usuario a través del teclado). Para afirmar con rotundidad que el objeto es una estrella, dichas condiciones deben darse en tres observaciones seguidas. Realizar un programa que encuentre estrellas en el cielo tras tres observaciones.
  2. Diseñar un algoritmo para almacenar y tratar la información sobre las elecciones a delegado de una clase. El algoritmo debe leer el número de candidatos que se presentan a delegado (al menos deben presentarse 3 alumnos). Para cada candidato, el algoritmo debe leer también el nombre, el DNI y la fecha de nacimiento. A continuación, el algoritmo debe ir leyendo y almacenando en una estructura adecuada los votos emitidos por cada uno de los alumnos presentes en la clase. El voto será un número entero que indica lo siguiente:

a) Si el número es 0 el voto se considera “voto en blanco”.

b) Si el número están en el intervalo [1..N], siendo N el número total de candidatos, el voto se contabilizará como voto para el candidato correspondiente.

c) Si el número es -1, significa que la emisión de votos ha finalizado.

d) Si el número es distinto a los anteriores, el voto se considera “voto nulo”.

El algoritmo debe mostrar el número total de votos emitidos, el número total de votos nulos, el número total de votos en blanco, el número de votos conseguidos por cada candidato mostrando además su nombre. Por último, el algoritmo debe determinar los candidatos que ha resultado elegidos como delegado y subdelegado mostrando su nombre DNI y fecha de nacimiento.