Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. Código: O613 INGENIERÍA DE SISTEMAS Docente y Administrativo: Luz Esperanza Espitia Preciado Componente: F. Teórico – Vigencia: Práctico. 8/10/2.012 MILLER FERNANDO BARRERA ALVARADO – ING ELECTRONICA 1. Defina los siguientes términos informáticos: a. Array RTA= Un arreglo o array es una colecion de variables relacionadas con un tipo de datos en común (un array en c++ es un tipo de dato compuesto) b. Array unidimensional RTA= Un array de una dimensión (unidimensional), es un tipo de datos estructurado compuesto de un número determinado de elementos, de tamaño fijo y elementos homogéneos (del mismo tipo). La característica de tamaño fijo se refiere a que el tamaño del array debe ser conocido en tiempo de compilación. c. Matriz RTA= Una matriz es un vector de vectores o un también llamado array bidimensional. La manera de declarar una matriz es c++ es similar a un vector: 1 intmatriz[fils][cols]; int es el tipo de dato, matriz es el nombre del todo el conjunto de datos y se debe especificar el numero de filas y columnas. Las matrices también pueden ser de distintos tipos de datos como char, float, double,etc. d. Matriz unidimensional RTA= una matriz unidimensional es lo que definimos anteriormente lo que es una matriz es de una sola dimencion la cual tiene su estructura en una sola dimencion. e. Matriz bidimensional RTA= la matriz bidimensional es paradójicamente lo que llamamos una matriz que es un vector de vectores. f. Puntero RTA= El valor de todas las variales que manejamos en nuestros programas se almacenan en memoria y tienen una dirección. Un puntero es una variable especial que apunta a la dirección de memoria de una variable. El puntero tiene a su vez su propia dirección. Todas estas direcciones tienen un formato hexadecimal. Los punteros son herramientas muy poderosas con muchas utilidades y enormes ventajas como veremos más adelante. A grandes rasgos, un puntero me permite desplazarme en la memoria, apuntar, redireccionar a ciertas variables, funciones, métodos, objetos sin necesidad de mover grandes bloques de datos, lo cual nos ahorra muchísimo el consumo de memoria en los programas. g. Null RTA= Null resulta ser un valor especial aplicado a un puntero (o referencia) usado para indicar que el puntero no apunta a un objeto o dato válido. Usualmente se utiliza el valor 0 (cero) para significar null, debido a que muchos sistemas operativos consideran el intentar acceder a una dirección de memoria tan baja como un error. El null se utiliza para indicar la ausencia de valor asociado a un campo para un determinado registro. h. Bucle repetitivo RTA= Un bucle o ciclo, en programación, es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse. Generalmente,un bucle es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro. i. For RTA= El bucle for o ciclo for es una estructura de control en la que se puede indicar el número minimo de iteraciones. Su uso principal se orienta a los vectores, pudiendo modificar, agregar, eliminar o consultar datos que se encuentren según el índice. Por esto último, una condición mínima del vector es que debe ser ordenado, por que si se intenta leer un dato inexistente, esto genera un error de programación. 2. De acuerdo a lo visto en clase cual es el software híbrido con el que remplacemos las clases de programación orientada a objetos, escriba en 10 renglones las fortalezas que tiene a la hora de programar con respecto al borlanc y dev c. RTA= el software hibrido con el cual reemplazamos las clases de programacion orientada a objetos es el WxFormBuilder este acompañado con ZinjaI este ultimo nos funciona básicamente como si estuviéramos trabajando con borland c++ o dev c. una de las fortalezas que podemos nombrar del WxFormBuilder es su fácil compresión de su estructura de ventanas ya que es algo que nos guía de a un buen trabajo y sin escribir códigos otra fortaleza potemos decir su amplio gama de trabajo con otros programas ya que este como se a dicho antes es un software hibrido. Otras fortalezas que podemos nombrar es que este programa al cuadrarlo se observa muy similar cuando lo vayamos a compilar se puede a medidas que vas escribiendo el código vas teniendo una visión mas cercana de cómo te va quedar el programa al final. 3. ¿Si el ZINJAI es un software para programar orientado a objeto el cual simula una IDE con el WX FORM BUILDER, para diseñar aplicaciones server, como se instala el Wx, para que lo adopte el Zinjai? RTA= la forma que hicimos en la universidad de instalar el WxFormBuilder es instalar primero el Zinjai ya después instalado este te vas a referencias en ZinjaI y de esta forma es como se le integra el WxFormBuilder al ZinjaI para que estos dos funcionen juntos. 4. Escriba un programa de fácil entender compilado en Zinjai. #include <iostream> #include <stdio.h> using namespace std; int main(int argc, char *argv[]) { int sqrs [10]; int i; for (i=0; i<11; i++) { sqrs[i]=i*i; } for(i=0; i<10; i++) { cout<<"\n"; cout<<"\t"<<sqrs[i]<<endl; } return 0; } 5. Grafique y compile una ventana diseñada con FORMS Y LABELS. 6. Programe una unidimensional aplicación donde se visualize una matriz #include <iostream> using namespace std; int main(int argc, char *argv[]) { int sqrs [50]; int i; for (i=0; i<51; i++) {sqrs[i]=i+i; }for(i=0; i<50; i++) {cout<<"\n"; cout<<"\t"<<sqrs[i]<<endl;} return 0;} 7. Programe una aplicación donde se visualize una matriz bidimensional. #include <iostream> //#include <stdio.h> using namespace std; int main(int argc, char *argv[]) { int matriz[3][2]; int valor, i, j; for(i=0; i<3; i++) { for(j=0; j<2; j++) { cout<<"ingrese los valores de la matriz, en la posicion["<<i<<","<<j<<"]"<<endl; cin>>valor; matriz[i][j]=valor; } } for(i=0; i<3; i++) { cout<<"|"; for(j=0; j<2; i++) { cout<<"\t"<<matriz[i][j]<<"\t"; } cout<<"|"<<endl; } return 0; } 8. Cual es el parámetro que se predetermina en el Zinjai cuando vas a digitar un programa? RTA= el parámetro es el a trabajar el iostream. (using namespace std;) este es el que nos ayuda 9. Realiza una apreciación sobre la utilización de software libre para programar orientado a objetos. RTA= es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, modificado, y redistribuido libremente. Ya después dado el concepto de software libre puedo decir que este software nos permite practicar y hacerles cambios tal acuerdo uno quiera realizar para la conveniencia de cada uno o para lo que lo queira usar o interpretar a su propia manera. 10. (2 puntos): Programe y visualice una aplicación en c++, que compile una matriz bidimensional de 50 elementos y que visualice los elementos por columna, y que sume, reste, multiplique los elementos contenidos con otra matriz cuadrada de 4x4. #include <iostream> #include <conio.h> #include <stdio.h> #include <windows.h> #include <math.h> #include <time.h> using namespace std; float x, y, suma, resta, division, multiplicacion, raiz; int main() { cout<<"digite el numero para sumarlo con otro= "; cin>>x; cout<<"digite el otro numero= "; cin>>y; suma=x+y; cout<<suma; cout<<"\n"; cout<<"\n"; cout<<"digite el numero para restarlo con otro= "; cin>>x; cout<<"digite el otro numero= "; cin>>y; resta=x-y; cout<<resta; cout<<"\n"; cout<<"\n"; cout<<"digite el numero para dividirlo con otro= "; cin>>x; cout<<"digite el otro numero= "; cin>>y; division=x/y; cout<<division; cout<<"\n"; cout<<"\n"; cout<<"digite el numero para multiplicarlo con otro= "; cin>>x; cout<<"digite el otro numero= "; cin>>y; multiplicacion=x*y; cout<<multiplicacion; cout<<"\n"; cout<<"\n"; cout<<"digite el numero para sacarle la raiz cuadrada= "; cin>>x; raiz=sqrt(x); cout<<raiz; getch(); return 0; }