0% encontró este documento útil (0 votos)
41 vistas6 páginas

Trabajos Prácticos Programación

Son trabajos prácticos para programación de la UTN

Cargado por

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

Trabajos Prácticos Programación

Son trabajos prácticos para programación de la UTN

Cargado por

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

Ing. Daniel Osvaldo Fortín, Ing. Germán Daniel Casado.

Informática I Industrial

Universidad Tecnológica Nacional


Facultad Regional Haedo
Departamento de Ingeniería Industrial
Cátedra: Informática I

GUIA DE EJERCITACIÓN: PRÁCTICAS DE PROGRAMACIÓN

Lineamientos

• Para todos los ejercicios de la práctica se pide el diagrama Estructurado o N-S (de Nassi-
Schneidermann o de Chapin) y la correspondiente programación en pseudo-código en
español. Se pide en todos los casos primero realizar el diagrama N-S y luego el pseudo-
código.

• Algunos de los ejercicios serán íntegramente desarrollados por el docente en clase,


mientras que otros serán desarrollados por los alumnos también en clase con asistencia
del docente. Se verificará en el pizarrón la resolución de todos los ejercicios que se
desarrollen en clase.

• Algunos ejercicios serán propuestos como tarea para el hogar del alumno.

• Los ejercicios indicados como OPCIONALES son solo propuestas para aquellos alumnos
que quieran profundizar, pero no son solicitados en la práctica.

• La verificación de los algoritmos será realizada por los mismos alumnos, mediante la
programación de los códigos solicitados en el programa PSEINT.

• Se recomienda que el alumno desarrolle los diagramas en lápiz, a los efectos de poder
corregirlos rápidamente.

Ejercicios de programación condicional


1. Escribir un algoritmo que dado dos números enteros ingresados por el usuario, determine
si la resta de dichos números, negativa o cero y lo informe mediante los textos “Positivo”,
“Negativo” y “Cero” respectivamente y además informe el valor absoluto de la misma en los
dos primeros casos. (Considerar que no se dispone de una función valor absoluto).
2. Escribir un algoritmo que dados tres números enteros ingresados por el usuario, determine
la paridad de los mismos e informe la cantidad de números pares e impares ingresados.
(Considerar que el cero es un número par) Realizarlo de dos maneras diferentes:
a) Mediante la función MOD
b) Sin utilizar la función MOD
3. Escribir un algoritmo que lea tres números ingresados por el usuario y determine e informe
si los mismos han sido ingresados en orden decreciente, creciente o sin orden.
a) Asumiendo la condición de que los tres números ingresados son distintos.

1
Ing. Daniel Osvaldo Fortín, Ing. Germán Daniel Casado. Informática I Industrial

b) Verificado la condición de que los tres números ingresados son distintos.


En ambos casos realizarlo sin utilizar condiciones compuestas.
4. Escribir un algoritmo que lea tres números ingresados por el usuario y encuentre e informe
si uno de ellos es la suma de los otros dos.
5. Escribir un algoritmo que lea tres números e informe los dos mayores.
a) Asumiendo la condición de que los tres números ingresados son distintos.
b) Verificado la condición de que los tres números ingresados son distintos.
6. Escribir un algoritmo que lea una nota numérica entera, correspondiente a un examen
parcial y realice su pasaje a una calificación cualitativa alfabética según el valor de la
misma, considerando el siguiente sistema:
Notas 1, 2, 3 corresponden a “Insuficiente”
Notas 4, 5, 6 corresponden a “Regular”
Nota 7 corresponde a “Bien”
Notas 8, 9 corresponden a “Muy Bien”
Nota 10 corresponde a “Sobresaliente/Distinguido”
Cualquier otra nota se consignará como “No válida”.
7. Escribir un algoritmo que determine e informe las raíces reales de una ecuación de
segundo grado de la forma a x 2 + b x + c = 0.

a) en caso de existir dichas raíces reales, se deberá indicar si se trata de una raíz real
doble o de dos raíces reales diferentes. Si hay raíces complejas conjugadas sólo se
informará de esta situación.
b) Modificar el algoritmo anterior para que calcule e informe también las raíces
complejas conjugadas en caso de existir. (Para la realización de esta parte se
considera que no se dispone de una función valor absoluto)
8. Escribir un algoritmo que lea dos números, correspondientes a las notas de dos parciales
(sin decimales) y una letra, correspondiente a la aprobación de un práctico y determine e
informe si un alumno aprobó una materia, considerando que para aprobar la nota debe ser
mayor o igual a cuatro en los dos exámenes y el práctico aprobado.
a) Realizarlo sin utilizar condiciones compuestas
b) Realizarlo utilizando condiciones compuestas

Ejercicios de estructuras iterativas y secuencias


9. Escribir un algoritmo que permita calcular y mostrar la tabla de multiplicar de cualquier
número ingresado por el usuario entre 1 y 10, en caso contrario informar el error y
solicitarlo nuevamente.
10. Escribir un algoritmo que permita calcular y mostrar el promedio de una secuencia de
números enteros ingresada por el usuario. Se permiten secuencias nulas. La secuencia
finaliza con el valor de centinela 0.
11. Escribir un algoritmo que permita determinar e informar si dos secuencias de caracteres
ingresadas por el usuario y terminadas en “.” son idénticas.
12. Escribir un algoritmo que permita determinar e informar si una secuencia de números
enteros ingresada por el usuario es creciente. Se asume el ingreso de valores positivos
Suponer que la secuencia termina con el valor centinela 0.

2
Ing. Daniel Osvaldo Fortín, Ing. Germán Daniel Casado. Informática I Industrial

13. Escribir un algoritmo que permita determinar e informar si en un texto ingresado por el
usuario, existe al menos una ‘c’ después de los cinco primeros caracteres.
La secuencia está marcada al final por un “.”.
14. Escribir un algoritmo que permita contabilizar e informar el número de caracteres que hay
después de la primera ‘w’ en una secuencia de caracteres ingresada por el usuario y
terminada en “.”.
15. Realizar un algoritmo que permita contabilizar e informar el número de palabras que hay en
una secuencia de caracteres ingresada por el usuario y terminada en “.”.
(Se entiende que una palabra, es cualquier combinación de caracteres que no contiene “ “,
es decir el espacio)
16. Considérese la siguiente serie de números: 9, 28, 14, 7, 22, 11, 34, 17, 52, 26, 13, 40, 20,
10, 5, 16, 8, 4, 2, 1.
Si el número actual de la serie es par entonces le sigue su mitad, mientras que si el
número actual es impar le sigue el número con tres veces su valor más 1.
Los números en la secuencia aumentan y disminuyen hasta finalmente llegar al valor 1,
que es el fin de la serie.
La longitud de la secuencia varía según el valor inicial de la misma. Por ejemplo, la longitud
es de 20 números si el número inicial es 9, de 7 números si es 10, y de 4 números si es 8.
Se trata de escribir un algoritmo que, dado un entero ini, mayor que cero, escriba la
secuencia descrita que comience con dicho valor.

Ejercicios de arreglos unidimensionales (vectores)


17. Calcular e informar la norma euclídea de un vector a de n números reales,
a = A1 , A2 , ! AN Observación. La norma euclídea de un vector a , viene dada por la
expresión:

18. Comprobar e informar si un vector a de n números reales, a = A1 , A2 , ! AN está


ordenado crecientemente.
19. Eliminar el elemento que está en la posición p de un vector a de n números reales,
a = A1 , A2 , ! AN
Ingresado por el usuario. Informar el vector resultante.
20. Escribir un algoritmo que, sin utilizar otro vector auxiliar, permita eliminar de un vector v de
n números enteros v = V1 , V2 , !VN aquéllos elementos del vector que estén
comprendidos entre dos valores dados a y b (inclusive). Informar el vector resultante.

21. Dado un vector a de n números reales, a = A1 , A2 , ! AN ordenado crecientemente (es


decir, ∀i : 1 ≤ i ≤ n − 1 : a(i) ≤ a(i + 1) ), insertar en orden un elemento x . Informar el vector
resultante.
22. Se dice que un vector v de n números enteros v = V1 , V2 , !V N es una mochila perfecta
si cada elemento del vector es mayor que la suma de todos los anteriores.
Se pide escribir un algoritmo que determine e informe si un vector de números enteros es o
no una mochila perfecta.

3
Ing. Daniel Osvaldo Fortín, Ing. Germán Daniel Casado. Informática I Industrial

23. Dado un vector a de n números reales a = A1 , A2 , ! AN comprobar e informar si un


elemento tal que el valor de dicho elemento coincida con la suma del resto de elementos.
Observación: En caso de existir, ¿qué valor debe tomar este elemento?
24. Sean a y b dos vectores que representan sendos conjuntos de enteros (es decir, se
puede suponer que no hay elementos repetidos).
Escribir un algoritmos que almacene en otro vector la intersección de a y b , en los
siguientes casos:
a) Sin ninguna hipótesis adicional.
b) Suponiendo que los vectores están ordenados.
25. Dado un vector v de n números enteros, v = V1 , V2 , !V N y mayores que cero (es decir,
∀i : 1 ≤ i ≤ n : v(i) > 0 ), se pide calcular el número de elementos del vector que se
“visitarían” si se considerase un recorrido como el que se enuncia a continuación.
Comenzando por el último elemento, el siguiente elemento a visitar es el que se encuentra
en la posición actual menos el valor del elemento actual y así, sucesivamente, hasta que la
nueva posición no pertenezca al vector.
Por ejemplo, dado el vector de 8 elementos que aparece en la figura, el número de
elementos visitados es 4.

26. (EJERCICIO OPCIONAL) Determinar e informar el sub vector creciente de mayor longitud
que exista dentro de un vector v de n números enteros v = V1 , V2 , !V N .
27. (EJERCICIO OPCIONAL) .El algoritmo de ordenación por inserción es el siguiente:
{El vector a, n tiene elementos: n = N ∧ 0 ≤ n ≤ NMAX ∧ ∀i : 1 ≤ i ≤ n : a(i) = Ai }

PARA i ← 2 HASTA n HACER


x ← a[i];
j ← i – 1;
MIENTRAS (j > 0) Y (a[j] > x) HACER
a[j+1] ← a[j];
j ← j – 1;
FINMIENTRAS
a[j+1] ← x;
FINDPARA

{El vector a, n está ordenado crecientemente: ∀i : 1 ≤ i ≤ n − 1 : a(i) ≤ a(i + 1) }

Ejecutar manualmente este algoritmo sobre los vectores:

A = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]

4
Ing. Daniel Osvaldo Fortín, Ing. Germán Daniel Casado. Informática I Industrial

B = [1, 2, 3, 4, 5, 6]
C = [6, 5, 4, 3, 2, 1]

28. (EJERCICIO OPCIONAL). El algoritmo de ordenación por selección es el siguiente:


{El vector a, n tiene elementos: n = N ∧ 0 ≤ n ≤ NMAX ∧ ∀i : 1 ≤ i ≤ n : a(i) = Ai }

PARA i ← 1 HASTA n – 1 HACER


minj ← i;
minx ← a[i];
PARA j ← i + 1 HASTA n HACER
SI a[j] < minx ENTONCES
minj ← j;
minx ← a[j];
FINSI
FINDPARA
a[minj] ← a[i];
a[i] ← minx;
FINDPARA

{El vector a, n está ordenado crecientemente: ∀i : 1 ≤ i ≤ n − 1 : a(i) ≤ a(i + 1) }

Ejecutar manualmente este algoritmo sobre los vectores:

A = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
B = [1, 2, 3, 4, 5, 6]
C = [6, 5, 4, 3, 2, 1]

Ejercicios de arreglos bidimensionales (matrices)

29. Escribir un algoritmo que dadas dos matrices m1 y m 2 de números reales con f filas y
c columnas, realice la suma de dichas matrices e informe la matriz resultante, en caso de
ser adecuadas las dimensiones.
30. Escribir un algoritmo que dadas dos matrices m1 y m 2 de números reales con f 1 filas y
c1 columnas y con f 2 filas y c 2 columnas respectivamente, realice la multiplicación de
dichas matrices e informe la matriz resultante, en caso de ser adecuadas las dimensiones.
31. Escribir un algoritmo que determine e informe el número de componentes positivas o nulas
de una matriz m de enteros con f filas y c columnas, en las siguientes condiciones:

a) Sin ninguna hipótesis adicional.


b) Suponiendo que a(i, j ) es decreciente como función de i y creciente como función
de j .

32. (EJERCICIO OPCIONAL). Escribir un algoritmo que dada una matriz cuadrada m de
números enteros y dimensión d , permita sumar los elementos de un “anillo” cualquiera k .

5
Ing. Daniel Osvaldo Fortín, Ing. Germán Daniel Casado. Informática I Industrial

En el ejemplo, aparece una matriz de dimensión 6 con sus tres anillos (numerados como
se indica en la figura, de fuera hacia dentro).

También podría gustarte