UNIVERSIDAD NACIONAL DE MISIONES
FACULTAD DE INGENIERÍA
TALLER DE INFORMÁTICA
Guía Práctica
PARTE 1
INTRODUCCIÓN A LA INFORMÁTICA
INTRODUCCIÓN A LA PROGRAMACIÓN
1. Ejercicios Algoritmo
1. Enumerar las acciones necesarias para realizar lo siguiente:
Calcular el producto de dos números utilizando la calculadora.
Llamar a un amigo desde un TE público.
Cambiar una lámpara eléctrica que se encuentra quemada.
Preparar mate amargo.
2. Plantear el algoritmo para hallar el valor de la variable A, sabiendo que es el promedio de B y C.
3. Proponer un algoritmo que dadas las variables Q, R, S y T, permita intercambiar sus valores de
modo que Q tenga el valor original de R, ésta el de S, S el de T y finalmente T el valor original
de Q.
2. Ejercicios Expresiones
1. Si A = 5 y B = 10. ¿Qué valor asume C en cada caso?
a) C A B
b)
C (B - A) / (A - 3)
c) C A* 5 B
d) C 4 / 2* 3 / 6 B / 2 / 1 / 5 ^ 2 - A
C B A 25 4 * (A* B) / 2
e)
C B ^ A (A / B) - 20 / B
f)
g) C A - B / 2 A* 5
C A* B * 5 (B - A) ^ 3
h)
Guía Práctica – Taller de Informática Pág. 1
3. Instrucciones Secuenciales
1. Escribir un algoritmo que lea dos números e imprima su suma.
2. Escribir un algoritmo que lea un número y escriba su cuadrado.
3. Escribir un algoritmo que calcule y muestre el cubo de un número ingresado.
4. Escribir un algoritmo que permita ingresar el perímetro de un círculo y luego calcule y muestre el
radio del mismo.
5. Escribir un algoritmo que intercambie dos valores numéricos ingresados por teclado.
6. Escribir un algoritmo que halle el promedio de tres valores A, B, C. El mismo debe emitir los tres
valores por separado y luego el valor promedio.
7. Convertir una cantidad expresada en dólares a pesos y mostrar el resultado. El algoritmo debe
permitir ingresar la cantidad y el valor de la cotización del dólar. Realizar prueba de escritorio.
8. Convertir una temperatura dada en la escala Celsius e imprímase en su equivalente Fahrenheit.
(F = (9/5) C + 32)
9. Diseñe un algoritmo para convertir una longitud dada en centímetros a pies. Considere que 1 pie
= 30.48 centímetros.
10. Una institución benéfica europea ha recibido tres donaciones en soles, dólares y marcos. La
donación será repartida en tres rubros: 60% para la implementación de un centro de salud, 30%
para un comedor de niños y el resto para gastos administrativos. Diseñe un algoritmo que
determine el monto en euros que le corresponde a cada rubro. Considere que: 1 dólar = 3.52
soles, 1 dólar = 2.08 marcos, 1 dólar = 1.07 euros.
11. En una competencia atlética de velocidad el tiempo se mide en minutos, segundos y centésimas
de segundo y el espacio recorrido se mide en metros. Diseñe un algoritmo para determinar la
velocidad promedio de un atleta en km/h Considere que: 1 hora = 60 minutos, 1 minuto = 60
segundos, 1 segundo = 100 centésimas de segundo, 1 kilómetro = 1000 metros.
12. El sueldo neto de un vendedor se calcula como la suma de un sueldo básico de $ 250 más el
12% del monto total vendido. Diseñe un algoritmo que determine el sueldo neto de un vendedor
conociendo el monto de las tres ventas que hizo en el mes.
13. Diseñe un algoritmo que exprese la capacidad de un disco duro en megabytes, kilobytes y bytes,
conociendo la capacidad del disco en gigabytes. Considere que: 1 kilobyte = 1024 bytes, 1
megabyte = 1024 kilobyte, 1 gigabyte = 1024 megabytes.
14. Hacer un algoritmo que calcule la cantidad de horas, minutos y segundos entre dos eventos, de
los cuales se ingresarán la hora (expresada en horas, minutos y segundos) y la fecha (expresada
en día, mes y año) en que ocurrieron.
15. Una bomba de agua puede extraer 800 litros de agua por hora. Realizar un algoritmo que
calcule el tiempo necesario para extraer todo el líquido de un tanque del que se saben sus
medidas: altura y radio (éstas se ingresarán por teclado).
16. Determinar la velocidad de un automóvil que se desplaza a una velocidad constante si se conoce
la distancia recorrida y el tiempo utilizado. Mostrar la velocidad encontrada. Ambos datos se
ingresan por teclado
17. Un pintor sabe que con una pintura determinada puede pintar 3,6 metros cuadrados con cada
medio litro. Sabiendo la altura y el largo de la pared a pintar, realizar un algoritmo que informe
cuantos litros de pintura necesitará para la pared en cuestión. Los datos de la pared se
ingresarán en metros.
18. Teniendo como dato la hipotenusa y el ángulo que forma la misma con la base de un triángulo
rectángulo calcular y mostrar los lados y ángulos restantes.
19. Un motor de un 50rpm y tiene una Rueda conectada que tiene una relación de 1a 2 (una vuelta
del motor dos vueltas de la rueda). Realizar un algoritmo que calcule la distancia recorrida por la
goma en una hora teniendo en cuenta de que el radio de la rueda es de 32 centímetros
20. Dados los catetos de un triángulo rectángulo, calcular e imprimir su hipotenusa. Fórmula de
cálculo: h a b , donde a y b son los catetos, h es la hipotenusa.
2 2
21. Una maratón tiene 26 millas y 385 yardas. Realizar un algoritmo que permita convertir la
distancia de la maratón a kilómetros, sabiendo que 1 milla tiene 1760 yardas.
Guía Práctica – Taller de Informática Pág. 2
4. Instrucciones de Decisión
1. Escriba un algoritmo que determine si un número ingresado es positivo, negativo o cero.
2. Escriba un algoritmo que permita leer dos valores numéricos A y B. Si A es mayor que B debe
realizar la suma de ambos, caso contrario, se hace el producto.
3. Escriba un algoritmo que permita ingresar valores numéricos A, B, C, D, E y decir si su promedio
es mayor que o igual a 10.
4. Hacer un programa que permita ingresa dos números y el símbolo de la operación (+,-,*,/).
obteniéndose el correspondiente resultado. Si el símbolo no es correcto deberá imprimir un
mensaje que indique “Error en símbolo”.
5. Escriba un algoritmo capaz de encontrar el máximo de dos valores (M y N)
6. Escriba un algoritmo capaz de encontrar el máximo de tres valores (R, S y T).
7. Escribir un algoritmo que permita ingresar tres números distintos entre sí y los muestre en
pantalla ordenados de mayor a menor y de menor a mayor.
8. Desarrollar un algoritmo que permita realizar la suma de dos horas distintas (HH, MM, SS).
Tener en cuenta que si la hora supera 24 se debe contar un día.
9. Leer los lados de un rectángulo y el radio de un círculo. Determinar si las áreas de ambas figuras
son o no iguales.
10. Diseñe un algoritmo que permita ingresar la hora actual del día en tres variables, HH, MM y SS y
determine cuantas horas, minutos y segundos restan para las [Link].
11. Diseñe un algoritmo que permita ingresar dos valores X e Y, luego determine qué porcentaje es
X de Y.
12. El promedio de prácticas de un curso se calcula en base a cuatro notas de las cuales se elimina
la nota menor y se promedian las tres notas más altas. Diseñe un algoritmo que determine la
nota eliminada y el promedio de un estudiante.
13. Diseñe un algoritmo que lea tres longitudes y determine si forman o no un triángulo. Si es un
triángulo determine de que tipo de triángulo se trata entre: equilátero (si tiene tres lados
iguales), isósceles (si tiene dos lados iguales) o escaleno (si tiene tres lados desiguales).
Considere que para formar un triángulo se requiere que: "el lado mayor sea menor que la suma
de los otros dos lados".
14. Ingresar un número C y determinar si pertenece al intervalo [A, B] con A y B ingresados por
teclado.
15. Una compañía dedicada al alquiler de automóviles cobra $30 hasta un máximo de 300 km de
distancia recorrida.
16. Para más de 300 km y hasta 1000 km, cobra $30 más un monto adicional de $ 0.15 por cada
kilómetro en exceso sobre 300. Para más de 1000 km cobra $30 más un monto adicional de $
0.10 por cada kilómetro en exceso sobre 1000. Los precios ya incluyen el 18% del impuesto
general a las ventas, IGV.
Diseñe un algoritmo que, ingresando la distancia recorrida, determine el monto a pagar por el
alquiler de un vehículo y el monto incluido del impuesto.
Basándose en el año de fabricación y el peso del automóvil en una fábrica se determina la tarifa
de registro según la siguiente tabla:
Año Peso (lb.) Categoría Tarifa de
(modelo) de Peso Registro
1970 o Menos de 2.700 1 $ 11.600
anterior 2.700 a 3.800 2 $ 23.200
Más de 3.800 3 $ 34.800
1971 a 1979 Menos de 2. 700 4 $ 13.000
2.700 a 3.800 5 $ 26.000
Más de 3.800 6 $ 39.000
1980 o Menos de 3.500 7 $ 12.000
posterior 3.500 o más 8 $ 46.000
Guía Práctica – Taller de Informática Pág. 3
El programa debe ingresar el año y el peso del auto e imprimir la categoría y la tarifa.
17. El cuadrante en el cual se ubica una línea dibujada desde el origen está determinado por el
ángulo que la línea forma con el eje positivo de x en la siguiente forma:
Ángulo del eje positivo de x Cuadrante
Entre 0 y 90 grados I
Entre 90 y 180 grados II
Entre 180 y 270 grados III
Entre 270 y 360 grados IV
El programa debe ingresar el ángulo de la línea como dato de entrada y desplegar el cuadrante
apropiado, según la tabla dada. Si el ángulo es exactamente 0, 90, 180 o 270 grados, la línea
resultante no se ubica en ningún cuadrante sino en cada uno de los ejes respectivos.
INSTRUCCIONES REPETITIVAS
5. Estructura FOR (Controladas por un Contador)
1. Escribir un algoritmo que permita ingresar 10 números y calcule el promedio.
2. Ingresar 5 juegos de cuatro valores cada uno. Calcular y emitir el promedio de cada juego.
3. Dados 10 números, escribir un algoritmo que imprima:
a. la suma de los números positivos de la lista
b. cantidad de números negativos de la lista
c. promedio de los números positivos.
4. Desarrollar un algoritmo que determine en un conjunto de cien números la cantidad de
negativos, cuántos son mayores de 50 y cuántos están comprendidos entre 25 y 45.
5. Escribir un algoritmo que calcule la suma de los cuadrados de los 10 primeros números
naturales.
6. Ingresar dos números y calcular el producto de los mismos por sumas sucesivas.
7. Calcular la suma de los números pares, la suma de los números impares comprendidos entre 1 y
N, donde N es un número ingresado por teclado. (recordar que el incremento puede ser de 2).
8. Escribir un algoritmo que imprima la tabla de multiplicar del 2.
9. Escribir un algoritmo que imprima todas las tablas de multiplicar (desde la del 2 hasta la del 9).
10. Escribir un algoritmo que imprima la suma de los 1000 primeros números naturales, es decir, 1
+ 2 + 3 + 4 + ... + 998 + 999 + 1000.
11. Escriba un algoritmo para imprimir las coordenadas (X - Y) de una función cuadrática, de la
forma Y = aX + bX + c haciendo variar X en el intervalo [-20, 20] con un incremento de 2.
12. Escribir un algoritmo que calcule el factorial de un número. El factorial de un número N se
simboliza: N!, donde N! = N * (N-1)!. Sólo existen factoriales de números naturales y el cero. Se
define 0! = 1.
Ej: 5! = 5 * 4 * 3 * 2 * 1 * 1.
13. Leer 10 valores numéricos. Calcular e informar: La suma de los valores positivos y el producto
de los valores negativos. (Ignorar los valores nulos)
14. Leer una lista de 50 números y emitir: el valor mínimo de la lista, el valor máximo de la lista y la
ubicación del máximo dentro de la lista.
15. Dada una lista de 50 valores numéricos, indicar si esta ordenada en forma ascendente.
16. Diseñe un algoritmo para calcular el resultado de la suma de los 100 primeros términos de la
siguiente serie:
S = 1 – 1/3 + 1/9 – 1/27 + 1/81
Guía Práctica – Taller de Informática Pág. 4
17. Realizar un algoritmo que convierta un número ingresado por teclado (en sistema decimal) a su
equivalente en sistema binario.
18. Construir el algoritmo que realice la operación inversa al del ejercicio anterior.
19. Escribir un algoritmo que permita el ingreso de dos números x y n, y calcule xn, por
multiplicaciones sucesivas. Hacer las consideraciones necesarias para que funcione. Tener en
cuenta casos particulares.
20. Escribir un algoritmo que permita ingresar el promedio de un curso y luego las calificaciones de
un grupo de 50 alumnos. Se necesita saber cuántos alumnos tienen una calificación superior al
promedio del grupo. Realizar prueba de escritorio para 10 alumnos.
21. Escribir un programa que permita ingresar dos valores A y B que determinan un intervalo, luego
ir acumulando los valores que se ingresan a continuación siempre y cuando estos pertenezcan al
intervalo.
22. Diseñar un DFD que permita el ingreso de N números y al finalizar muestre el menor, el mayor y
la posición en que se ingresó cada uno. N se ingresa al principio por teclado. AYUDA: hacer
primero el mayor, después agregarle la posición, después complicarlo con todo.
23. Realizar un algoritmo que imprima los N primeros números de la serie de Fibonacci. N se ingresa
por teclado.
24. Calcular la serie de Fibonacci. Ingresar N y generar la serie hasta que el último término sea
menor a N.
25. Se leen 30 valores (comprendidos entre 5 y 40), que representan la temperatura máxima de
cada uno de los días de un mes. Se pide hallar e informar :
La temperatura máxima del mes y el día que se produjo. (Se supone única)
Cuántos días la temperatura supero los 25º C.
El promedio de las temperaturas máxima del mes.
26. Se ingresan las notas de 40 alumnos. Por cada alumno se ingresa:
número de matrícula : 4 dígitos (1-9999)
asistencia : 1, presente; 0, ausente
calificación: 2 dígitos (0-10).
A partir de esta información se debe calcular e informar:
Cantidad y % de alumnos presentes.
Promedio de calificaciones de alumnos presentes.
% de alumnos aprobados (sobre el total de alumnos presentes).
Número de matrícula del alumno de mayor calificación. (Si hay varios alumnos con esa
calificación: calificación y cantidad de alumnos en esa situación).
6. Estructuras WHILE y DO WHILE (Controladas por una condición)
1. Realizar un algoritmo que permita calcular la suma de los números ingresados mientras que el
valor acumulado no supere el valor 100. Mostrar el valor acumulado antes de superar 100.
2. Ingresar juegos de cuatro valores cada uno. Calcular y emitir el promedio de cada juego. El
proceso finaliza al encontrarse un juego cuyo primer valor es 0 (cero).
3. Leer una lista de números que finaliza cuando se ingresar el número 0 (cero), al finalizar emitir
el valor mínimo de la lista.
4. Leer una lista de números que finaliza cuando se ingresar el número 0 (cero), al finalizar emitir
el valor máximo de la lista.
5. Leer una lista de números que finaliza cuando se ingresar el número 0 (cero), al finalizar emitir
el valor máximo de la lista, y la ubicación del máximo dentro de la lista. (Suponer un único
máximo).
6. Escribir un programa que permite ingresar dos valores A y B que determinan un intervalo, luego
ir acumulando los valores que se ingresan a continuación siempre y cuando estos pertenezcan al
intervalo. El ingreso de números finaliza cuando ingresa el 99.
7. Diseñar el algoritmo para resolver una ecuación de segundo grado Ax 2 + Bx + C = y. El
algoritmo deberá ingresar A, B y C e ir ingresando x. El programa finaliza cuando ingresa x = 99.
Guía Práctica – Taller de Informática Pág. 5
8. Se tienen los siguientes datos sobre nacimientos en una ciudad: sexo (“F” ó “M”) y fecha de
nacimiento (DD y MM). Se pide realizar un algoritmo que informe cuántos son varones y cuántas
son mujeres, cuántos nacimientos hubo en el primer semestre y cuántos en el segundo. El final
de lectura de datos viene dado por una lectura del sexo en blanco.
9. Realizar un algoritmo que determine si una serie de números ingresada por teclado es
ascendente. El final de la serie viene dado por un número negativo. (Ej: 1, 5, 5, 10, 11, 12, 12,
20, -1 es una serie ascendente).
10. Diseñar un Diagrama de Flujo de Datos (DFD) que permita el ingreso de datos de tipo carácter
hasta que se ingrese un espacio en blanco; al final informar si algún dato fue numérico (un
dígito de „0‟ a „9‟) y si se ingresaron datos numéricos, cuántos fueron.
11. Diseñar un DFD que permita el ingreso de N números; al final informar la sumatoria de los
números. N se ingresa al principio por teclado.
12. Diseñar un DFD que permita el ingreso de números e informe si se ingresaron o no números
negativos. El ingreso de números finaliza cuando ingresa el 99.
13. Diseñar un DFD que permita calcular el promedio de N notas introducidas por teclado, siendo N
un valor introducido por el usuario. Además ha de indicar si ha habido algún 10, el número de
reprobados y de aprobados.
14. Diseñar un DFD que permita el ingreso de números, muestre el valor acumulado, el promedio y
si ingresó el 0 (cero). El final del ingreso se da cuando ingresa el número 100 o la suma de los
ingresados supere el valor 100.
15. Diseñar un DFD que permita mostrar en pantalla una rutina de selección del siguiente menú: 1.-
Suma 2.- Resta 3.- Producto 4.- División S.- Salir. El usuario podrá elegir cualquier alternativa,
luego ingresar A y B y realizar la operación seleccionada. Solamente con “S” podrá Salir. Tener
en cuenta que si elige 4.- División deberá reingresar el denominador hasta que ingrese un valor
diferente a 0 (cero). Si ingresa un número negativo o mayor que 4 deberá informar “Opción no
válida”.
16. Dado un conjunto de números positivos, determinar el mayor de ellos:
a. cuando se tiene como dato su cantidad o tamaño del conjunto
b. cuando el conjunto de datos finaliza con un valor negativo.
ESTRUCTURAS DE DATOS.
7. Vectores
1. Efectuar un algoritmo que permita la carga de un vector de 10 elementos.
2. Efectuar un algoritmo que permita la muestra de los elementos de un vector de 10 elementos.
3. Diseñar un algoritmo que cargue un vector A con 10 elementos numéricos y realice las
siguientes modificaciones:
a. Asignar el valor 11,2 a la tercer posición del vector A
b. Asignar el valor del elemento de la octava posición del vector A en la segunda posición
c. Intercambiar el elemento de la cuarta posición, con el de la novena posición del vector A
4. Efectuar un algoritmo que permita el ingreso por teclado de los 30 elementos de un vector
numérico, duplicar sus valores y luego imprimirlos en el orden ingresado.
5. Efectuar un algoritmo que permita el ingreso por teclado de los 30 elementos de un vector
numérico y luego imprimirlos en el orden inverso al ingresado.
6. Efectuar un algoritmo que permita el ingreso por teclado de los 30 elementos de un vector
numérico y luego imprimir:
a. La suma del contenido de los elementos.
b. La cantidad de elementos que sean mayores que 15.
7. Crear un vector de 70 elementos donde cada elemento del vector sea igual a su posición.
8. Cargar un vector de 50 elementos e informar: cual es el mayor elemento, el menor, y la posición
de ambos. Considere que los valores no se repiten.
9. Escribir un algoritmo que permita cargar un vector que contenga las notas de un curso de 20
alumnos (controlar que las notas válidas son entre 0 y 10) indicando:
Guía Práctica – Taller de Informática Pág. 6
a. la nota más alta y la nota más baja
b. el promedio de notas
c. el número de notas superiores al promedio
d. la cantidad de alumnos aprobados (notas >= a 4)
e. la cantidad de alumnos reprobados.
Al finalizar, mostrar todas las notas y los resultados de los cálculos.
10. Cargar un vector con 100 datos numéricos, al finalizar la carga calcular y mostrar:
a. promedio de los números positivos
b. promedio de los números negativos
c. la suma de los elementos que ocupan las posiciones pares del vector
d. la suma de los elementos que ocupan las posiciones impares del vector.
11. Confeccione un algoritmo que permita leer tres vectores de igual dimensión y luego los sume en
un cuarto vector.
12. Cargar un vector con 100 datos numéricos, luego ingresar un número X y buscar e informar si X
se encuentra en el vector, mostrando como resultado: “Existe el elemento en la posición ..” o
bien, “El elemento x no existe”.
13. Cargar un vector con 100 datos numéricos, luego ingresar un número X y buscar e informar si X
se encuentra en el vector y si se encuentra, cuantas veces aparece.
14. Efectuar un algoritmo que permita el ingreso por teclado de los 30 elementos de un vector
numérico y luego imprima cada elemento del vector que vaya precedido inmediatamente por un
elemento nulo.
15. Cargar un vector con las alturas de los N alumnos de un curso. Determinar la media y luego
informar cuantos alumnos son más altos que la media y cuántos mas bajos.
16. Hacer un programa que permita realizar la suma y el producto de dos vectores de 10 elementos.
El usuario elige la operación a realizar. Ambos vectores ya están cargados.
17. En un colegio secundario, se maneja la información de las notas de un curso con tres vectores
de longitud N llamados trim1, trim2 y trim3. Los componentes de los vectores son las notas del
primero, segundo y tercer trimestre respectivamente, para cada alumno. Se pide generar un
cuarto vector de nombre prom donde cada componente sea el promedio de los elementos
homólogos de los tres vectores, al finalizar mostrar los tres mejores promedios del curso.
18. Los elementos de un vector numérico de 10 posiciones están relacionados con la siguiente
expresión: A[i+1] = i*A[i]+i*2 y siendo A[1] = 1. Realizar un algoritmo para calcular los
elementos de este vector.
19. Efectuar un algoritmo que permita el ingreso por teclado de los 30 elementos un vector
numérico. Luego mostrar:
a. La posición (índice) del primer elemento menor que 0.
b. El valor y posición del mayor elemento.
20. Dado dos vectores A y B de N y M componentes, realizar un algoritmo que permita cargar dichos
vectores, luego generar un nuevo vector de nombre C que contenga los componentes comunes
de los dos anteriores y mostrar C.
21. Cargar dos vectores: uno con el número de empleado y otro con las horas trabajadas por cada
empleado. Cada vector tendrá N. Se pide:
a. Promedio de horas trabajadas.
b. Imprimir los números de empleados que trabajaron más horas que el promedio general.
c. Imprimir el número de empleado que más horas trabajó y el número de empleado que
trabajó menos horas.
22. Realizar un algoritmo que almacene en un vector los 20 primeros números primos, al finalizar la
carga mostrar el vector cargado.
23. Realizar un algoritmo que vaya solicitando al usuario la posición dentro del vector que desea
cargar y luego el valor a cargar. Deberá indicar con un mensaje cuando ese elemento ya haya
sido cargado y cuando el vector esté completamente cargado.
24. Ordenar un vector de 5 elementos de menor a mayor.
25. Ordenar un vector de N elementos de menor a mayor.
26. Dado un vector de N elementos buscar e imprimir.
Guía Práctica – Taller de Informática Pág. 7
a. La cantidad de veces que se encuentra cada número dentro del Vector.
b. La cantidad de números distintos dentro del Vector.
27. Cargar un vector de orden N. Se ingresan luego 10 números por teclado. Determinar cuántos de
estos números ingresados están presentes en el vector.
28. Cargar dos vectores A y B, luego buscar y mostrar cuantos elementos en común tienen.
8. Matrices
1. Elaborar un algoritmo que permita cargar números en una matriz de N x M por filas.
2. Elaborar un algoritmo que permita cargar números en una matriz de N x M por columnas.
3. Elaborar un algoritmo que permita cargar números en una matriz de 6 x 6. Imprimir al final la
suma de las columnas.
4. Elaborar un algoritmo que permita el ingreso de números en una matriz de 10 x 10 e imprima
los elementos de la misma recorriendo por fila y al final de cada fila imprima la suma de esta
última.
5. Elaborar un algoritmo que lea números en una matriz cuadrada de 10 x 10. Calcular e imprimir
la suma de los elementos de su diagonal principal.
6. Hacer un algoritmo que me permita cargar los elementos de la diagonal principal de una matriz
de 10 x 10 a un vector.
7. Elaborar un algoritmo que genere una matriz cuadrada de 10 x 10 en la cual se asigne ceros a
todos sus elementos, excepto a los de la diagonal principal, donde asignará unos.
8. Elaborar un algoritmo que cree una matriz cuadrada de 10 x 10 en la cual cargue ceros a todos
sus elementos, excepto a los de la diagonal secundaria, donde se asignarán números leídos por
teclado.
9. Elaborar un algoritmo que cargue números en dos matrices de 5 x 5. Calcular en una tercera
matriz la suma de los elementos de las dos anteriores. Al final mostrar las tres matrices.
10. Hacer un DF que me permita cargar una matriz de M x N, luego calcule y muestre el mayor y
menor elemento de cada fila.
11. Hacer un DF que me permita cargar una matriz de M x N, luego calcule y muestre el menor
elemento de cada columna y la posición en la que se encuentra.
12. Se deben cargar las notas de cada uno de los 40 alumnos de un curso. Cada alumno tiene 5
notas donde las notas de un alumno corresponden a una fila de una matriz. Elaborar un
algoritmo que calcule e imprima el promedio de cada alumno.
13. En una matriz se tienen las 7 notas correspondientes a cada una de las asignaturas de los 30
alumnos de un curso. Elaborar un algoritmo que calcule e imprima las notas y el promedio de
cada alumno. Cada alumno cursa como mínimo 3 materias y como máximo las 7.
14. Elaborar un algoritmo que cargue números en una matriz de 5 x 10. Calcular la suma de cada
una de sus filas y columnas dejando dichos resultados en dos vectores, uno de 5 elementos para
las filas y otro de 10 elementos para las columnas.
15. Elaborar un algoritmo que permita ingresar números en una matriz en las posiciones
correspondientes al triángulo superior (de la diagonal principal hacia la derecha) teniendo en
cuenta que el resto de la matriz debe permanecer en 0.
16. Elaborar un algoritmo que permita ingresar números en dos matrices una de 5 x 4 y la otra de 4
x 3. Calcular en una tercera matriz el producto de los elementos de las dos anteriores, la matriz
resultado será de 5 x 3. Al final imprimir las tres matrices.
Nota: Para poder multiplicar matrices, el número de filas de una matriz debe coincidir con el
número de columnas de la otra (no necesariamente deben ser cuadradas). El producto está
definido por la fórmula: c[i,j] = ∑a[i,k] * b[k,j]
17. Elaborar un algoritmo que permita determinar si una matriz cuadrada A ya cargada es identidad.
Nota: Una matriz es considerada “identidad” si cada elemento a[i,j] = a[j,i].
18. Cargar una matriz de M x N elementos y generar un vector con los valores de una fila indicada
por teclado. No olvidarse de validar el número de fila ingresado.
19. Elaborar un algoritmo que permita ingresar los datos de una matriz de 10 x 5 y genere la matriz
transpuesta.
20. En una agencia de quiniela se tienen los valores de los números ganadores y los premios de los
mismos. Los datos están cargados en una matriz de 365 filas y dos columnas (una fila para cada
Guía Práctica – Taller de Informática Pág. 8
día). En la primer columna el número ganador y en la segunda el monto del premio. Realizar un
algoritmo que determine cuántas fueron las ocurrencias de cada número y que monto de dinero
le correspondió a cada número.
21. Se carga una matriz de 50 x 3 con los siguientes datos sobre nacimientos en una ciudad: sexo
(1: Masculino 2: Femenino), mes y año de nacimiento. Al finalizar la carga se pide que informe:
a. cantidad de varones y cantidad de mujeres
b. cantidad de nacimientos en el primer semestre
c. cantidad de nacimientos en el segundo semestre
d. cantidad de personas que actualmente son mayores de 5 años.
22. En una matriz de dimensiones 4 x 4 se pide que encuentre la ubicación del mayor y menor
elemento. Mostrar la matriz completa y las ubicaciones encontradas con los valores respectivos.
23. Lea una matriz de N x M (variables ingresadas por teclado) e indique:
a. cantidad de elementos positivos
b. cantidad de elementos negativos
c. cantidad de ceros
d. mayor elemento que contiene la matriz y cuantas veces figura dicho elemento
24. Hacer un diagrama que permita cargar una matriz de 5 x 5 y ordene cada columna de mayor a
menor.
25. Hacer un diagrama que permita cargar una matriz de 5 x 5, luego ingrese un número de fila,
validarlo y, por último ordene la fila indicada de mayor a menor.
26. Cargar dos matrices MAT1 y MAT2 ambas cuadradas de orden N. Intercambiar los elementos de
la diagonal principal.
27. Leer una matriz de dimensiones N x M y realizar y mostrar:
a. un vector llamado POS que contendrá los elementos positivos de la matriz
b. un vector llamado NEG que contendrá los elementos negativos de la matriz
c. el mayor elemento del vector POS
d. el menor elemento del vector NEG
e. el promedio de los elementos de la matriz, del vector POS y del vector NEG
f. la matriz original y los dos vectores.
9. Ejercicios Integradores
1.- Diseñar un DFD que permita mostrar por pantalla el siguiente menú:
1. Factorial de un Nº
2. División de dos números A y B.
3. Salir.
El usuario debe ingresar la opción que desea realizar. Sólo podrá salir del programa si ingresa 3.
Si elije 1 deberá pedir al usuario que ingrese un número luego deberá calcular el factorial y
mostrar el resultado. Debe tener en cuenta que: el nro. debe ser positivo (el programa deberá
pedir que ingrese el número hasta que ingrese un nro. positivo).
Si elije 2 deberá pedir al usuario que ingrese dos números A y B y calculará A dividido B.
Debe tener en cuenta que: el nro. B debe ser diferente de cero (el programa deberá pedir que
ingrese el número hasta que ingrese un nro. distinto de cero).
Si ingresa cualquier otro nro. Deberá informar “ERROR” y mostrar nuevamente el menú.
2.- Diseñar un DFD que permita el ingreso de 20 notas (NOTA) e informe:
a) la mayor nota ingresada (MA),
b) la menor nota ingresada (ME),
c) la cantidad de aprobados (mayores o iguales a 4) (CA),
d) el promedio de las notas (PN) y
e) la posición de la mayor (PM).
Realizar la prueba de escritorio para 5 notas utilizando los siguientes valores:
NOTA MA ME CA PN PM Otras
Guía Práctica – Taller de Informática Pág. 9
variables…..
1º 4.25
-5.30
-3.75
2º 7.50
3º 10.00
4º 6.30
5º 2.45
Tener en cuenta que: Las notas ingresadas no se repiten. Se debe respetar el nombre de las
variables. Si necesita más variables aclarar para qué utiliza cada una. Las notas ingresadas deben
ser validadas. Se debe controlar que las notas ingresadas sean válidas, si no lo son se debe
reingresar la nota; o sea que en total se tendrán 20 notas válidas (entre 0.00 y 10.00 inclusive).
Indicar el sentido de las flechas y líneas de flujo, el V/F de los rombos.
3. Una empresa de servicios de encomiendas realiza un control semanal de los volúmenes de
carga que transporta, el empleado responsable de llevar adelante el registro debe cargar la
cantidad de bultos por día que sale desde el depósito (verificar que los datos que ingresa el
usuario correspondan a una cantidad valida).
Una vez almacenado en el registro, se deberá obtener el promedio semanal de las cargas.
(Bultos por día que sale desde el depósito).
Luego se deberá encontrar los días en que la carga transportada supere al promedio semanal
obtenido, e informar cuantos son.
Un ejemplo:
Lunes Martes Miércoles Jueves Viernes Sábado Domingo
125 325 100 85 300 510 150
Promedio semanal: 227.86 bultos transportados, esto es 228.
Superan el promedio los días martes, viernes y sábado.
Informar: 3 días.
4. Una empresa de transporte lleva un control mensual de los pasajes vendidos Oberá - Bs As. El
encargado de ventas necesita cargar y almacenar los datos correspondientes a la cantidad de
pasajes vendidos mensualmente, durante el transcurso de un año. (Verificar que los datos que
ingresa el usuario correspondan a una cantidad válida). Una vez almacenados los datos se
quiere realizar un estudio estadístico para el mes de Mayo y determinar e informar cuando se
venden más pasajes los días pares o impares:
Pasajes días pares. (Esto es: 0, 2,4,…, 28,30)
Pasajes días impares. (Esto es: 1, 3,5,…, 29,31)
Un ejemplo: Carga matriz de 31x12.
D/A 1 2 3 4 5 6 7 8 9 .. .. 26 27 28 29 30 31
Ene
Feb
Mar
Abr
May
Jun
…
…
Oct
Nov
Dic
Suma días pares: 380.
Suma días impares: 530.
Informar: Días impares.
Guía Práctica – Taller de Informática Pág. 10
5. Una empresa de transporte lleva el control de las ventas de pasajes por cada unidad que realiza
la línea Oberá- Buenos Aires. Esta línea permite la venta de tarifas intermedias.
El encargado de ventas necesita cargar y almacenar los datos correspondientes a una unidad de
transporte con un total de 36 butacas.
Estado de butacas: Libre = 0, Ocupado = 1. (Verificar dato ingresado valido).
Tarifa por butacas vendidas: x $. (Verificar dato ingresado valido).
Una vez cargado los datos, se quiere obtener:
a) la cantidad de butacas ocupadas y libres de la unidad de transporte.
b) el importe total en $ de los pasajes vendidos.
Se conoce el costo de un pasaje Oberá- Buenos Aires cuesta: $130.
c) Determine cuántos viajan a Buenos Aires, y cuántos con tarifa intermedia.
Un ejemplo: Carga matriz de 36x2. Corresponde a una unidad de transporte.
Asiento 1 2 3 4 5 6 7 8 9 10 .. .. 31 32 33 34 35 36
Estado 0 0 0 1 1 0 0 1 0 1 .. .. 0 0 1 1 1 1
Tarifa $ 0 0 0 90 90 0 0 70 0 80 .. .. 0 0 130 130 90 90
Butacas libres: 7
Butacas ocupadas: 36-7=29
Importe total: X $
10. Ejercicios Integradores con matrices, vectores y ordenamiento
1. Realizar un DFD que permita cargar por columnas los elementos de una matriz cuadrada de 10x10.
Validar que los números permitidos deben estar entre 5 y 50. Si es incorrecto deberá reingresar.
Luego mostrar en pantalla un menú que tenga las siguientes opciones:
1.- Suma de diagonal principal
2.- Cargar el mayor de cada columna en un vector
3.- Cargar el promedio de cada fila en un vector.
4.- Ordenar una columna
5.- Salir
SOLO si elige 5 sale del programa.
Si elige la opción 1 deberá calcular y mostrar la suma de los elementos de la diagonal principal.
Si elige la opción 2 deberá buscar el mayor de cada columna, cargarlos a un vector y por último
mostrar el vector cargado.
Si elige la opción 3 deberá calcular el promedio de cada fila, cargarlos a un vector y por último
mostrar el vector cargado.
Si elige la opción 4 deberá pedir que se ingrese un número de columna, validar, luego esa columna
ordenarla de menor a mayor y por último mostrar la matriz completa.
2. Realizar un DFD que permita cargar por filas una matriz con valores de temperatura de un mes, la
matriz será de 4x7.
Los valores de temperatura que se cargan en la matriz no pueden ser inferiores a -50, ni superiores
a 50 [-50,50].
Una vez finalizada la carga de las temperaturas se debería:
a) Mostar en que día del mes se produjo la temperatura más baja y la más alta. Deberá
mostrar la semana (0,1,2,3) y el día(0,1,2,3,4,5,6).
Guía Práctica – Taller de Informática Pág. 11
b) Calcular el promedio del mes y luego mostrar qué día del mes tuvo la temperatura más
cercana a la temperatura promedio del mes.
c) Cargar todos los valores de temperatura de la matriz a un vector de dimensión 28, ordenar
los valores de mayor a menor por los métodos:
-Comparando de a pares y usando una bandera.
- Burbuja.
d) Mostrar cuántos valores son superiores a la temperatura promedio y cuantos inferiores a la
temperatura promedio.
Guía Práctica – Taller de Informática Pág. 12