ALGORITMICA

56

Click here to load reader

Transcript of ALGORITMICA

Page 1: ALGORITMICA

Una de las enfermedades más

Peligrosas que existen es la

Ignorancia………. Dante

Murr

Page 2: ALGORITMICA

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 º 2Dados 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º 3Leer 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º 4Teniendo dos variables numéricas A y B, intercambiar sus contenidos sin utilizar ningún campo auxiliar

Ejercicio nº 5Se 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º 6Se 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º 7Se 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º 8Se 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º 9En 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) / 5Por cada registro imprimir:Hora, grados centígrados y grados farengeit, hay 24 registros por DIA

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

Ejercicio nº 11Se 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º 12Leer 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

Page 3: ALGORITMICA

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

Ejercicio nº 14Construir 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. Soltero2. Casado3. 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º 17Hacer 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º 18Dadas 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º 19Introducir 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º 21Se 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º 22Se 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º 23Se 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º 24Se 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

Page 4: ALGORITMICA

d) Imprimir la cantidad de registros cuyos productos no fueron calculados

Ejercicio nº 25Sabiendo 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º 26Leer 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º 27Se 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º 28Desarrollar 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º 29Leer un número entero de 5 cifras e imprimir las centenas

Ejercicio nº 30Se 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 EjemploI= 851221… Año = 85, Mes = 12, Día = 21

Ejercicio nº 31Hacer 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º 32Los 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ínimoc) Que el valor de la existencia sea distinto al valor de multiplicar la existencia por el

precio unitario

Page 5: ALGORITMICA

Al final imprimir la cantidad de registro que cumplió alguna de las condiciones

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

Ejercicio nº 34Desarrollar 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: 2F(x) = x - x Si es mayor que 5F(x)= 71 Si es mayor o igual a 5 y menor o igual a -2F(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 0Obs.: 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º 37Se 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º 38Desarrollar un algoritmo que introduzca un número y lo descomponga en sus factores primos. Imprimir los resultados

Ejercicio nº 39Leer 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º 40Se 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 < 0Ejercicio nº 41Prepare un algoritmo que admita un valor real e imprima el primer digito decimal a la salida. Ej. 2.7903 debe imprimir 7

Ejercicio nº 42Hacer 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º 43Prepare 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º 44A 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

Page 6: ALGORITMICA

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º 45Hay 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ª 46El 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º 47El 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º 48Se 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º 49El 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 alumnob) Promedio general de Castellano

Page 7: ALGORITMICA

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º 50Se 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º 51Se 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º 52Una 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º 53Leer 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º 54Los 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

Page 8: ALGORITMICA

- Número de proveedor: puede ser 1, 2, 3, 9, 10, 11.-

Ejercicio Nº 55Validar 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º 56Se 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ñosEstudios cursados: universitario o especializaciónIdioma. Aceptar solamente los códigos de 1 al 3Estado civil: 1, 2, 3, 4.-Sueldo básico: no más de Gs. 1.000b) Si el sexo es masculino:Edad: 22 a 45 añosEstudios cursados: universitario o especialización si tiene por lo menos 3 años de antigüedad.Idioma: aceptar los códigos del 1 al 3Estado civil: si es casado aceptar, si no tiene más de dos hijosSueldo básico: No más de G. 1.500Imprimir todos los registros que reúnan las condiciones expuestas.

Ejercicio Nº 57Si 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º 58Preparar 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 existenciaEscribir avisos en caso de que:

a) Existencia = 250 … Aviso: pedir dentro de una semanab) Existencia < 250 … Aviso: punto crítico – pasar pedidoc) 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º 59Una 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

Page 9: ALGORITMICA

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º 60Sabiendo 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 – cursoHacer 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º 61Se 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° 62Se 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º 63Se 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 informeEl último registro tiene cero en el campo clave.Ejercicio N° 64Desarrollar 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

Page 10: ALGORITMICA

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° 67Contando 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 8A= 2.358654545 obtiene B= 2 – Cantidad de decimales 9A= 325489.8212 obtiene B= 325490 – Cantidad de decimales 4

Ejercicio N° 68Se tiene un archivo de las mercaderías de una farmacia, cuyo registro tiene los siguientes datos:CODPRO Código del productoMONPRO Monto del productoTIPMED 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.000Ademá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º 69Se 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

Page 11: ALGORITMICA

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º 71Se 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º 72Desarrollar 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º 73Desarrollar 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º 74Desarrollar 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º 75Desarrollar 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º 76Desarrollar 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º 77Se 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º 78Desarrollar 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º 79Elaborar 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

Page 12: ALGORITMICA

siguientes datos. Nombre del Funcionario, Sexo (F/M) y el monto del salario. Finalmente imprimir el promedio de salarios de la empresa.Ejercicio Nº 80Desarrollar 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.

Page 13: ALGORITMICA

VECTORES

Page 14: ALGORITMICA

Ejercicio Nº -.1Crear 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º -.2Crear un vector según las siguientes reglas: Cargar 1 en (1). 2 en V (2). …N en V(N)

Ejercicio Nº -.3Se 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º -.4Diseñ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º -.5Dado 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º -.6Leer 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º -.7Analizar 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º -.8Se 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º -.9Leer 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º -.10Hacer 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º -.11Se 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º -.12Se 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º -.13Se 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º -.14Se 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 ( ).

Page 15: ALGORITMICA

Ejercicio Nº -.15Crear 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º -.16Se 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) 0A (x) = M (x) si B (x) 1

Ejercicio Nº -.17Se 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º -.18Una empresa desea minimizar el número de billetes que necesita para pagar a su personal. Hacer un algoritmo que resuelva el problema.

Ejercicio Nº -.19Dado 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º -.20Sabiendo que se tiene un vector A de N elementos. Hacer un algoritmo que permita desplazar cada elemento a la posición anterior.

Ejercicio Nº -.21Sabiendo 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º -.22Se tiene en memoria un vector A de tamaño N, hacer un algoritmo que permita ordenar sus elementos de forma creciente.

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

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

Ejercicio Nº - 25Se 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

Page 16: ALGORITMICA

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º - 27Se 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º - 28Se 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º - 30Se 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º - 31Leer 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º - 32Hallar el producto escalar de dos vectores leídos si:ambos son de longitud NN 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º - 33En 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ólicaLuteranaJudíaOtrasNingunaFinDeterminar la cantidad de habitantes adeptos a cada una de las religiones y el total de habitantes de la ciudad.

Ejercicio Nº - 34Se 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.

Page 17: ALGORITMICA

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ógnitaEste 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 alumnoRes 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ódigoUna 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º 35Leer 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º 36Se 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)

Page 18: ALGORITMICA

Ejercicio Nº 37Se 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º 38Se 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º 39Leer 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.

EjemploK= 5 N= 31270 (5 cifras)

Numero leído = 31270Mayor encontrado = 73210Menor encontrado = 01237

La impresión debe hacerse en una variable únicaEjercicio Nº - 40Leer 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º- 41Leer 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º - 42Leer un vector A de N componentes y calcular los vectores B y cada uno de N componentes donde:

Page 19: ALGORITMICA

-cada B (i) = A(i) – mínimo de A-cada C (i) = máximo de A – A(i)

Ejercicio Nº - 43Leer 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 mediab) hallar la sumatoria de los cuadrados de las diferencias resultantes de media de cada uno

de los elementos del vectorc) dividir dicha sumatoria entre la cantidad elementos del vectord) 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º - 46Dado 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º - 47Desarrollar 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º - 48Se 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

Page 20: ALGORITMICA

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º - 50Desarrollar 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

VEC – Final

Total de errores: 4

Ejercicio Nº - 51Se 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º - 52Se 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.

1 4 3 2 9 4 7 6

1 2 3 4 7 4 9 6

Page 21: ALGORITMICA

Ejercicio Nº - 53Tomando 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 creado1 0 2

Ejercicio Nº - 54Desarrollar 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)

Valores introducidos = 42,33,0 V(n)

55 44 42 33 22Al finalizar el proceso imprimir la cantidad de valores ignorados y el vector final

Ejercicio Nº - 55Dados 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 – 56Se 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,-61V(n)

55 44 33 22 11

25 34 …. -83 -61

Page 22: ALGORITMICA

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 DescripcionPosición 1-2 Numero del libroPosició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º - 57El 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 compradorARE – 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.

Page 23: ALGORITMICA

Matrices

El que no sabe por que camino se Llega al mar, debe buscar al rio

Por compañero… Plauto

Ejercicio Nº - 1La 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,

Page 24: ALGORITMICA

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 empresaCAR – 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

Page 25: ALGORITMICA

La tabla muestra los valores de descuentos diarios por cargo y área.

Tabla de DescuentosCA

RG

OS

Á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 70005 -- -- 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º - 2Desarrollar 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º - 3Desarrollar 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º - 4En 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º - 5Considerando 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

Page 26: ALGORITMICA

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ÚMEROPRI NRO1 72 12

No es posible Emitir el

Listado

Ejercicio Nº - 6Desarrollar 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:

Mes

Total de lluvia registrada en el mes

Total de días efectivos son lluvia en el mes

Promedio mensual de lluvia caída

Mayor precipitación 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º - 7El 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 900Diesel 600Nafta 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.

1 13

1 05

2 08

5 02

0 0

Page 27: ALGORITMICA

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.000Maquina 2. 0litros * 900 = 0Maquina 3. 170 litros * 600 = 102.000Maquina 4. 100 litros * 600 = 60.000Maquina 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.000Diesel = total maq 3+ total maq 4 = 102.000 + 60.000 = 162000Súper = total maq 5 = 96.000

- - - - - - - - Total 276.000

Obs: nótese que los totales deben ser igualesEl listado quedara de la siguiente forma:

Maquina Importe Producto Importe1 18.000 Nafta común 18.0002 0 Diesel 162.0003 102.000 Nafta súper 96.0004 60.000 Total 276.0005 96.000Total 276.000

Ejercicio Nº - 8Desarrollar 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º - 9Se 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 medicamentoPRU (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.

Page 28: ALGORITMICA

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º - 10Desarrollar 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º - 11En 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º - 12Desarrollar 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º - 13Se 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º - 14Desarrollar 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º - 15Determinar 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º - 16Desarrollar 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º - 17Desarrollar 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º - 18Se 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.

Page 29: ALGORITMICA

Ejercicio Nº - 19Desarrollar 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º - 20Desarrollar 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º - 21En 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º - 22Contando 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.

Page 30: ALGORITMICA

Ejercicio Nº - 23Sabiendo 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º - 24Sabiendo 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º - 25Sabiendo 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 A de orden M.Ejercicio Nº - 26Sabiendo 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º - 27Sabiendo 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º - 28Encontrar 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º - 29Dada una matriz M hallar la sumatoria de los elementos que se encuentren en la diagonal secundaria.Ejercicio Nº - 30Dada 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º - 31Una 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º - 32Se 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º - 33Dada 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º - 34Realizar la transferencia de la diagonal principal de la matriz A de la diagonal secundaria de la matriz B e imprimir.Ejercicio Nº - 35Construir 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º - 36Teniendo 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º - 37Realizar 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

Page 31: ALGORITMICA

Sueldo: 1 = Sueldo < = G. 30.0002 = Sueldo > = G. 30.000 y Sueldo < = G. 50.0003 = Sueldo > = G. 50.000 y Sueldo < = G. 60.0004 = Sueldo > = G. 60.000

Sexo/Sueldo 1 2 3 TotalesFemeninoMasculinoTotales

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:

Edad Capital Interior Totales

H M TC H M TI TH TM0-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

Page 32: ALGORITMICA

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

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

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:

A B C D

E F G H

I J K L

M N O P

A E I M

B F J N

C G K O

d h l p

9 4 0

3 8 5

1 6 7

0 1 3

4 5 6

7 8 9

1 2 3

0 7 9

3 -4 11

1

7

3

Page 33: ALGORITMICA

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:

M = 3

N = 4

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).

1 25 3 47

5 6 7 8

19 10 20 12

Page 34: ALGORITMICA

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)

Page 35: ALGORITMICA

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

Page 36: ALGORITMICA

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

TotalSoltero Otros Solteros OtrosDeporte 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).

Page 37: ALGORITMICA

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 CursoCarrera 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 -

Page 38: ALGORITMICA

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

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

Page 39: ALGORITMICA

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 BUtilizando 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.-