3 unidad

16
3ER INFORME ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL ING. CARLOS ROMERO SHOLLANDE BARRIOS URBINA ADMER TRUJILLO – PERU 2011 CURSO: LENGUAJE DE PROGRAMACION

Upload: admer-barrios-urbina

Post on 11-Jul-2015

379 views

Category:

Education


0 download

TRANSCRIPT

Page 1: 3 unidad

3ER INFORME

ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL

ING. CARLOS ROMERO SHOLLANDE

BARRIOS URBINA ADMER

TRUJILLO – PERU

2011

CURSO:

LENGUAJE DE PROGRAMACION

Page 2: 3 unidad

CAPITULO 9 – PROCEDIMIENTOS Y FUNCIONES

EJERCICIO 2:

Ingresar dos datos. Si el primero es menor que el segundo, calcular los factoriales de

ambos datos, y reportar el cociente del factorial del primero entre el doble del factorial

del segundo. En caso contrario, determinar las sumas acumulativas de los números

naturales hasta dichos datos, luego reportar el producto de dichas sumas. Crear las

funciones factorial() y sumatoria().

CODIFICACION:

#include<iostream.h>

#include<conio.h>

main(){

int n,m,s,s1,s2,x;

long int a,b;

float c;

int sumatoria(int);

long int factorial(int);

clrscr();

cout<<"Ingresar el primer dato: ";cin>>n;

cout<<"Ingresar el segundo dato: ";cin>>m;

cout<<endl;

if(n<m){

a=factorial(n); b=factorial(m);

c=(float)a/(2*b);

cout<<"El cociente del dato1 entre el doble del dato2 es: "<<c;}

else{

s1=sumatoria(n); s2=sumatoria(m);

s=s1*s2;

cout<<"El producto de las sumas acumulativas de los datos son: "<<s;}

Page 3: 3 unidad

getch();

}

long int factorial(int x){

register int i;

auto long int t=1;

for(i=1;i<=x;i++)t=t*i;

return(t);}

int sumatoria(int x){

int i;

int s=0;

for(i=1;i<=x;i++)s=s+i;

return(s);}

Page 4: 3 unidad

EJERCICIO 4:

Ingresar dos datos. En caso de que cualquiera de ellos sea impar, calcular el factorial

del primer dato y la suma acumulativa de los naturales hasta el segundo dato y luego

reportar el resto o residuo de la división de ambos. En caso contrario, determinar la

combinatoria teniendo en cuenta que el mayor de ellos equivale al numero total de

elementos y que el numero de elementos de cada grupo es 3.

CODIFICACION:

#include<iostream.h>

#include<conio.h>

main(){

int n1,n2,a,s,r;

long int factorial(int);

int suma(int);

float m,c,d,e,g,h,f;

clrscr();

Page 5: 3 unidad

cout<<"Ingresar el primer dato: ";cin>>n1;

cout<<endl;

cout<<"Ingresar el segundo dato: ";cin>>n2;

cout<<endl;

if((n1%2)!=0 || (n2%2)!=0){

a=factorial(n1); s=suma(n2);

r=(a%s);

cout<<"El resto del factorial y la suma de los datos es: "<<r;}

else{

if(n1>n2){

c=factorial(n1); d=factorial((n1)-3);

f=(float)c/(6*d);

cout<<"La combinatoria del mayor dato es: "<<f;}

else{

e=factorial(n2); g=factorial((n2)-3);

h=(float)e/(6*g);

cout<<"La combinatoria del mayor dato es: "<<h;}}

getch();

}

long int factorial(int x){

register int i;

auto long int t=1;

for(i=1;i<=x;i++)t=t*i;

return(t);}

int suma(int x){

Page 6: 3 unidad

register int j;

auto int r=0;

for(j=1;j<=x;j++)r=r+j;

return(r);}

Page 7: 3 unidad

EJERCICIO 6:

Llenar un vector de 20 elementos con los primeros veinte números de fibonacci, crear

la función de fibonacci(). Calcular la suma de los elementos que se ubican en las

posiciones pares de dicho vector. Reportar el vector y la suma encontrados. Los dos

primeros elementos de esta serie son 0 y 1, y el resto de los elementos se calculan

sumando los dos predecesores inmediatos.

CODIFICACIÓN:

#include<iostream.h>

#include<conio.h>

main(){

int u,i,s,x[20],p[20];

int fibonacci(int*);

cout<<"Los 20 primeros terminos fibonacci son: "<<endl;

fibonacci(x);

cout<<endl;

cout<<endl;

s=0;

for(i=1;i<=20;i++){

if((i%2)!=0){

s=s+*(x+i);}}

cout<<"La suma de los elementos pares de fibonacci es: "<<s;

getch();

}

fibonacci(int x[20]){

int i;

*(x+1)=0;

*(x+2)=1;

cout<<*(x+1)<<" "<<*(x+2)<<" ";

for(i=3;i<=20;i++){

Page 8: 3 unidad

*(x+i)=*(x+1)+*(x+2);

cout<<*(x+i)<<" ";

*(x+1)=*(x+2); *(x+2)=*(x+i);}

}

Page 9: 3 unidad

CAPITULO 10 – RECURSIVIDAD

EJERCICIO 1:

Utilizar una función recursiva para calcular la suma: 1+2+3+…+(n-1)+n

CODIFICACIÓN:

#include<iostream.h>

#include<conio.h>

void main(){

int n;

int sumatoria(int);

clrscr();

cout<<"Ingresar el numero de elementos de la sumatoria de los naturales"<<endl;

cin>>n;

cout<<"La sumatoria de los "<<n<<" numeros naturales son: "<<sumatoria(n);

getch();

}

int sumatoria(int x){

if(x<=1)return 1;

else return x+sumatoria(x-1);}

Page 10: 3 unidad

EJERCICIO 2:

Utilizar una función recursiva que permita calcular la combinatoria de n elementos

tomados en grupos de k.

CODIFICACIÓN:

#include<iostream.h>

#include<conio.h>

void main(){

int n,k;

long int f,g,h;

float c;

long int factorial(int);

clrscr();

cout<<"Ingresar el numero de elementos a combinar: ";cin>>n;

cout<<endl;

cout<<"Ingresar el numero de elementos de los grupos: ";cin>>k;

f=factorial(n); g=factorial(k); h=factorial(n-k);

c=(float)f/(g*h);

Page 11: 3 unidad

cout<<endl;

cout<<"La combinatoria de "<<n<<" en "<<k<<" es: "<<c;

getch();

}

long int factorial(int x){

if(x<=1)return(1);

else return x*factorial(x-1);}

Page 12: 3 unidad

EJERCICIO 2:

Utilizar un procedimiento recursivo que permita contar las palabras de una frase.

CODIFICACIÓN:

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

void main(){

char f[20];

void conteo(char*);

clrscr();

cout<<"Ingresar la frase: "<<endl;

gets(f);

cout<<endl;

conteo(f);

getch();

}

void conteo(char x[20]) {

int s,r,i;

s=0;

for(i=0;x[i];i++){

if(x[i]==' ')s=s+1;}

r=s+1;

cout<<"El numero de palabras de la frase es: "<<r; }

Page 13: 3 unidad

CAPITULO 11 – ESTRUCTURAS

EJERCICIO 4:

Crear un arreglo de estructura con los datos de los estudiantes de la Escuela de

Ingeniería Industrial de una Universidad (Apellidos y Nombres, Código y Sexo), luego

reportar lo siguiente:

Total de los estudiantes de sexo masculino

Total de los estudiantes de sexo femenino

Page 14: 3 unidad

Listado de los estudiantes de sexo masculino

Listado de los estudiantes de sexo femenino

Listado completo de estudiantes ordenado alfabéticamente

CODIFICACIÓN:

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

main(){

struct universidad{

char nombre[20];

char codigo[5];

char sexo[2];}alumno[10];

int i,n,s,r,j;

char t[10];

clrscr();

cout<<"Ingresar el numero de alumnos: ";cin>>n;

cout<<endl<<endl;

cout<<"Ingresar los datos de los alumnos: "<<endl<<endl;

for(i=1;i<=n;i++){

cout<<"Ingresar el nombres y apellido del alumno: ";gets(alumno[i].nombre);

cout<<"Ingresar el sexo del alumno: ";gets(alumno[i].sexo);

cout<<"Ingresar el codigo del alumno: ";gets(alumno[i].codigo);

cout<<endl<<endl;}

s=0;

cout<<"La lista de alumnos varones son: "<<endl;

for(i=1;i<=n;i++){

if(strcmp(alumno[i].sexo,"m")==0){s=s+1;

Page 15: 3 unidad

cout<<alumno[i].nombre<<endl;}}

cout<<endl;

cout<<"El total de estudiantes masculinos: "<<s<<endl;

cout<<endl;

r=0;

cout<<"La lista de alumnas mujeres son: "<<endl;

for(i=1;i<=n;i++){

if(strcmp(alumno[i].sexo,"f")==0){r=r+1;

cout<<alumno[i].nombre<<endl;}}

cout<<endl;

cout<<"El total de estudiantes femeninos: "<<r<<endl;

cout<<endl;

for(i=1;i<=n-1;i++){

for(j=i+1;j<=n;j++){

if(strcmp(alumno[i].nombre,alumno[j].nombre)>0){

strcpy(t,alumno[i].nombre);

strcpy(alumno[i].nombre,alumno[j].nombre);

strcpy(alumno[j].nombre,t);}}}

cout<<"La lista ordenada alfabeticamente es:"<<endl;

for(i=1;i<=n;i++){

cout<<alumno[i].nombre<<endl;}

getch();

}

Page 16: 3 unidad