UNIVERSIDAD TECNICA DE ORURO
FACULTAD NACIONAL DE INGENIERIA
INGENIERIA EN SISTEMAS E
INFORMATICA
Informe de laboratorio N1
SIS “ 2210 A”
TEMA: FUNCIONES, PARAMETROS POR VALOR
NOMBRE: QUELALE CONTRERAS DANIEL GUSTAVO
C.I.: 7410144
DOCENTE DE TEORIA: ING. BERMUDEZ VARGAS JULIO CESAR
DOCENTE DE LABORATORIO: ING. ELIAS MIRANDA CORTEZ
Fecha de realizacion: 08/03/2023
Fecha de entrega: 15/03/2023
1. Teoría. –
Variable Referencia.
Ejemplo:
int i;
int &r = i; //es un alias de i
r=400;//i es 400
Parámetro por referencia.
Ejemplo:
int x=10, y=5;
intercambiar ( x,y);
//solo se pueden pasar variables no se pueden pasar constantes ni expresiones
y la función de intercambio sería:
void intercambiar( int &a, int &b)
int aux;
aux=a;
a=b;
b=aux;
return;
2. Practica. –
Practica de clase 1 .- /*Realizar un programa que realice la búsqueda secuencial en la radio
y nos indique la dirección */
#include <iostream>
using namespace std;
const int N=10;
int busquedaSecuencial(const float lista[N],int i,float nro);
int main()
{
float lista[N];
float numero;
int i=0; //Encontrado
int encontrado;
int posidon;
char resp;
cout<<"Ingresar lista de numeros: "<<endl;
while (i<N)
cin>>lista[i];
i++;
do
cout<<"Indique el numero que desea buscar: ";
cin>>numero;
encontrado=busquedaSecuencial(lista,i,numero);
if(!encontrado)cout<<"\n Este Numero no esta en la lista: \n";
else cout <<"\nEste numero esta en la posicion: "<<encontrado<<endl;
cout<<"\n\nDesea continuar? s/n:";
do
cin>>resp;
while(resp !='s' && resp !='n');
}while(resp == 's');
return 0;
}
int busquedaSecuencial(const float lista[N],int i,float nro)
int encontrado=0;
int k=0;
while (!encontrado && k<i)
if(lista[k++]==nro)encontrado =k;
return encontrado;
Programa en ejecución. -
Practica de clase 2.-
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
const int F=6;
const int C=4;
void generarMatriz(int [][C],const int, const int);
void escribirMatriz(int [][C],const int, const int);
void elementosPares(int [][C],const int, const int,int &);
int datos[F][C];
int main()
srand(time(NULL));
int con;
generarMatriz(datos,F,C);
escribirMatriz(datos,F,C);
elementosPares(datos,F,C,con);
cout<<"Hay "<<con<<" elementos pares! "<<endl;
return 0;
void elementosPares(int mat[][C],const int filas, const int cols,int &conta)
conta=0; mat[11][13]=100;
for(int f=0; f<filas;f++)
for(int c=0; c<cols;c++)
if(mat[f][c]%2==0)
conta++;
void generarMatriz(int M[][C],const int filas,const int cols)
for(int f=0; f<filas;f++)
for(int c=0; c<cols;c++)
M[f][c]=rand()%100;
void escribirMatriz(int M[][C],const int filas,const int cols)
cout<<endl;
for(int f=0; f<filas;f++)
for(int c=0; c<cols;c++)
cout<<setw(5)<<*(*(M+f)+c);
cout <<endl;
Programa en ejecución. –
3. Cuestionario. –
REALIZADO DE MANERA VIRTUAL
4. Problemas. –
• Hacer un programa que genere un vector de N elementos enteros y utilice funciones para ordenar
los elementos de menor a mayor.
#include<iostream>
using namespace std;
int main()
int i,j,x,n,menor,vector[100];
cout<<"Cuantos numeros deseas ingresar: "<<endl;
cin>> n;
for (i = 0; i < n; ++i){
cout<< "Ingresa un numero: "<<endl;
cin>> vector[i];
for (i = 0; i < n-1; ++i){
menor = vector[i];
x = i;
for (j = i; j < n; ++j){
if (vector[j] < menor){
menor = vector[j];
x = j;
vector[x] = vector[i];
vector[i] = menor;
cout<< "Vector ordenado"<<endl;
for (i = 0; i < n; ++i)
cout<< vector[i] << endl;
return 0;
Programa en ejecución. -
• Modificar el ejemplo 2 para sumar a todos los elementos pares una unidad de tal modo que todos
los elementos sean impares. Mostrar estas dos matrices
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
const int F=6;
const int C=4;
void generarMatriz(int [][C],const int, const int);
void escribirMatriz(int [][C],const int, const int);
void elementosPares(int [][C],const int, const int,int &);
int datos[F][C];
int main()
{
srand(time(NULL));
int con;
generarMatriz(datos,F,C);
escribirMatriz(datos,F,C);
elementosPares(datos,F,C,con);
cout<<"Hay "<<con<<" elementos pares! "<<endl;
srand(time(NULL));
generarMatriz(datos + 1,F,C);
escribirMatriz(datos + 1,F,C);
elementosPares(datos + 1,F,C,con);
return 0;
}
void elementosPares(int mat[][C],const int filas, const int cols,int &conta)
{
conta=0; mat[11][13]=100;
for(int f=0; f<filas;f++)
for(int c=0; c<cols;c++)
if(mat[f][c]%2==0)
conta++;
}
void generarMatriz(int M[][C],const int filas,const int cols)
{
for(int f=0; f<filas;f++)
for(int c=0; c<cols;c++)
M[f][c]=rand()%100;
}
void escribirMatriz(int M[][C],const int filas,const int cols)
{
cout<<endl;
for(int f=0; f<filas;f++)
{
for(int c=0; c<cols;c++)
cout<<setw(5)<<*(*(M+f)+c);
cout <<endl;
}
}
No se pudo resolver por faltas de conocimientos en el tema se le ruega la respuesta para entender
mejor el problema