Introducción a las clases y los objetos

jueves, 16 de enero de 2014 0 comentarios



"Muchos de nuestros sueños parecen al principio imposibles, luego pueden parecer improbables, y luego, cuando nos comprometemos firmemente, se vuelven inevitables. "
– Christopher Reeve
Primero que nada se aclara que C++ es un lenguaje capaz de soportar dos diferentes paradigmas, Programación orientada a objetos y programación estructural, como se mencionó en publicaciones  anteriores.  

Programación estructurada

VS

Programación orientada a objeto


La programación estructurada pretende resolver un problema de principio a fin en una sola estructura de código. La programación orientada a objetos, resuelve el problema identificando los actores que tienen participación en el problema e identificando también sus acciones. Con esta información se crean los objetos (que son una interpretación de algunos de estos actores), estos objetos están compuestos por clases donde se detalla las acciones que realizan y las propiedades de estos. Al tener creados los objetos solo es ponerlos a interactuar entre ellos.




Lo que debemos saber de Objetos


Objeto es un principio de alto nivel, un concepto que nos permite organizar software.    Si se programa con enfoque orientado a objetos, se intenta descubrir e implementar los objetos que juegan un rol en el dominio del problema y en consecuencia del programa. La idea fundamental de los lenguajes orientados a objetos es combinar en una única unidad o módulo, tanto los datos como las funciones que operan sobre esos datos. Tal unidad se llama objeto.

Difinicion:
Un objeto se puede definir desde el punto de vista conceptual como una entidad individual de un sistema y que se caracteriza por un estado y un comportamiento. Desde el punto de vista de implementación, un objeto es una entidad que posee un conjunto de datos y un conjunto de operaciones (funciones o métodos).

La programación orientada a objetos, tal vez el paradigma de programación más utilizado en el mundo del desarrollo de software y de la ingeniería de software del siglo XXI , trae un nuevo enfoque a los retos que se plantean en la programación estructurada cuando los problemas a resolver son complejos.
Cuando se trata de resolver un problema con orientación a objetos, dicho problema no se descompone en funciones como en programación estructurada tradicional, caso de C, sino en objetos. El pensar en términos de objetos tiene una gran ventaja: se asocian los objetos del problema a los objetos del mundo real.
Las funciones de un objeto se llaman funciones miembro en C++ o métodos y son el único medio para acceder a sus datos. Los datos de un objeto, se conocen también como atributos o variables de instancia. Si se desea leer datos de un objeto, se llama a una función miembro del objeto.Se accede a los datos y se devuelve un valor. No se puede acceder a los datos directamente.
Los datos están ocultos, de modo que están protegidos de alteraciones accidentales. Los datos y las funciones se dice que están encapsulados en una única entidad. El encapsulamiento de datos y la ocultación de los datos son términos clave en la descripción de lenguajes orientados a objetos.
Un programa C++ se compone, normalmente, de un número de objetos que se comunican unos con otros mediante la llamada a otras funciones miembro.


Lo que debemos saber de las Clases


Antes de la creación de un objeto, se debe definir en primer lugar su formato general, su plantilla, que recibe el  nombre de clase. En POO los objetos son miembros o instancias de clases. En esencia, una clase es un tipo de datos al igual que cualquier otro tipo de dato definido en un lenguaje de programación. La diferencia reside en que la clase es un tipo de dato que contiene datos y funciones. Una clase describe muchos objetos y es preciso definirla, aunque su definición no implica creación de objetos.

Definición:
Una clase contiene la especificación de los datos que describen un objeto junto con la descripción de las acciones que un objeto conoce cómo ha de ejecutar. Por lo tanto, puede definirse como una plantilla el cual funciona como una estructura de dato o tipo de dato que contiene funciones (métodos) como miembros y datos.

Puede decirse que el concepto de clase es estático y el concepto de objeto es dinámico; ya que, sólo existe en tiempo de ejecución. Cada objeto de una clase comparte con el resto las operaciones  y a la vez posee sus propios valores para los atributos que posee: esto es  su estado. Las operaciones, también llamadas mensajes, se usarán tanto para cambiar el estado de un objeto como para comunicar objetos entre sí mediante el paso de mensajes.

Una clase es una descripción general de un conjunto de objetos similares. Por definición, todos los objetos de una clase comparten los mismos atributos (datos) y las mismas operaciones (métodos). Una clase encapsula las abstracciones de datos y operaciones necesarias para describir una entidad u objeto del mundo real.
Una clase se representa en UML mediante un rectángulo que contiene en una banda con el nombre de la clase y opcionalmente otras dos bandas con el nombre de sus atributos y de sus operaciones o métodos.





El algoritmo y su importancia

0 comentarios





"No es lo que tu tienes, sino como usas lo que tienes lo que marca la diferencia." 

Zig Ziglar
Antes que se escriba un programa, el programador debe entender con claridad y planificar qué datos van a usarse, el resultado deseado y el procedimiento que va a utilizarse para producir este resultado. En esta oportunidad nos enfocaremos en  los procesos de solución  los cuales se denomina algoritmos.

Algoritmo


Con más precisión, un algoritmo se define como una secuencia paso a paso de instrucciones que deben realizarse y describe cómo han de procesarse los datos para producir las salidas deseadas.
En la década de 1930, antes de la llegada de las computadoras, los matemáticos trabajaron con gran celo para formalizar y estudiar el concepto de algoritmo, que entonces se definía de manera informal como un conjunto claramente especificado de instrucciones sencillas a seguir para resolver un problema o calcular una función. Se idearon e investigaron varios modelos de cómputo formales. Muchos de los primeros trabajos en este campo, llamado teoría de la computabilidad, hicieron hincapié en describir o caracterizar los problemas que se podían resolver algorítmicamente, y en presentar algunos problemas que no se podían resolver de esa manera.
Sin importar cuál campo de trabajo elija o cuál pueda ser su estilo de vida, tendrá que resolver problemas. Crear un programa no es diferente porque un programa es una solución desarrollada para resolver un problema particular. Por ello, escribir un programa casi es el último paso en un proceso de determinar primero cuál es el problema y el método que se usará para resolverlo.




Características


Un algoritmo es un conjunto finito de reglas que dan una secuencia de operaciones para resolver un determinado problema. Es, por consiguiente, un método para resolver un problema que tiene en general una entrada y una salida. Las características fundamentales que debe cumplir todo algoritmo son:
  • Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
  • Un algoritmo debe estar bien definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
  • Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; es decir, debe tener un número finito de pasos.

La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
  • Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos".
  • Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel".
  • Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas".


Herramientas   para diseñar algoritmos


Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo indicando cómo hace el algoritmo la tarea solicitada, y eso se traduce en la construcción de un algoritmo. El resultado final del diseño es una solución que debe ser fácil de traducir a estructuras de datos y estructuras de control de un lenguaje de programación específico.
Las dos herramientas más comúnmente utilizadas para diseñar algoritmos son: diagramas de flujo y pseudocódigos.



Algoritmos de forma gráfica (Diagramas de flujo)


Cuando una secuencia de actividades que definen un problema es muy simple en su naturaleza, es decir que sólo implique seguir una serie de pasos, uno después de otro, y que no tenga decisiones lógicas ni alternativas a tomar, es muy fácil describirlo en palabras. Pero si esta secuencia de actividades se hace más compleja será no sólo difícil describirlo en palabras sino también retener todas las alternativas.
Un diagrama de flujo u organigrama es una representación diagramática que ilustra la secuencia de las operaciones que se realizarán para conseguir la solución de un problema. Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el código frente a la computadora. Los diagramas de flujo facilitan la comunicación entre los programadores y la gente del negocio.

Ejemplo:




Algoritmos de forma escrita (Pseudocódigo)


Un pseudocódigo e un falso lenguaje siendo así  una serie de normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo.
El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución a un problema. No siendo el pseudocódigo un lenguaje formal, varían de un programador a otro, es decir, no hay una estructura semántica ni arquitectura estándar. Es una herramienta ágil para el estudio y diseño de aplicaciones

Ejemplo: Realizar el pseudocódigo de un programa que permita calcular el área de un rectángulo. Se debe introducir la base y la altura para poder realizar el cálculo..
Programa; área
Entorno: BASE, ALTURA, AREA son número enteros
Algoritmo:
            escribir “Introduzca la base y la altura”
            leer BASE, ALTURA
            calcular AREA = BASE * ALTURA
            escribir “El área del rectángulo es “AREA
Finprograma





Instalación Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL)

viernes, 3 de enero de 2014 1 comentarios




"Encuentra un trabajo que te guste y no volverás a trabajar ni un sólo día de tu vida" 
Confucio
Un cordial saludo gente,    en este post  mostrare la instalación de Qt Creator  en su versión 5.2 para Windows 7, sin ninguna librería extra.
Básicamente es una plataforma IDE    (entorno de desarrollo integrado) adaptado a las necesidades de los desarrolladores. Entre los lenguajes que maneja este editor podemos mencionar:
C ++, QML y ECMA.
En Esta oportunidad  usaremos el entorno de desarrollo para programar en el lenguaje c++, usando el compilador que nos ofrece el mismo archivo de Qt 5.2 llamado MinGw. El cual representa una configuración rápida y sin muchas complicaciones.

Las herramientas:



Qt 5.2.0 for Windows


Librerías de Qt y el ID de desarrollo en cualquiera de sus versiones, para este caso usare la versión Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL, 689 MB).
Obtenidas desde su pagina oficial http://qt-project.org/downloads





Si elegiste la versión más reciente solamente debes darle instalar a un único archivo como a continuación se muestra.




En esta sección para seleccionar componentes, como se muestra continuación se han desplegado todas las librerías las cuales nos ofrece el instalador, en este caso seleccionamos todas.
Esto permitirá que se instalen las librerías MinGW, la que contiene el compilador g++ y gcc.


Aceptamos los términos de uso bajo algún tipo de licencia GPL  a nuestro gusto. 


Esperamos que termine la instalación.

Al finalizar la instalación podemos abrir el IDE para  hacer uso del mismo.



Configuraciones variable de entorno


Una variable del entorno es un valor dinámico cargado en la memoria, que puede ser utilizado por varios procesos que funcionan simultáneamente. En la mayoría de los sistemas operativos, la ubicación de algunas bibliotecas o de los archivos ejecutables del sistema más importantes puede variar según la instalación.
Por eso es posible, para un programa dado, remitirse a una ubicación basada en las variables del entorno que definen estos datos.
Para su modificación es necesario  agregar la siguiente información a la variable del sistema Path:
C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin;
C:\Qt\Qt5.2.0\Tools\MinGW_32\bin;





Para agregarlas a la variable de entorno solamente debemos ir a Inicio->clic derecho sobre equipo y elegimos propiedades:


Seleccionamos la opción de configuraciones avanzadas del sistema.


Elegimos variables de entorno y editamos en la sección de path.



Al añadir las rutas se deben de ingresa de la siguiente manera:
Anteponiendo un punto y coma , al final de la listas de rutas existentes sin eliminar alguna de ellas.
;C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin; C:\Qt\Qt5.2.0\Tools\MinGW_32\bin;

Al finalizar la modificación damos aceptar y aplicar los cambios, saliendo de las propiedades del sistema.

Procedemos a verificar en el terminal (ventana DOS o cmd)con las siguientes instrucciones:
mingw32-make


Y si despliega dicho mensaje, significa que todo esta bien, de los contrario mostrara algo como esto:


Con esta ya esta configurado y listo para usarse.


Vídeo:







Instalación Qt 5.2 para Windows 7 ( MinGW, CMake)

4 comentarios



"Encuentra un trabajo que te guste y no volverás a trabajar ni un sólo día de tu vida"
Confucio
Un cordial saludo gente,    en este post  mostrare la instalación y configuración para el IDE de programación Qt Creator  en su versión 5.2 para Windows 7. Junto a  las librerías MinGW y CMake .
Básicamente es una plataforma IDE    (entorno de desarrollo integrado) adaptado a las necesidades de los desarrolladores. Entre los lenguajes que maneja este editor podemos mencionar:

  • C ++
  • QML 
  • ECMA.
  • CSS
  • JAVASCRIPT

En esta oportunidad  usaremos el entorno de desarrollo para programar en el lenguaje c++, usando compiladores y gestores de archivos  independientes de QT . Por lo cual mostrare lo necesario para la instalación.

Las herramientas:



Qt 5.2.0 for Windows


Librerías de Qt y el ID de desarrollo en cualquiera de sus versiones, para este caso usare la versión Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL, 689 MB).
Nota: En las versiones anteriores a las 4.8, era necesario descargar 2 archivos por separado de la misma pagina, tanto el editor y las librerías. Para las versiones mas actuales solamente es necesario descargar un archivo para nuestro sistema operativo, el cual ya incluye los dos  en el instalador.
Obtenidas desde su pagina oficial http://qt-project.org/downloads




Compilador para c++


MinGW32  es una implementación de los compiladores GCC y G++  para la plataforma Win32, que permite migrar la capacidad de este compilador en entornos Windows.
MinGW proporciona un completo conjunto de herramientas de programación de código abierto que es adecuado para el desarrollo de aplicaciones de MS-nativas de Windows, y que no dependen de ningún tercero   C-Runtime DLL. (Se hace depender de una serie de DLL proporcionada por Microsoft sí mismos, como componentes del sistema operativo, más notables entre éstos es MSVCRT.DLL, la biblioteca de tiempo de ejecución de Microsoft C Además, las aplicaciones de rosca. deben enviar con una DLL soporte para hilos de libre disposición, proporcionado como parte de sí mismo MinGW).
http://www.mingw.org/



CMake se utiliza para controlar el proceso de compilación de software utilizando la plataforma simple y compilador de archivos de configuración independientes, como también es de gran utilidad manipulación de     entornos gráficos 2D y 3D.
CMake es una familia de herramientas diseñada para construir, probar y empaquetar software. CMake se utiliza para controlar el proceso de compilación del software usando ficheros de configuración sencillos e independientes de la plataforma. Cmake genera makefiles nativos y espacios de trabajo que pueden usarse en el entorno de desarrollo deseado. Es comparable al GNU build system de Unix en que el proceso es controlado por ficheros de configuración, en el caso de CMake llamados CMakeLists.txt. Al contrario que el GNU build system, que está restringido a plataformas Unix, CMake soporta la generación de ficheros para varios sistemas operativos, lo que facilita el mantenimiento y elimina la necesidad de tener varios conjuntos de ficheros para cada plataforma.
http://www.cmake.org/cmake/resources/software.html





Primer paso Instalar CMake


Primero instalamos Cmake en su  versión correspondiente a cada arquitectura  de nuestro pc. Ya sea 32 o 64 byts.





Se elige el lugar de la instalación   pero  este puede ser instalado en cualquier carpeta del ordenador siempre y cuando recordemos  la ruta. Esta nos servirá mas adelante para la configuración.


Se selecciona la opción instalar y se espera que haga el proceso. Al finalizar la misma solamente le dan salir.


Segundo paso Instalar MinGW


Instalaremos la herramienta mingw. Este es   un gestor de archivos los cuales dan una apariencia del gestor GNU. De Linux llamado sinaptic. Que permitirá descargar e instalar los paquetes  que deseamos. Para este caso seleccionaremos las siguientes  opciones:





Al terminar de configura el sistema este te permitirá elegir los programas que deseas instalar.
Para los cuales debes marcar para instalar los siguientes:
Dando clic derecho sobre el nombre y en la opción marcar para instalar o también puede darle doble clic.
mingw32 – gcc- g++  : los cuales los compiladores respectivamente
ming-developer – toolkit. : herramientas del sistema
msys-base: libreriras del sistema


Cuando ya este seleccionadas se va a la pestaña Istallation-> en la opcion aplicar cambios.
En este caso solamente  dejaremos que descargue los archivos correspondientes y su instalación.

Al finalizar la misma solamente le dan salir.




Tercer paso Instalación de Qt


Si elegiste una versión anterior a la de 5.1  debes tener en cuenta que necesitas descargar los 2 archivos tanto librerías y el creator de QT.
Los cuales debes instalar de  la siguiente forma. Primero QT creator y seguidamente debes instalar Qt librerías.
Si elegiste la versión más reciente solamente debes darle instalar a un único archivo como a continuación se muestra. La instalación de versiones anteriores no difiere de esta. Son exactamente los mismos paso. Lo único que cambia es que son 2 archivos instalables.




En esta sección para seleccionar componentes, se deja por defecto ya que nosotros instalamos previamente el nuevo compilador que usara nuestro IDE.

Aceptamos los términos de uso bajo algún tipo de licencia GPL  a nuestro gusto. 


Esperamo que termine la instalacion.

Al finalizar la instalacion abrimos el IDE para realizar las configuraciones adecuadas.





Configuraciones


Abrimos el IDE y nos dirigimos a las pestaña tools.
Y elegimos opciones.
En un costado nos aparecerá una serie de opciones las cuales nos permite modificar el entorno.




Ahora nos dirigimos a la pestaña con el nombre Cmake. El cual aparecerá vació y por medio del botón Brows navegaremos en nuestro disco duro, para localizar el archivo cmake.exe.
El cual normalmente se encuentra en esta dirección: C:\Program Files\CMake 2.8\bin\cmake.exe.
Si en dado caso instalaste los archivos de cmake en otro disco solamente debes cambiar la letra de la unidad.

Ahora nos vamos a la pestaña de compiladores, que al inicio tiene detectado uno por defecto,pero dicho compilador no sera utilizado, en nuestro caso nosotros instalamos por nuestra cuenta dichos archivos con el MinGW.
Por tanto le damos agregar uno nuevo de tipo MinGW.



Al añadir un nuevo compilador, nos posicionamos sobre el y con la ayuda del botón Brows navegaremos en nuestro disco duro, para localizar el archivo mingw32-make.exe.
El cual normalmente se encuentra ubicado en C:\MinGW\bin\mingw32-make.exe.
Si en dado caso instalaste los archivos de MinGW en otro disco solamente debes cambiar la letra de la unidad.

Ahora nos moveremos a la pestaña Kits que al inicio tiene detectado un Desktop por defecto. Pero este no sera utilizado.
Por tanto crearemos uno nuevo de la siguiente manera.
Seleccionamos el que se encuentra por defecto y con el botón Clone, clonamos la entidad.

Ya clonada la entidad podemos cambiarle nombre al mismo y configura como se muestra en la siguiente imagen.

Al finalizar dicha configuración, solamente debemos dar clic en el botón Apply, para aplicar los cambios realizados.
Y con esto finaliza la configuración.

Vídeo:







 
Taller de desarrollo c++ © 2013 | Designed by Alexander C.P , in collaboration with cienciaeducacion100 , Ciencias y Sistemas and cienciaeducacion100@gmail.com