Está en la página 1de 22

Ejercicios de POO con UML

Ing. Rubén Sanabria B., Ms.


DISTANCIA ENTRE 2 PUNTOS

Ejercicios

1. Representar gráficamente los puntos P1(-2,1) y P2(3,-4) y calcular la distancia entre


estos dos puntos.
2. Representar gráficamente los puntos P1(-5,3) y P2(8,6) y calcular la distancia entre estos dos
puntos.
3. Hallar los puntos : a) (4, I), (3, -2); b) (0, 31, (-4, I); c) (2, -61), (2, -2);

CUADRADOS

Ejercicios

1. Halla el perímetro y el área de un cuadrado de 4m de lado

2. Halla el perímetro y el área de un cuadrado, ingresando el lado por teclado


3. Averigüe el área de un cuadrado cuyo perímetro mide 29,2 cm
4. Hallar el lado de un cuadrado cuyo perímetro mide 32,3 m
5. Hallar el lado de un cuadrado cuya superficie mide 29 m
6. Hallar el perímetro de un cuadrado cuya superficie mide 10,24 cm2
7. La diagonal de un cuadrado mide 9 metro. Calcular su área.

RECTANGULOS

Ejercicios

1. Halla el perímetro y el área de un rectángulo cuyos lados miden 4,5 m y 7,9


m respectivamente
2. Halla el perímetro y el área de un rectángulo cuyos lados miden 6,3 dm y 48
cm respectivamente.
3. El perímetro de un rectángulo es 20,4 dm. Si uno de sus lados mide 6,3 dm,
halla el área.
4. El área de un rectángulo es 6384 decímetros cuadrados. Si la base mide 93
cm, ¿cuánto mide la altura? y ¿cuál es su perímetro?.
5. El perímetro de un rectángulo es 825 cm. Si la base mide 125 cm, ¿cuánto
mide la altura?
6. La diagonal de un rectángulo mide 10 m y la base 8 m.
a- Calcula la altura del rectángulo.
b- Calcula su superficie, expresando el resultado en m2 y en dm2.
7. Definir una clase Rectángulo de acuerdo al siguiente diagrama de clases en
UML:

8. Una pared rectangular que tiene una ventana rectangular; se requiere un programa que
dadas las dimensiones (largo y ancho) de la ventana y de la pared muestre en la pantalla
el tiempo necesario para pintar la pared si se sabe que se puede pintar 1 m2 en 10
minutos.
9. Utilice la clase anterior para resolver el problema:
Modifique la clase del ejercicio 8 y sustituya los métodos ModificarLargo(),
ModificarAncho(), ConsultarLargo() y ConsultarAncho() por sus respectivas
propiedades.

CIRCUNFERENCIA

Ejercicios

1. Calcula el área y la longitud de un círculo de 2 metros de radio.


2. Calcula el área y la longitud de un círculo de 6 metros de diámetro.
3. Calcula el radio y el área de un círculo cuya longitud de la circunferencia mide 25,12
cm.
4. Calcula el radio y la longitud de un circulo cuya área mide 28,26 decímetros cuadrados.
5. He rodeado con una cuerda un balón. A continuación he medido la longitud del
6. trozo de cuerda que he utilizado para rodear el balón. ¿Cuál es el radio del balón, si el
trozo de cuerda mide 94,20 cm de longitud.?.
7. Declarar una clase llamada Circunferencia que tenga como atributo privado el radio de
tipo real y los siguientes métodos:
a- Calcular el área.
b- Calcular el perímetro.
c- Método para modificar el radio
d- Método para consultar el valor del radio
8- Declare dos objetos: Rueda y Moneda y realice las siguientes operaciones:
a. Inicialice el radio de la Rueda con el valor de 10.2
b. Inicialice el radio de la Moneda con el valor de 15.3
c. Imprima el área de la Rueda.
d. Imprima el área de la Moneda.
e. Imprima el perímetro de la Rueda.
f. Imprima el perímetro de la Moneda.

9- Modifique la clase del ejercicio 8 para que sustituya los métodos para modificar y
consultar el radio por una propiedad.

TRIANGULOS

Ejercicios
1. Hallar el perímetro y el área del triángulo equilátero cuyo lado mide 10 cm y de base 10
cm.
2. Calcula el perímetro y área de un triángulo cuya base mide 15 cm, y de lado 15 cm.
3. La hipotenusa de un triángulo rectángulo mide 405.6 mts. Y la proyección de un cateto
sobre ella 60 mts. Calcular :
a- Los catetos
c- La altura relativa a la hipotenusa
d- El área del triangulo.
4- Calcular los lados de un triángulo rectángulo sabiendo que la proyección dee los catetos
sobre la hipotenusa es 6 cm y la altura relativa de la misma √3 cm
5- Una escalera de 10 m de longitud está apoyada sobre la pared. El pie de la escalera dista
6 m de la pared. ¿Qué altura alcanza la escalera sobre la pared?
6- Determinar el lado de un triángulo equilátero cuyo perímetro es igual al de un cuadrado
de 12 cm de lado. ¿Serán iguales sus áreas?.
7- Calcular el área de un triángulo equilátero inscrito en una circunferencia de radio 6 cm.
8- Determinar el área del cuadrado inscrito en un circunferencia de longitud 18.84 cm.
9- Calcular el área de un triángulo equilátero inscrito en una circunferencia de radio 14 cm.

1 0 - Define la clase Fecha, de acuerdo con las siguientes


especificaciones: Atributos:
• día
• mes
• año
Constructores:
• Que inicialice con una fecha fija que tu definas
• Que reciba como parámetro los valores para inicializar la fecha
Métodos públicos:
• Que permita modificar el valor de la fecha
• Que muestre en la pantalla la fecha usando el formato dia / mes / año
• Que muestre en la pantalla la fecha poniendo el mes con palabras
• Que permita verificar si una fecha es válida; este método debe ser utilizado
por el constructor y el método que modifica el valor de la fecha, si el usuario
trata de inicializar con una fecha inválida se inicializará con el valor fijo
que tu hayas definido.

Realiza después una aplicación para probar tu clase, debe al menos crear 2 objetos
de tipo Fecha, utilizando cada uno de los constructores y después mostrar las fechas
correspondientes en la pantalla.
11. Definir una clase para manejar los artículos de un supermercado cuyo diagrama de
UML se muestra a continuación:

Declare y cree un objeto, modifique sus valores e imprima el valor del


IVA
correspondiente.

12.Implemente una clase para almacenar una temperatura dada en grados centígrados y
la convierta a grados farenheit, de acuerdo a la fórmula (despeje la variable):
5 (ºF – 32)
ºC =
9
Utilice el siguiente diagrama de la clase en UML:
13. Una persona desea cambiar pesos a dólares y requiere un sistema
orientado a objetos. Para ello, define la siguiente clase:

Cree un objeto e inicialice el tipo de cambio (utilice el constructor con


parámetro), luego asigne la cantidad de pesos e imprima la conversión a dólares.
14. Resolver el problema que tienen en una gasolinera. Los repartidores registran lo
que surten en galones, pero el precio de la gasolina está fijado en litros. El sistema
debe calcular lo que debe cobrarse al cliente. Capture la cantidad de galones surtida
y fije el precio por litro mediante el constructor default.

15. El siguiente es el menú de un restaurante de hamburguesas. Elabore un


sistema capaz de leer la cantidad de cada alimento ordenado y calcular la cuenta
total de cada mesa de acuerdo al precio de cada uno de los productos.

Hamburguesa sencilla ( $15)


Hamburguesa con queso ($18)
Hamburguesa especial ($20)
Papas fritas ( $8)
Refresco ($5)
Postre ($6)

TOTAL $

Considere que el restaurante tiene 5 mesas y cada una representa un objeto del
sistema. Utilice el constructor default para fijar el precio de cada producto.

16. El costo de un automóvil nuevo para el consumidor es la suma total del costo
del vehículo, del porcentaje de ganancia del vendedor y de los impuestos
locales o estatales aplicables (sobre el precio de venta). Supóngase una ganancia
del vendedor del 12% en todas las unidades y un impuesto del 6%. Diséñese un
sistema para leer el costo del automóvil e imprimir el costo final para el
consumidor.

17. Capture las coordenadas de dos puntos (x1, y1) y (x2, y2) y calcule la distancia
entre ellos. Investigue la fórmula. Declare una clase que tenga como atributos las
coordenadas de un punto y sus respectivas propiedades.
18. Calcular la cantidad de segundos que hay en un número determinado de días.
Capture la cantidad de días e imprima la cantidad de segundos.

19. Diseñe una forma que capture un número entero positivo y despliegue un mensaje
indicando si es un número primo. Para ello, declare una clase que tenga como
atributo el número y un método que devuelva el valor booleano verdadero (true)
si se trata de un número primo o falso (false) en caso contrario. Utilice una
propiedad para validar la captura del número entero positivo.

20. Imprimir el costo de una llamada telefónica, capturando la duración de la llamada


en minutos y conociendo lo siguiente :
Toda llamada que dure tres minutos o menos tiene un costo de $5.
Cada minuto adicional cuesta $3

La clase debe tener las siguientes características:


• Un atributo que almacena la duración de la llamada.
• Una propiedad para validar que la captura sea un número entero positivo.
• Un método que calcula el costo de la llamada y devuelve el resultado

21. Una compañía editorial produce tantos libros impresos como audio-libros en
discos compactos. Diseñe una clase denominada Publicación que almacene el título
(cadena) y el precio (numérico real) de una publicación. A partir de esta clase, derive
dos clases: Libro a la cual le agregue el número de páginas (entero) y CD, a la cual
le agregue el tiempo de reproducción en minutos (numérico real). Cada una de las
clases debe tener propiedades para acceder a sus respectivos datos. Elabore un
diagrama de clases UML indicando las relaciones de herencia y codifique un sistema
mediante el cual se generen instancias de las clases Libro y CD, donde el usuario
capture sus datos y se inserten en los respectivos objetos.

Cuando el usuario seleccione el libro impreso, entonces debe activarse el cuadro de


texto para capturar el número de páginas y desactivar el cuadro de texto del tiempo en
minutos; mientras que si el usuario selecciona el audio-libro, entonces debe activarse
el cuadro de texto del tiempo en minutos y desactivar el cuadro de texto del número de
páginas.
22 Una agencia vendedora de autos desea un sistema computacional para
administrar los datos de sus vehículos y clasificarlos por tipo. Todos los autos tienen
los siguientes datos:
Número de serie
del motor. Marca.
Año.
Precio.
Los vehículos se clasifican en autos compactos, autos de lujo, camionetas y vagonetas.
Para los autos y vagonetas, también es importante almacenar la cantidad de pasajeros;
mientras que para las camionetas se debe controlar la capacidad de carga en kgs. y la
cantidad de ejes y de rodadas. Modele este sistema con diagramas de clases en UML e
instancie cada una de las clases, asignándole datos mediante sus respectivas propiedades.
Agregue un constructor con parámetros a cada clase para inicializar sus datos e invoque el
constructor de la clase base desde el constructor de cada clase derivada (no utilice
constructores default). Implemente la sobreescritura del método ToString() para mostrar
los datos de cada tipo de auto.
NOTA: No se permiten componentes duplicados en las clases ni clases vacías
(sin elementos).

23. Un equipo de futbol debe controlar las estadísticas de sus jugadores y para ello
requiere un Sistema computacional orientado a objetos con relaciones de herencia. Los
datos de cada jugador son el número de uniforme, nombre y su posición (portero,
defensa, medio y delantero). Además, el equipo desea almacenar la cantidad de goles
anotados por cada jugador (excepto el portero) y los minutos jugados. Defina las
clases con sus relaciones de herencia de la manera más apropiada para modelar este
sistema e impleméntelas.

Cuando el usuario seleccione un portero, entonces debe desactivarse el cuadro de


texto de los goles anotados. Instancie cada una de las clases, capture sus datos para
mostrarlos posteriormente. Agregue un constructor con parámetros a cada clase
para inicializar sus datos e invoque el constructor de la clase base desde el
constructor de cada clase derivada (no utilice constructores default). Implemente la
sobreescritura del método ToString()para mostrar los datos de cada tipo de jugador.
NOTA: No se permiten componentes duplicados en las clases ni clases vacías
(sin elementos).

24. Un equipo de beisbol se compone de tres tipos de jugadores: pitchers, jugadores


de posición y bateadores designados. Los datos de cada jugador son: el número
de uniforme, nombre y su posición. En esta liga, los pitchers lanzan, participan a la
defensiva pero no batean. Los bateadores designados no lanzan y no participan a la
defensiva (sólo batean). Los jugadores de posición no lanzan, pero participan a la
defensiva y batean. Modele un sistema orientado a objetos con clases heredadas con el
que controle los ponches recetados por los pitchers, los hits bateados por los otros
jugadores y los errores cometidos por quienes participan a la defensiva.
Diseñe la siguiente forma, de tal manera que cuando el usuario seleccione un
pitcher, solamente se activen los cuadros de texto de ponches y errores. El jugador
de posición solamente debe activar los cuadros de texto de los hits y errores;
mientras que el bateador designado debe activar solamente el de los hits.
Agregue un constructor con parámetros (no utilice el constructor default) a cada
clase
para inicializar sus datos e invoque el constructor de la clase base desde el constructor
de cada clase derivada.
Instancie un objeto de cada posición, capture sus datos y muéstrelos en pantalla.
Implemente la sobreescritura del método ToString() para mostrar los datos de cada
tipo de jugador.
NOTAS: No se permiten componentes duplicados en las clases ni clases vacías
(sin elementos).

25. Para una empresa es importante controlar los datos de las personas relacionadas a ella,
como lo son sus clientes y sus empleados. Los datos de cada persona son el nombre y su
domicilio; sin embargo, también es importante administrar el límite de crédito de
sus clientes y el salario de sus empleados. Modele este sistema diseñando el diagrama de
clases en UML y estableciendo las relaciones de herencia pertinentes. Agregue un
constructor con parámetros a cada clase para inicializar sus datos e invoque el
constructor de la clase base desde el constructor de cada clase derivada (no utilice
constructores default). Instancie cada una de las clases y asígnele sus respectivos datos
mediante sus propiedades. Posteriormente despliegue los datos suministrados.
Implemente la sobreescritura del método ToString() para mostrar los datos de cada
tipo de objeto.
NOTA: No se permiten componentes duplicados en las clases ni clases vacías
(sin elementos).
26. Realice la modificación que considere apropiada en el ejercicio anterior para
evitar generar instancias de la clase base.

27. Diseñe una jerarquía para las clases Cuadrilátero, Trapecio, Rectángulo y
Cuadrado. Use la clase Cuadrilátero como la clase base de la jerarquía. Los datos
privados de la clase base deben ser las coordenadas x-y de los cuatro vértices de
la figura y debe contener un método abstracto para calcular el área. Agregue un
constructor a cada clase para inicializar sus datos e invoque el constructor de la clase
base desde el constructor de cada clase derivada. Escriba un programa que instancie
objetos de cada una de las clases y calcule el área correspondiente. Investigue las
fórmulas.

27. Elabore el diseño de una jerarquía de clases para modelar los alimentos de
un restaurante, en el que se sirven:
Platillo fuerte
Ensaladas
Papas
Postre
Bebida
El sistema debe tomar en cuenta las siguientes consideraciones:
Todos los alimentos tienen como datos el nombre y su precio.
El pollo puede ser un ingrediente del platillo fuerte, la ensalada y la sopa.
La carne puede ser un ingrediente solamente del platillo fuerte.
Tanto el platillo fuerte, la ensalada y la sopa pueden contener sal.
El azúcar puede ser un ingrediente del postre y la bebida

Para comer el platillo fuerte y la ensalada se requiere uso de tenedor y/o cuchillo.
Para degustar la sopa, se requiere cuchara.
El postre se puede ingerir mediante cuchara o tenedor.
La bebida se sirve en un vaso y/o se puede utilizar un popote.

Utilice variables booleanas para identificar la presencia de un ingrediente y el uso de


un determinado cubierto para cada alimento
Agregue un constructor con parámetros a cada clase para inicializar sus datos e
invoque el constructor de la clase base desde el constructor de cada clase derivada (no
utilice constructores default).
Implemente la sobreescritura del método ToString() para mostrar los datos de
cada tipo de objeto

28. Un banco requiere controlar las cuentas de sus clientes y para ello las clasifica
en dos:
cheques y ahorros. Todas las cuentas del banco tienen los siguientes
datos: Número de cuenta (entero).
Nombre del cliente (cadena). Saldo (numérico real).

Además se realizan las siguientes operaciones con ellas: Consultar datos: A través de
sus propiedades.
Depositar: Incrementa el saldo con la cantidad de dinero que se deposita.
Retirar: Antes de hacer el retiro, se debe verificar la suficiencia de saldo y en
caso de aprobarlo, se disminuye el saldo.

Las cuentas de ahorros presentan las siguientes


características: Fecha de vencimiento.
Porcentaje de interés mensual.
Método para depositar los intereses el primer día de cada mes. Solamente se
puede retirar dinero el día de la fecha de vencimiento.

Las cuentas de cheques presentan las siguientes


características: Comisión por uso de chequera.
Comisión por emisión de cheques con saldo insuficiente, la cual se
descuenta directamente del saldo.

Elabore el diagrama de clases en UML e implemente dicho sistema con un proyecto.

29. Una empresa tiene el siguiente conjunto de datos: Registro Federal de Contribuyentes
(RFC) Razón social (nombre de la empresa)
Nombre del gerente

Y se compone de un conjunto de departamentos, cuyos datos son: Número


Nombre
Nombre del jefe

Diseñe una clase para cada entidad descrita anteriormente que tenga atributos
privados con los datos mencionados, propiedades públicas para acceder dichos datos y
un constructor default para inicializarlas.

En virtud de que una empresa se compone de un conjunto de departamentos, es


necesario establecer una relación de composición entre sus clases; para lograrlo,
se requiere que el objeto de la empresa tenga una colección genérica de objetos en una
lista simple con los datos de cada uno de sus departamentos. Además, la clase de la
empresa debe tener lo siguiente:
Método que reciba como parámetro un objeto con los datos de un
departamento para insertarlo en la empresa.
Modele un sistema tomando como referencia el siguiente diagrama de clases en
UML:
30. Un libro se compone de un conjunto de capítulos. Modele un sistema donde se
establezca una relación de composición de la siguiente forma:

Diseñe una forma que incluya los controles visuales que considere necesarios
para capturar y desplegar los datos.

31. Analice un sistema de la vida cotidiana que pueda modelarse mediante relaciones
de composición entre clases. Realice el diagrama de clases de UML, diseñe la
forma y codifique el sistema correspondiente.

32. Una empresa tiene muchos empleados y requiere un sistema para modelar esta
relación.
Los datos de la empresa son:
Razón social (nombre de la empresa)

Mientras que los datos de cada


empleado son: Número
Nombre
Sueldo

Diseñe un diagrama de clases que modele esta relación y agregue los siguientes
métodos a la clase de la empresa:
Devolver la cantidad de empleados de la empresa
Devolver la suma de los sueldos de todos los empleados

33. Diseñe un sistema para calcular el área de diversas figuras geométricas


utilizando polimorfismo y guiado por el siguiente diagrama en UML

34. Una empresa desea un sistema capaz de calcular el salario semanal de sus empleados
de acuerdo a la cantidad de horas trabajadas, el sueldo por hora y tomando en cuenta los
siguientes criterios:
• Si las horas trabajadas son más de 40, entonces el excedente se considera
hora extra.
• Si las horas trabajadas están entre el rango de 41 a 45, entonces cada hora
extra se paga doble.
• Si las horas trabajadas son más de 45, entonces cada hora extra se paga triple.
Implemente el sistema de acuerdo al siguiente diagrama de clases en UML:

• Es necesario crear un objeto de acuerdo a la cantidad de horas trabajadas.


• Para el cálculo del salario base (40 horas o menos) utilice el
método
CalcularSalario() de la clase base (base.CalcularSalario).

35. Una agencia de renta de vehículos dispone de autobuses y tractores (según el


siguiente diagrama en UML).

La renta de autobuses se factura por kilómetros. Debido a esto, los datos de la


clase Autobús son:
• El precio por kilómetro.
• La cantidad de kilómetros que tiene el autobús cuando se renta.
• La cantidad de kilómetros que tiene el autobús cuando se devuelve.

En cambio, la renta de tractores se factura por días. Debido a esto, los datos de la
clase Tractor son:
• El precio por día.
• La fecha de su renta (obtenido de la fecha y hora del sistema).
• La fecha de su devolución (obtenido de la fecha y hora del sistema).

Cuando se rente un vehículo, se deben capturar sus placas, sus datos correspondientes
(de acuerdo al tipo de vehículo.

36. Gestión de un Zoológico.

A continuación, se presenta la jerarquía de clases que representa los animales


de un posible zoológico:
La clase Animales una clase abstracta con cuatro atributos miembros protected:

a) Una cadena indicando la especie (león, águila, abeja),


b) Una cadena indicando el nombre del animal concreto
c) Un dato numérico real indicando el peso en kg.
d) Un dato numérico entero indicando el número de jaula que se asigna al animal.

Además, la clase Animal declara un método virtual que ClaseDeAnimalEres() que


habrá que definir en las clases derivadas.

La clase Mamifero no añade nuevos atributos miembro, aunque deberá implementar


el método que ClaseDeAnimalEres().

La clase Ave tiene dos nuevos atributos protected:


a) Una cadena colorPlumaje indicando el color predominante y
b) Un dato numérico real indicando la alturaMaximaVuelo.

La clase Insecto tiene un nuevo atributo miembro protected de tipo booleano llamado
Vuela que indica si el insecto vuela o no.

Para realizar este ejercicio se pide lo siguiente:

I. Crear las cuatro clases indicadas, con los correspondientes constructores y sobrecarga
de constructors.
II. Definir los métodos llamados queClaseDeAnimalEres( ) en cada una de las clases
derivadas de Animal y mostrar como el ejemplo.

Soy un mamífero llamado:


xxxxxxxx de la especie: xxxxxxxx
Peso en Kg: xxx
Estoy en la jaula: xx

III. Crear una clase ejecutora llamada Zoologico. Pruebe la jerarquía de clases que
implemento, tome en consideración que los animales de carne y hueso se guardan en
jaulas.

37- Diagrama de clase Sistema de Gestion de Biblioteca:


Define la función mostrar( ) de la clase Volumen, así como la de la clase Revista (signatura y
cuerpo de la función), teniendo en cuenta que dicha función debe comportarse de manera
polimórfica. ¿Qué otra circunstancia tiene que darse para que el tipo de la variable que invoca
al método no determine el método a utilizar?.
38 – Dada la siguiente jerarquía de herencia, indicad la visibilidad de los atributos de la clase
ProductoBancario en las clases CuentaJoven e Hipoteca.
El contador ProductoBancario::numProductos, que indica el número total de productos
bancarios que existen en el sistema, es público y puede ser modificado por cualquier usuario de
la jerarquía de clases. Indica cómo evitar ésto y en que lugares se debería inicializar,
incrementar y decrementar dicho contador.
Dada el siguiente diagrama de clases :
VECTORES

Los vectores en el lenguaje seleccionado.

Los vectores también denominados arreglos unidimensionales son estructuras de datos,


mediante las cuales almacenamos más de una dato al mismo tiempo usando una única
variable que se encuentra dividida en segmentos denominados posiciones.
Trabajando con vectores.

Gráficamente un vector es una serie de cajones contiguos numerados consecutivamente de


izquierda a derecha comenzando con cero y terminando con el tamaño del vector menos uno.

EJERCICIOS

1. Crear un vector cargando solo números positivos.

2. Crear un vector V de N componentes y sumar todos los elementos del vector que sean
enteros.
3. Cargar un vector con elementos enteros y pares positivos.
4. Crear un vector de N componentes, sumar los números enteros, pares, positivos; al finalizar
imprimir el promedio de los números pares, enteros, positivos; el de los números impares y el
de los números decimales.
5. Crear un vector según la siguiente regla:
Cargar 1 en V(1), 2 en V(2), ..., N en V(N)

6. Leer dos 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).
7. Se tiene en memoria un vector V de 50 elementos, tal que cada elemento es un número natural,
hacer un diagrama que permita obtener el promedio de todos los elementos impares.
8. Se tiene en memoria un vector A, de N elementos. Hacer un diagrama que permita obtener la
sumatoria de todos los elementos ubicados en posiciones pares.
9. Leer un vector de N componentes y luego hallar la suma y el promedio de los componentes que
están en los lugares pares y de las que se encuentran en posiciones impares.
10. Hacer un diagrama que permita contar los elementos del vector que sean múltiplos de 3 y de
5. También se desea obtener el promedio de los elementos ubicados en posiciones impares.
11. Se tiene en memoria un vector A de N elementos y otro vector B de N – 1 elementos. Hacer
un diagrama que permita formar un vector C con los elementos de A y B tal que: C(i) =
A(i+1) + B(i).
12. Se tiene en memoria un vector B, cuyos elementos son solamente el 1 y 0 (vector binario).
También se tiene en memoria los vectores L y M, todos de tamaño N. Hacer un diagrama
que permita crear un vector A tal que:
1. A(x) = L(x) si B(x) = 0
2. A(x) = M(x) si B(x) = 1
13. Dado un vector de N elementos, hacer un diagrama que permita hallar el mayor y el menor
elemento del vector con sus posiciones respectivas.
14. Se tiene en memoria un vector A de longitud N, Hacer un diagrama que permita imprimir
todas las posiciones de los elementos de A que sean iguales a una X leida.
15. Hacer un diagrama para crear un vector V con todas las edades de los alumnos de 1er. Curso
de Ing. Informática calcular el promedio de edades.
16. Dado un vector de N elementos hacer un diagrama que permita hallar el mayor elemento del
vector.
17. Dado un vector de N elementos hacer un diagrama que permita hallar el mayor y el menor
elemento del vector.
18. Dado un vector de N elementos hacer un diagrama que permita hallar el mayor y el menor
elemento del vector y sus respectivas posiciones.
19. Leer un vector de N componentes y luego hallar el promedio de los elementos que se
encuentran en posiciones pares.
20. Leer un vector de N componentes y luego hallar la suma de los elementos que se encuentran
en posiciones impares.
21. Hacer un diagrama que permita contar los elementos del vector A que sean múltiplos de 3 y
7. También se desea obtener los elementos que se encuentran en posiciones impares.
22. Se tiene en memoria un vector V de N elementos. Hacer un diagrama que permita encontrar
e imprimir la mediana. Mediana es el elemento del medio central. Si N es par es la semisuma
de los dos centrales.
23. Se tiene en memoria un vector A de N elementos y otro vector B de N-1 elementos. Hacer
un diagrama que permita formar otro vector C con los elementos de A y B tal que:
i. C(x) = A(x) + B(x).
24. Se tiene en memoria un Vector B de tamaño N. Hacer un diagrama que permita crear un
vector a partir de B, tal que cada V(x) = B(x) – mayor de B.
25. Se tiene en memoria un vector A de longitud N, hacer un diagrama que permita crear los
vectores B, C, y D tales que:
1. B tenga los elementos de A distintos a cero.
2. C tenga los elementos de A que sean pares.
3. D tenga los elementos de que no cumplan las condiciones anteriores.

MATRICES

Explicaciones generales
matriz 3 x 4
fila columna
El primer número nos indica el número de filas que tiene la matriz.
El segundo indica la cantidad de columnas que tiene la matriz.
Ejemplo:

1 2 3 4 
5 6 7 8  3 filas
  La matriz es 3 x 4
9 10 11 12
 
 
4 columnas

Si la matriz es A las posiciones de cada número son ai j


i es la fila y j es la columna donde se encuentra posicionado el número en la matriz A.

Si la matriz es B las posiciones de cada número son bi j


i es la fila y j es la columna donde se encuentra posicionado el número en la matriz B.

Ejemplos:

 a11 a12 a13  b11 b12 b13 


A  a21 a22 a23  B  b21 b22 b23 
a31 a32 a33  b31 b32 b33 

En la siguiente matriz indica la posición del número circulado.

1 2 3 4 2 __________
5 6 7 8 7 __________
A  9 __________
 9 10 11 12 14 __________
 
13 14 15 16

EJERCICIOS

En cada ejercicio realiza: a) A + B b) B – A c) 2 A + 3 B d) 5 A - 4 B

1 2 1 3
A 3 4 B 2 6
1 0 0 4
1)
5 2 6 3
A B
3 8 4 9
2)

2 5 6 5 2 7
A   4 7 1 B  3 4 8
3 4 2 2 9 7
3)

3 0 1 0 2 1
A B
2 1 2 1  2 3
4)

Encuentra AB y BA, si es posible.

3 5  5  2
5) A  B 
2  6 1 7 
 4  3 2 1 
6) A    B 
 2 1  4 2
3 0  1 1  5 0 
7) A  0
 4 2 B  4 1  2

5  3 1  0  1 3 
5 0 0 3 0 0 

8) A  0  3 0


 B  0 4 0 
0 0 2 0 0  2

1. Cargar una Matriz con elementos 1

2. Cargar una Matriz Cuadrada con elementos positivos.


3. En una matriz cuadrada cargar el elemento 7 en la primera columna.
4. Cargar una matriz cuadrada de N x N, tal que los todos los elementos de la diagonal
principal sea la constante 2.
5. Cargar una matriz cuadrada de N x N, tal que los elementos de la diagonal secundaria sea
la constante 7.
6. Hacer un diagrama que permita intercambiar los elementos de la segunda fila con los
elementos de la fila M – 1, de una matriz de orden M * N.
7. Leer una matriz de dimensión M * N. Crear un vector de la siguiente manera:
8. 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.
9. Leer una matriz de dimensión M * N. Encontrar el promedio de los elementos distintos de
cero de cada fila, creando con estos 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.
10. Cargar una matriz cuadrada de longitud N, tal que los elementos de la primera fila sean
números pares.
11. Cargar una matriz cuadrada de longitud N, tal que los elementos de la segunda fila sean
números impares.
12. Cargar una matriz M x N, tal que la primera fila sea solo de números primos positivos.
13. Hallar el promedio de los elementos primos de una matriz M x N.
14. Hallar el promedio de la diagonal principal de una Matriz.
15. Cargar la diagonal secundaria de una matriz con elementos primos.
16. Cargar la mitad horizontal de una matriz cuadrada con números positivos y enteros.
17. Cargar la mitad vertical de una matriz cuadrada con números negativos
18. Hallar el promedio de la mitad Horizontal de una matriz cuadrada.
19. Averiguar cuántos elementos primos hay en una matriz M x N.
20. Sumar todos los elementos primos positivos por un lado y los elementos primos negativos
por el otro.
21. Hallar el promedio de los múltiplos de 3 que existe en una matriz M x N.
22. Contar cuantos números capicúas hay en una matriz cuadrada.
23. Cargar una matriz cuadrada de N x N, tal que todos los elementos de la diagonal principal
sea la constante 2.
24. Cargar una matriz cuadrada de N x N, tal que los elementos de la diagonal secundaria sea
la constante 7.
25. Cargar en la mitad Horizontal de una Matriz cuadrada N x N, el elemento 1.
26. Cargar en la mitad Vertical de una Matriz cuadrada N x N, el elemento 7.
27. Cargar en la Mitad de una matriz cuadrada N x N, el elemento 1.
28. Ingresar una matriz cuadrada de orden n y reportar si es simétrica. Recordar que una matriz
es simétrica si se cumple la condición: a[i][j]=a[j][i].
29. Programa para ingresar una matriz de f filas y c columnas, y que se haga lo siguiente:
30. Ingresar un número de fila y eliminarla de la matriz.
31. Ingresar un número de columna y eliminarla de la matriz.
32. Ingresar un número de fila e insertar una fila en la matriz.
33. Ingresar un número de columna e insertar una columna en la matriz.
34. Intercambiar 2 filas de la Matriz. El número de las filas a intercambiar debe ingresarse.
35. Intercambiar 2 columnas de la Matriz. El número de las columnas a intercambiar debe
ingresarse.
36. Ordenar las filas de una matriz
37. Ordenar las columnas de una matriz .

También podría gustarte