Proyecto Algoritmos y Programacion

14
PROYECTO ALGORITMOS Y PROGRAMACION ELABORADO POR: MARCO ANDRES SALCEDO DIAZ PRESENTADO A: JESUS PEREA SANDOVAL UNIVERSIDAD PEDAGOGICA Y TECNOLOGICA DE COLOMBIA 2015

description

proyecto de algoritmos.

Transcript of Proyecto Algoritmos y Programacion

Page 1: Proyecto Algoritmos y Programacion

PROYECTO ALGORITMOS Y PROGRAMACION

ELABORADO POR:

MARCO ANDRES SALCEDO DIAZ

PRESENTADO A:

JESUS PEREA SANDOVAL

UNIVERSIDAD PEDAGOGICA Y TECNOLOGICA DE COLOMBIA

2015

Page 2: Proyecto Algoritmos y Programacion

INTRODUCCION

El siguiente trabajo tiene como objetivo comprender la importancia del uso de

los algoritmos y la programación, para lo cual es necesario realizar estos

ejercicios que sirvan de guía o ayuda para quien este interesado en este tema,

con el fin de aclarar dudas y motivar a las personas a interesarse en este

amplio tema tan variado.

Finalmente veremos el desarrollo de varios ejercicios propuestos por el docente

para desarrollar las habilidades y conocimientos de sus estudiantes.

Page 3: Proyecto Algoritmos y Programacion

OBJETIVOS

Los objetivos originales de este proyecto son los siguientes:

1. Preparar a los estudiantes para las diferentes tareas que enfrentaran en

el futuro como Ingenieros

2. Análisis y diagnóstico de problemas generados por el docente para el

desarrollo de los estudiantes.

3. Aprender más utilidades y herramientas del programa Dev C++ para uso

práctico.

4. Obtener resultados óptimos de los estudiantes frente a este tipo de

situaciones, tomando como ejemplo estos problemas.

Page 4: Proyecto Algoritmos y Programacion

Ejercicios Proyecto Algoritmos y Programación

1. Leer dos vectores enteros X(n), Y(m)

a) Generar un vector Z(n+m) que sea la unión de X(n) , Y(m)

b) Generar un vector W(k) que contenga los elementos comunes de X(n),

Y(m)

2. Leer un vector X(n). Leer un valor k.

a) Encontrar el mayor valor del vector que sea menor que k.

3. Leer un vector X(n). Leer un valor k.

a) Ordenar el vector X(n) de menor a mayor.

b) Insertar el valor de k en el vector X(n) manteniendo el orden ascendente.

4. Leer dos vectores X(n), Y(n). Leer un valor k.

a) Encontrar el valor de X(n) más cercano a k.

b) Encontrar el valor de Y(n) más cercano a k.

Page 5: Proyecto Algoritmos y Programacion

1. Diagrama de flujo y definición de variables.

n,m=tamaño componentes vector x,y=nombre variable vector

i= 1, n

INICIO

n,m

Leervector(n,x) Leervector(m,y)

stop

imprimirvector (n,x) imprimirvector(m,y)

unirvectores (x,y,m,m+n,n,z) imprimirvector(m+n,z)

Vectorcomunes(n,m,x,y)

unirvectores (double x[ ], double y[ ], double z[ ],int n, int m)

Z[i]=X[i]

i= 1, n

Z[i+n]=Y[i]

unirvectores (double x[ ], double y[ ], double z[ ],int n, int m)

i= 1, n

j= 1, n

X[i]==y[j]

X[i]

Page 6: Proyecto Algoritmos y Programacion

CODIGO EN C++ #include <iostream> #include <conio.h> #include <iomanip> void leervector(int n, double vect[]) { using namespace std; int i; for(i=1;i<=n;i++) cin>>vect[i]; } void imprimirvector(int n, double vect[]) { using namespace std; int i; for(i=1;i<=n;i++) cout<<setw(5)<<vect[i]; } void unirvectores(double x[],double y[],double z[], int n,int m, int k) { int i; for(i=1;i<=n;i++) z[i]=x[i]; for(i=1;i<=m;i++) z[i+n]=y[i]; } double vectorcomunes(int n, int m, double x[],double y[]) { using namespace std; int i,j; for(i=1;i<=n;i++) for(j=1;j<=m;j++) if(x[i]==y[j]) cout<<("%f",x[i]); } main () { using namespace std; int n,m; double x[20],z[20],y[20]; cout<<"Ingrese elementos del vector x: "; cin>>n; cout<<endl; leervector(n,x); cout<<endl; cout<<"Vector x: "; imprimirvector(n,x); cout<<endl<<endl;

Page 7: Proyecto Algoritmos y Programacion

cout<<"Ingrese los elementos del vector y: "; cin>>m; cout<<endl; leervector(m,y); cout<<endl; cout<<"Vector y: "; imprimirvector(m,y); cout<<endl<<endl; cout<<"vector z (union de los vectores X y Y) es: "; unirvectores(x,y,z,n,m,m+n); imprimirvector(m+n,z); cout<<endl<<endl; cout<<"vector comunes es: "; vectorcomunes(n,m,x,y); getch(); return 0; }

2. Diagrama de flujo y definición variables

INICIO

n,k

stop

Menor(k,x)

Leervector(n,x)

Vec[i]

Imprimirvector(n,x

menor (int k, double vec[ ]

i= 1, k

Vec[i]<k

Page 8: Proyecto Algoritmos y Programacion

- Código en c++ #include<conio.h> #include<stdio.h> #include<iomanip> void menor (int k, float vec[] ) { int i,n; float h,d; for(i=1; i<k; i++) { if (vec[i]<k); } } void LeerVector (int n,float vec[]) { int i; for (i=1; i<=n; i++) scanf ("%f",&vec[i]); } void ImprimirVector (int n,float vec[]) { int i; for (i=1; i<=n; i++) printf ("%f ",vec[i]); } main() { float x[50]; int i,k,n,d; scanf ("%d",&k); scanf ("%d|",&n); LeerVector (n,x); ImprimirVector (n,x); menor(k,x); getch (); return (0); }

Page 9: Proyecto Algoritmos y Programacion

3. Diagrama de flujo y definición variables

I==indice

Arreglo[i]=nuevoelemento

INICIO

Numeroelementos, Nuevoelemento,j=1

i= 1,

numeroelementos

Arreglo[i]

stop

j<o aux<arreglo[j-1]

arreglo[j]=arreglo[j-1]

J=j-1 Arreglo[j]=aux

Aux=arreglo[i]

nuevo elemento

i= 0,

numeroelemento

Arreglo[i]

Page 10: Proyecto Algoritmos y Programacion

- Código en c++ #include <iostream> #include <stdlib.h> #include <stdio.h> int arreglo[20]; int numeroElementos; int elemento; int i,j,aux; //int n, /* n=10(numeroElementos);*/ //variable para el índice u el nuevo elemento int indice,nuevoElemento; main() { using namespace std; // pedir por teclado el número de elementos. cout<<"Ingresa el numero de elementos: "; cin>>numeroElementos; //escribir los elementos del arreglo for(int i=0;i<numeroElementos;i++){ cout<<"Ingresa elemento: "; cin>>elemento; arreglo[i]=elemento; } //Presentar los elementos del arreglo en el orden como fueron escritos cout<<"\nLos elementos del arreglo en desorden son: \n"; for(int i=0;i<numeroElementos;i++){ cout<<arreglo[i]<<" "; } //Proceso para ordenar el arreglo //n=numeroElementos; for(int i=1;i<numeroElementos;i++){ j=i; aux=arreglo[i]; while(j>0 && aux<arreglo[j-1]){ arreglo[j] = arreglo[j-1]; j = j-1; } arreglo[j] = aux; } //Presentar los elementos del arreglo pero en orden cout<<"\nEl arreglo ordenado es: \n"; for(int i=0;i<numeroElementos;i++){ cout<<arreglo[i]<<" "; } /* Pedir por teclado que se ingrese un índice y un elemnto a ingresar en dicho índice */ cout<<"\n\nIngresa un elemento para reemplazarlo: "; cin>>nuevoElemento; cout<<"\nIngresa un indice para colocar el "<<nuevoElemento<<" : "; cin>>indice;

Page 11: Proyecto Algoritmos y Programacion

// cambiar el elemento dado en su respectivo índice y presentarlo. for(int i=0;i<numeroElementos;i++){ if(i==indice){ arreglo[i]=nuevoElemento; } cout<<arreglo[i]<<" "; } //Ordenar el arrglo nuevamente y presentarlo for(int i=1;i<numeroElementos;i++){ j=i; aux=arreglo[i]; while(j>0 && aux<arreglo[j-1]){ arreglo[j] = arreglo[j-1]; j = j-1; } arreglo[j] = aux; } cout<<"\nLos elementos del arreglo en desorden son: \n"; for(int i=0;i<numeroElementos;i++) { cout<<arreglo[i]<<" "; } system ("PAUSE"); return 0; }

Page 12: Proyecto Algoritmos y Programacion

4. Diagrama de flujo y definición de variables

- Código en c++ #include<conio.h> #include<stdio.h> #include<iomanip> void menor (int k, float vec[] ) { int i,n; float h,d; for(i=1; i<k; i++) { if (vec[i]<k); } } void LeerVector (int n,float vec[]) { int i; for (i=1; i<=n; i++) scanf ("%f",&vec[i]); } void ImprimirVector (int n,float vec[]) { int i;

INICIO

n,k

stop

Menor(k,x)

Leervector(n,x) Leervector(n,y)

Vec[i]

Imprimirvector(n,x) Imprimirvector(n,y)

menor (int k, double vec[ ]

i= 1, k

Vec[i]<k

Page 13: Proyecto Algoritmos y Programacion

for (i=1; i<=n; i++) printf ("%f ",vec[i]); } main() { float x[50],y[50]; int i,k,n,d; scanf ("%d",&k); scanf ("%d|",&n); LeerVector (n,x); ImprimirVector (n,x); menor(k,x); scanf ("%d",&k); scanf ("%d|",&n); LeerVector (n,y); ImprimirVector (n,y); menor(k,y); getch (); return (0); }

Page 14: Proyecto Algoritmos y Programacion

CONCLUSIONES

Como resultado de la investigación y los conocimientos brindados de parte del docente a nosotros los estudiantes, y adquiridos por los mismos, se llega a la conclusión de presentar este trabajo para evaluar esos conocimientos poniéndolos en práctica. Por otro lado, también se evalua a cada estudiante para que este demuestre asi sus conocimientos y no presente dudas ante el docente, para asi lograr un excelente trabajo y una excelente presentación del mismo. A lo largo del presente trabajo, se buscó aclarar dudas, reforzar conceptos y adquirir nuevos en varios casos, se necesitó la ayuda de herramientas didácticas y libros para poder desarrollar este trabajo.