Download - Proyecto Algoritmos y Programacion
![Page 1: Proyecto Algoritmos y Programacion](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/8.jpg)
- 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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/10.jpg)
- 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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/11.jpg)
// 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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052211/563db8a6550346aa9a95a58d/html5/thumbnails/14.jpg)
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.