Informe tecnico victor_uex
Transcript of Informe tecnico victor_uex
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.
//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;
}
}
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;
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<<"\t\t 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;
}
}
//Imprimir diagonal principal cout<<"\n\t\t
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<<"\n\t\t\t "<<dp;
}
}
cout<<"\n\t\t 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<<"\n\t\t\t "<<di;
}
}
//Imprimir fila 1
cout<<"\n\t\t La fila 1 es: \n "; for(int
i=0;i<=2;i++){
di=m[1][i];
cout<<"\n\t\t\t "<<di;
}
return 0;
}
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) {
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;
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;
}
}
//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.
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.
//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;
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
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;
}
} void
sum(){
su= n1+n2;
} void
res(){
re= n1-n2;
} void
div(){
di= n1/n2;
} void
mult(){
mu= n1*n2;
} void
impr(){
cout<<"la suma es: \t"<<su<<"\n"<<"la resta es: \t"<< re<<"\n"<<"la
divicion es: \t" <<di<<"\n"<<"La multiplicacion es: \t"<< mu;
}
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.