Академический Документы
Профессиональный Документы
Культура Документы
Ao 2015
Entregado Com1-4, 5: 29/05/15, 18/05/2015
Fecha Presentacin Com1-4, 5: 05/06/14, 01/06/2015
Presentacin: impresa, Grupal
Univ.Nac.de Salta Fac.de Ingeniera
Consignas Generales: redactar los programas en C++ y realizar la AutoComprobacin que se solicita. Obligatorio: utilizar comentarios indicando para
qu utilizar c/u de las variables y para rotular bloques.
Ejercicios Bsicos: Se sugiere que TODOS los desarrollen, estn destinados a principiantes en la
temtica y refuerzan conceptos bsicos. NO es obligatoria su presentacin (cada JTP indicar a los
alumnos que crea necesario su desarrollo).
Ejercicios asignados a los docentes: TENTATIVAMENTE los docentes tienen asignados ejercicios y
EVENTUALMENTE les brindarn sus resoluciones. En esos casos su presentacin NO es obligatoria, en
caso contrario alumno dispone del material para desarrollar los ejercicios (bibliografa, apuntes de
ctedra, cdigo pre desarrollado, presentaciones, etc.).
Entender que las funciones son subprogramas => presentan todas las
caractersticas de estos (enumrelas).
1/5
2/5
f ( x) 1
( x 1)1 ( x 1) 2 ( x 1) 3
( x 1) n
...
1!
2!
3!
n!
Ej.3: Un ingeniero responsable de recursos humanos de una plata industrial desea saber el monto
total necesario para abonar a N obreros sabiendo solamente el valor por hora trabajada (VH) y
la cantidad de horas mensuales que trabaj cada obrero (HMT). Si el obrero trabaj ms de 192
horas mensuales, recibir por hora un 50% adicional.
Utilizar las siguientes funciones:
float salario(float VH, int HMT)// Devuelve el salario de un obrero
AC: En qu momento se debo invocar la funcin?Dnde debo calcular el adicional del Obrero?Debera declarar
otra funcin para calcularlo?
Ej.4: (desarrollado x JTP). Dada una lista de nmeros enteros que termina con un cero, generar un
vector con los nmeros CAPICUAS. Ej: X =35253 => ES CAPICUA
X =2323 => NO ES
CAPICUA
Utilizar las siguientes funciones:
bool esCapicua(int x)// Devuelve si un nmero x es capica
void mostrarVect(int vec[], int N)// Muestra vector de N nmeros capicas
AC: Carg el vector con un ciclo mientras al no poderlo hacer con un ciclo desde? Cmo deber utilizar la funcin
esCapicua() para determinar si un nmero es capica?
Ej.5: Dada una matriz de NxN de enteros y otro entero X; mostrar un men con las siguientes
opciones:
a) Mostrar la triangular superior que sean divisibles por X
b) Mostrar la triangular inferior que sean mltiplos X
mostrarTriangSup(int Mat[][], int N, int X)// Muestra Triang Sup divisibles por X
mostrarTriangInf(int Mat[][], int N, int X)// Muestra Triang Inf mltiplos por X
mostrarDiagPrin(int Mat[][], int N, int X)// Muestra Diagonal Principal sumado X
mostrarDiagSec(int Mat[][], int N, int X)// Muestra Diagonal Secundaria restado X
AC: Con este ejercicio desebamos que solidifique los diferentes recorridos que se pueden aplicar sobre una
matriz, como se deben manipular los subndices de los elementos para los distintos recorridos, utilizando
funciones.
3/5
Ej.E: Dado un vector V de N nmeros enteros, inserte al principio el producto de los componentes del
mismo utilizando las siguientes funciones:
int calproducto(int v[], int N)//Calcula productora de componentes del vector
void insPrimero(int v[], int &N, int prod)//Inserta al principio del vector el param prod
AC: Observa la diferencia entre los argumentos N (argumento por valor) y &N (argumento por referencia). En qu
caso se actualiza el valor de N, luego de que funcin?
Ej.6: (desarrollado x JTP). Dado un vector V de N nmeros enteros, ELIMINE todos los nmeros
primos. Muestre el vector actualizado. NOTA: un nmero es pesado si posee una cantidad de dgitos
>= a 5, superior a la cantidad de dgitos < a 5.
AC.: Entendi con este ejercicio que las estructuras de datos compuestas pasan por defecto como parmetros por
valor? RECURDELO!
Cmo pas la variable N en la funcin cargarVect() (por valor o por referencia)? Argumente su respuesta.
Por qu la variable simple N no pasa por referencia en la funcin eliminaPesado() y mostrarVect()?
El vector debe pasarse a la funcin eliminaPesado() por valor o por referencia? (qu deba recordar?)
Ej.7: Dado un vector W de M enteros, insertar a la derecha de cada nmero par cantidad de sus
dgitos mltiplos de 4. Mostrar el vector resultante.
int cantDigitos(int valor) //Cantidad de dgitos mltiplos de 4 del vector V
void insXenVect(int V[], int &N, int pos, int X) //Inserta cant dgitos en vector V
AC.: Una funcin puede realizar varias tareas?, es conveniente? Una funcin puede devolver ms de un valor?
Ej.8: Dada una matriz de M x N de nmeros enteros, elimine la fila cuya cantidad de los elementos
impares pertenecientes a la misma es la mayor de todas las otras cantidades de impares,
calculadas por fila, implemente las siguientes funciones:
void cargarMat(int a[20][20], int m, int n) //Cargar matriz
int contFil(int a[20][20], int m, int n) //Cuenta cant impares por fila
void eliminarFil(int a[20][20], int F, int &m, int n)//Elimina fil F con mayor cant impares
void mostrarMat(int a[20][20], int m, int n)//Muestra la matriz
AC: Qu tiene que ver la capacidad mxima de filas [20] y columnas [20] de una matriz con la cantidad mxima
m de filas y n de columnas que el usuario ocupar de ella? Por qu se pasa &m en eliminarFil() por referencia?,
puedo pasar el tamao de la fila x valor? Qu es ms conveniente?
Ej.9: (desarrollado x JTP). Igual consigna que el ejercicio anterior pero esta vez las cantidades de
impares por filas generaran a una nueva columna insertada al final:
void cargarMat(int a[20][20], int m, int n) //Cargar matriz
int contFil(int a[20][20], int m, int n) // Cuenta cant impares por fila
void insertarCol(int a[20][20], int m, int &n)//Inserta col al final con cant impares x fil
void mostrarMat(int a[20][20], int m, int n)//Muestra la matriz
AC: Por qu se pasa &n en insertarCol() por referencia?, puedo pasar el tamao de la fila x valor? Qu es
ms conveniente? La matriz se pasa por valor o por referencia a las funciones cargarMat() y insertarCol(),
puede ser de otra manera?
4/5
La
La
La
La
Prod
419
645
347
Ref1
4
2
1
Ref2
2
5
3
Ref3 Produccin
2
1000
2
900
4
800
X = 100 barriles
5/5