2. Este programa lee 4 números, los guarda en un arreglo, realiza e imprime la suma de los cuatro números, y muestra la posición del número mayor y número menor. Para que pueda realizar estas operaciones se debe crear un arreglo con 4 elementos, en este caso el arreglo se llama “a”; se declara también las variables suma, mayor y menor; todas estas variables se deben inicializar; es decir al declararlas debemos igualarlas a cero.
Para realizar la operación de leer los números se debe hacer un for que vaya desde cero a 4 (que es el rango de nuestro arreglo) dentro de este for se da la instrucción al usuario que ingrese los números, y los números se van guardando.
Para realizar la impresión igual se crea un for dentro del cual se manda a imprimir los números.
Y para calcular la posición del número mayor también se crea un for y dentro de él se crea un if con la condición de que si el número mayor es menor a la posición del apuntador de contador entonces el número mayor toma la posición del apuntador de posición.
Para calcular la posición del número menor es similar a la del número mayor, con la diferencia de que dentro del if la condición el número menor sea mayor a la posición del apuntador.
Lo nuevo que aprendí en este programa es apuntador de posiciones y cómo utilizarlo para calcular la posición del elemento mayor y menor.
Las aportaciones a la formación profesional es la utilización de arreglos unidimensionales y las operaciones que se pueden realizar con estos, se utiliza cuando se debe obtener varios números y almacenarlos en una fila.
3. //posicion del numero menor for(i=0;i<4;i++){
if(a[men]>a[i]) men=i;
#include <iostream> using namespace std; int main(int argc, char** argv) { int a [4]; i=0, su=0, may=0, men=0;
//Lectura de datos for (i=0;i<4;i++)
{
cout<<"Teclea un numero:"; cin>>a[i];
}
//Imprimir
for (i=0;i<4;i++)
{
cout<<"El numero es:"<<a [i]<<endl;
}
//Suma de los datos del arreglo for (i=0;i<4;i++){
su=su+a[i];
} cout<<"La suma de los numeros del arreglo es:"<<su<<endl;
//posicion del numero mayor for(i=0;i<4;i++){
if(a[may]<a[i]) may=i;
}
4. }
cout<<"La posicion del numero numero mayor en el arreglo es:"<<may<<endl<<"La posicion del numero menor es:"<<men;
return 0;
}
Este programa lee 9 números, los almacena en una matriz bidimensional de 3 filas y 3 columnas, imprime los números de la diagonal principal, la diagonal invertida y la fila 1.
Lo aprendido en este programa es entender el comportamiento de las coordenadas de la matriz, al hacerlo se puede realizar varias operaciones como ingresar a los elementos de determinada fila o columna o ingresar a un elemento especifico del arreglo. La aportación profesional de este programa es la manera de ingresar a determinados elementos del arreglo. Se puede utilizar cuando se deba leer y almacenar varios números, por ejemplo en las calificaciones de ciertas unidades de cierto número de alumnos, en esta ocasión se puede utilizar un arreglo bidimensional o una matriz e ingresar a los elementos de dicha matriz.
#include <iostream> #include <conio.h> using namespace std;
5. int main(int argc, char** argv) { int m[3][3],dp,di,f1, i, j;
//Lectura for(i=0;i<=2;i++){
for(j=0;j<=2;j++){
cout<<"ingrese elementos para las coordenadas
["<<i<<"] ["<<j<<"]:";
cin>>m[i][j];
}
}
cout<<"tt La Matriz es:n";
// Imprimiendo el arreglo en formato matricial for(i=0;i<3;i++){
cout<<"|"; for(j=0; j<=2;j++){ cout<<"t"<<m[i][j]<<"t"; cout<<"|"<<endl;
}
}
6. //Imprimir diagonal principal cout<<"ntt La diagonal principal es: n "; for(int i=0;i<=2;i++){
for(int j=0;j<=2;j++){
if(i==j){ dp=m[i][j]; cout<<"nttt "<<dp;
}
}
cout<<"ntt La diagonal invertida es: n "; for(int i=0;i<=2;i++){
for(int j=0;j<=2;j++){ if((i+j)==2) di=m[i][j]; cout<<"nttt "<<di;
}
}
//Imprimir fila 1
cout<<"ntt La fila 1 es: n "; for(int i=0;i<=2;i++){
di=m[1][i]; cout<<"nttt "<<di;
}
return 0;
}
7. Este es programa lee las calificaciones de 5 unidades de 2 alumnos e imprime las calificaciones del alumno con el promedio mayor y las calificaciones del alumno con menor promedio e imprime la unidad donde se obtuvo mayor aprovechamiento.
Este programa es la continuidad del temas de arreglos bidimensionales, en este programa a partir de la matriz donde se almacenan las calificaciones podemos crear nuevas matrices para almacenar el promedio de unidades el promedio de los alumnos, y al analizar estas nuevas matrices poder ir a los elementos que crearon dichas matrices, es decir, por ejemplo: se crea la matriz promedio de alumno y en esta se quiere ver las calificaciones del alumno.
Las aportaciones al perfil profesional es las que mencione en el programa anterior, lo nuevo que aprendí es a ingresar a los valores de una matriz a partir de otra.
#include <iostream> using namespace std;
int main(int argc, char** argv) {
8. float ca[2][5], PAL[2], PRU[5];
int f, c, SU=0, SA=0, MU=0, MA=0, MeA=0;
//Leer calificaciones
for(f=0;f<2;f++){
for(c=0;c<5;c++){
cout<<"Ingrese la calificacion del alumno ["<<f<<"] en la unidad ["<<c<<"]:
t";
cin>> ca[f][c];
}
}
cout<<"n";
//Promedio de alumno for(f=0;f<2;f++){ for(c=0;c<5;c++){
SA=SA + ca[f][c];
}
PAL[f]=SA/5;
SA=0;
}
//Promedio de unidades for (c=0; c<5; c++){ for (f=0; f<2; f++){
SU = SU + ca[f][c];
}
PRU[c] = SU/2;
9. SU = 0;
}
//Unidad mayor for (f=0; f<5; f++){ if(PRU[MU] < PRU[f]){
MU = f;
} } cout << "La unidad mayor es: " << MU << "n"<< endl;
//mayor promedio alumno for (f=0; f<2; f++){ if(PAL[MA] < PAL[f]){
MA = f;
}
}
//imprimir calificaciones del alumno mayor cout << "Calificaciones del mejor alumno son: n"; for (f=0; f < 5; f++){
cout<<ca[MA][f]<<"t"<<"n";
} cout<<"n";
//menor promedio alumno for (f=0; f<2; f++){ if(PAL[MeA] > PAL[f]){
MeA = f;
}
10. }
//imprimir calificaciones del alumno con menor promedio
cout << "Calificaciones del peor alumno es: n"; for (f=0; f < 5; f++){ cout<< ca[MeA][f] <<"t" << "n";
}
return 0;
}
Este programa lee el nombre de tres alumnos, su edad, imprime el nombre del alumno con mayor edad y la edad del menor e imprime el promedio de las edades.
11. Para realizar las operaciones requeridas se debe crear un tipo de datos abstracto, el cual es uno que crea el usuario y contiene varios tipos de datos propios del lenguaje, en este caso C++.
Una vez creado este tipo de dato se puede trabajar con él como con cualquier otro tipo de dato.
La aportación al perfil profesional es la creación y manipulación de tipos de datos abstractos, ya que uno solo puede contener varios tipos de datos, y poder crear tus tipos de datos de acuerdo al programa. Lo nuevo que aprendí es: ¿qué es un tipo de dato abstracto?, cómo se crea, como poder manipularlo o hacer operaciones con él.
12. //Premedio de edades for(f=0;f<3;f++){
se= se+ a[f].edad;
}
pe= se/3;
#include <iostream>
using namespace std; struct alumno{
string nombre; float edad;
}; int main(int argc, char** argv) {
//variables
alumno a[3]; int se=0, f, may=0, men=0;
int pe;
//Nombre y edades de alumno cout<<"ingresa el nombre del primer alumno: t"; cin>>a[0].nombre; cout<<"ingresa la edad del primer alumno: t"; cin>>a[0].edad; cout<<"ingresa el nombre del segundo alumno: t"; cin>>a[1].nombre; cout<<"ingresa la edad del segundo alumno: t"; cin>>a[1].edad; cout<<"ingresa el nombre del tercer alumno: t"; cin>>a[2].nombre; cout<<"ingresa la edad del tercer alumno: t"; cin>>a[2].edad;
13. cout<<"n El promedio de las edades es:t"<<pe<<endl;
//nombre de mayor edad for(f=0;f<3;f++){ if(a[may].edad< a[f].edad)
may = f;
}
cout<<"n El alumno con mayor edad es: t"<<a[may].nombre<<endl;
//menor eddad for(f=0;f<3;f++){ if(a[men].edad> a[f].edad)
men = f;
}
cout<<"n El alumno con menor edad es: t"<<a[men].nombre<<endl;
return 0;
}
En este programa se va a leer dos números y va a realizar las operaciones básicas (suma, resta, multiplicación y división) pero utilizando funciones, para ello se debe declarar las funciones, hacer el llamado en la función principal, y programarlos en las funciones secundarias.
Lo nuevo que aprendí en este ejercicio es a crear funciones y la importancia de hacerlo ya que con las funciones solo es necesario hacer el llamado a la función cuando se requiera, igual algo nuevo es saber que todas las funciones que no retornan ningún valor lleva el void. La aportación a la formación profesional es saber utilizar las funciones ya que las funciones van
14. de la mano con modularidad, jerarquía, herencia y polimorfismo y si no aprendes bien las funciones se te va a
void leer(){
cout<<"Ingrese un numero: "<<endl;
cin>>n1;
cout<<"Ingrese otro numero: "<<endl;
cin>>n2;
Dificultar estos temas.
#include <iostream>
#include <conio.h>
using namespace std;
void leer();
void sum();
void res();
void div();
void mult();
void impr();
float n1, n2, su, re, mu, di;
int main(int argc, char** argv) {
leer();
sum();
res();
div();
mult();
impr();
return 0;
}
16. En esta unidad realizamos 5 programas, los tres primeros son de arreglos, el primero es un arreglo unidimensional, el segundo y el tercero es un arreglo bidimensional o matriz. El cuarto programa se enfocó a Tipos de Datos Abstractos, la creación y las operaciones que se pueden hacer y por último se vio las funciones y su importancia.
Las aportaciones en el perfil profesional son varios desde la creación arreglos y sus operaciones, como los tipos de datos abstractos, cómo crearlos y utilizarlo y la creación de operaciones. Todo esto nos puede servir al momento de crear programas por ejemplo utilizaremos matrices si nos piden un programa que lleve la relación de las horas trabajadas de cada día de la semana por un determinado número de empleados de una empresa, aquí la matriz sería dependiendo del número de empleados el número de filas y siete columnas que son los días de la semana, en este ejemplo se puede utilizar también tipos de datos abstractos para crear nuestros propios tipos de datos, por ejemplo uno que se llame “empleado” y contenga un string para el nombre y un int para las horas. Y las funciones las vamos a ocupar cuando se va a realizar un mismo método varias veces, por ejemplo en una empresa que requiera un software para saber la producción total de varios artículos en una semana, y diarios se debe registrar la producción del día de cada artículo, y al final de la semana tener el total de producción de cada artículo. En lugar de realizar la suma con cada artículo solo se crea la función suma y se llama cada vez que se vaya a ocupar.