Fundamentos de La Programacion Con PSeint - Ejercicio 6
Fundamentos de La Programacion Con PSeint - Ejercicio 6
SubProceso Lee(N, V)
…
FinSubProceso
SubProceso Suma(N, V, U, S)
…
FinSubProceso
SubProceso Escribe(N, V)
…
FinSubProceso
Proceso Vectores
Definir a, b, c Como Entero;
Definir Sab, Sbc, Sac Como Entero;
Dimension a[20], b[20], c[20];
Dimension Sab[20], Sbc[20], Sac[20];
Definir N Como Entero;
…
FinProceso
3) Desarrollar una función que, a partir de un arreglo A de N elementos, cada uno de los
cuales es una cifra entera entre 0 y 9, retorne el número cuyos dígitos son los elementos de
A. Ejemplo: [ 1, 2, 4, 0, 9 ] → 12409.
FI-UNMDP // Hoja 1
a) Mostrar la cantidad de ocurrencias de K en V.
b) Generar y mostrar un arreglo W con los elementos de V distintos de K.
c) ¿Se podrían obtener ambos resultados en un único recorrido? En caso afirmativo,
realizarlo.
5) Determinar si un vector es una “mochila perfecta”. Es decir, si cada elemento (a partir del
tercero) es mayor que la suma de los dos anteriores.
7) Una aplicación de registro de calorías quemadas durante el día utiliza la información del
GPS del teléfono para determinar la velocidad a la que se desplaza el usuario y obtiene las
calorías quemadas de acuerdo a la siguiente tabla:
Se desea usar estos valores para estimar los valores de f para otros valores de x dentro del
intervalo dado por la tabla. Escribir un programa que almacene la tabla anterior y que, para
cada valor de x elegido por el usuario, escriba la correspondiente aproximación de f(x).
FI-UNMDP // Hoja 2
Esta aproximación puede ser obtenida mediante el método de interpolación lineal. Este
consiste en trazar una línea recta entre los dos puntos de la tabla que rodean al valor de x
elegido, y luego evaluar x en dicha recta. Es decir, si quisiéramos aproximar el valor f(3,5),
los dos puntos serían los correspondientes a x = 3,6 y x = 3,3.
10) Dados un vector V de N componentes reales ordenadas en forma ascendente y dos valores
reales A y B (A<B), generar y mostrar un vector W con los elementos positivos de V que se
encuentren en el intervalo [A, B].
11) La regla de Paolo Ruffini sirve para realizar de forma sencilla la división de un polinomio (de
grado mayor que uno) por un binomio de la forma x - a. Por ejemplo:
1 2 -1 -2
3 3 15 42
1 5 14 40
12) En un juego de tiro al blanco se han realizado una serie de N disparos, cada uno
representado como coordenadas (x,y). Se pide leer los disparos y almacenarlos en dos
vectores paralelos. Además, solicitar el ingreso de un punto de coordenadas (X, Y) que
representa el centro del blanco. Luego, mostrar un menú con las siguientes opciones, el
cual debe reiterarse hasta que el usuario decida salir:
a) Porcentaje de tiros que han caído a una distancia menor a R (leído por teclado) del
centro, respecto del total de disparos registrados.
b) Número de orden del primer disparo que dio en el centro, si es que hubo alguno.
c) Almacenar en nuevos vectores las coordenadas de los puntos que han quedado
más lejos del centro (puede haber más de uno).
FI-UNMDP // Hoja 3
13) Desarrollar un programa que implemente procedimientos y/o funciones que permitan:
a) Leer una matriz de FxC números enteros.
b) Dado un número h, calcular el promedio de los elementos de la columna h.
c) Dado un número k, calcular el mínimo de los elementos de la fila k.
d) Obtener un vector de C elementos con los promedios de cada columna.
e) Obtener un vector de F elementos con los mínimos de cada fila de la matriz.
f) Generar un vector con los elementos positivos de la matriz.
15) Escribir una función booleana que indique si las sumas de los elementos de las distintas
diagonales descendentes de una matriz cuadrada son todas iguales. Por ejemplo:
16) Dadas N ciudades, las distancias entre cada par de ellas se almacenan en una matriz
DISTANCIA, donde DISTANCIA[i,j] indica la distancia en km que hay entre las ciudades i y j.
Se pide:
● Ingresar la información NECESARIA para armar dicha matriz (las distancias nulas y
las duplicadas por simetría, no deben ingresarse, sino que debe asignarlas el
programa).
● almacenar los nombres de las ciudades en una estructura auxiliar
y luego:
a) Informar los nombres de las dos ciudades más distantes y de las dos más cercanas.
b) Para una ciudad cuyo nombre es ingresado por teclado, informar qué tan distante
está de las restantes ciudades.
FI-UNMDP // Hoja 4
1 2 3 4 5
1 - Buenos Aires 1 0 646 792 933 53
2 - Córdoba 2 646 0 677 824 698
3 - Corrientes 3 792 677 0 157 830
4 - Formosa 4 933 824 157 0 968
5 - La Plata 5 53 698 830 968 0
18) El Servicio Meteorológico Nacional registra, mes por mes, la cantidad de lluvia que cae por
provincia, en mm (entero), y lo almacena en una matriz. Realizar un programa que permita:
a) Ingresar la información. La misma está desordenada y consta de: número de mes,
nombre de la provincia y cantidad de mm de lluvia caídos (solo de los meses y
provincias en que se produjeron precipitaciones).
b) Calcular en qué mes y en qué provincia llovió más. Mostrar el número de mes, el
nombre de la provincia y la cantidad de mm de lluvia.
c) Hacer un listado de las provincias con su precipitación anual, indicando el nombre
de la provincia y la cantidad de agua caída.
FI-UNMDP // Hoja 5