Anda di halaman 1dari 7

Guía práctica de laboratorio de Computación

Cuarta unidad: Programación Estructurada II


Práctica N°15

Apellidos :
Sección :
Nombres :
Fecha : / / Duración: 90 min
Docente :
Tipo de práctica: Individual ( ) Grupal ( )

Instrucciones: Desarrolle los siguientes programas haciendo uso del software Dev-C++.

1.- Tema: Arreglos bidimensionales o Matrices


2.- Objetivo: Crear programas utilizando arreglos bidimensionales utilizando el lenguaje C++.
3.- Materiales a utilizar en la práctica:
 Programa Dev C++
 Procesador de texto Microsoft Word
 Computadora personal
4.- Planteamiento de ejercicios:

ARREGLOS BIDIMENSIONALES (MATRICES)

1.- Programa que almacene números enteros en una matriz de 4x4, para mostrar:
 La matriz ingresada
 La suma de los números de la diagonal principal.
 La suma de los números de la diagonal secundaria.
#include<iostream>
using namespace std;

int main()
{
int mat[4][4],i,j,suma=0,suma2=0;
cout<<"ingreso de 16 elementos a la matriz: \n";
for (i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout<<"elemento ["<<i<<"]["<<j<<"] =";
cin>>mat[i][j];
}
}
cout<<"\n\n matriz resultante";

for (i=0;i<4;i++)
{
cout<<endl;
for(j=0;j<4;j++)
{
cout<<mat[i][j]<<"\t";
if(i==j)
{
suma=suma+mat[i][j];
}
if(i+j==3)
{
suma2=suma2+mat[i][j];
}
}
cout<<endl;
}

cout<<"\nsuma: "<<suma;
cout<<"\nsuma: "<<suma2;

cout<<endl<<endl;
return 0;
}

2.- Programa que solicite al usuario los elementos de una matriz de 5x4, para luego mostrar la
matriz y el menor de los elementos ingresados, indicando su posición en la matriz.
#include<iostream>
using namespace std;

int main()
{
int mat[5][4],i,j,menor=99999;
for (i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
cout<<"elemento ["<<i<<"]["<<j<<"] =";
cin>>mat[i][j];
}
}
for (i=0;i<4;i++)
{
cout<<endl;
for(j=0;j<4;j++)
{
cout<<mat[i][j]<<"\t";
}
cout<<endl;
}
for (i=0;i<4;i++)
{

for(j=0;j<4;j++)
{
if(mat[i][j]<menor)
menor=mat[i][j];

}
cout<<"el menor es "<<menor;
for (i=0;i<4;i++)
{

for(j=0;j<4;j++)
{
if(mat[i][j]==menor)
cout<<"\nen posicion"<<i<<","<<j<<endl;

cout<<endl<<endl;
return 0;
}

3.- Programa donde el usuario define el tamaño de una matriz cuadrada luego, se rellena la
matriz con elementos enteros igual a 1 y finalmente se reemplaza por cero los elementos de
la diagonal principal y secundaria mostrando la matriz resultante en pantalla.
#include<iostream>
using namespace std;

int main()
{
int T,i,j;
cout<<"Ingrese tamaño de filas y columnas: ";
cin>>T;
int M[T][T];
cout<<"Matriz inicial: \n";
for(i=0; i<T; i++)
{
for(j=0; j<T; j++)
{
M[i][j]=1;
cout<<M[i][j]<<"\t";
}
cout<<endl;
}
cout<<"Matriz final: \n";
for(i=0; i<T; i++)
{
for(j=0; j<T; j++)
{
if(i==j)
M[i][j]=0;
if(i+j==T-1)
M[i][j]=0;

cout<<M[i][j]<<"\t";
}
cout<<endl;
}
cout<<endl<<endl;
return 0;
}

Ejercicios planteados

1.- … (copiar, pegar y desarrollar los ejercicios propuestos por el docente)

Ejercicios planteados GP15:

Tema: Arreglos en programación estructurada y ejercicios de repaso.

Arreglos unidimensionales y bidimensionales (Vectores y Matrices)

1.- Se desea almacenar 15 edades en un arreglo unidimensional (vector), luego se debe


mostrar la posición de las edades que están por debajo de la edad promedio.

2.- Crear un arreglo unidimensional de caracteres cuyo tamaño va ser definido por el usuario,
ingresar los elementos por teclado y mostrar la cantidad de vocales en minúscula ingresadas.

3.- Elaborar un programa donde el usuario define el tamaño de una matriz cuadrada (arreglo
bidimensional) y que luego de ingresar los elementos (número enteros), muestra el mayor de
todos y su posición en la matriz.

Estructura de control secuencial y selectiva (if else, switch)

4.- Elaborar el siguiente menú de opciones que realiza cálculos con tres notas vigesimales
(validar).
Menú de opciones
1.- Promedio
2.- Nota mayor
3.- Condición de estudiante
Ingrese opción: __

#include<iostream>
using namespace std;

int main()
{
float a,b,c;
int n;
cout<<"ingrese notas(3) vigesimales del alumno (0-20)\n";
cin>>a>>b>>c;
if(a<0 and b<0 and c<0 and a>20 and b>20 and c>20)
cout<<"error";
else
{
cout<<"1.- promedio\n";
cout<<"2.- nota mayor\n";
cout<<"3.- condicion del estudiante\n";
cout<<"ingrese opcion\n";
cin>>n;
switch (n)
{
case 1: cout<<"\nel promedio es: "<<(a+b+c)/3;break;
case 2: if(a>b and a>c)
cout<<"\nel mayor es : "<<a;
if(b>a and b>c)
cout<<"\nel mayor es : "<<b;
if(c>b and c>a)
cout<<"\nel mayor es : "<<c;break;
case 3: if((a+b+c)/3>10.5)
cout<<"\naprobado";
if((a+b+c)/3<10.5)
cout<<"\ndesaprobado";break;
default:cout<<"error";

cout<<endl<<endl;
return 0;
}

Estructura de control repetitiva (while, do while, for)

5.- Mostrar la siguiente serie, al ingresar el valor de N (debe ser menor de 100 ), además de la
sumatoria y la cantidad de elementos.
5/100 + 5/99 + 5/98 + … + 5/N

Ejemplo si N=96, entonces debe mostrar:


5/100 + 5/99 + 5/98 + 5/97 + 5/96 +
La suma es 0.255155
La serie tiene 5 elementos

6.- El director de un centro educativo particular desea ingresar las edades de 25 estudiantes
cuyas edades están entre los 6 y 18 años (validar), el objetivo es:
 Mostrar la cantidad de estudiantes de primaria (6-12) y secundaria (13-18).
 Porcentaje de estudiantes de primaria y secundaria.
 Edad promedio
#include<iostream>
using namespace std;

int main()
{
int n,c,co=0;
float suma=0;
cout<<"ingrese un numero mayor de 100 :";
cin>>n;
if (n<100)
cout<<"error";
else
{
for(c=100;c>=n;c=c-1)
{
cout<<"5/"<<c<<"+";
suma=suma+(5.0/c);
co=co+1;
}
cout<<"\nla suma es: "<<suma;
cout<<"\nla cantidad de numeros es"<<co;
}

cout<<endl<<endl;
return 0;
}

7.- Se desea ingresar los siguientes datos de 10 personas (validar):


 Su edad (de 18 a 110 años)
 Su peso (de 35 a 220 kilogramos)
Diseña el programa que permita ingresar dichos datos y mostrar al final el siguiente reporte:
 Cantidad de personas de 50 años a más con sobrepeso (de 110 kilos a más)
 La edad promedio
 Porcentaje de adultos mayores (de 65 a más)
#include<iostream>
using namespace std;

int main()
{

int c,co=0,ca=0,e,suma=0;
float p;

for(c=1;c<=10;c++)
{
cout<<"\ningrese edad "<<c<<":";
cin>>e;
if(e>110 or e<18)
{
cout<<"error ingrese nuevamente";
c=c-1;
}
else
{
cout<<"ingrese peso "<<c<<":";
cin>>p;
if (p>220 or p<35)
{
cout<<"error ingrese nuevamente";
c=c-1;
}
else
{
if(e>50 and p>=110)
co=co+1;
if(e>=65)
ca=ca+1;
suma=suma+e;
}
}

}
cout<<" cantidad de personas mayores a 50 años con sobrepeso: "<<co;
cout<<"\n cantidad de adultos mayores: "<<ca;
cout<<"\n la edad promedio es : "<<suma/10.0;

cout<<endl<<endl;
return 0;
}

Referencias bibliográficas consultadas y/o enlaces recomendados


 JOYANES, L. (2008). Fundamentos de Programación. Algoritmos, estructura de datos y objetos, 4ª
Edición. Madrid: McGraw-Hill.
 INICIALÍZATE EN LA PROGRAMACIÓN [en línea]. Disponible en web:
http://www.cua.uam.mx/pdf/Libro_InicialIzate.pdf

Anda mungkin juga menyukai