Está en la página 1de 13

Arreglos

Los arreglos (arrays) permiten almacenar vectores y matrices. Los arreglos unidimensionales sirven para manejar vectores y los arreglos bidimensionales para matrices. Sin embargo, las matrices tambien se pueden almacenar mediante arreglos unidimensionales y por medio de apuntadores a apuntadores, temas que se veran en el captulo siguiente. La palabra unidimensional no indica que se trata de vectores en espacios de dimension uno; indica que su manejo se hace mediante un subndice. El manejo de los arreglos bidimensionales se hace mediante dos subndices.
Programacin estructurada (PE) La programacin estructurada esta compuesta por un conjunto de tcnicas que han ido evolucionando aumentando considerablemente la productividad del programa reduciendo el tiempo de depuracin y mantenimiento del mismo. Esta programacin estructurada utiliza un nmero limitado de estructuras de control, reduciendo as considerablemente los errores. Esta tcnica incorpora:

Diseo descendente (top-dow): el problema se descompone en etapas o estructuras jerrquicas. Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en otras ms simples capaces de ser resueltas con mayor facilidad. Estructuras bsicas: existen tres tipos de estructuras bsicas:

o o

Estructuras secunciales: cada accin sigue a otra accin secuencialmente. La salida de una accin es la entrada de otra. Estructuras selectivas: en estas estructuras se evalan las condiciones y en funcin del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lgicas. Estructuras repetitivas: son secuencias de instrucciones que se repiten un nmero determinado de veces.

Las principales ventajas de la programacin estructurada son:

Los programas son mas fciles de entender Se reduce la complejidad de las pruebas Aumenta la productividad del programador Los programas queden mejor documentados internamente.

Un programa esta estructurado si posee un nico punto de entrada y slo uno de salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por ltimo, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos. Programacin modular En la programacin modular consta de varias secciones dividas de forma que interactan a travs de llamadas a procedimientos, que integran el programa en su totalidad. En la programacin modular, el programa principal coordina las llamadas a los mdulos secundarios y pasa los datos necesarios en forma de parmetros. A su vez cada modulo puede contener sus propios datos y llamar a otros mdulos o funciones. Programacin orientada a objetos (POO) Se trata de una tcnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilizacin de los objetos. El elemento principal de la programacin orientada a objetos es el objeto. El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin. Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento. El polimorfismo y la herencia son unas de sus principales caractersticas y por ello dedicaremos ms adelante un artculo exclusivamente a tratar estos dos trminos. En DesarrolloWeb.com hemos publicado anteriormente una explicacin de lo que es la programacin orientada a objetos. Programacin concurrente Este tipo de programacin se utiliza cuando tenemos que realizar varias acciones a la vez. Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultanea. Se trata de una programacin ms lenta y laboriosa, obteniendo unos resultados lentos en las acciones. Programacin funcional Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones. Programacin lgica Se suele utilizar en la inteligencia artificial y pequeos programas infantiles. Se trata de una

programacin basada en el clculo de predicados (una teora matemtica que permite lograr que un ordenador basndose en hecho y reglas lgicas, pueda dar soluciones inteligentes).

Estructuras de control
En lenguajes de programacin, las estructuras de control permiten modificar el flujo de ejecucin de las instrucciones de un programa. Con las estructuras de control se puede:

De acuerdo a una condicin, ejecutar un grupo u otro de sentencias (If-Then-Else) De acuerdo al valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case) Ejecutar un grupo de sentencias mientras se cumpla una condicin (Do-While) Ejecutar un grupo de sentencias hasta que se cumpla una condicin (Do-Until) Ejecutar un grupo de sentencias un nmero determinado de veces (For-Next)

Todas las estructuras de control tienen un nico punto de entrada y un nico punto de salida. Las estructuras de control se puede clasificar en : secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que permite que la programacin se rija por los principios de la programacin estructurada. Los lenguajes de programacin modernos tienen estructuras de control similares. Bsicamente lo que vara entre las estructuras de control de los diferentes lenguajes es su sintaxis, cada lenguaje tiene una sintaxis propia para expresar la estructura. Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.

ODBC Open Database Connectivity)


En informtica , ODBC (Open Database Connectivity) es un estndar de lenguaje de programacin middleware API para acceder a los sistemas de gestin de bases de datos (DBMS). Los diseadores de ODBC dirigidos para que sea independiente de los sistemas de bases de datos y sistemas operativos , una aplicacin escrita utilizando ODBC puede ser portado a otras plataformas, tanto en el lado del cliente y el servidor, con pocos cambios en el cdigo de acceso a datos.

OCX
OCX es un acrnimo que significa "OLE Control Extension". OLE a su vez significa Object Linking and Embedding.

OCX hace referencia a mdulos que publican controles y funciones para ser utilizados en programas para Windows, incluyendo especialmente el navegador Internet Explorer. Tpicamente, estas libreras se presentan en libreras de enlace dinmico (DLL) almacenadas con extensin .OCX. Aunque la popularidad de estos controles se debe principalmente al entorno de desarrollo de Visual Basic, las libreras OCX pueden utilizarse desde la prctica totalidad de plataformas de desarrollo generalistas para Windows, lenguajes de scripting como VBScript y ECMAScript, o lenguajes de macro como Visual Basic for Applications. Tambin pueden ser incrustados en documentos que soporten la tecnologa OLE, por ejemplo, documentos de Microsoft office o pginas web.

Registro[editar editar cdigo]


Para emplear un mdulo ocx es necesario que este se registre en el sistema operativo, normalmente los programas de instalacin realizan esta tarea, sin embargo si se requiere hacer el registro manualmente se debe emplear la herramienta: Regsvr32.exe [/u] [/s] "<nombre del fichero>" Los parmetros opcionales [/u] [/s] se emplean de la siguiente manera: [/u] - Cancela un registro previo [/s] - Evita desplegar mensajes durante la operacin. Por ejemplo: REGSVR32 /s "c:\windows\system\mscal.ocx"

clase, constructor, destructor


os destructores son funciones miembro especiales que sirven para eliminar un objeto de una determinada clase. El destructor realizar procesos necesarios cuando un objeto termine su mbito temporal, por ejemplo liberando la memoria dinmica utilizada por dicho objeto o liberando recursos usados, como ficheros, dispositivos, etc. Al igual que los constructores, los destructores tambin tienen algunas caractersticas especiales:

Tambin tienen el mismo nombre que la clase a la que pertenecen, pero tienen el smbolo delante. No tienen tipo de retorno, y por lo tanto no retornan ningn valor. No tienen parmetros. No pueden ser heredados. Deben ser pblicos, no tendra ningn sentido declarar un destructor como privado, ya que siempre se usan desde el exterior de la clase, ni tampoco como protegido, ya que no puede ser heredado.

No pueden ser sobrecargados, lo cual es lgico, puesto que no tienen valor de retorno ni parmetros, no hay posibilidad de sobrecarga.

Cuando se define un destructor para una clase, ste es llamado automticamente cuando se abandona el mbito en el que fue definido. Esto es as salvo cuando el objeto fue creado dinmicamente con el operador new, ya que en ese caso, cuando es necesario eliminarlo, hay que hacerlo explcitamente usando el operador delete. En general, ser necesario definir un destructor cuando nuestra clase tenga datos miembro de tipo puntero, aunque esto no es una regla estricta. Ejemplo:
#include <iostream> #include <cstring> using namespace std; class cadena { public: cadena(); // Constructor por defecto cadena(const char *c); // Constructor desde cadena c cadena(int n); // Constructor de cadena de n caracteres cadena(const cadena &); // Constructor copia ~cadena(); // Destructor void Asignar(const char *dest); char *Leer(char *c); private: char *cad; // Puntero a char: cadena de caracteres }; cadena::cadena() : cad(NULL) {} cadena::cadena(const char *c) { cad = new char[strlen(c)+1];// Reserva memoria para cadena strcpy(cad, c); // Almacena la cadena } cadena::cadena(int n) { cad = new char[n+1]; // Reserva memoria para n caracteres cad[0] = 0; // Cadena vaca } cadena::cadena(const cadena &Cad) { // Reservamos memoria para la nueva y la almacenamos cad = new char[strlen(Cad.cad)+1]; // Reserva memoria para cadena strcpy(cad, Cad.cad); // Almacena la cadena } cadena::~cadena() { delete[] cad; } // Libera la memoria reservada a cad

void cadena::Asignar(const char *dest) { // Eliminamos la cadena actual: delete[] cad; // Reservamos memoria para la nueva y la almacenamos cad = new char[strlen(dest)+1]; // Reserva memoria para la cadena strcpy(cad, dest); // Almacena la cadena } char *cadena::Leer(char *c) { strcpy(c, cad); return c; } int main() { cadena Cadena1("Cadena de prueba"); cadena Cadena2(Cadena1); // Cadena2 es copia de Cadena1 cadena *Cadena3; // Cadena3 es un puntero char c[256]; // Modificamos Cadena1: Cadena1.Asignar("Otra cadena diferente"); // Creamos Cadena3: Cadena3 = new cadena("Cadena de prueba n 3"); // Ver resultados cout << "Cadena 1: " << Cadena1.Leer(c) << endl; cout << "Cadena 2: " << Cadena2.Leer(c) << endl; cout << "Cadena 3: " << Cadena3->Leer(c) << endl; delete Cadena3; // Destruir Cadena3. // Cadena1 y Cadena2 se destruyen automticamente return 0; }

Ejecutar este cdigo en codepad. Voy a hacer varias observaciones sobre este programa: 1. Hemos implementado un constructor copia. Esto es necesario porque una simple asignacin entre los datos miembro "cad" no copiara la cadena de un objeto a otro, sino nicamente los punteros. Por ejemplo, si definimos el constructor copia como:
cadena::cadena(const cadena &Cad) { cad = Cad.cad; }

en lugar de cmo lo hacemos en el ejemplo, lo que estaramos copiando sera el valor del puntero cad, con lo cual, ambos punteros estaran apuntando a la misma posicin de memoria. Esto es desastroso, y no

simplemente porque los cambios en una cadena afectan a las dos, sino porque al abandonar el programa se intenta liberar automticamente la misma memoria dos veces. Lo que realmente pretendemos al asignar cadenas es crear una nueva cadena que sea copia de la cadena antigua. Esto es lo que hacemos con el constructor copia del ejemplo, y es lo que haremos ms adelante, y con ms elegancia, sobrecargando el operador de asignacin. La definicin del constructor copia que hemos creado en este ltimo ejemplo es la equivalente a la del constructor copia por defecto. 2. La funcin Leer, que usamos para obtener el valor de la cadena almacenada, no devuelve un puntero a la cadena, sino una copia de la cadena. Esto est de acuerdo con las recomendaciones sobre la programacin orientada a objetos, que aconsejan que los datos almacenados en una clase no sean accesibles directamente desde fuera de ella, sino nicamente a travs de las funciones creadas al efecto. Adems, el miembro cad es privado, y por lo tanto debe ser inaccesible desde fuera de la clase. Ms adelante veremos cmo se puede conseguir mantener la seguridad sin crear ms datos miembro. 3. La Cadena3 debe ser destruida implcitamente usando el operador delete, que a su vez invoca al destructor de la clase. Esto es as porque Cadena3 es un puntero, y la memoria que se usa en el objeto al que apunta no se libera automticamente al destruirse el puntero Cadena3.

constructor
los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara. Los constructores son especiales por varios motivos:

Tienen el mismo nombre que la clase a la que pertenecen. No tienen tipo de retorno, y por lo tanto no retornan ningn valor. No pueden ser heredados. Por ltimo, deben ser pblicos, no tendra ningn sentido declarar un constructor como privado, ya que siempre se usan desde el exterior de la clase, ni tampoco como protegido, ya que no puede ser heredado.

Sintaxis:

Clases
Aunque te parezca mentira, hasta ahora no hemos visto casi nada de C++ que le sea exclusivo a este lenguaje. La mayor parte de lo incluido hasta el momento tambin forma parte de C. Ahora vamos a entrar a fondo en lo que constituye el mayor aadido de C++ a C: las clases, y por tanto, la programacin orientada a objetos. As que preprate para

cambiar la mentalidad, y el enfoque de la programacin tal como lo hemos visto hasta ahora. En ste y en los prximos captulos iremos introduciendo nuevos conceptos que normalmente se asocian a la programacin orientada a objetos, como son: objeto, mensaje, mtodo, clase, herencia, interfaz, etc.

Definiciones
^

Lo mejor es definir algunos conceptos clave en la programacin orientada a objetos, ms que nada para que todos sepamos de qu estamos hablando.
POO

Siglas de "Programacin Orientada a Objetos". En ingls se escribe al revs "OOP". La idea bsica de este paradigma de programacin es agrupar los datos y los procedimientos para manejarlos en una nica entidad: el objeto. Cada programa es un objeto, que a su vez est formado de objetos que se relacionan entre ellos. Esto no significa que la idea de la programacin estructurada haya desaparecido, de hecho se refuerza y resulta ms evidente, como comprobars cuando veamos conceptos como la herencia. Nota: un paradigma es un modelo de trabajo o patrn compartido por una comunidad cientfica cuyos miembros estn de acuerdo en qu es un problema legtimo y cul es una solucin legtima del problema, por lo que se comparten conceptos bsicos, procedimientos, etc. (Fuente:diccionarios.com).
Objeto

Un objeto es una unidad que engloba en s mismo datos y procedimientos necesarios para el tratamiento de esos datos. Hasta ahora habamos hecho programas en los que los datos y las funciones estaban perfectamente separadas, cuando se programa con objetos esto no es as, cada objeto contiene datos y funciones. Y un programa se construye como un conjunto de objetos, o incluso como un nico objeto.
Mensaje

El mensaje es el modo en que se comunican e interrelacionan los objetos entre si. En C++, un mensaje no es ms que una llamada a una funcin de un determinado objeto. Cuando llamemos a una funcin de un objeto, muy a menudo diremos que estamos enviando un mensaje a ese objeto. En este sentido, mensaje es el trmino adecuado cuando hablamos de programacin orientada a objetos en general.

Mtodo

Se trata de otro concepto de POO, los mensajes que lleguen a un objeto se procesarn ejecutando un determinado mtodo de ese objeto. En C++ un mtodo no es otra cosa que una funcin o procedimiento perteneciente a un objeto.
Clase

Una clase se puede considerar como un patrn para construir objetos. En C++, un objeto es slo una instancia (un ejemplar) de una clase determinada. Es importante distinguir entre objetos y clases, la clase es simplemente una declaracin, no tiene asociado ningn objeto, de modo que no puede recibir mensajes ni procesarlos, esto nicamente lo hacen los objetos.
Interfaz

Se trata de la parte del objeto que es visible para el resto de los objetos. Es decir, que es el conjunto de mtodos (y a veces datos) de que dispone un objeto para comunicarse con l. Las clases y por lo tanto tambin los objetos definidos a partir de ellas, tienen partes pblicas y partes privadas. Generalmente, llamaremos a la parte pblica de una clase u objeto su interfaz.
Herencia

Es la capacidad de crear nuevas clases basndose en clases previamente definidas, de las que se aprovechan ciertos datos y mtodos, se desechan otros y se aaden nuevos. Veremos que es posible disear nuevas clases basndose en clases ya existentes. En C++ esto se llama derivacin de clases, y en POO herencia. Cuando se deriva una clase de otras, normalmente se aadirn nuevos mtodos y datos. Es posible que algunos de estos mtodos o datos de la clase original no sean vlidos, en ese caso pueden ser enmascarados en la nueva clase o simplemente eliminados. El conjunto de datos y mtodos que sobreviven, es lo que se conoce como herencia.
Jerarqua

Definicin del orden de subordinacin de un sistema clases. En POO la herencia siempre se produce en un mismo sentido: se toman una o varias clases base y se crean clases nuevas que heredan parte de las caractersticas de las clases de las que procede.

Este procedimiento crea estructuras de clases en forma de rbol, en las que siempre es posible retroceder hasta una o varias clases base. Veremos que la jerarqua es importante cuando hablemos de conceptos como polimorfismo.
Polimorfismo

La definicin del diccionario es: "Cualidad de lo que tiene o puede tener distintas formas". Esto ya nos da alguna pista. En POO este concepto es similar: Propiedad segn la cual un mismo objeto puede considerarse como perteneciente a distintas clases. Esta propiedad se presenta slo en objetos declarados a partir de una clase derivada. Nos permite tratar el mismo objeto como si hubiese sido declarado a partir de alguna de las clases base. Es un concepto avanzado, y lo veremos con mayor detalle y claridad en el captulo 37. La idea bsica es bastante simple. Por ejemplo, en una jerarqua como: "ser vivo", "vertebrado", "mamfero", "felino", "gato comn"; un "objeto" creado de la clase "gato comn" podra tratarse, segn nos convenga, como un "vertebrado", un "felino", o como un objeto de cualquier clase de la jerarqua. Si en la misma jerarqua derivamos de la clase "felino" otras clases como "tigre", "len" y "pantera", en determinadas circunstancias podramos considerar de la misma clase objetos de las clases "gato domstico", "tigre", "len", o "pantera". Podramos, por ejemplo, almacenarlos todos en un array de "felinos".

Componente Un componente de software es un elemento de un sistema que ofrece


un servicio predefinido, y es capaz de comunicarse con otros componentes. Una definicin ms simple puede ser: Un componente es un objeto escrito de acuerdo a unas especificaciones. No importa que especificacin sea esta, siempre y cuando el objeto se adhiera a la especificacin. Solo cumpliendo correctamente con esa especificacin es que el objeto se convierte en componente y adquiere caractersticas como reusabilidad.

String
Cadena de caracteres
Se ha sugerido que este artculo o seccin sea fusionado con Palabra (matemticas) (discusin).
Una vez que hayas realizado la fusin de artculos, pide la fusin de historiales aqu.

Esta imagen muestra la relacin entre las cadenas de caracteres, las frmulas bien formadas y los teoremas. En algunos sistemas formales, sin embargo, el conjunto de los teoremas coincide con el de las frmulas bien formadas.

En programacin, una cadena de caracteres, palabra, ristra de caracteres o frase (string en ingls) es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto lenguaje formal o alfabeto anlogas a una frmula o a una oracin. En general, una cadena de caracteres es una sucesin de caracteres (letras, nmeros u otros signos o smbolos). Desde un punto de vista de la programacin, si no se ponen restricciones al alfabeto, una cadena podr estar formada por cualquier combinacin finita de todo eljuego de caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los nmeros del '0' al '9', el espacio en blanco ' ', smbolos diversos '!', '@', '%', etc). En este mismo mbito (el de la programacin), se utilizan normalmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesin de caracteres. En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila (array en ingls). Las cadenas se pueden almacenar fsicamente:

Seguidas. Enlazados letra a letra.

Desarrollo web
Esquema con las tecnologas relacionadas al desarrollo de Web.

Desarrollo web es un ttulo algo arbitrario para el conjunto de tecnologas de software del lado del servidor y del cliente que involucran una combinacin de procesos de base de datos con el uso de un navegador en Internet a fin de realizar determinadas tareas o mostrar informacin.Wikipedia, por ejemplo, ha sido realizada por desarrolladores web.

Tradicionalmente un software departamental o incluso un ambicioso proyecto corporativo de gran envergadura es desarrollado en forma standalone, es decir, usando lenguajes ya sea compilados(C, C++, Delphi), semicompilados(.NET, Mono, Java), o interpretados (Python) para crear tanto la funcionalidad como toda la interfaz de los usuarios, pero cabe perfectamente un desarrollo orientado a web para dichos propsitos, siendo ms homogneo y multiplataforma, y dependiendo de las tecnologas utilizadas, ms rpido y robusto tanto para disear, implementar y probar, como para su uso una vez terminado.,

Funcionalmente, el desarrollador web, que es quien realiza esta labor, normalmente slo se preocupa por el funcionamiento del software, es tarea deldiseador web preocuparse del aspecto final(layout) de la pgina y del webmaster el integrar ambas partes. En ocasiones el webmaster tambin se encarga de actualizar los contenidos de la pgina.

Los lenguajes de programacin ms usados en desarrollo web son principalmente: ASP.NET, PHP y JSP, aunque an hay quienes usan ASP,Macromedia ColdFusion y Perl. Algunos desarrolladores web hablan muy bien de Ruby, y el framework Ruby on Rails, pero no est muy difundido todava. Tambin hay un proyecto para usar Pascal en web a travs del lenguaje Pascal Server Pages - PSP pero an no se han concretado desarrollos, hasta donde se conoce.

La base de datos ms popular en desarrollo web es MySQL, seguida por Oracle, SQL Server y PostgreSQL, tambin puede usarse perfectamenteFirebird o HSQL. Idealmente un desarrollador web debera conocer, adems de al menos un lenguaje de programacin y el manejo de al menos una base de datos,HTML, CSS y JavaScript, tres tecnologas que bien trabajadas logran DHTML. Tambin, si el diseador desea usar Adobe Flex (Flash) debe ser capaz de integrarlo a su solucin, o puede dejar los efectos en el mismo DHTML.

Categora:

Diseo web
El diseo web es una actividad que consiste en la planificacin, diseo e implementacin de sitios web. No es simplemente una aplicacin de diseo convencional, ya que requiere tener en cuenta lanavegabilidad, interactividad, usabilidad, arquitectura de la informacin y la interaccin de medios como el audio, texto, imagen, enlaces y vdeo. La unin de un buen diseo con una jerarqua bien elaborada de contenidos, aumenta la eficiencia de la web como canal de comunicacin e intercambio de datos, que brinda posibilidades como el contacto directo entre el productor y el consumidor de contenidos. El diseo web ha visto amplia aplicacin en los sectores comerciales de Internet especialmente en la World Wide Web. A menudo la web se utiliza como medio de expresin plstica en s. Artistas y creadores hacen de las pginas en Internet un medio ms para ofrecer sus producciones y utilizarlas como un canal ms de difusin de su obra.

Servidor web
Un servidor web o servidor HTTP es un programa informtico que procesa una aplicacin del lado del servidor realizando conexiones bidireccionales y/o unidireccionales y sncronas o asncronas con el cliente generando o cediendo una respuesta en cualquier lenguaje o Aplicacin del lado del cliente. El cdigo recibido por el cliente suele ser compilado y ejecutado por un navegador web. Para la transmisin de todos estos datos suele utilizarse algn protocolo. Generalmente se utiliza el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicacin del modelo OSI. El trmino tambin se emplea para referirse al ordenador que ejecuta el programa.

#include<stdio.h> int main(void){ int a; printf ("escriba el numero a realizar"); scanf("%d",&a); setbuf ( stdin, NULL ); if ( a%2 == 0){ printf("el numero es par"); }else{ printf("el numero es impar"); getchar(); return 0

#include <iostream.h> //libreria void main() { int n1; //declara variable entera cout<<"INGRESE NUMERO ENTERO: "; //pide el ingreso de un numero entero cin>>n1; //guarda el numero en la variable n1 //% operador para calcular el residuo if(n1%2==0) // calcula el residuo y compara si es igual a 0 cout<<"El numero "<<n1<<" Es par"<<endl; //imprime si tiene residuo 0 else cout<<"El numero "<<n1<<" Es impar"<<endl; //imprime si tiene residuo diferente de 0 }

También podría gustarte