50% encontró este documento útil (2 votos)
348 vistas38 páginas

Ejercicios de Algoritmos y Programación

La ignorancia es una de las enfermedades más peligrosas que existen.

Cargado por

Henrich Mohr
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
50% encontró este documento útil (2 votos)
348 vistas38 páginas

Ejercicios de Algoritmos y Programación

La ignorancia es una de las enfermedades más peligrosas que existen.

Cargado por

Henrich Mohr
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

Una de las

enfermedades más
Peligrosas que
existen es la
Ignorancia……….
Dante
Murr
Ejercicio nº 1
Desarrollar un algoritmo que introduzca 2 números, e indique la relación entre ella, señalar
el mayor, el menor o especificar si son iguales

Ejercicio n º 2
Dados 3 números verificar si pueden o no ser las longitudes de los lados de un triangulo,
teniendo en cuenta que ninguno de los lados puede ser mayor o igual que la suma que los
otros dos

Ejercicio nº 3
Leer A, B, y C y ordenarlas en forma ascendente usando como auxiliar el campo D,
suponiendo que se desconocen los contenidos de A, B y C, imprimir la variable ordenada

Ejercicio nº 4
Teniendo dos variables numéricas A y B, intercambiar sus contenidos sin utilizar ningún
campo auxiliar

Ejercicio nº 5
Se tiene un conjunto de registros, cada uno con una variable X, que contiene un numero,
desarrollar un algoritmo para verificar si los registros están ordenados en forma ascendente. El
último registro no procesable tiene 0. Realizar la prueba de escritorio con 10 valores.

Ejercicio nº 6
Se tiene un archivo de n registros, cada uno con una variable numérica A, seleccionar aquellos
que sean mayores que 5 y sumarlos, imprimir el resultado y la cantidad d registros que no
cumplieron la condición

Ejercicio nº 7
Se tiene un registro en el que cada registro tiene una variable numérica X, escribir un
algoritmo que permita controlar a secuencia correlativa ascendente de las mismas. Imprimir los
registros fuera de secuencia, ignorándolos para el control. El primero no necesariamente
comienza con 1.

Ejercicio nº 8
Se tiene un archivo con 3000 registros, cada uno de ellos con una variable X, imprimir al
sumatoria y el promedio de cada 3 valores consecutivos.

Ejercicio nº 9
En un laboratorio se registra cada hora, la temperatura de los hornos medida en grados
centígrados, cada registro contiene la siguiente información hora – temperatura. Se desea
convertir la temperatura a grados Farenheit, de acuerdo a la siguiente formula: F = 9 (C + 32) /
5
Por cada registro imprimir:
Hora, grados centígrados y grados farengeit, hay 24 registros por DIA

Ejercicio nº 10
Dados n números hallar el mayor y el menor, imprimiendo ambos con los mensajes de
identificación respectivos

Ejercicio nº 11
Se tiene un archivo, con n registros; cada uno de ellos con una variable numérica X, imprimir
el rango del archivo. Rango = Numero mayor – Numero menor

Ejercicio nº 12
Leer la variable A,B,C y D verificar que A pertenezca al intervalo abierto (C, D) y que B no
pertenezca al mismo si se cumplen las 2 condiciones, suma A y B, sino restar A de B, imprimir
A, B y el resultado

Ejercicio nº 13
Construir un algoritmo que permita obtener la suma de los cuadrados de los primeros 50
números naturales

Ejercicio nº 14
Construir un algoritmo que permita obtener la factorial de un número dado. La factorial de un
número es el resultado de multiplicar dicho número por los valores inferiores al mismo hasta la
unidad. El factorial de 0 es 1

Ejercicio nº 15
Se tiene un archivo cuyos registros tienen los siguientes campos.
Nº de alumnos (n) – Nombre(ns) – estado civil(e) – Sexo(s) – Curso(c) – Imprimir el numero y
nombre de aquellos alumnos que sean solteros, de sexo masculino y estén en el 3er curso.
Sabemos que los valores de los siguientes campos, pueden ser: Sexo 1.- Femenino. 2-
Masculino. Estado civil:
1. Soltero
2. Casado
3. Otros

Ejercicio nº 16
Se tiene un archivo con n registros. Cada uno de ellos con los siguientes campos

Día-Mes-Año y 12 datos correspondientes a la temperatura de un día, tomada a intervalos de 2


horas. Calcular la temperatura a media del día e imprimirla con la fecha, repetir los procesos
con los N registros.

Ejercicio nº 17
Hacer un algoritmo que permita hallar el producto de los números por el método de la suma
sucesiva. Los números deben ser enteros y mayores que cero.

Ejercicio nº 18
Dadas dos variables N y M, hallar el cociente de M/N por restas sucesivas. M puede o no ser
múltiplo de N pero es siempre mayor

Ejercicio nº 19
Introducir un número y averiguar si es par o impar

Ejercicio nº 20
Se tiene un archivo con N registros, cada uno de ellos con una variable X. Averiguar cuáles
son múltiplos de 3 e imprimirlas

Ejercicio nº 21
Se tiene un archivo con N registros cada una de ellas con un valor X. Calcular el promedio de
los valores pares y de los impares. Imprimir ambos promedios.

Ejercicio nº 22
Se tiene un archivo con N registros, cada una de ellas con un valor X. Hacer un algoritmo Para
saber si cada X dada es múltiplo de 3, de 5 o de ambos. Imprimir la cantidad de registro que
cumpla con cada condición

Ejercicio nº 23
Se tiene un archivo de K registros, cada una de ellos con 2 variables A y B. Verificar que A sea
divisible entre 3 y que B sea par (Utilizar el método de las sumas sucesivas y restas sucesivas)
en caso que se cumplan ambas condiciones multiplicar A * B e imprimir los valores
resultantes. En caso contrario imprimir A y B (obs:A y B son enteros mayores de 0)

Ejercicio nº 24
Se tiene un archivo de K registros, cada una de ellas con 2 valores A y B. Hacer un algoritmo
que permita:
a) Si A es mayor que 0 y B es mayor que A, R= A * B(por suma sucesiva) Imprimir
b) Si B es mayor que 0 y menor o igual que A, verificar si A es el múltiplo de B(por
restas sucesivas)
c) Imprimir el promedio de los productos calculados
d) Imprimir la cantidad de registros cuyos productos no fueron calculados

Ejercicio nº 25
Sabiendo que un número A es divisible por B si la división es entera, hacer un algoritmo en el
que dado A y B
a) I=2 si A divide a B (b/a)
b) I=3 si B divide a A (a/b)
c) I=4 si A divide a B y B divide a A (a=b)
d) I=5 si no cumplen ninguno de los requisitos anteriores

Ejercicio nº 26
Leer un número N mayor que 100 y hallar e imprimir los números hasta N, que sean impares
pero que no sean múltiplos de 5, Hallar también la suma, el producto, y el promedio de los
números encontrados e imprimir estos valores y además la cantidad de número que cumplieron
la condición

Ejercicio nº 27
Se desea saber cuántas veces un valor negativo va seguido de un valor positivo. Imprimir la
cantidad encontrad. Se introducen N valores uno por vez

Ejercicio nº 28
Desarrollar un algoritmo para sumar dos números A y B de 4 dígitos cada uno, almacenando
cada digo con una posición separada. Los dígitos de A se ubicaran en D4, D3 D2, D1 y los de
B en W4,W3,W2,W1 las respuestas se deben dar en las posiciones, A4,A3 A2,A1
respectivamente

Ejercicio nº 29
Leer un número entero de 5 cifras e imprimir las centenas

Ejercicio nº 30
Se introduce una fecha en la variable F (año,mes,dia) en una variable numérica de 6 digito,
imprimir en forma separada año, mes y día Ejemplo
I= 851221… Año = 85, Mes = 12, Día = 21

Ejercicio nº 31
Hacer un algoritmo que describa el proceso siguiente. Se leen 2 valores de 4 dígitos a la vez.
Calcular e imprimir un nuevo número que consiste en los 2 dígitos de mayor orden de la
primera cantidad y los 2 de menor orden de la segunda cantidad colocados uno a continuación
de otro. Ej.

Num 1=1234 – Num 2=5423 – resultados=1223

Ejercicio nº 32
Los campos: Numero de articulo-precio notario-Existencia-Stop mínimo-Valor de existencia.
Corresponden a cada registro de un archivo de stop. Se necesita un listado de todos los
artículos que reúnan las siguientes condiciones:
a)
b) Que la existencia sea igual o menor al stop mínimo
c) Que el valor de la existencia sea distinto al valor de multiplicar la existencia por el
precio unitario
Al final imprimir la cantidad de registro que cumplió alguna de las condiciones

Ejercicio nº 33
Calcular e imprimir la suma y el producto de los números enteros que pertenezcan al intervalo
abierto (M……N)

Ejercicio nº 34
Desarrollar un algoritmo que imprima la suma de 100 + 98 + 96 +…… 40

Ejercicio nº 35
Se tiene un archivo de T registros, cada uno con la variable x. Calcular su F (x)
correspondiente y luego imprimir X y f(x) sabiendo que:
2
F(x) = x - x Si es mayor que 5
F(x)= 71 Si es mayor o igual a 5 y menor o igual a -2
F(x)= x + 10 Si x es menor que -2

Leer un numero N y asignarle a la variable C un valor igual a 1 si N es un cubo perfecto; sino


asignarle a C es valor 0
Obs.: Se dice que un numero es un cubo perfecto si existe un numero x tal que el cubo de x sea
igual al número. Repetir el proceso M veces

Ejercicio nº 37
Se dice un entero positivo N mayor que 1 es un número primo si los unicos enteros positivos
que lo dividen exactamente son 1 y N
a) Prepare un algoritmo que permita un entero positivo N e imprima el mensaje ES
PRIMA o NO ES PRIMA
b) Imprimir todos los números primos menores o iguales a N

Ejercicio nº 38
Desarrollar un algoritmo que introduzca un número y lo descomponga en sus factores primos.
Imprimir los resultados

Ejercicio nº 39
Leer un numero M y luego encontrar un numero N tal que 2 * N sea menor o igual a M pero
2* (N-1) sea mayor que M

Ejercicio nº 40
Se tienen 50 registros cada una con 3 valores A, B, C Hacer un algoritmo que calcule la sumatoria de
los valores, siendo X

X= A2 + B2 + C2 Si A - B > 0
X= A2 – B*C Si A – B = 0
X= B2 - C- A Si A – b < 0
Ejercicio nº 41
Prepare un algoritmo que admita un valor real e imprima el primer digito decimal a la salida.
Ej. 2.7903 debe imprimir 7

Ejercicio nº 42
Hacer un algoritmo que imprima los N primeros términos de la serie Fibonacci
La serie Fibonacci es: 0.1.1.2.3.5.8.13…

Ejercicio nº 43
Prepare un algoritmo para imprimir los 3 dígitos del extremo derecho de 100 términos de la
serie de Fibonaci, comenzando en el decimo séptimo. Estímese cuántos de estos 100 números
serán pares. Cuantos mayores que 500 y cuantos estarán comprendidos entre 300 y 400

Ejercicio nº 44
A partir d un archivo de empleados, cuyos registros contienen los campos:. Números de
empleado-Sueldos, el directorio de una empresa solicito la confección de una lista que indique
cuantos de sus empleados ganan hasta G 20.000 cuantos ganan entre 20.001 y 30.000, cuantos
entre 30.001 y 40.000 y cuantos más de 40.000

Ejercicio Nº 45
Hay 400 empleados en una empresa y se desea hacer la liquidación mensual. Los sueldos
varían entre Gs. 100.00. Todos los empleados tienen un descuentos fijo del 8% para
jubilación y otro descuento que sigue la siguiente tarifa
:
 Si el sueldo es menor o igual a 25.000, sin descuento extra.
 Si el sueldo es mayor de 25.000 y menor o igual a 50.000, 5% de descuento extra.
 Si el sueldo es mayor a 50.000 y menor o igual a 75.000, 6.5% de descuento extra.-
 Si el sueldo es mayor a 75.000, 7.5 % de descuento extra.
Ejercicio Nª 46
El archivo de empleados de una empresa está gravado en disco, por cada empleado se tiene
un registro con el siguiente formato;
 Numero de empleado – nombre – sueldo – categoría (1=5%, 2=10%) – Sexo (1-2)
Hacer un algoritmo que permita obtener la planilla de liquidación de sueldos a partir del
archivo:
La planilla debe contar con los siguientes datos:
 Numero de empleados – nombre – sueldo - descuento – sueldo neto a cobrar

La liquidación de sueldos se hará conforme a la siguiente norma: sueldo neto cobrar =


Sueldo – descuento (5% ó 10%) del sueldo. El último registro no procesable tiene 0 en el
campo Número de empleados. Al final de desea saber neto total a cobrar mujeres y neto
total a cobrar hombres.

Ejercicio Nº 47
El archivo de alumnos del segundo curso de la carrera de computación de la UNA. Por cada
alumno se tiene un registro con el siguiente formato:
Numero de alumno- nombre – puntaje de ingreso – promedio de calificaciones de primer
curso

Imprimir el número de alumno y nombre del que tuvo menor puntaje, si hay más de uno
considerar el último

Ejercicio Nº 48
Se introduce al computador la información referente a los libros de una librería, cada
registro tiene la siguiente información: código del libro, descripción, precio unitario,
demanda mensual, existencia, autor. Se desea un listado de los libros que cumplan con
algunos de los siguientes requisitos:
a) EL precio unitario es menor o igual a 1500, si es mayor, que su demanda
mensual sea mayor que 30
b) La existencia es menor que 15 o, si es mayor o igual que la demanda sea mayor
que 25.-

El último registro tiene código del libro negativo. En el listado deben figurar el nombre del
libro, el autor, la existencia, el precio unitario y la demanda mensual

Ejercicio Nº 49
El archivo de alumnos que se han presentado a los exámenes de ingresos en la facultad, está
gravado en disco y por cada alumno se tiene un registro:

Numero de alumno- nombre –Aritmética y Álgebra – Geometría y Trigonometría -


Castellano – Test de aptitud

Los puntajes por materia van de 1 al 100. Hacer un algoritmo para imprimir los siguientes
puntos:

a) Promedio de puntaje por cada alumno


b) Promedio general de Castellano
c) Si alguien obtuvo el máximo puntaje en el test, imprimir el mensaje HUBO
MAXIMO PUNTAJE
d) El nombre del alumno que tuvo el menor puntaje en trigonometría, si hay mas de
uno considerar el ultimo aparecido

Ejercicio Nº 50
Se dispone de un archivo que posee los siguientes campos en cada registro: numero de
empleado – nombre – sexo (1- Fem.; 2 mas) -sueldo – cantidad de hijos. Utilizando el
archivo descripto, hacer un algoritmo que permita:
 Listar numero de empleado – nombre – sueldo de los hombres con sueldos menor o
igual a Gs. 40.000
 Listar número de empleados – nombre – sueldo – cantidad de hijos de las mujeres
con sueldo mayor a Gs. 70.000 y con más de dos hijos.
 Buscar e imprimir el nombre y sueldo del empleado con sueldo mayor y contar e
imprimir la cantidad de hombres y de mujeres empleadas en la empresa

Ejercicio Nº 51
Se tiene en un archivo, un registro por cada empleado de una empresa. Cada registro tiene
los siguientes campos: numero de empleados – nombre – sexo - (1- mas; 2 Fem.) - sueldo
– descuento – sueldo neto. Hacer un algoritmo que permita informar:
 Cantidad e hombres con sueldos neto mayor a Gs. 50.000
 Si hubo algún hombre con sueldo neto negativo
 Si hubo mujeres con sueldo mayor a Gs. 100.000

Ejercicio Nº 52
Una empresa tiene grabado en disco el archivo de sus empleados, por cada uno tiene un
registro con el siguiente formato: Nombre – sexo – edad – cantidad de hijos – sueldo. Se
desea:
 Imprimir el nombre de todos los varones menores de 25 años con mas de 1 hijo o
sueldo menor a Gs. 45.000
 Imprimir cantidad de mujeres con hijos
 Cantidad de hombres con 3 hijos y sueldo menor o igual a Gs. 50.000 o mayor de
40 años.
 Total de hombres, total de mujeres, total de empleados.

Ejercicio Nº 53
Leer 3 variables A, B y C que vienen en un archivo de 2.000 registros, verificar las
siguientes condiciones:
 A debe ser igual a 50 o menos
 B debe ser por lo menos igual a 5 y no mas de 8
 C debe ser por lo menos 4

- Si se cumplen las tres condiciones asignarle 100 a X


- Si se cumplen las condiciones B y C, asignarle 80
- Si solo se cumple B, asignarle 70
- Si se cumplen A y B, asignarle 90
- Si no se cumple B, asignarle 55

Imprimir A, B, C, y el resultado.

Ejercicio Nº 54
Los registros de un archivo stock, tienen los siguientes campos: Fecha (día, mes, año) –
número de orden – número de almacén – número de partida – existencia – número de
proveedor.
Se desea validar los campos citados, grabando el archivo de registros validos con los
registros correctos e imprimir los incorrectos.-

Reglas de validación:
- Fecha: que sea una fecha lógica
- Numero de orden: debe ser igual o mayor que 10
- Número de almacén: de 1 hasta 5
- Existencia: debe ser mayor que el stock mínimo
- Número de proveedor: puede ser 1, 2, 3, 9, 10, 11.-

Ejercicio Nº 55
Validar los campos del archivo de transacciones de stock cuyos registros tienen los
siguientes campos: número – ubicación – almacén – depósito – existencia.-

Validación a realizar:
- Número de artículo: debe ser mayor que 1000 y menor o igual a 200
- Ubicación: debe ser igual o mayor que 0 y menor o igual a 500
- Almacén: si el campo anterior es del 0 al 200, este campo debe ser del 0 al 250; si el
campo anterior es del 201 al 500, este campo debe ser del 400 al 450.-
- Depósito: si el campo anterior es del 0 al 200, este campo debe ser igual a 1; si es
del 400 al 450, este debe ser igual a 2.
- Existencia: debe ser mayor que el stock mínimo y menor o igual que stock máximo.

Los registros que no cumplen las condiciones específicas se imprimirán, los correctos se
grabarán en un archivo de transacciones correctas.-

Ejercicio Nº 56
Se desea seleccionar detectives para una misión internacional, para lo cual se cuenta con un
archivo de agentes, cuyos registros tienen campos codificados de la siguiente manera: sexo
(1-fem, 2-masc). Estudios (1- universitario, 2-especialización, 3-otros), estado civil (1-
soltero, 2-casado, 3-divorciado, 4-viudo). Nombre, Sueldo, Antigüedad, Idiomas (1-10). El
personal apto para dicha misión debe reunir los siguientes requisitos:

a) Si es del sexo femenino:


Edad: 20 a 35 años
Estudios cursados: universitario o especialización
Idioma. Aceptar solamente los códigos de 1 al 3
Estado civil: 1, 2, 3, 4.-
Sueldo básico: no más de Gs. 1.000
b) Si el sexo es masculino:
Edad: 22 a 45 años
Estudios cursados: universitario o especialización si tiene por lo menos 3 años de
antigüedad.
Idioma: aceptar los códigos del 1 al 3
Estado civil: si es casado aceptar, si no tiene más de dos hijos
Sueldo básico: No más de G. 1.500
Imprimir todos los registros que reúnan las condiciones expuestas.

Ejercicio Nº 57
Si tiene un lote de N registros, cada uno de ellos con datos de las 11 notas finales de los
alumnos de un colegio y el nombre de los mismos. Se desea calcular el término medio que
le corresponde e imprimirlo en un listado que contenga:
Nombre – Notas Finales – Término medio – Repetir el proceso hasta terminar el archivo

Ejercicio Nº 58
Preparar un informe sobre existencia de artículos. Para eso se dispone de un archivo
maestro de stock, donde cada registro tiene entre otros campos: Nº de identificación del
artículo y existencia
Escribir avisos en caso de que:

a) Existencia = 250 … Aviso: pedir dentro de una semana


b) Existencia < 250 … Aviso: punto crítico – pasar pedido
c) Existencia = 0…. Aviso: existencia agotada

Cada vez que haya un mensaje debe imprimirse además el número de identificación del
artículo.

Ejercicio Nº 59
Una empresa tiene un archivo secuencial creciente por número de empleado, de todos los
empleados. En cada registro hay entre otros campos: numero de empleado, nombre y un
código que puede ser 1, 2 ó 3 (casado, soltero, otros). Se desea listar el número y nombre de
cada empleado indicando además si es casado, soltero u otro: teniendo en cuenta:

- Si un registro del archivo está fuera de secuencia se da un mensaje de error en la


impresora y se lo ignora.
- Si el código de un registro no es uno de los indicados se da otro mensaje y se ignora
el registro para el listado aunque se tiene en cuenta su Número de empleado para la
secuencia.

Ejercicio Nº 60
Sabiendo que en la Facultad hay 1.000 alumnos y que en el archivo se registran los
siguientes datos por cada alumno: numero de alumno – nombre – sexo – edad – curso
Hacer un algoritmo que permita encontrar el alumno de sexo masculino de mayor edad y el
de sexo femenino de menor edad. Imprimir los siguientes datos de esos alumnos:

- Número de alumno.
- Edad
- Curso
- Código del sexo: 1-masc. 2- Fem.

Ejercicio Nº 61
Se tienen en un archivo los datos referentes a las ciudades del país, cada registro contiene.
Código de la ciudad – nombre de la ciudad – distancia a asunción en km.
Hacer un algoritmo que permita encontrar cual es la ciudad más alejada y cual es la más
cercana a Asunción. Al final imprimir el nombre de las ciudades y las distancias de las
mismas a Asunción. El último registro no procesable tiene 0 en el campo Código de
Ciudad. En la búsqueda de esas ciudades no se debe tener e en cuenta Fdo. De la Mora ni
Lambaré, cuyos códigos son 1 y 7 respectivamente

Ejercicio n° 62
Se tiene un conjunto de registros, cada uno de ellos con los siguientes datos:

 Número de la persona – Monto que debe abonar (M1) – Monto que entre (M2).
Desarrolla un algoritmo que verifique el proceso a seguir para dar el vuelto e
imprima los siguientes datos del registro.
 Número de la persona – M1 – M2 – Vuelto

Al final se desea la sumatoria de los montos abonados. Se deben prever posibles errores
(M2 < M1, etc.)

Ejercicio Nº 63
Se tiene un conjunto de registros con la siguiente información: Clave – Cantidad – Nombre.
Se desea conocer e imprimir para cada cliente el importe correspondiente que resulta de
cada registro, que será calculado según su clave de la siguiente manera:

- Clave 1:1= 0.90 * C


- Clave 2:1= 0.94 * C
- Clave 3:1= 0.96 * C

Se desea al final la cantidad de clientes por clave, a la suma de los importes por clave y el
total final de todo el informe
El último registro tiene cero en el campo clave.
Ejercicio N° 64
Desarrollar un algoritmo, con N registros: cada uno de ellos con una valor X. desarrollar
un algoritmo que indique se cada X es múltiplo de 2 y de 3 e imprima el mensaje: “es
divisible por 2 y 3”. Si no es divisible por ambos verificar si es divisible por 5 e imprimir
un mensaje similar en este caso. Al final imprimir la cantidad de registros procesados que
cumplieron con casa una de las alternativas.

Ejercicio N° 65
Desarrollar un algoritmo que simule un juego de dados. En este juego, el jugador tira dos
dados. (Representados por A y B). Si en su primera jugada la suma de los valores de los dos
dados es 7 o 11 el jugador que tira gana; pero si la primera tirada es 2, 3 ó 12 él pierde: en
los otros casos (4, 5, 6, 8, 9 ó 10) el jugador debe seguir tirando hasta que:

 Complete la suma de los dos dados el valor original de la primera tirada (4, 5, 6,
8, 9 ó 10) con lo cual gana 0
 Complete la suma de los dos dados el valor 7 con lo cual pierde

El algoritmo debe generar dos números aleatorios (A y B) entre 1 y 6 cada uno de ellos, por
medio de la funcion RAM (7,6). EJEMPLO: A=RAM (1, 6) crea un valor entre el uno y el
6 y la almacena en la variable A: sumar ambos valores e imprimir el resultado acompañado
de los mensajes correspondientes [“Ud. Gana”, “Usted pierde”, “Tire de nuevo”, etc.]

Ejercicio Nº 66

Desarrollar un algoritmo que permita solucionar el siguiente algoritmo: Se introducen


varios números en forma secuencial en la variable N. Verificar que los mismos sean
correlativos a partir de un Valor X (leído al inicio del proceso). Iniciar el control solo a
partir de que el valor N sea mayor o igual a X. A partir de ahí en caso que el numero nos
correlativo con el anterior, imprimir el mensaje “Numero fuera de secuencia”, y el valor
correspondiente. Para concluir, imprimir la cantidad de valores válidos leídos.

Ejercicio N° 67
Contando con el uso de la función (ENT A): Se desea un algoritmo que lea un número A de
10 cifras y determine e imprima la cantidad de decimales que tiene, sabiendo que al menos
una de las cifras es entera. Luego se necesita que el valor de A sea convertido a un número
entero redondeándolo por la regla que dice que una cifra mayor o igual a 5, en los
decimales, aumenta en 1 la cifra inmediata superior (tomar cuidado con el aumento de las
cifras enteras). Colocar el valor entero en la variable B e imprimirlo como sigue en los
Ejemplos.
A= 32.54892212 obtiene B= 33 – Cantidad de decimales 8
A= 2.358654545 obtiene B= 2 – Cantidad de decimales 9
A= 325489.8212 obtiene B= 325490 – Cantidad de decimales 4

Ejercicio N° 68
Se tiene un archivo de las mercaderías de una farmacia, cuyo registro tiene los siguientes
datos:
CODPRO Código del producto
MONPRO Monto del producto
TIPMED Tipo de medicamento (1= Pastillas, 2= Jarabe, 3= Pomada, 4= Otros)

El fin del archivo esta dado por un registro cuyo CODPRO = 0 que no debe ser procesado.
Se solicita un algoritmo que detecta e imprima los datos de registro que cumplan con la
siguiente condición: Que los medicamentos tengan su código de producto entre 1.000 y
5.000 inclusive y el monto del Producto sea mayor a 35.000
Además se desea conocer los datos de los medicamentos cuyo tipo de medicamento igual a
4. Indicar al final del proceso cuantos registros cumplieron con todas las condiciones
solicitadas.

Ejercicio Nº 69
Se tiene un ARCHIVO de Stock de mercaderías, cuyos registros contienen los siguientes
campos CÓDIGO, DESCRIPCIÓN, CANTIDAD, PRECIO, desarrollar un algoritmo que:

a) Imprima el código y la descripción del artículo que tenga el stock (Cantidad) menor
a 0. Al finalizar imprimir.
b) La cantidad de registros que cumplieron la condición
c) Imprimir el valor total de los productos que existen (Sumatoria de CANTIDAD *
PRECIO)

Ejercicio Nº 70
Desarrollar un algoritmo, que permita la lectura de tres valores numéricos. Determina cual
de ellos es el mayor y la diferencia existente entre el mismo y el de menor valor. Imprimir
los valores. Repetir el proceso hasta que se ingrese 0 en el primer valor.

Ejercicio Nº 71
Se cuenta con un archivo de datos que tiene las edades de los alumnos de un curso, se sabe
que el mismo son 60 en total realizar un algoritmo que determine el promedio de edades del
curso.
Ejercicio Nº 72
Desarrollar un algoritmo que calcule la sumatoria de 25 números consecutivos, ingresados
de uno en uno y si el resultado es mayor a 500 imprimir un mensaje al respecto, caso
contrario ignorarlo.

Ejercicio Nº 73
Desarrollar un algoritmo en pseudocódigo, que permita comprobar se es primo o no, un
número mayor o igual que la unidad, ingresando por teclado. Imprimir el resultado

Ejercicio Nº 74
Desarrollar un algoritmo, que permita la lectura de tres valores numéricos, determine si los
mismos son iguales o diferentes, en caso que sean iguales imprimir un mensaje, caso
contrario la sumatoria de los tres, repetir el proceso hasta que se ingrese 0 en el primer
valor,

Ejercicio Nº 75
Desarrollar un algoritmo que lea los datos relativos a las medidas de un terreno, calculando
el área del mismo (Área= (Largo x Ancho)/2), imprimiéndole los resultados si son mayores
a 550 m2. En Caso contrario indicar por medio de un mensaje que los valores no son
suficientes. Culminar el proceso cuando sea ingresado el valor 999 en una de las variables.

Ejercicio Nº 76
Desarrollar un algoritmo que permita el ingreso de 50 números de tres cifras, todos
diferentes y reales, y determine aquellos que son capicúas, es decir tiene el mismo valor
leído de atrás para adelante o viceversa. Ejemplos: 323, 525, 222, etc.
En caso de que existan “Imprimirlos”, al final imprimir la cantidad de valores capicúas
encontrados.

Ejercicio Nº 77
Se cuenta con un archivo de datos que tiene los nombres y las notas de Taller I de los
alumnos del curso, no se sabe la cantidad exacta del mismo. Realizar un algoritmo que
determine los nombres de los alumnos con la mejor y pero nota, además de la diferencia
entre ambas y por ultimo el promedio del curso.

EjercicioNº 78
Desarrollar un algoritmo en pseudocódigo que permita procesar los datos del archivo de
notas de los alumnos de la Facultad POLITECNICA en la materia Taller I (Materia = 11),
solo de los que rindieron el Primer Parcial (Materia = 111). El proceso deberá determinar
los NOMBRES de los alumnos con mayor y mejor puntaje, el promedio de la materia y el
rango (diferencia entre el mayor y el menor puntaje). El archivo de notas tiene los datos de
todos los exámenes de todas las materias de la facultad, por lo tanto deberán ser procesados
dolo los solicitados en este enunciado, los datos del archivo son: Nro alumno, nombre,
Materia Examen, Nota. El fin del archivo esta marcado por el registro con valor Nro
Alumno = 0, que no debe ser procesado.-
Ejercicio Nº 79
Elaborar un algoritmo que permita determinar en el archivo Funcionarios de la empresa
SOCRATES LTDA. La cantidad total de empleados con un salario mayor a 500.000 gs. Los
nombres de aquellos funcionarios de sexo femenino son salario inferior al mínimo (El
salario mínimo debe ser leído al inicio en las variables SALMIN). El archivo cuenta con los
siguientes datos. Nombre del Funcionario, Sexo (F/M) y el monto del salario. Finalmente
imprimir el promedio de salarios de la empresa.
Ejercicio Nº 80
Desarrollar un algoritmo que permita la validación de los campos del archivo de existencias
de mercaderías donde cada registro tiene los siguientes datos: Código de material (debe ser
mayor a 5.000 y menor a 10.000) Descripción (Distinto de blanco), Cantidad mínima
(mayor que 70) Existencia (mayor que 0)
En caso que la existencia sea menor o igual que la cantidad mínima imprimir “URGENTE
– Comprar inmediatamente” y considerarlo como un error.
Si los valores encontrados en los campos no coinciden con los permitidos, imprimir un
mensaje de error, indicando en que campo fue detectado el error.
Imprimir al final la cantidad de errores detectados por cada campo, y el total de errores del
archivo.
VECTORES
Ejercicio Nº -.1
Crear un vector con los datos de un archivo. Cada registro tiene una variable numérica X Al
final imprimir los elementos del vector.

Ejercicio Nº -.2
Crear un vector según las siguientes reglas: Cargar 1 en (1). 2 en V (2). …N en V(N)

Ejercicio Nº -.3
Se tiene en memoria un vector A de longitud N. Hacer un algoritmo que imprima todas las
posiciones de los elementos de A que sean iguales a una X leída.

Ejercicio Nº -.4
Diseñar un algoritmo para crear un vector V. con todas las edades de los alumnos del cuarto
curso de Análisis. Desde el vector calcular el promedio de edades.

Ejercicio Nº -.5
Dado un vector de N elementos, hacer un algoritmo que permita hallar el mayor y el menor
elemento del vector con sus posiciones respectivas.

Ejercicio Nº -.6
Leer 2 vectores A y B, Ambos de longitud N y luego calcular e imprimir:
El vector C que sea la suma de A y B, sabiendo que cada C (i) – A (i) – B (i).
Suponer que A y B son de dimensiones M y N Respectivamente.

Ejercicio Nº -.7
Analizar si dos vectores leídos A y B son iguales sabiendo que olas dimensiones de A y B
son N y M respectivamente.

Ejercicio Nº -.8
Se mantiene en vector A de N elementos. Hacer un algoritmo que permita obtener la
sumatoria de todos los elementos ubicados en posiciones pares.

Ejercicio Nº -.9
Leer un vector con N componentes y luego hallar la suma y el promedio de los
componentes que están en los lugares pares y las que se encuentran en posiciones impares.

Ejercicio Nº -.10
Hacer un algoritmo que permita contar los elementos del vector V que sean múltiplos de 3
y de 5 también se desea obtener el promedio de los elementos ubicados en posiciones
impares.

Ejercicio Nº -.11
Se tienen en memoria un vector A de N elementos, hacer un algoritmo para que a partir de
A se cree otro vector B. tal que los elementos de B sean los elementos de A mayores que 5.

Ejercicio Nº -.12
Se tiene en memoria un vector V de N elementos. Hacer un algoritmo que permita
encontrar e imprimir la mediana. Mediana es elemento del medio central, si N es impar. Si
N es par la mediana es la semisuma de los dos centrales.

Ejercicio Nº -.13
Se tiene en memoria un vector A de N elementos y otro vector B de N-1 elementos. Hacer
un algoritmo que permita formar un vector C con los elementos de A y B tal que:
C (i) = A (i + 1) + B (i).

Ejercicio Nº -.14
Se tiene en memoria un vector B de tamaño N. hacer un algoritmo que permita crear un
vector a partir de B tal que cada A (x) = B(x) – el mayor elemento de B ( ).
Ejercicio Nº -.15
Crear un vector tal que cada elemento contengan un mes del año sabiendo que por cada
alumno se introducen los datos correspondientes a su fecha de nacimiento en el formato D.
M. A. Hacer un algoritmo que permita imprimir la fecha de su nacimiento en el mismo
formato pero indicando el nombre del mes.

Ejercicio Nº -.16
Se tiene en memoria un vector B cuyos elementos son solamente 1 y 0 (vector binario),
también se tienen en memoria los vectores I y M todos del tamaño N. Hacer un algoritmo
que permita crear un vector A tal que:
A (x) = I (x) si B (x) 0
A (x) = M (x) si B (x) 1

Ejercicio Nº -.17
Se tiene en memoria un vector A de longitud N. Hacer un algoritmo que permita crear los
vectores B C y D tales que:
B tenga los elementos de A distintos de 0
C tenga los elementos de A que sea pares
D tenga los elementos de A que no cumplan las condiciones anteriores.

Ejercicio Nº -.18
Una empresa desea minimizar el número de billetes que necesita para pagar a su personal.
Hacer un algoritmo que resuelva el problema.

Ejercicio Nº -.19
Dado un vector A de N elementos (N es par) Hacer un algoritmo que permita crear un
vector B tal que la primera mitad de B sea cada elemento de la primera mitad de A
multiplicado por el mayor elemento de A y la segunda mitad de B sea la segunda mitad de
A multiplicada por el menor elemento de A.

Ejercicio Nº -.20
Sabiendo que se tiene un vector A de N elementos. Hacer un algoritmo que permita
desplazar cada elemento a la posición anterior.

Ejercicio Nº -.21
Sabiendo que se tiene en memoria un vector de tamaño N (N es par) Hacer un algoritmo
que permita intercambiar todos lo elementos de la primera mitad con los elementos de la
segunda mitad.

Ejercicio Nº -.22
Se tiene en memoria un vector A de tamaño N, hacer un algoritmo que permita ordenar sus
elementos de forma creciente.

Ejercicio Nº -.23
Desarrollar un algoritmo que invierta un vector de dimensión N:
en un nuevo vector
en un mismo vector

Ejercicio Nº - 24
Hallar la unión de A y B en un nuevo vector C. de manera que el vector C. no tenga
elementos repetidos.

Ejercicio Nº - 25
Se lee un vector A de dimensión N, comprimir el vector leído eliminando los ceros y
corriendo los restantes elementos hacia la izquierda cerrando el resto del vector. Imprimir el
vector restante.

Ejercicio Nº - 26
Dado un vector A de N elementos hacer un algoritmo que permita hallar la o las modas. El
vector está ordenado en forma creciente. La moda es el elemento que más veces se repite.
Si no existe moda imprimir el mensaje correspondiente. Los elementos van del 0 al 9

Ejercicio Nº - 27
Se tiene un vector de N elementos. Hacer un algoritmo en el cual se ordene el vector
ascendente de la siguiente manera: en primer lugar los números pares, ordenados éstos se
deben ordenar los impares, también en orden ascendente a continuación de los
componentes pares ordenados. Todo esto se hace en el mismo vector sin usar vector auxiliar
alguno.

Ejercicio Nº - 28
Se tiene en memoria 2 vectores A y B, de N componentes. Los elementos de A están
ordenados en forma ascendentes y son todos diferentes. Leer un número P. Hacer un
algoritmo que busque en A el elemento más próximo a P e imprima el elemento de B que
tenga el mismo índice que el elemento de B ubicado en la posición menor.

Ejercicio Nº - 29
Sabiendo que se tiene en memoria los vectores P. A. M de tamaño H. J. I. respectivamente.
Hacer un algoritmo que permita crear un vector Z. de tamaño de tal manera que P sea la
primera parte de Z. A este a continuación y M sea la última parte.

Ejercicio Nº - 30
Se tiene en memoria un vector A de N componentes. También se tienen las variables L y M.
tal que L, N y M. L Hacer un algoritmo que permita convertir a cero todos los elementos de
A pares comprendidos entre A (m) y A (n) y que convierta a unos todos los elementos
impares comprendidos entre A (I) y A (L) incluyendo los extremos.

Ejercicio Nº - 31
Leer un vector B de N componentes y un número entero A y encontrar el menor elemento
del vector que sea mayor el A leído.

Ejercicio Nº - 32
Hallar el producto escalar de dos vectores leídos si:
ambos son de longitud N
N es de dimensión M y B es de dimensión N

Ejemplo:
A = (1,2,3)
B – (4,2,1,3,8)
Producto escalar (1*4) + (2*2) + (3 4) + 00*3+ 0*8)

Ejercicio Nº - 33
En una ciudad se realizó una encuesta tratando de determinar la cantidad de habitantes
adeptos a cada una de las religiones. A cada habitante le corresponde un registro que tiene
el siguiente código.

Católica
Luterana
Judía
Otras
Ninguna
Fin
Determinar la cantidad de habitantes adeptos a cada una de las religiones y el total de
habitantes de la ciudad.

Ejercicio Nº - 34
Se toma u n examen que consta de 25 preguntas, cada una de las cuales tiene 3 posibles
respuestas, habiendo solo una correcta. Cada registro tiene el Número de alumno y las 25
respuestas que dio (ordenadas según el número de preguntas)
Hacer el algoritmo de flujo para obtener un listado que contenga Número de alumnos y la
cantidad de respuestas correcta que dijo.
Entran como datos:

Número de alumnos que se presentaron a la prueba.


Un vector que contiene las respuestas correctas que sirve para corregir los exámenes (las
respuestas correctas vienen ordenadas por número de preguntas)
Los registros con las respuestas de los alumnos, uno por alumno.

SOLUCIÓN

Análisis de datos
Utilizando el nombre (RESP) para identificar el archivo de respuestas de los alumnos
observamos que tiene la siguiente estructura y características:

Existe además un vector (COR 25) que debe ser cargado al inicio del algoritmo, por medio
de una lectura previa y que contiene las respuestas correctas a las preguntas del examen. Se
debe considerar y dar oportunidad al operador de verificar y corregir las respuestas a ser
insertadas, por lo cual hay una subrutina de validación para tal efecto.

Incógnita
Este es el punto más importante de cualquier ejercicio de algorítmica, ya una identificación
efectiva de la incógnita es casi el 50% del ejercicio.
RESP Archivo de respuestas

Nro: Código del alumno


Res 25 Vector con 25 respuestas del alumno

Fin del archivo = N alumnos – Control de calidad

En este caso se podría resumir con la siguiente interpretación;


Listado de alumnos con los siguientes datos: Código del alumno (Nro.), cantidad de
respuestas correctas

Pseudocódigo
Una vez que se cuenta con los datos, características e incógnitas, se puede dar inicio al
desarrollo de la solución en pseudocódigo utilizando las estructuras y definiciones de esta
herramienta, en este caso particular el resultado puede tener la siguiente presentación.

Ejercicio Nº 35
Leer un vector A de N componentes y crear e imprimir un Vector B, que este compuesto por
todas las componentes del Vector A que no estén repetidas

Ej.: A = (4, 1, 0, 2, 1, 2, 0, 01, 2,3)


B= (4,3)

Ejercicio Nº 36
Se tienen dos vectores A y B cada uno de 100 componentes enteras positivas. Comparar las
componentes correspondientes de A y de B (se llama así a las componentes que ocupan las
mismas posiciones, por Ej.: A(1) con B(15)… A(100) con B (100)
Crear Vectores enteros llamados SEMI, MAYO, MENO, COCI y RESI donde cada:

SEMI (i)= semisuma de A (i) y B (i)


MAYO (i)= mayor entre A (i) y B (i)
MENO (i) = menor entre A (i) y B (i)
COCI (i)= cociente de A(i) / B (i)
RESI (i)= residuo de A(i) y B (i)

Imprimir al final para cada numero de 1 al 100, los correspondientes A (i), B(i), SEMI (i),
MAYO(i), MENO (i), COCI (i), RESI (i)
Ejercicio Nº 37
Se desea formar un vector cuyos dos primeros elementos sean los números dados (M y N) y
cada elemento siguiente sea el resto de la división de los dos anteriores. La secuencia termina
cuando un elemento de la misma fuera cero. Imprimir el vector, la dimensión y el elemento del
vector que precede al cero. Este algoritmo es el algoritmo de Euclides para hallar el M.C.D de
2 números M y N, siendo M.C.D el elemento del vector que precede al cero.-

Ejercicio Nº 38
Se lee un vector K, de dimensión m y un vector L, de dimensión N, cada uno de los cuales
contiene números enteros positivos diferentes.
a) Almacenar en otro vector la intersección de los vectores K y L, o sea aquellos
elementos que están tanto en K con en L.
b) Almacenar en otro vector la unión de los vectores K y L, o todos aquellos elementos
que están en K, o en L, o en ambos.
c) Almacenar en otro vector la diferencia simetrica de los vectores K y L, o sea aquellos
elementos que estan en K o en L, pero no en ambos.

Ejemplo.
K= (1, 3, 2, 5) L= (1, 5, 4, 7, 8, 3)

Ejercicio Nº 39
Leer en N un numero de K cifras. Formar el numero más grande y el más pequeño que pueda
obtenerse al permutar sus cifgras dígitos.
Imprimir el número N leído, el número mas grande y el mas pequeño encontrado.
Repetir el proceso 1000 veces, leyendo K y N cada vez.

Ejemplo
K= 5 N= 31270 (5 cifras)

Numero leído = 31270


Mayor encontrado = 73210
Menor encontrado = 01237

La impresión debe hacerse en una variable única


Ejercicio Nº - 40
Leer un vector A de dimensión N e imprimir el vector A ordenado de la siguiente manera:
El menor elemento del vector colocarlo en la posición 1 del vector A, el menor de los restantes
N-1 elementos colocarlo en posición N, el menor de los restantes N-2 elementos colocarlos en
posición 2, el menor de los restantes N-3 elementos colocarlo en la posición N-1 y asi
sucesivamente.

Ejemplo: vector = (12.3.4.5.-1.20)


Vector ordenado = (-1.4.12.20.5.3)

Observación: no puede utilizar vector auxiliar.

Ejercicio Nº- 41
Leer un vector A de N componentes y crear el vector de N componentes en donde cada:

B(i) = 1 para 1 = 1
B(i) = sumatoria de los cuadrados de los elementos del vector desde la posición 1 hasta la i-1
Ejemplos: B(i) = 1
B(2) = A(1)^2
B(3) = A(1)^2+A(2)

Ejercicio Nº - 42
Leer un vector A de N componentes y calcular los vectores B y cada uno de N componentes
donde:
-cada B (i) = A(i) – mínimo de A
-cada C (i) = máximo de A – A(i)

Ejercicio Nº - 43
Leer un vector X de 50 componentes y calcular el vector DX donde cada DX(i) =X(i+1)-X(i)

Ejercicio Nº - 44
Calcular la media y la desviación estándar de lo0s elementos de un vector X de N
componentes, sabiendo que: media = sumatoria de los elementos de vector/ cantidad de
elementos.
Para hallar la desviación estándar realiza los siguientes pasos:

a) hallar la media
b) hallar la sumatoria de los cuadrados de las diferencias resultantes de media de cada uno
de los elementos del vector
c) dividir dicha sumatoria entre la cantidad elementos del vector
d) hallar la raíz cuadrada de dicha división, el resultado será desviación Standard.
Ejercicio Nº - 45
Se lee un vector de dimensión N, conteniendo cada uno de los componentes números
naturales de 7 dígitos como máximo. Imprimir las posiciones del vector que ocupan los
elementos que son capicúas. Se entiende por capicúa el conjunto de dígitos que leyendo en
cualquier sentido izquierda derecha o derecha izquierda representa el mismo número.

Vector leído:

232 45 1221 1 11111 45554

Vector impreso:

1 3 5 6

Ejercicio Nº - 46
Dado el vector ORD(N). Cargado con valores numéricos desarrollar un algoritmo que
permita ordenarlo de menor a mayor (desarrollar la prueba de escritorio con 4 elementos de
valores 1 al 4, verificando el funcionamiento correcto del algoritmo).

Ejercicio Nº - 47
Desarrollar un algoritmo que cargue el vector VEC(N), con datos ingresados por teclado,
verificando que los mismos cumplan con las siguientes condiciones, el primer elemento debe
ser 1, el segundo debe ser 2, y apartir de ese momento cada elemento debe ser igual a la
suma de los dos anteriores, es decir, el tercero debe ser 3, el cuarto elemento debe ser 5, el
quinto debe ser 8, etc…; en caso que el dato ingresado no corresponda a un valor valido
imprimir un mensaje “Dato invalido”. El proceso debe concluir con la carga de N elementos
y luego imprimir el vector cargado y la cantidad de errores detectados.

Ejercicio Nº - 48
Se tiene un ARCHIVO que cuneta con los datos de una empresa de comercialización de
granos, cada registro tiene el siguiente formato:

 NROCOD – Nº de código de grano.


 VEC(5) -vector de cinco elementos, con los resultados de cada teste de calidad del
grano, valores posibles de 0 a 100
 FECACT - Fecha actualización de las pruebas realizadas

Desarrollar un algoritmo que permita calcular el promedio de cada una de las pruebas
realizadas en el total de granos procesados, detectar el tipo de grano con el mayor valor
promedio en los testes realizados y cuales fue su fecha de actualización. Imprimir los
resultados encontrados.

Ejercicio Nº - 49
Dado un ARCHIVO que cuenta con los datos de una empresa de comercialización de aceites,
cada registro tiene el siguiente formato:
 NROCOD – Nº de código del aceite,(1=Cocina – 2=Motor – 3=Común – 4=Superior
– 5=Súper fino)
 VEC(12) – Vector de doce elementos, con los resultados obtenidos en cada tipo de
teste de calidad del aceite, valores posibles de 0 a 50.
 DIAPRU – Día de la realización de cada prueba.
 MESPRU – Mes de la realización de cada prueba.
Desarrollar un algoritmo que permita calcular el promedio de cada una de las pruebas
mensuales realizadas (existen 12 tipos de pruebas posibles), sin importar el tipo de aceite.

Detectar el tipo de aceite con el mayor número mensual de teste realizados y en que mes
ocurrió, imprimir los resultados encontrados

Ejercicio Nº - 50
Desarrollar u algoritmo que permita verificar el orden en que los datos fueron cargados en el
vector VEC(N), de tal forma que vayan colocados ordenadamente de menor a mayor, según
sea par o impar, es decir, los valores pares en las posiciones pares y los impares en las
posiciones impares, cada uno de ellos ordenado en menor a mayor. Si un valor no sigue el
orden indicado, ordenarlo adecuadamente, continuar hasta verificar todo el vector, en caso
que no se hayan detectado errores, imprimir un mensaje indicando que el vector esta
correctamente ordenado: si hubo errores imprimir la cantidad de los mismos. Se sabe con
certeza que los valores pares están en posiciones pares y que los impares están en posiciones
impares, el algoritmo solo debe verificar y corregir el orden ascendente de cada tipo (puede
existir valores repetidos y los mismos deben ser procesados). Ejemplo:

VEC – inicial
1 4 3 2 9 4 7 6

VEC – Final
1 2 3 4 7 4 9 6
Total de errores: 4

Ejercicio Nº - 51
Se cuenta con un archivo que contienen los datos de los alumnos de la facultad politécnica,
de acuerdo a la siguiente estructura:
*CINro, Nombre, Apellidos, Carrera (1=Análisis -2=Electricidad -3=Turismo).Semestre,
cuota (5) [Vectores con el valor mensual a ser abonado durante el semestre]. Fecha (5)
[vector con las fechas de vencimiento, formato AAMMDD, de los pagos a ser realizados en
el semestre]. MAT (8) [Vector con los códigos de materias en la cual el alumno se inscribió
en el semestre]. ASI (8) [Vector con los porcentajes de asistencia de cada materia en la cual
el alumno está inscrito]. LIB (5) [vector que indica los códigos de libros que el alumno
adeuda].

Se desea averiguar sobre los alumnos habilitados para lo cual se ingresa la fecha del día
HOY (formato AAMMDD) y se solicita un listado que contenga por cada alumno la
información indicando en que materia está habilitado, para lo cual se controlara que no
adeude cuota alguna a la fecha, que tenga asistencia mayor o igual a un 75% y que no adeude
libro de la biblioteca. Al final indicar la cantidad de alumnos no habilitados en una o más
materias.
Observación: Para que una cuota este vencida la fecha de vencimiento debe ser mayor a la
fecha del día.

Ejercicio Nº - 52
Se cuenta con un vector VEC(N) cargado con valores enteros y positivos, desarrollar un
algoritmo que separe los valores pares de VEC() en el vector PAR(M) y los impares de
VEC() en el vector IMP(P), determinar si PAR() e IMP() tienen la misma cantidad de
elementos y en caso afirmativo crear un vector DIF() con la diferencia de los elementos de
PAR() – IMP(), si la cantidad de elementos de PAR() e IMP() es diferente, crear el vector
PRO() con el producto de los elementos hasta completar con los valores del vector con
menor cantidad de elementos. Imprimir todos los resultados.
Ejercicio Nº - 53
Tomando un vector A de N componentes, que esta cargado con valores numéricos, crear a
partir del mismo otro vector B que contenga solo los valores repetidos de A.

Ejemplo:
Vector A
4 1 0 2 1 2 0 0 1 2 3

Vector B creado
1 0 2

Ejercicio Nº - 54
Desarrollar un algoritmo, que permita insertar ordenadamente en un vector una serie de
valores leidos secuencialmente, el vector esta ordenado de mayor a menor, es decir
decrecientemente. Los valores a insertar deben ser introducidos encontrando la posición
adecuada para ello, sin que se altere el orden decreciente, para ello se deben transportar todos
los elementos, a partir de la posición encontrada para la inserción, de izquierda a derecha,
eliminando el ultimo elemento del vector. En caso que el numero ingresado ya exista
ignorarlo y el proceso finaliza cuando se introduce el valore cero, el cual no debe ser
procesado. Todos los números son enteros.
Ejemplo:
V(n)

55 44 33 22 11
Valores introducidos = 42,33,0
V(n)
55 44 42 33 22
Al finalizar el proceso imprimir la cantidad de valores ignorados y el vector final

Ejercicio Nº - 55
Dados los vectores VEC(n) y CONT(m) y generar un tercer vector RESU(p) con los valores
correlativos ordenados. Para ello considerar que los vectores CONT y VEC están ordenados
y completos con números enteros. En caso que un numero se repita en ambos vectores
ignorarlo. Todos los números son enteros.
Ejemplo:
VEC(n)
12 14 23 24 28

CONT(m)

11 14 15 23 29

RESU(p)
11 12 15 24 28 29

Al finalizar el proceso imprimir la cantidad de valores ignorados y el vector final.

Ejercicio – 56
Se cuenta con N valores, distribuidos de la siguiente forma. La mitad de los mismos son
enteros y positivos, la otra mitad son enteros y negativos, los mismos valores están
almacenados en un archivo, en el siguiente orden: primero un elemento positivo y seguido de
otro negativo, en forma alterada, hasta concluir todos los valores. Se desea un algoritmo que
almacene valores en un vector de la siguiente forma: en la primera mitad del vector, todos los
valores positivos y en la segunda mitad del vector todos los valores negativos. Finalmente
imprimir el vector y la diferencia resultante de la suma de todos los valores positivos menos
todos los valores negativos.

ARCHIVO – N valores = 25,-72,34,……-83,54,-61


V(n)
25 34 …. -83 -61
Resultante = ∑ valores positivos + ∑ valores negativos.

El vector CUR(M) contiene ordenadamente de mayor a menor, los códigos de libros de una
biblioteca particular, que cuenta con tres categorías de libros: Novelas. Tecnicos y Cuentos.
El código de cada libro esta constituido por 7 digitos con la siguiente estructura:

Codigo Descripcion
Posición 1-2 Numero del libro
Posición 3-5 Tipo de libro (101=Novela – 201=Tecnico y 301= Cuento)
Posición 6-7 Version

Ejemplo: 1210101 descomponiendolo en 12 – 101 – 01 significa Libro Nº12, novela (101) y


versión 01

Sesolicita un algoritmo que descomponga los códigos ubicados en el vector CUR(M),


identifique a que categoría pertenece y copie los códigos a los vectores NOV(x), TEC(y) o
CUE(z), según su categoría. Se sabe que existen 367 libros, de los cuales 130 son novelas, 79
tecnicos y el resto son cuentos.

Ejercicio Nº - 57
El club “3 de febrero” desea determinar el monto de comisiones a pagar a cada uno de sus
vectores. Para lo cual ha contratado sus servicios de programación, solicitando el desarrollo
de los algoritmos que permita calcular las cifras correctas. Se debe que las informaciones
relativas a las ventas están en un archivo con los siguientes datos:

NRO - Numero de vendedor. (Existe mas de un registro por cada vendedor y solo se han
contratado 5 vendedores).
VEN - valor de cuota de la venta.
CUO – Cantidad de cuotas.
SOC - Codigo de socio comprador
ARE – Area de la butaca vendida (1=Preferencias, 2=Plateas norte, 3=Platea Sur, 4=Plateas
Bajas, 5=Graderia).
PAG - Forma de pago, con siguientes valores posibles (*=Venta al contado – 1=Mesual –
2=Trimestral – 3=Cuatrimestral).
POS – Numero o posición de la butaca con los siguientes valores posibles (1=Preferencial –
2=Gerencial – 3=Ejecutivo 1º nivel – 4= Ejecutivo 2º nivel – 5=Socio 1º nivel – 6=Socio 2º
nivel – 7=Socio fundador – 8=Socio aportante – 9=Adicional familiar 1º nivel –
10=Adicional familiar 2º nivel – 11= Fanatico).

Los nombres de los vendedores están cargados en el vector VEN(5) disponible, para proceso.

 El ultimo registro tiene valor * en Nro y no debe ser procesado


 Según la cantidad de venta de cada vendedor se otorga un valor de comosion según
los siguientes criterios:
 Existen dos tipos de comisiones, uno por area vendida y otro por posición vendida,
los valores están en las tablas AR(ARE) y POSI(POS).
 Si la venta es al contado según el AR(ARE) y POSI(POS) le corresponde al vendedor
el 100% de la suma de ambos vectores
 Sila venta es mensual según el AR(ARE) y POSI(POS) le corresponde al vendedor el
80% de la suma de ambos vectores.
 Si la venta es Trimestral o Cuatrimestral según el AR(ARE) y POSI(POS) le
corresponde al vendedor el 70% de la de ambos vectores.

Se desea saber cuanto es el monto total a pagar para cada uno de los 5 vectores.
Tambien se desea saber el total general de las ventas de todos los vendedores.
Matrices

El que no sabe por que camino se


Llega al mar, debe buscar al rio
Por compañero…
Plauto

Ejercicio Nº - 1
La empresa “RESURGIR DEL ESTE” desea determinar el monto de salario mensual a pagar
a cada uno de sus empleados. Para lo cual ha contratado sus servicios de programación,
solicitando el desarrollo de los algoritmos que permita calcular las cifras correctas. Se sabe
que las informaciones relativas a los empleados están en un archivo con los siguientes datos:

Nro - Numero de empleado. (Existe un solo registro por cada empleado)


Nom – Nombre del empleado.
ARE – Area del empleado. (1= Gerencia – 2= Administrativo – 3= Tecnico – 4= Ventas – 5=
Servicios generales).
ASI(31) – Vector de asistencia diaria del funcionario con siguientes valores posibles. (*= Dia
feriado, no laboral, o no relevante para el mes en cuestión – 1= Dia laboral trabajado – 2=
Dia laboral ausente con aviso – 3= Dia laboral ausente sin aviso).
ANT - Antiguedad en años, como empleado de la empresa
CAR – Cargo dentro de la empresa con los siguientes valores (1= Presidente – 2= Gerente –
3= Administrativo 1º nivel – 4= Administrativo 2º nivel – 5= Tecnico 1º nivel – 6= técnico 2º
nivel – 7= Vendedor senior – 8= Vendedor junior – 9= Apoyo 1º nivel – 10= Apoyo 2º nivel
– 11= Jefe de sector).

El ultimo registro tiene valor ** en Nro y no debe ser procesado.


Según la antigüedad se le otorga, a partir de los primeros 5 años y por cada 5 años de
antigüedad, un adicional acumulativo de 70.000Gs.
El salario del empleado depende d su cargo y area, para lo cual se debe considerar la tabla A
y los valores indicados en el archivo.
Los descuentos son en función a la cantidad de ausencia incurridas en el mes y están
indicadas en el vector debiendo considerarse como ausencias a descontar del salario las de
calor 2 y 3 (ausencias con o sin aviso). Los montos a descontar figuran en la tabla B
La tabla muestra los valores de descuentos diarios por cargo y área.

Tabla de Descuentos
CARGOS

Área 1 2 3 4 5

1 50000 --
2 30000 20000 18000 18000 18000
3 10000 9000 9000 9000 9000
4 8000 7000 7000 7000 7000
5 -- -- xxx 5000 --
6 -- -- 5500 xxx --
7 -- -- -- 6000 --
8 -- -- -- 3000 --
9 xxx xxx xxx 3000 3000
10 2000 2000 2000 2000 2000
11 xxx xxx 6000 6000
TABLA B

Por cada empleado, se deben calcular los valores solicitados e imprimir un listado con los
siguientes datos: Nro, nombre, área, cargo, salario bruto, adicional, descuento, salario neto.

Como la empresa pretende pagar en efectivo a cada funcionario, se necesita además un


listado que indique la cantidad de billetes de cada denominación a ser utilizados para pagar
a todos los empleados: a los efectos de solicitar al banco la provisión de los billetes
necesarios. Es decir, indicar cuantos billetes de 10.000, cuantos de 50.000, etc. Serán
necesarios para pagar sin inconvenientes a cada uno de los empleados.

Ejercicio Nº - 2
Desarrollar un algoritmo que permita dado un vector VEC(N) con valores cargados,
encontrar en una matriz MAT (M.N) los elementos cuyos valores correspondientes por
columna sean mas próximo a cada elemento VEC. Esto es el valor del primer elemento de
VEC corresponde compararlo con todos los elementos de la primera columna de MAT, el
segundo de VEC con los de la segunda columna, etc. Una vez detectados estos valores por
cada imprimir la diferencia encontrada entre el elemento de VEC y el detectado en cada
columna de MAT.
Todos los valores son diferentes, enteros y positivos.

Ejercicio Nº - 3
Desarrollar un algoritmo que ubique e imprima los valores de la matriz MAT (M.N) y sus
posiciones, cuando los valores del mismo sean menores a los que se encuentran en la matriz
MEN (M.N) comparándolos simétricamente elemento a elemento, todos los valores de
MAT () que no cumplan con esta condición deben ser ubicados en la matriz SUP (L.P) y
finalmente se debe imprimir la suma de todos los elementos de SUP ()...

Ejercicio Nº - 4
En una matriz cuadrada de orden M (sabiendo que M> 2) cargada con datos numéricos se
requiere de un algoritmo que permita calcular la sumatoria y el promedio de los elementos
que no forman parte de los bordes y las diagonales principal y secundaria.

Ejercicio Nº - 5
Considerando la capacidad de generar informes del sistema de listados de la Empresa
RUBY S.A., desarrollar un algoritmo que permita controlar el ingreso y prioridad de las
solicitudes de informes. Para ello, el sistema cuenta con una matriz LISTA (M, 2) que
almacena las solicitudes por orden de prioridad: El objetivo del algoritmo es leer las
solicitudes que vienen en las variables NRO y PRI donde NRO representa al Número de
Solicitud y PRI a la prioridad del listado. Los valores de prioridad van de 1 al 5, donde a
menor valor mayor prioridad; una vez leída un listado se debe ubicarlo en el vector de
manera ordenada de tal forma que los de mayor prioridad se ubiquen en las primeras filas,
en caso de repetición se debe ubicar al pedido ingresante al final de los pedidos de igual
prioridad. El algoritmo concluye cuando el valor leído en NRO es menor a cero. En caso
que sea solicitado un listado y LISTA no tenga espacios vacíos [LISTA (x.y)=0] se debe
omitir un mensaje indicando que “No es posible imprimir el listado”.
Prioridad NÚMERO
1 13 PRI NRO
1 7
2 12
1 05
No es posible
2 08 Emitir el
Listado

5 02

0 0

Ejercicio Nº - 6
Desarrollar un algoritmo que permita la creación de la matriz MAT (12.5) conteniendo los
datos del archivo de la cantidad de lluvias registradas en Ciudad del Este durante el año
anterior. Este archivo tiene los siguientes datos: Mes (MM), Día (DD), cantidad de lluvia
caída en mm^2, en caso que un día especifico no haya tenido precipitaciones tiene el valor
0. La matriz deberá totalizar los datos según el siguiente modelo:

Total de días
Total de lluvia efectivos son Promedio Mayor
registrada en lluvia en el mensual de precipitación
Mes el mes mes lluvia caída registrada
Enero 135 20 6,75 13
Febrero 120 15 8 10
Marzo 303 25 12,12 15
----- 230 20 11,5 --
Diciembre 120 15 8 13

Observación: Para el cálculo del promedio considerar solo los días efectivos de lluvia.
Ejercicio Nº - 7
El archivo de ventas del día de una estación de servicio, esta organizado de la siguiente
forma:
Máq.: código de la maquina y con: contador de litros.
Se tienen 5 máquinas codificadas de la siguiente forma: 1 y 2: maquinas de nafta común. 3
y 4: maquinas de diesel. 5maquina de nafta súper.
Se tiene 3 productos con la siguiente descripción y los siguientes precios:

Descripción Precio
=============
Nafta común 900
Diesel 600
Nafta súper 1.200

Por cada venta del día en cada maquina hay dos registros: - El primero, contiene el
contador anterior de litros. – El segundo, contiene el contador actual de litros.

Se solicita realizar un pseudocódigo que permita calcular el total de guaraníes que ha


recaudado cada maquina. Y el total por cada producto. En el final de cada informe, se debe
imprimir el total general a recaudar.

Para calcular el importe, primero se deben calcular los litros vendidos en esa maquina, que
será la diferencia entre el contador actual y el contador anterior. El resultado de este cálculo
se debe multiplicar por el precio correspondiente según el producto de que se trate.

Atención: para cada maquina hay dos registros, ni mas, ni menos y estos estarán siempre
consecutivos. No es necesario verificar errores en el archivo.
Ejemplo: Si el archivo contiene los siguientes datos:

Maq. Con.
==== ===
1 100
1 120
2 200
2 200
3 350
3 520
4 400
4 500
5 300
5 380

Entonces en cada maquina se vendió lo siguiente:


Maquina 1. 20 litros * 900 = 18.000
Maquina 2. 0litros * 900 = 0
Maquina 3. 170 litros * 600 = 102.000
Maquina 4. 100 litros * 600 = 60.000
Maquina 5. 80 litros * 1200 = 96.000
--------
Total 276.000

Por cada Producto se vendió lo siguiente:


Nafta c = Total maq 1 + total maq 2 = 18.000 + 0 = 18.000
Diesel = total maq 3+ total maq 4 = 102.000 + 60.000 = 162000
Súper = total maq 5 = 96.000
--------
Total 276.000

Obs: nótese que los totales deben ser iguales


El listado quedara de la siguiente forma:

Maquina Importe Producto Importe


1 18.000 Nafta común 18.000
2 0 Diesel 162.000
3 102.000 Nafta súper 96.000
4 60.000 Total 276.000
5 96.000
Total 276.000

Ejercicio Nº - 8
Desarrollar un algoritmo que elimine los elementos nulos de la matriz MAT (M.N), dichos
elementos están almacenados en el vector VEC (M), en los casos que esos valores se
detecten en la matriz deberán ser reemplazados por ‘*’. Indicar la cantidad, sumatoria y
promedio de los valores validos, así como la fila y columna del mayor valor nulo
detectado. Imprimir los resultados.

Ejercicio Nº - 9
Se tiene un ARCHIVO que cuenta con los datos y resultados de las pruebas efectuadas a los
medicamentos de una empresa farmacéutica, cada registro tiene el siguiente formato:
COD - Nº de código del medicamento
PRU (5,5) -Matriz de cinco filas y columnas, con los resultados de las pruebas
realizadas para cada tipo de test. Existen cinco tipos de testes posibles y para cada una de
ellas se realizan 4 pruebas. Las filas indican los tipos de test y las columnas las pruebas
Realizadas. Los valores posibles van del 0 a 100. En la última columna se encuentran los
Valores mínimos permitidos en cada test.
Desarrollar un algoritmo que permita:
1 Calcular la diferencia entre el promedio de las 4 pruebas y los valores mínimos
permitidos para cada test.

2 Determinar si el medicamento esta aprobado o no, para lo cual se debe: hallar el


promedio general de las diferencias obtenidas en el punto 1 y verificar que como
resultado sea igual o superior a 70% para ser aprobado.

3 Determinar la cantidad final de medicamentos aprobados y rechazados.

Imprimir todos los resultados encontrados.

Ejercicio Nº - 10
Desarrollar un algoritmo que ubique e imprima los valores de la matriz MAT (M.N) y sus
posiciones, cuando los valores del mismo sean menores a los que se encuentran en la matriz
MEN(M.M) comparándolos simétricamente elemento a elemento. Todos los valores de
MAT() que no cumplan con esta condición deben ser acumulados y finalmente se debe
imprimir el resultado de esta suma.
Ejercicio Nº - 11
En la emisión de un listado de ventas, es utilizada una matriz – MAT(M.,N), con los valores
de descuentos correspondientes a cada región en la cual las ventas del rubro informática se
realizan. MAT contiene el rango aplicado en el archivo MOVEN con los siguientes datos:
NºVenta .Región (Fila + Columna de MAT.Ejemplo:Valor 0301 = Fila 3 Columna 1),
Importe Bruto de la Venta, Importe Neto de la Venta. Es necesario desarrollar un algoritmo
que permita verificar si los valores del archivo son correctos , para ello vasta verificar que:
VENTA NETA =VENTA BRUTA – DESCUENTO. En caso que los valores sean correctos
ignorar, si por el contrario no son exactos grabarlos en el archivo de ERROR (con los
siguientes datos: NºVenta, Región(), Importe Bruto de la Venta, Importe Neto de la Venta),
al finalizar el proceso, imprimir la cantidad de registros con error y que porcentaje del total
de registros del archivo de Ventas esto representa.
Ejercicio Nº - 12
Desarrollar un algoritmo en pseudocódigo, que permita encontrar el promedio de valores de
una matriz cuadrada de orden M. Desarrollar el algoritmo e imprimir además la cantidad y
sumatoria de los valores encontrados.
Ejercicio Nº - 13
Se tiene una matriz cuadrada MAT(M.M). M de valor par mayor a 20, conteniendo valores
numéricos positivos y enteros: calcular el promedio de los valores ubicados en el perímetro
de la matriz y en las diagonales principal y secundaria.
Ejercicio Nº - 14
Desarrollar un algoritmo que permita procesar una matriz MAT(M.M) imprimiendo la
POSICION de los elementos que son iguales a los contenidos en el vector VEC(M): en
caso de que sean diferentes reemplazarlos por 0: finalmente imprimir la sumatoria y el
promedio de los elementos diferentes.
Ejercicio Nº - 15
Determinar en una matriz de orden N la cantidad y posición de elementos que son iguales a
los elementos del vector NUM(M), así como el resultado de la sumatoria de los elementos
de la matriz que sean diferentes a cualquier elemento del vector. Imprimir todos los
resultados.
Ejercicio Nº - 16
Desarrollar un algoritmo en pseudocódigo, que permita encontrar , en una matriz cuadrada
de orden M cargada con valores enteros y positivos, los elementos que están repetidos y
reemplazarlos por *.
Ejercicio Nº - 17
Desarrollar un algoritmo que permita encontrar la sumatoria, cantidad y promedio de los
elementos de una matriz M(N.N) cuadrada que pertenezcan al triangulo superior(limitado
por la diagonal principal, la columna N y la fila 1)
Ejercicio Nº - 18
Se tiene una matriz MAT(M.M) donde M es par. Desarrollar un algoritmo que sume los
elementos de la fila impar los elementos de la fila par siguiente y los almacene en la fila
par; llenando de ceros la columna impar. Repetir el proceso en toda la matriz y finalmente
imprimirla.
Ejercicio Nº - 19
Desarrollar un algoritmo que permita encontrar la sumatoria, cantidad y promedio de los
elementos de una matriz M(N.N) cuadrada que pertenezcan al triangulo inferior(limitado
por la diagonal principal, la fila 1 y columna N).
Ejercicio Nº - 20
Desarrollar un algoritmo que permita identificar los valores de la matriz MAT(M.N) que
cumplan con las siguientes condiciones:
- No deben ser mayores al valor máximo positivo del vector VEC(P).

- Deben ser enteros y positivos.

Una vez detectados, imprimirlos, según el orden que fueron encontrados.


Ejercicio Nº - 21
En un supermercado se cuentan con los datos de las ventas del día en el archivo MOVIM,
cuyo registro tiene la siguiente conformación:
Nº de caja, Tipo (1= Normal, -2 = Corrección), Fecha de operación, Código de Producto,
Cantidad, Valor Unitario.
Los mismos deben ser procesados y comparados con el vector VEC(N) que tiene el
resultado de la cantidad de dinero entregado por cada caja en ese día, para ello se debe
obtener por cada caja la sumatoria de Cantidad X Valor unitario, considerando que los
cajeros han tenido ciertos errores en sus operaciones y los que pudieron ser controlados
tienen inmediatamente después del registro erróneo otro con los mismos datos pero con
Tipo = 2, los cuales deben ser restados de la sumatoria, para que no se dupliquen los valores
incorrectos. Imprimir la cantidad de operaciones realizadas por cada caja, cuántas de ellas
fueron del tipo 2 y si hubo o no diferencia entre el dinero entregado y el calculado por la
sumatoria.
Ejercicio Nº - 22
Contando con un archivo, creado a los efectos de controlar la asistencia del personal en los
días laborales, con las siguientes características:
 NROEMP Numero del empleado

 NOMEMP Nombre del empleado(Distinto del Banco).

 AREEMP Área del empleado (1= Administración - 2= Ventas -


3= Fabrica - 4= Marketing - 5= Gerencia)

 CATEMP Categoría del empleado (1= Jefe -2= Vendedor - 3= Técnico –


4= Administrativo).

 MA (12,31) Matriz de 12 filas y 31 columnas correspondientes a los días del


año transcurrido, con los valores posibles (1= día laboral
trabajado -2= día laboral no trabajado y descontado - 3=
Vacaciones y permisos con goce de sueldo - 4=día no
relevante).

 SANE Vector de 12 elementos conteniendo los valores del salario neto


percibido por el empleado en cada mes del año transcurrido.

Sabiendo que el archivo esta ordenado por el nombre del empleado, que existe un solo
registró para cada empleado y que se cuenta con un registro, que no debe ser procesado,
con valor NUL en el campo NROEMP, indicando el fin del archivo. Desarrollar un
algoritmo que permita:
 Determinar en la matriz auxiliar MA1(5.12), para cada área (campo AREEMP) de la
empresa, cual es el nombre(campo NOMEMP) del empleado con mayor cantidad
de ausencias con descuento(valor2), en cada mes del año.

 Determinar en la matriz auxiliar MA2(5.12), para cada área (campo AREEMP) de la


empresa, cual es la categoría (campo CATEMP) del empleado con mayor salario
neto (vector SANE) en cada mes del año transcurrido.

 Imprimir los valores encontrados.


Ejercicio Nº - 23
Sabiendo que se tiene un archivo con L registros, cada uno de ellos con una variable Z.
Desarrollar un algoritmo que permita crear en memoria una matriz con los números del
archivo, tal que la matriz tenga M filas y N columnas. Se sabe que L = M*N. la matriz debe
cargarse fila por fila. Imprimir el contenido de la misma.
Ejercicio Nº - 24
Sabiendo que se tiene en memoria una matriz A de orden M, hacer un algoritmo que
permita encontrar la sumatoria de los elementos que están en la diagonal principal.
Ejercicio Nº - 25
Sabiendo que se tiene en memoria una matriz A de orden M, hacer un algoritmo que
permita encontrar el mayor elemento del triangulo superior de una matriz M de orden L.
Ejercicio Nº - 26
Sabiendo que se tiene en memoria una matriz A de orden M*N, hacer un algoritmo que
permita intercambiar los elementos de la segunda fila con los elementos de la fila M.
Ejercicio Nº - 27
Sabiendo que se tiene en memoria una matriz A de orden M*N, hacer un algoritmo que
permita imprimir los elementos de la matriz recorriendo columna por columna.
Ejercicio Nº - 28
Encontrar la solución mínimax de las columnas de una matriz de orden M*N. Minimax es
el mínimo elemento de los máximos de cada columna.
Ejercicio Nº - 29
Dada una matriz M hallar la sumatoria de los elementos que se encuentren en la diagonal
secundaria.
Ejercicio Nº - 30
Dada una matriz de orden M*N hallar el producto de los elementos distintos de 0 en cada
columna y colocarlos en un vector en la posición que le corresponde de acuerdo a la
columna de que se trate: además contar los ceros que aparecen por columnas. Imprimir el
vector creado y la cantidad de ceros por columnas.
Ejercicio Nº - 31
Una cadena de almacenes de un producto tiene 6 almacenes, cada almacén tiene 10
departamentos iguales. Las ventas semanales de la cadena de almacenes están guardadas en
una matriz de 6*10.A (i.j) denota las ventas semanales en el almacén (i), en el departamento
(j).
Imprimir:
a) Las ventas semanales totales de cada almacén.

b) Las ventas semanales totales de cada departamento.

c) Las ventas semanales totales de la cadena de almacén.

Ejercicio Nº - 32
Se tiene en memoria una matriz M de orden N. Hacer un algoritmo que permita cambiar los
valores de la primera fila con la última columna y viceversa.
Ejercicio Nº - 33
Dada una matriz MAT de orden M*N, hacer un algoritmo que permita formar un vector con
los elementos ubicados en el perímetro, los cuales deben transferirse al vector, solo una vez.
Ejercicio Nº - 34
Realizar la transferencia de la diagonal principal de la matriz A de la diagonal secundaria de
la matriz B e imprimir.
Ejercicio Nº - 35
Construir un algoritmo que permita cargar en un vector los elementos del triangulo superior
de la matriz MAT (M.M), donde M es mayor a 50, siempre que los mismos sean positivos y
enteros. El triangulo está delimitado por la fila y columna 1 y la diagonal principal.
Ejercicio Nº - 36
Teniendo una matriz de orden N, hacer un algoritmo que halle primero la sumatoria de la
diagonal principal y de la diagonal secundaria, para luego encontrar la diferencia entre las
sumatorias.
Ejercicio Nº - 37
Realizar un algoritmo que permita completar el cuadro presentado mas abajo, para lo cual
se debe leer un archivo cuyos registros contienen los campos: Nombre – Sueldos – Sexo.
Las codificaciones a utilizar son:
Sexo: 1 = femenino – 2 = masculino
Sueldo: 1 = Sueldo < = G. 30.000
2 = Sueldo > = G. 30.000 y Sueldo < = G. 50.000
3 = Sueldo > = G. 50.000 y Sueldo < = G. 60.000
4 = Sueldo > = G. 60.000

Sexo/Sueldo 1 2 3 Totales
Femenino
Masculino
Totales

Ejercicio No – 38
Se tiene gravado en un archivo el resultado de un censo poblacional realizando en el país.
Por cada persona censada el registro tiene los sgtes. Datos:
Numero de identificación – Código de zona (menor que 20 = capital. Entre 21 y 50 =
interior) – Edad – sexo (1 = masc. = fem.)
Se debe hacer un algoritmo que permita imprimir esta tabla:
Capital Interior Totales
Edad
H M TC H M TI TH TM
0-4
5-9
10-20
21- 45
45 o mas
Totales
Ejercicio No – 39
Los datos de los movimientos de préstamos de un año de una financiera están
gravados en un disco. Los registros tienen el mismo formato:
Un número de préstamo
Código de movimiento (1 – Debito: 2-Crédito)
Línea crédito (1 – Comercial: 2- industrial: 3- otros)
Fecha de movimiento
Importe
Por cada préstamo otorgado, se creo un registro (cod. móv. = 1)
Por cada pago efectuado se creo también un registro (cod. móv. = 2)
Sabiendo que el archivo esta ordenado por un numero de préstamo y dentro del
numero de préstamo por código de movimiento. Hacer un algoritmo que:
1) imprima el siguiente cuadro
2) Imprima un listado de saldos por cada préstamo con el siguiente formato: Numero
de préstamo – Fecha de otorgamiento del préstamo – saldo
Cada préstamo puede tener: un solo registro (cod. móv. = 1). O varios registros en cuyo
caso siempre el primero tendrá cod. móv. = 1 y los demás tendrán cod. móv. = 2
Periodo/ sector Comerciales Industriales Otros Totales
1º cuatrimestre
2º cuatrimestre
3º cuatrimestre
4º cuatrimestre
Totales
Ejercicio No – 40
Se introduce una matriz cuadrada de dimensión N. la diagonal principal y la diagonal
secundaria dividen a la matriz en 4 triangulo.
Intercambiar los elementos del triangulo izquierdo de la matriz con los del triangulo
superior, de manera que las filas de uno de los triángulos pasen a ser las columnas del otro
triangulo. Como se observa en la grafica. Imprimir la matriz modificada.
Original Modificada
A B C D A E I M
E F G H B F J N
I J K L C G K O
M N O P d h l p

Ejercicio No – 41
Se tiene la matriz de 8 por 8, equivalentes a un tablero de ajedrez. Lee la posición (fila y
columna) de un alfil, colocar en la posición ingresada una A y en todas las posiciones en la
que pueda moverse una P. Llenar el resto de la matriz con ceros e imprimir. Prever que el
alfil este en los extremos o esquinas (1.1 - 1.8 – etc.)
Ver ejemplos para posición (3.5)
P P
P P
A
P P
P P
P P
P

Ejercicio No – 42
Realizar el ejercicio anterior, pero esta vez considerar un caballo(C), en el lugar del alfil(A)
Ejercicio No – 43
Ordenar una matriz en forma ascendente, como lo indica el ejemplo que sigue:
Original Ordenada

9 4 0 0 1 3
3 8 5 4 5 6
1 6 7 7 8 9

Ejercicio No – 44
Leer una matriz de dimensión M * N. crear un vector de la siguiente manera:
El primer elemento del vector será el menor elemento de la primera fila de la matriz leída,
pero que sea mayor que 0. El segundo elemento del vector será el menor elemento de la
segunda fila de la matriz leída, pero que sea mayor que 0 y así sucesivamente.
Observación: los elementos negativos y el cero no son tenidos en cuenta para encontrar el
menor.

Ejemplo:

1 2 3 1
0 7 9 7
3 -4 11 3

Vector creado
Ejercicio No – 45
Se tiene una matriz cuadrada de orden N, se leen dos valores I y J, que son los valores de la
fila y columna que corresponden a un elemento en particular de la matriz. Se desea
imprimir el resultado de la sumatoria de los elementos que los rodea, tal como se indica en
la figura. Si I o J salen 1 o N, emitir un mensaje de aclaración de la imposibilidad de
realizar lo operación.
Este Proceso debe ser repetido M veces.
Ejemplo:
I=3 J=2 …A(3.2)
Matriz A (4.4)
1.1 1.2 1.3 1.4
2.1 2.2 2.3 2.4
3.1 3.2 3.3 3.3
4.1 4.2 4.3 4.4

∑ = A (2.1) + A(2.2) + A(2.3) +A (3.1)+ A(3.3)+ A(4.1)+A (4.2) + A(4.3)


Ejercicio No – 46
Leer una matriz M * N de elementos diferentes. Leer también un numero F ≤ M. Imprimir
el elemento y posición (Fila. Columna) del máximo elemento en la F-esima fila.
Ejemplo:
1 25 3 47 M=3
5 6 7 8 N=4

19 10 20 12 F=2

Imprimir: máximo elemento: 8 – fila: 2- columna: 4

Ejercicio No – 47
A partir de una matriz cuadrada de orden N. crear un vector sumando los elementos de la
matriz como se indica en la figura.
a + e i m
b + f +j n
c g + k+ o
d h l + p
Ejercicio No – 48
Un tablero de damas es una matriz de 8 filas por 8 columna, cuyos elementos son K (i,j);
un l en k(i.j) representa la presencia de una ficha, mientras que un 0 en K (i.j) representa la
ausencia de fichas. Examine el tablero y guarde en N el número de ficha del tablero.
Supóngase que los elementos de la matriz solo contienen 1 o 0

Ejercicio No – 49
Se tiene un archivo cuyo registro contiene datos de los alumnos de la facultad de ingeniería,
donde existen 3 tipos de carreras diferentes (civil – naval – electrónica).
El formato de cada registro es el siguiente: No de alumno – nombre – edad – carrera –
años que curso – sexo.
El campo de carrera esta codificado en la siguiente manera:
1- Civil: 2 naval; 3 electrónica
El último registro tiene 9 en sexo
Se desea imprimir el siguiente cuadro:

Curso 1 2 3 4 5 6 Total de carrera

Civil
Naval
Electrónica
Total curso
Promedio de
edades por curso

Ejercicio No – 50
Se tiene datos de los empleados de una fábrica:
No de empleado – nombre- edad- sexo (0 = Hombres, 1 = mujeres)
Se desea crear la siguiente tabla de frecuencia.

Sexo < de 25 años ≥ de 25 años total


Hombres
Mujeres
Total

OBS: el ultimo registro tiene edad = 99


Ejercicio No – 51
Leer una matriz de dimensión M*N. Encontrar el promedio de los elementos distintos a
ceros de cada fila creando con esto un vector. Imprimir el vector creado.
Aclaración: el 1er. Elemento del vector es el promedio de la primera fila que sean distintos
de cero y así sucesivamente.
Ejemplo:
1 2 3 4
0 7 1 2
3 4 1 3
Vector = (10/4: 10/3:11/4)
Ejercicio No – 52
Se tienen una matriz A de dimensión M*N. Hacer un algoritmo de flujo que intercambie la
primera fila J: siendo J la posición que contiene el elemento de mayor valor de la primera
columna.

Ejercicio No – 53
Preparar un algoritmo de flujo para leer una matriz de orden M* N, y determinar el
máximo, el mínimo, el rango y el promedio de cada columna por columna.
Obs.: Rango = Máximo – Mínimo.
Se desea también el promedio de todos los elementos de la matriz. Imprimir todos los
valores hallados.
Ejercicio No – 54
Se tiene un archivo con la siguiente información:
 Nombre - Sexo – Tipo Actividad – Remuneración.
 Sexo: 1 – Mujeres: 2-Hombres
 Tipos de actividad: 1-dentro: 2-fuera: 3-dentro y fuera.
Hacer el algoritmo de flujo para obtener el siguiente cuadro de frecuencia:
Remuneración

Dentro

Fuera

Dentro y fuera

Total

Además se desea el total de hombres y de mujeres que hay.


El último registro tiene un 0 en sexo.

Ejercicio No – 55
Se tiene una matriz cuadrada A de orden N, la cual esta dividida en 2 triángulos por la
diagonal principal. Crear un vector donde el i-esimo elemento es igual al promedio de los
elementos del triangulo superior que se encuentra en la columna i. El triangulo superior esta
formado por todos los elementos de la matriz que están arriba de la diagonal principal
(incluyendo la misma)
Ejercicio No – 56
a) Volear una matriz a un vector, por filas (dimensión M *N)
b) Volear una matriz a un vector, por columnas (dimensión M * N)

Ejercicio No – 57
Analizar si dos matrices leídas son iguales, las dimensiones son: A (m * N) y B (P * Q).

Ejercicio No – 58
Leer una matriz A (10 * 10) y dos números enteros M y N menores o iguales a 10, llenar de
ceros la fila M y la columna N de la matriz.

Ejercicio No – 59
Leer una matriz A de orden M * N y un escalar K y crear e imprimir la matriz de la
siguiente manera.
C (i. J9 = K * A (i, j)

Ejercicio No – 60
Se tiene un archivo de los socios de n club de deporte.
Entre los datos están:
 Nombre – Sexo – E. Civil – Deporte Preferido.
 Sexo: 1- masculino. 2-Femenino
 Estado civil: 1.2.3.4… 3 = soltero
 Deporte: a elegir entre 9 posibles.
Se desea imprimir el siguiente cuadro:

Masculino Femenino
Soltero Otros Solteros Otros Total
Deporte 1
Deporte 2
Deporte 3
Deporte 4
Deporte 5
Deporte 6
Deporte 7
Deporte 8
Deporte 9

Ejercicio No – 61
Sumar todos los elementos de una matriz leída A de orden M * N y hallar el promedio
entre todos sus elementos.
Ejercicio No – 62
Leer una matriz B (M * N) y restar a todos los elementos el mínimo elemento de toda la
matriz
Ejercicio No – 63
Leer una matriz A (M * N) y crear dos vectores F de dimensión M y C de dimension N,
donde cada:
F (i) = sumatoria de los elementos de la fila i
C (i) = sumatoria de los elementos de la columna i.
Ejercicio No – 64
Leer una matriz de orden 10 * 10. Sumar cada columna impar con la par siguiente y poner
el resultado en la columna impar, llenando de ceros la columna par. Repetir el proceso para
toda la matriz.
Ejercicio No – 65
Leer una matriz (A (M * N) y hallar la matriz B (M * N), tal que:
B = transpuesta de A. donde b (i.j) 0 a (j.i)
Si la matriz es cuadrada ( M * N), transponer en la misma matriz.
Ejercicio No – 66
Volear un vector a una matriz cuando se conoce P (tamaño del vector) y M * N (tamaño de
la matriz) y se cumple P = M * N).
Ejercicio No – 67
Se tiene un archivo de los profesores de la Facultad Politécnica. Por cada profesor hay un
registro que tienen: No de profesor – carrera en la que enseña – grado profesional – curso
en el que enseña.

Códigos:
De carreras:
1- Computación
2- Calculista de producción
3- Técnico superior en electricidad.
4- Electrónica
De grado profesional:
1- Graduado universitario.
2- Sin titulo universitario
Hacer un algoritmo para producir el siguiente cuadro:
Grado Profesional Curso
Carrera Total Titulo Sin Titulo 1 2 3 4

Ejercicio No – 68
Imprimir una matriz que corresponde a un mes específico del calendario de un año
específico.
La primera columna le corresponde al domingo, la segunda al lunes y así sucesivamente.
INTRODUCIR: mes especifico, día que cae el 1ro. de enero de ese año especifico.
Ejemplo:
Mes específico: 7 de julio
Año específico: 1986
1ro de enero de 1986: 4 (miércoles).
Ejercicio No – 69
Leer una matriz cuadrada de dimensión N, sumar los elementos (indicados con la letra o),
situado en el modelo señalado en la figura.
Aclaración: una matriz cuadrada queda dividida en cuatro triángulos por la diagonal
principal y secundaria, según se muestra en la figura.

0 - - - - - 0
0 0 - - - 0 -
0 0 0 - 0 -
0 0 0 0 - -
0 0 0 - 0 -
0 0 - - - 0 -
0 - - - - 0

Ejercicio No – 70
Escribir un algoritmo que permite tomar los datos de la matriz MAT (M.N) que se tiene
cargada con los valores numéricos, siempre que los mismos sean menores a 1 o mayores a
50, y transferirlos al vector VEC (P) los datos menores a 1 en las posiciones impares y los
datos mayores a 50 en la posiciones pares del vector.
Ejercicio No – 71
Se tienen una matriz de orden M (M es impar y mayor o igual a 7).Hacer el algoritmo que
permita exhibir en la misma un rombo, como el de la figura, con los elementos que forman
la superficie del mismo.

1
1 1 1

1 1 1 1 1

1 1 1 1 1 1 1

1 1 1 1 1

1 1 1

Ejercicio No – 72
Se solicita el desarrollo de un algoritmo que permita calcular las sumas de intereses que
deben pagar los clientes morosos de la Financiera NEGRURA S.A., que tiene los datos
relativos a sus clientes en un archivo con la siguiente configuración:
 NRO Número de cliente.
 CAT Código de categoría actual del cliente.(1 = Preferente – 2 = Superior – 3 =
Especial - 4=
Excelente – 5 = normal)
 EMP Nivel empresarial del cliente(Mínimo = 1- Máximo = 8)
 NOM Nombre del cliente
 SIT(4) Situación de cada préstamo( 1 = Moroso -2 = Al dia)
 PRE(4) vector con código de categoría de préstamo vigentes del cliente.
 PAT(4) vector con montos de pago realizados en cada préstamo, hasta la fecha
Se cuenta ademas con dos matrices cargadas con valores cuyos índices coinciden con los
datos contenidos en los registro
Ejemplo: La tabla muestra montos de préstamos por empresa y categoría.
Tabla de monto de prestamos
Nivel

Categoría 1 2 3 4 5
1 8.500.000 5.700.000 2.500.000 2.200.000 1.000.000
2 9.500.000 1.800.000 2.800.000 2.800.000 1.800.000
3 10.300.000 1.100.000 3.100.000 3.100.000 2.100.000
4 10.000.000 1.500.000 3.700.000 3.700.000 2.700.000
5 11.200.000 1.780.000 3.900.000 4.200.000 3.500.000
6 11.650.000 1.800.000 4.100.000 4.300.000 3.650.000
7 11.950.000 1.980.000 4.490.000 4.600.000 3.890.000
8 12.150.000 2.250.000 4.780.000 5.300.000 4.000.000
Matriz A

La tabla muestra valores de intereses por empresa y tipo

Tabla de intereses
Nivel

Categoría 1 2 3 4 5
1 5 6 7 8 9
2 11 13 15 17 19
3 12 14 16 18 29
4 23 25 27 20 31
5 34 36 37 38 39
6 24 26 28 30 32
7 41 42 45 46 47
8 42 44 48 49 50

Matriz B
Utilizando los datos del archivo y las matrices indicadas procesar los siguientes cálculos en
un algoritmo e imprimir los datos indicados más abajo:
 El cliente puede tener hasta 4 prestamos simultáneos cuyos montos están en la
matriz A según los índices EMP y PRE ( ). Calcular el monto total de los prestamos
concedidos al cliente
 Los pagos cuyos montos están en PAT( ),permiten establecer el saldo de cada
préstamo
 Si el cliente es moroso, aplicar una multa según valores de la matriz B Según los
índices.-

También podría gustarte