informe tecnico victor_uex

16
Ó é í í

Upload: victoruex

Post on 11-Aug-2015

30 views

Category:

Education


0 download

TRANSCRIPT

Ó

é

í

í

“ ”

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.