martes, 26 de noviembre de 2013

Formularios

VHIC_1
Formulario que muestra los datos directamente

VHIC_2
Formulario que permite llenar con datos

VHIC_3
Formulario que da la bienvenida con el nombre que se coloque


VHIC_4
Formaulario que calcula el area y perimetro de un rectangulo

VHIC_5
Formulario que cambia pesos a dolares


VHIC_6
Formulario que comvierte pies a otras medidas

VHIC_7
Formulario que convierte grados centigrados a Fahrenheit

VHIC_8
Formulario que da calificacion final de 5 materias

VHIC_9
Formulario que muestra tu fruta y verdura preferida

VHIC_10
Formulario que cambia el formato del nombre

VHIC_11
Formulario que da información sobre tu gusto en los deportes


Visual C#

Pantalla Visual C#


Cuadro de Herramientas



Propiedades y Acciones















Programación Orientada a Objetos (POO)

Programación orientada a objetos

La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.

Lenguajes orientados a objetos
  • ABAP -> SAP Lenguaje orientado a eventos
  • ABL Lenguaje de programación de OpenEdge de Progress Software
  • ActionScript
  • ActionScript 3
  • Ada
  • C++
  • C#
  • Clarion
  • Clipper
  • D
  • Object Pascal (Embarcadero Delphi)
  • Gambas
  • Genie
  • Harbour
  • Eiffel
  • Fortran 90/95
  • Java
  • JavaScript
  • Lexico
  • Objective-C
  • Ocaml
  • Oz
  • R
  • Perl
  • PHP
  • PowerBuilder
  • Python
  • Ruby
  • Self
  • Smalltalk
  • Magik (SmallWorld)
  • Vala
  • VB.NET
  • Visual FoxPro
  • Visual Basic 6.0
  • Visual DataFlex
  • Visual Objects
  • XBase++
  • Lenguaje DRP
  • Scala

Conceptos fundamentales

La programación orientada a objetos es una forma de programar que trata de encontrar una solución a estos problemas. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan los siguientes:

Clase: Definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.

Herencia: (Por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas en C. Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de POO.

Objeto: Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Es una instancia a una clase.

Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.

Evento: Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento la reacción que puede desencadenar un objeto; es decir, la acción que genera.

Atributos: Características que tiene la clase

Mensaje: Una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.

Propiedad o atributo: Contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.

Estado interno: Es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.

Componentes de un objeto: Atributos, identidad, relaciones y métodos.

Identificación de un objeto: Un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.

En comparación con un lenguaje imperativo, una "variable" no es más que un contenedor interno del atributo del objeto o de un estado interno, así como la "función" es un procedimiento interno del método del objeto.

Vectores y Matrices

Vectores

Tambien llamado array (arreglo)unidimensional, es una estructura de datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno después de otro. A este grupo de elementos se les identifica por un mismo nombre y la posición en la que se encuentra. La primera posición del array es la posición 0. Podríamos agrupar en un array una serie de elementos de tipo esteros, flotantes, caracteres, ojetos, etc.

Tipo nombre [Tamaño]


Matrices

Matriz, conjunto de variables (también llamado bloque) del mismo tipo que el considerado en matemática, y cuyo acceso se realiza por índices o líneas.

En Basic, Java y otros lenguajes es posible declarar matrices multidimensionales, entendiéndolas como un vector de x dimensión. En dichos casos en número de elementos del vector es el producto resultante de cada dimensión.

Por ejemplo el vector v(4,1) tiene 10 elementos se calcula del siguiente modo: (0-4) * (0-1). Los elementos de la primera dimensión del vector contiene 5 elementos que van del '0' al '4' y la 2º dimensión tiene 2 elementos que van desde '0' a '1'. Los elementos serían accedidos del siguiente modo:

elemento 1: (0,0)
elemento 2: (0,1)
elemento 3: (1,0)
...
elemento 8: (3,1)
elemento 9: (4,0)
elemento 10: (4,1)

Funciónes y Parámetros

Función

Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de código. Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada.



Parámetros

Normalmente, las funciones operan sobre ciertos valores pasados a las mismas ya sea como constantes literales o como variables, aunque se pueden definir funciones que no reciban parámetros. Existen dos formas en C++ de pasar parámetros a una función; por referencia o por valor. El hecho es que si en una declaración de función se declaran parámetros por referencia, a los mismos no se les podrá pasar valores literales ya que las referencias apuntan a objetos (variables o funciones) residentes en la memoria; por otro lado, si un parámetro es declarado para ser pasado por valor, el mismo puede pasarse como una constante literal o como una variable. Los parámetros pasados por referencia pueden ser alterados por la función que los reciba, mientras que los parametros pasados por valor o copía no pueden ser alterados por la función que los recibe, es decir, la función puede manipular a su antojo al parámetro, pero ningún cambio hecho sobre este se reflejará en el parámetro original.

Parametros por valor
La función cuadrado() (ver arriba) es un clásico ejemplo que muestra el paso de parámetros por valor, en ese sentido la función cuadrado() recibe una copia del parámetro n. En la misma función se puede observar que se realiza un calculo ( n*n ), sin embargo el parámetro original no sufrirá cambio alguno, esto seguirá siendo cierto aún cuando dentro de la función hubiera una instrucción parecida a n = n * n; o n*=n;.

Parametros por referencia

Para mostrar un ejemplo del paso de parámetros por referencia, vamos a retomar el caso de la función cuadrado, salvo que en esta ocasión cambiaremos ligeramente la sintaxis para definir la misma. Veamos:



Al poner a prueba las funciones cuadrado.() y cuadrado2() se podrá verificar que la primera de estas no cambia el valor del parámetro original, mientras que la segunda sí lo hace.

Variable Global

Variable Global

Una variable global es, en informática, una variable accesible en todos los ámbitos de un programa informático. Los mecanismos de interacción con variables globales se denominan mecanismos de entorno global. El concepto de entorno global contrasta con el de entorno local donde todas las variables son locales sin memoria compartida (y por ello todas las iteraciones pueden restringirse al intercambio de mensajes).

El uso de este tipo de variables suele considerarse como una mala práctica, por el riesgo que conlleva esa deslocalización: una variable global puede ser modificada en cualquier parte del programa (a menos que resida en una sección de memoria protegida) y cualquier parte del programa depende de ella. Es por ello que una variable global tiene un potencial ilimitado para crear dependencias, factor éste que aumenta la complejidad. Sin embargo, en algunas ocasiones, las variables globales resultan muy útiles. Por ejemplo, se pueden usar para evitar tener que pasar variables usadas muy frecuentemente de forma continua entre diferentes subrutinas.

El uso de variables globales se desaconseja especialmente para lenguajes de programación funcionales (como puede ser Scheme). Viola la transparencia referencial y dificulta la legibilidad delcódigo fuente.

Las variables globales se usan de forma frecuente para pasar información entre diferentes secciones del código que no comparten una relación de "función llamadora" - "función llamada", como ocurre con hilos concurrentes y módulos para el manejo de señales. Los lenguajes de programación donde cada archivo define un espacio de nombres implícito elminan la mayor parte de los problemas de los lenguajes con nombres de espacios gloables, aunque pueda haber algunos problemas si no se tiene cuidado a la hora de encapsular el código. Sin las restricciones adecuadas (como por ejemplo con un mutex), el código que usa variables globales no será a prueba de hilos excepto para los valores de sólo lectura en la memoria protegida.