Está en la página 1de 14

Universidad Nacional de Salta

Facultad de Ingeniería – Ingeniería Civil


Matemática Aplicada
ALUMNO: FLORES GASTON GONZALO Año 2023
TRABAJO PRÁCTICO Nº0
Seudocódigo – Repaso de programación en C++

Ejercicio 1
a) Dado el siguiente seudocódigo para obtener el “Producto de Dos Matrices” AB
= C desarrollar un programa en C++.

//DIRECTIVAS DE COMPILACIÓN, BIBLIOTECAS O LIBRERIAS


#include <iostream>
#include <math.h>
using namespace std; //espacio estandar de nombres
//PROGRAMA PRINCIPAL
int main(){
int n,m,q,r,i,j,k;//estos son valores enteros
double a[100][100], b[100][100], c[100][100];//matrices de valores reales de 100x100

cout << fixed; //formato de salida con 6 decimales


// ENTRADA DE DATOS.
cout<<"Ingrese la cantidad de filas de A: ";
cin>>m;// asigno el valor a m
cout<<"Ingrese la cantidad de columnas de A: ";
cin>>q;// ingreso cantidad de columnas
for (i=1; i<=m; i++){
for (j=1; j<=q; j++){
cout<<"Ingrese el coeficiente a["<<i<<"]["<<j<<"]: ";
cin>>a[i][j];//asigno el valor de aij
}//Fin de lazo j de entrada de datos de la matriz a
}//Fin de lazo i de entrada de datos de la matriz a
cout<<"Ingrese la cantidad de filas de B:";
cin>>r;
if (q!=r) {// para ver si la cantidad de columnas de a es igual a la de filas de b
cout<<"\n No se puede realizar el producto \n";
system ("pause");
return 1; // Detenemos el algoritmo
}
cout<<"Ingrese la cantidad de columnas de B: ";
cin>>n;
for (i=1; i<=q; i++){
for (j=1; j<=n; j++){
cout<<"Ingrese el coeficiente b["<<i<<"]["<<j<<"]:";
cin>>b[i][j];
}
}
// ALGORITMO
for (i=1; i<=m; i++){// lazo que recorre filas de la matriz a
for (j=1; j<=n; j++){// lazo que recorre columnas de la matriz b
c[i][j]=0;// inicializo Cij=0
for (k=1; k<=q; k++){//las columnas de a deben ser iguales a las filas de b
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
}
}
// SALIDA DE RESULTADOS
cout<<"Matriz C: ("<<m<<" x "<<n<<")\n";
cout<<"-----------------------------\n";
for (i=1; i<=m; i++){
for (j=1; j<=n; j++){
cout<<"Coeficiente c["<<i<<"]["<<j<<"]: "<<c[i][j]<<"\n";
}
}
cout<<"\n";
system("pause");
return 0;
}
Matemática Trabajo Práctico
Nº0 Año

b) Verificar el correcto funcionamiento del programa para las siguientes matrices


Matriz C: (2 x 2)
-
Coeficiente c[1][1]:
12.750000
Coeficiente c[1][2]: 16.500000
Coeficiente c[2][1]: 16.500000
Coeficiente c[2][2]: 12.750000

Ejercicio 2
Aplicar el programa desarrollado en el ejercicio anterior para resolver los siguientes
productos entre matrices: A x B= C

3 2 1 0
5 4 3 2
A=B=
7 6 5 4
9 8 7 6

7.8 5.2
9.0 1.6 9.0 1.6 7.4
A= B=
2.7 3.6 2.7 3.6 8.9
5.9 1.3
Matemática Trabajo Práctico
Nº0 Año
Matemática Trabajo Práctico
Nº0 Año

Ejercicio 3
Para realizar el estudio de una función es necesario conocer los intervalos de crecimiento y la
concavidad de la función, para lo cual aplicamos los criterios de la primera derivada y de la
segunda derivada respectivamente.

a) Desarrollar un programa en C++ que evalúe una función y sus derivadas f '(x) y f para
f (x) ''(x)

diferentes puntos i x y muestre los resultados con 6 cifras decimales en una tabla como la
que se

muestra a continuación:

x f (xi ) f '(xi ) f ''(xi )


i
Matemática Trabajo Práctico
Nº0 Año

b) Verificar el correcto funcionamiento del programa para la función seno (x ) en los


siguientes

puntos: 0, 0.5, 1, 1.5

x[i] f(x[i]) fp(x[i]) fpp(x[i])

----------------------------------------------------------------

0.000000 0.000000 1.000000 -0.000000

0.500000 0.479426 0.877583 -0.479426

1.000000 0.841471 0.540302 -0.841471

1.500000 0.997495 0.070737 -0.997495

a)

#include <iostream>

#include <math.h>

using namespace std;

//PASO 2: DECLARACION O PROTOTIPO DE FUNCIONES AUXILIARES

double f (double x);

double fp (double x);

double fpp (double x);

int main(){

double x[100];

int i,n;

cout << fixed; // formato de salida con 6 decimales “por defecto”)

cout << "Tabla para el estudio de funciones\n\n"; // titulo del programa

//ALGORITMO

cout << "Ingrese la cantidad de puntos: ";

cin >> n;

cout << "\n";

for (i=1; i<=n; i++) {


Matemática Trabajo Práctico
Nº0 Año
cout << "Ingrese el valor de x["<< i <<"]: ";

cin >> x[i];

cout << "\n";

cout << "x[i] \t\tf(x[i]) \tfp(x[i]) \tfpp(x[i])\n"; // encabezado de tabla

cout << "----------------------------------------------------------\n";

for (i=1; i<=n; i++) {

cout << x[i] << "\t" << f(x[i]) << "\t" << fp(x[i]) << "\t" << fpp(x[i]) << "\n";

cout << "\n";

system ("pause");

return 0;

//PASO 4: DEFINICION DE FUNCIONES AUXILIARES

double f (double x) {

return sin(x);

double fp (double x) {

return cos(x);

double fpp (double x) {

return -1*sin(x);

}
Matemática Trabajo Práctico
Nº0 Año

b)

Ejercicio 4
Emplear el programa del Ejercicio 3 para las funciones que se muestran a continuación
a) Función f (x)  x  ex en los puntos xi  -4; -3; -2; -1; 0; 1 (Figura 1)

//PASO 4: DEFINICION DE FUNCIONES AUXILIARES

double f (double x) {

return x*exp(x);

double fp (double x) {

return 1*exp(x)+x*exp(x);

double fpp (double x) {

return exp(x)+1*exp(x)+x*exp(x);

}
Matemática Trabajo Práctico
Nº0 Año

b) Función f ( x )−2 x 3 +3 x2 en los puntos xi  -1; 0; 0.5; 1; 1.5; 2

//PASO 4: DEFINICION DE FUNCIONES AUXILIARES


double f (double x) {
return -2*pow(x,3)+3*pow(x,2);
}
double fp (double x) {
return -6*pow(x,2)+6*pow(x,1);
}
double fpp (double x) {
return -12*pow(x,1)+6;
}
Matemática Trabajo Práctico
Nº0 Año

Ejercicio 5
Modifique el código fuente dado en el ejercicio 1 para convertirlo en un programa
que realice la multiplicación de una matriz por un vector.
//DIRECTIVAS DE COMPILACIÓN, BIBLIOTECAS O LIBRERIAS

#include <iostream>

#include <math.h>

using namespace std; //espacio estandar de nombres

//PROGRAMA PRINCIPAL

int main(){

// int n,m,q,r,i,j,k;//estos son valores enteros

int n,m,q,i,j,k;// saco el r

//double a[100][100], b[100][100], c[100][100];//matrices de valores reales de 100x100

double a[100][100], b[100], c[100];//matrices de valores reales de 100x100

cout << fixed; //formato de salida con 6 decimales

// ENTRADA DE DATOS.

cout<<"Ingrese la cantidad de filas de A: ";

cin>>m;// asigno ell valor a m

cout<<"Ingrese la cantidad de columnas de A: ";

cin>>q;// ingreso cantidad de columnas

for (i=1; i<=m; i++){


Matemática Trabajo Práctico
Nº0 Año
for (j=1; j<=q; j++){

cout<<"Ingrese el coeficiente a["<<i<<"]["<<j<<"]: ";

cin>>a[i][j];//asigno el valor de aij

}//Fin de lazo j de entrada de datos de la matriz a

}//Fin de lazo i de entrada de datos de la matriz a

// cout<<"ingrese cantidad de columnas de B:"

cout<<"Ingrese la cantidad de filas de B[qx1]: ";

cin>>n;

if (q!=n) {// para ver si la cantidad de columnas de a es igual a la de filas de b

cout<<"\n No se puede realizar el producto \n";

system ("pause");

return 1; // Detenemos el algoritmo

//cout<<"Ingrese la cantidad de columnas de B: ";

//cin>>n;

for (i=1; i<=q; i++){

//for (j=1; j<=n; j++){

//cout<<"Ingrese el coeficiente b["<<i<<"]["<<j<<"]:";

cout<<"Ingrese el coeficiente b["<<i<<"]: ";

//cin>>b[i][j];

cin>>b[i];

//}

// ALGORITMO

for (i=1; i<=m; i++){// lazo que recorre filas de la matriz a

c[i]=0;// inicializo Cij=0

for (j=1; j<=n; j++){// lazo que recorre columnas de la matriz b

//for (k=1; k<=q; k++){//las columnas de a deben ser iguales a las filas de b

c[i]=c[i]+a[i][j]*b[j];

//}

}
Matemática Trabajo Práctico
Nº0 Año
}

// SALIDA DE RESULTADOS

//cout<<"Matriz C: ("<<m<<" x "<<n<<")\n";

cout<<"Matriz C: ("<<m<<" x "<<1<<")\n";

cout<<"-----------------------------\n";

for (i=1; i<=m; i++){

//for (j=1; j<=n; j++){

//cout<<"Coeficiente c["<<i<<"]["<<j<<"]: "<<c[i][j]<<"\n";

cout<<"Coeficiente c["<<i<<"]:"<<c[i]<<"\n";

//}

cout<<"\n";

system("pause");

return 0;

}
Matemática Trabajo Práctico
Nº0 Año
Matemática Trabajo Práctico
Nº0 Año

También podría gustarte