Sei sulla pagina 1di 27

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

TEMA 1: RECONOCIMIENTO DE ELEMENTOS DEL DESARROLLO DE SOFTWARE 1.1. Conceptos de programa informtico y de aplicacin informtica

Un programa informtico es un conjunto de instrucciones que una vez ejecutadas realizarn una o varias tareas en una computadora, sin programas un ordenador no podra funcionar. A los programas se les denomina software. Las instrucciones que se escriben en un lenguaje de programacin, se traducen en la mquina en combinaciones de 0 y 1, esto se llama cdigo mquina. El cdigo fuente es transformado en binario cuando es compilado. Tenemos software de sistema y software de aplicacin. Al hecho de ejecutar varios programas de forma simultnea y eficiente se le llama multitarea. El software de sistema son los programas informticos que sirven para controlar e interactuar con el sistema operativo, proporcionando control sobre el hardware y dando soporte a otros programas. El software de aplicacin el que permite a los usuarios llevar a cabo una o varias tareas especficas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial nfasis en los negocios. Los programas se almacenan en una memoria no voltil (por ejemplo un disco), para que luego el usuario de la computadora pueda solicitar su ejecucin, el programa es cargado en la memoria de acceso aleatorio o RAM del equipo, bajo el control del sistema operativo. El procesador ejecuta el programa instruccin por instruccin hasta que termina. Un programa puede terminar su ejecucin en forma normal o por causa de un error.

1.1.1.

Programas generados automticamente:

La programacin automtica crea cdigo fuente mediante clases genricas, prototipos, plantillas, etc. esto quiere decir que va creando cdigo mediante plantillas ya creadas. La forma ms simple de un generador de cdigo fuente es un procesador macro tal como el procesador de C, que reemplaza patrones de cdigo fuente de acuerdo a unas reglas. Una aplicacin es un tipo de programa informtico diseado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajo, por ejemplo, el openoffice.org Writer, procesadores de textos, hojas de clculo, bases de datos, etc. Diferencias de aplicacin informtica con otros tipos de programas:

Diferencias con sistemas operativos (que hacen funcionar el ordenador) Utilidades (realizan tareas de mantenimiento o de uso general) 1

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Lenguajes de programacin (con los que se crean los programas informticos)

1.2.

Concepto de lenguaje de programacin

Es un idioma artificial diseado para expresar computaciones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. Historia de la programacin:

Los primeros operadores de computadoras decidieron hacer un traductor para reemplazar los 0 y 1 por palabras, esto se llama lenguaje ensamblador. Ms tarde aparecieron lenguajes de alto nivel. La primera programadora de computadora conocida fue Ada Lovelace: lenguaje de programacin Ada. A finales de 1953 John Backus program la computadora central IBM704. El primer manual para el lenguaje Fortran apareci en octubre de 1956, y el primer compilador en abril de 1957. En 1960 se cre COBOL, uno de los lenguajes utilizados an en nuestros tiempos en informtica de gestin. Ms tarde se crearon lenguajes de alto nivel como BASIC sobre la dcada de los 80. Mientras que una tarea tan sencilla como sumar dos nmeros puede necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastar una sola sentencia.

Sintaxis:

Es la forma visible de un lenguaje de programacin. La mayora de los lenguajes de programacin son textuales, utilizan sentencias de texto que incluyen palabras, nmeros y puntuacin, de manera similar a los lenguajes naturales escritos.

Semntica esttica: Define las restricciones sobre la estructura de los textos vlidos que resulta imposible o 2

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

muy difcil expresar mediante formalismos sintcticos estndar. (no imp.)

Implementacin:

La implementacin de un lenguaje es la que provee una manera de que se ejecute un programa para una determinada combinacin de software y hardware. Existen bsicamente dos maneras de implementar un lenguaje: 1) Compilacin: es el proceso que traduce un programa escrito en un lenguaje de programacin a otro lenguaje de programacin, generando un programa equivalente que la mquina ser capaz de interpretar. 2) Interpretacin: es una asignacin de significados a las frmulas bien formadas de un lenguaje formal, estas frmulas pueden ser cadenas de smbolos sin ningn significado, una interpretacin les da significado a esas frmulas.

Tcnica:

Para escribir programas que proporcionen los mejores resultados tendremos en cuenta: 1) Correccin 3) Eficiencia 2) Claridad 4) Portabilidad

1.3. 1.3.1.

Tipos de lenguajes de programacin Lenguaje de alto nivel

El lenguaje de alto nivel es aquel en el que las instrucciones enviadas para que el ordenador ejecute ciertas rdenes son similares al lenguaje humano. Dado que el ordenador no es capaz de reconocer estas rdenes, es necesario el uso de un intrprete que traduzca el lenguaje de alto nivel a un lenguaje de bajo nivel que el sistema lo pueda entender. Ventajas Genera un cdigo ms sencillo y comprensible. Escribir un cdigo vlido para diversas mquinas y, posiblemente, sistemas operativos. Inconvenientes Reduccin de velocidad al ceder el trabajo de bajo nivel a la mquina. Algunos requieren que la mquina cliente posea una determinada plataforma. Principales lenguajes de alto nivel: BASIC C++ C# COBOL Fortran Java 3

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Logo Pascal PHP

1.3.2.

Lenguaje de bajo nivel

Proporciona un conjunto de instrucciones aritmtico-lgicas sin la capacidad de encapsular dichas instrucciones en funciones. Dicho lenguaje es muy simple o nada complicado, pero estructurar programas a ese nivel es muy difcil. La estructura de los lenguajes son como sigue: Lenguaje mquina: son lenguajes de literales de tareas (para tareas muy concretas). Lenguajes de bajo nivel: estn ntimamente vinculados al hardware. Lenguajes de medio nivel: estn orientados a procedimientos, ejemplos: C, BASIC, Lenguajes de alto nivel: permiten una mxima flexibilidad al programador, ejemplos: C++, Fortran, COBOL, Lisp, Lenguajes de aplicaciones: lenguajes orientados a eventos, ejemplo: VisualBasic para aplicaciones. Lenguajes de redes: se basan en instrucciones totalmente independientes de la mquina y completamente dependientes de la red a la que estn orientadas, ejemplo: HTML, Java, PHP, etc.

1.3.3.

Otros

El lenguaje de programacin de primera generacin es el lenguaje de cdigo mquina, no puede ser escrito o ledo usando un editor de texto y por tanto es raro que una persona lo use directamente. El lenguaje de programacin de segunda generacin es el lenguaje ensamblador, este lenguaje debe conocer la arquitectura del microprocesador.

DEFINICIONES: Paradigma de programacin: Los paradigmas de programacin son la forma, que determinan los mtodos y las herramientas que un programador usar en la construccin de un software. Mayormente los lenguajes de programacin estn basados en uno o ms paradigmas, ha estos se les puede llamar multiparadigmas. Tiene una estrecha relacin con la formalizacin de determinados lenguajes en su momento de definicin. Programacin imperativa: es un paradigma de programacin que describe la programacin en trminos del estado del programa y sentencias que cambian dicho estado. Los programas

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

imperativos son un conjunto de instrucciones que le indican al computador cmo realizar una tarea. Programacin declarativa: en contraposicin a la programacin imperativa es un paradigma de programacin que est basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solucin. La solucin es obtenida mediante mecanismos internos de control, sin especificar exactamente cmo encontrarla (tan slo se le indica al ordenador que es lo que se desea obtener o que es lo que se est buscando). Dentro de ella se encuentran los siguientes subparadigmas: programacin funcional, programacin basada en restricciones, programas DSL (de dominio especfico) e hbridos. Programacin funcional: es un paradigma de programacin declarativa basado en la utilizacin de funciones aritmticas que no maneja datos mutables o de estado. Enfatiza la aplicacin de funciones, en contraste con el estilo de programacin imperativa, que enfatiza los cambios de estado. La programacin funcional tiene sus races en el clculo lambda, un sistema formal desarrollado en los 1930s para investigar la definicin de funcin, la aplicacin de las funciones y la recursin. Programacin lgica: La programacin lgica consiste en la aplicacin del corpus de conocimiento sobre lgica para el diseo de lenguajes de programacin. La programacin lgica gira en torno al concepto de predicado, o relacin entre elementos. Programacin orientada a objetos: La programacin orientada a objetos o POO es un paradigma de programacin que usa objetos y sus interacciones, para disear aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia, abstraccin, polimorfismo y encapsulamiento.

1.4. 1.4.1
Qu es?

Caractersticas de los lenguajes ms difundidos Lenguaje ensamblador

Es un lenguaje de programacin de bajo nivel para los ordenadores, computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representacin simblica de los cdigos de mquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representacin ms directa del cdigo mquina especfico para cada arquitectura legible por un programador.

Caractersticas

Programar en lenguaje ensamblador es difcil de aprender, entender, leer, escribir, depurar 5

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

y mantener, por eso surgi la necesidad de los lenguajes compilados. A pesar de perder rendimiento en un proceso de compilacin, en la actualidad la mayora de las computadoras son suficientemente rpidas. El lenguaje ensamblador no es portable. Programar en lenguaje ensamblador lleva mucho tiempo. Los programas hechos en lenguaje ensamblador son generalmente ms rpidos. Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas de 5 a 10 veces ms rpidos que con lenguajes de alto nivel. Los programas hechos en lenguaje ensamblador generalmente ocupan menos espacio. Un buen programa en lenguaje ensamblador puede ocupar casi la mitad de espacio que su contraparte en lenguaje de alto nivel. Con el lenguaje ensamblador se pueden crear segmentos de cdigo imposibles de formar en un lenguaje de alto nivel.

Qu es un programa ensamblador?

Un programa ensamblador crea es el que crea cdigo objeto traduciendo instrucciones mnemnicas de lenguaje ensamblador en opcodes, y resolviendo los nombres simblicos para las localizaciones de memoria y otras entidades. El uso de referencias simblicas es una caracterstica clave del lenguaje ensamblador, evitando tediosos clculos y actualizaciones manuales de las direcciones despus de cada modificacin del programa. Los ensambladores son generalmente ms simples de escribir que los compiladores para los lenguajes de alto nivel y adems son el ltimo paso antes de generar el cdigo ejecutable.

Uso actual del lenguaje ensamblador

Han habido siempre debates sobre la utilidad y el desempeo del lenguaje ensamblador relativo a lenguajes de alto nivel. El lenguaje ensamblador tiene nichos especficos donde es importante (ver abajo). Pero, en general, los modernos compiladores de optimizacin para traducir lenguajes de alto nivel en cdigo que puede correr tan rpidamente como el lenguaje ensamblador escrito a mano, a pesar de los contra ejemplos que pueden ser encontrados. La complejidad de los procesadores modernos y del subsistema de memoria hace la optimizacin efectiva cada vez ms difcil para los compiladores, as como para los programadores en ensamblador.

1.4.2
Historia

COBOL

El lenguaje COBOL (COmmon Business Oriented Language) ha sido, sin lugar a dudas, el ms utilizado a nivel de gestin, y an hoy, hay variantes del mismo que siguen funcionando. Su creacin fue un intento exitoso de unificar los entornos de programacin que estaban 6

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

funcionando hacia los aos 50( como el Flow-Matic de Grace Hopper y el IMB COMTRAN de Bob Bemer) . As, en el 1.959, todos los implicados en la materia se reunieron en Washington creando lo que se denomin la Codasyl (Conference on data system languages) y como resultado, en el siguiente ao, surgi la primera versin del nuevo lenguaje: el Cobol-60. Al que siguieron las versiones del 63 y del 65, hasta llegar al estndar absoluto, el ANS COBOL, que se aprob en el 1.974. Adems, existe una versin conocida como COBOL ENTERPRISE, actualizada regularmente y lanzada en 1991, usada generalmente en sistemas Host. En el 2011 se actualiz con Visual COBOL .

Caractersticas Autodocumentado Simple No propietario Eficiente Universal Abierto Completo Escalable Maduro Portable Fiable y probado

Uso en la actualidad

COBOL se ha convertido en el lenguaje ms viejo actualmente en uso. Segn algunos estudios unas 300.000 millones de lneas de cdigo COBOL se encuentran actualmente en uso. La explicacin para que este lenguaje siga an vigente es que es uno de los pocos lenguajes escritos en los ltimos aos que se puede leer y entender fcilmente, comparado con los actuales lenguajes de programacin. Desde su creacin, COBOL ha seguido evolucionando, en el ao 2002 se le incorpor Orientacin a Objetos. Por el lado de IBM actualiz su COBOL Enterprise a la versin 4.1 y se dice que prximamente estara lanzando una nueva versin del mismo.

1.4.3
Historia

BASIC

El lenguaje de programaicn BASIC (Beginner's All pupose Symbolic Instruction Code) naci en el ao 1964 como una herramienta destinada a principiantes. La evolucin del BASIC por los aos 70 fue escasa, dado al auge que formaron en aquella 7

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

poca lenguajes de alto nivel como el FORTRAN y el COBOL. En 1978 se defini una norma de unificar los Basics existentes crendose la normativa BASIC STANDARD. Con la popularizacin del PC, salieron varias versiones del BASIC. Actualmente se est comercializando la versin VISUALBASIC.NET de este producto. Desde su salida al mercado, cada versin supera y mejora la anterior.

Caractersticas

Ser fcil de usar para los principiantes. Ser un lenguaje de propsito general (no orientado). Permitir a los expertos aadir caractersticas avanzadas, conservando simple el lenguaje para los principiantes. Ser interactivo. Proveer mensajes de error claros y amigables. Responder rpido en los programas pequeos. No requerir un conocimiento del hardware de la computadora. Proteger al usuario del sistema operativo.

1.4.4.
Historia

PASCAL

Pascal es un lenguaje de programacin desarrollado por el profesor suizo Niklaus Wirth entre los aos 1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programacin a sus alumnos, utilizando la programacin estructurada y estructuracin de datos. Sin embargo con el tiempo su utilizacin excedi el mbito acadmico para convertirse en una herramienta para la creacin de aplicaciones de todo tipo.

Caractersticas Lenguaje de alto nivel Es de propsito general, pero pensado para aprender a programar Estructurado (datos e instrucciones) Modular Compacto y fcil de aprender Facilita la adquisicin de buenos hbitos de programacin Los traductores son compiladores

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Compiladores disponibles Epox Compilador GNU Pascal (GPC). Free Pascal Turbo Pascal Delphi Kylix Lazarus MidletPascal TMT. Pascal.

1.4.5.
Historia

El lenguaje de programacin C fue creado por Dennis Ritchie entre 1969 y 1973 cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseo del sistema operativo UNIX. C fue creado para poder escribir dicho sistema operativo en un lenguaje de alto nivel, independiente del hardware donde se ejecutara. Contar con un lenguaje de alto nivel permiti el avance de los sistemas operativos, ya que el mismo cdigo poda ser utilizado en las distintas plataformas, propiciando la reutilizacin de cdigo y reduciendo los tiempos de desarrollo. As es que los sistemas operativos basados en UNIX, el sistema BSD, el sistema GNU/Linux y muchos otros fueron desarrollados en C. Adems, con el paso del tiempo se han desarrollado cientos de bibliotecas que permiten a los programadores de C utilizar el cdigo desarrollado por otros para la realizacin de tareas comunes. Esto, a su vez, ha propiciado el desarrollo de aplicaciones en lenguaje C. Actualmente es imposible contar la cantidad de aplicaciones y herramientas desarrolladas en C.

Caractersticas

- Un ncleo del lenguaje simple, con funcionalidades aadidas importantes, como funciones matemticas y de manejo de archivos, proporcionadas por bibliotecas. - Es un lenguaje muy flexible que permite programar con mltiples estilos. Uno de los ms empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura). - Un sistema de tipos que impide operaciones sin sentido. - Usa un lenguaje de preprocesado, el prepocesador de C, para tareas como definir macros e incluir mltiples archivos de cdigo fuente. - Acceso a memoria de bajo nivel mediante el uso de punteros. - Interrupciones al procesador con uniones. 9

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

- Un conjunto reducido de palabras clave. - Por defecto, el paso de parmetros a una funcin se realiza por valor. - Punteros a funciones y variables estticas, que permiten una forma rudimentaria de encapsulado y polimorfismo. - Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una nica variable "empleado").

Ventajas e inconvenientes de este lenguaje Ventajas:

Lenguaje muy eficiente puesto que es posible utilizar sus caractersticas de bajo nivel para realizar implementaciones ptimas. A pesar de su bajo nivel es el lenguaje ms portado en existencia, habiendo compiladores para casi todos los sistemas conocidos. Proporciona facilidades para realizar programas modulares y/o utilizar cdigo o bibliotecas existentes. Inconvenientes:

Es ms lento programar en C, sobre todo para los principiantes porque se limita a traducir el cdigo sin apenas aadir nada. Se debe reservar y liberar memoria para C, mientras que en otros lenguajes la memoria es gestionada de forma transparente para el programador. El mantenimiento es ms difcil y costoso que en los lenguajes de ms alto nivel. En C se utilizan sentencias cortas y enrevesadas de difcil interpretacin. No dispone de sistema de control automticos y la seguridad depende de la experiencia del programador.

Proceso de compilacin

La compilacin de un programa C se realiza en varias fases que normalmente son automatizadas y ocultadas por los entornos de desarrollo: Preprocesado: modificacin del cdigo fuente en C segn una serie de instrucciones (directivas de preprocesado) simplificando as el trabajo del compilador. Compilacin: genera el cdigo objeto a partir del cdigo preprocesado. Enlazado: une los cdigos objeto de los diferentes mdulos y bibliotecas externas para generar el programa ejecutable final.

10

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

1.4.6.
Historia

C++

C++ es un lenguaje de programacin diseado a mediados de los aos 1980 por Bjarne Stroustrup. La intencin de su creacin fue la de extender al exitoso lenguaje de programacin C con mecanismos que permitan la manipulacin de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje hbrido. Luego se aadieron facilidades de programacin genrica, que se sum a los otros dos paradigmas que ya estaban admitidos (programacin estructurada y la programacin orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programacin multiparadigma. Actualmente existe un estndar, denominado ISO C++, al que se han adherido la mayora de los fabricantes de compiladores ms modernos y algunos intrpretes, como ROOT. Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales. El nombre C++ fue propuesto por Rick Mascitti en el ao 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio cientfico. Antes se haba usado el nombre "C con clases". En C++, la expresin "C++" significa "incremento de C" y se refiere a que C++ es una extensin de C.

Tipos de datos Caracteres: char (tambin es un entero), wchar_t Enteros: short int, int, long int, long long int Nmeros en coma flotante: float, double, long double Booleanos: bool Vaco: void

Tamaos de datos

- Un tipo char tiene el tamao mnimo en bytes asignable por la mquina, y todos los bits de este espacio deben ser "accesibles". - El tamao reconocido de char es de 1. Es decir, sizeof(char) siempre devuelve 1. - Un tipo short tiene al menos el mismo tamao que un tipo char. - Un tipo long tiene al menos el doble tamao en bytes que un tipo short. - Un tipo int tiene un tamao entre el de short y el de long, ambos inclusive, preferentemente el tamao de un apuntador de memoria de la mquina. - Un tipo unsigned tiene el mismo tamao que su versin signed.

11

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

La palabra reservada void

La palabra reservada void define en el concepto de no existencia o no atribucin de un tipo en una variable o declaracin y puede ser usada para destacar que una funcin no recibe parmetros., pero se tiende a no colocarla. Void no es un tipo. Es un dato que no puede tomar por valor nign valor, es decir, es un dato vaco (nulo).

Funcin main()

Se trata de la funcin de entrada, y debe existir siempre, ya ser la que tome el control cuando se ejecute el programa. Main acepta dos parmetros: - Primer parmetro: tipo int. Contiene el nmero de argumentos que se le pasan al programa. Hay que tener en cuenta que el primer argumento de un programa siempre ser el nombre de este, de tal manera que si hacemos la siguiente ejecucin :> miprograma param1 param2 nuestro parmetro argc valdr 3, y por consiguiente, si llamamos al programa sin parmetros, argc equivaldr a 1. - Segundo parmetro: tipo char**. , lo importante es indicar que estamos trabajando con un doble puntero a char, esto es, un vector de vectores de caracteres, o para simplificar, un vector de cadenas. Hay que recordar que estamos trabajando con un vector de cadenas, y que cada posicin guarda uno de los argumentos empleados al llamar a nuestro programa.

Clases

Los objetos en C++ son abstrados mediante una clase. Segn el paradigma de la programacin orientada a objetos un objeto consta de: - Mtodos o funciones miembro - Atributos o variables miembro Un ejemplo de clase que podemos tomar es la clase perro. Cada perro comparte unas caractersticas (atributos). Su nmero de patas, el color de su pelaje o su tamao son algunos de sus atributos. Las funciones que lo hagan ladrar, cambiar su comportamiento... esas son las funciones de la clase.

Constructores

Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara. 12

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

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.

Si no definimos un constructor el compilador crear uno por defecto, sin parmetros, que no har absolutamente nada. Los datos miembros del los objetos declarados en el programa contendrn basura. Si una clase posee constructor, ser llamado siempre que se declare un objeto de esa clase. Si ese constructor requiere argumentos, como en este caso, es obligatorio suministrarlos.

Destructores

Los 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 enen el mismo nombre que la clase a la que pertenecen, pero enen 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.

13

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Plantillas

Las plantillas son el mecanismo de C++ para implantar el paradigma de la programacin genrica. Permiten que una clase o funcin trabaje con tipos de datos abstractos, especificndose ms adelante cuales son los que se quieren usar. Por ejemplo, es posible construir un vector genrico que pueda contener cualquier tipo de estructura de datos. De esta forma se pueden declarar objetos de la clase de este vector que contengan enteros, flotantes, polgonos, figuras, fichas de personal, etc. La declaracin de una plantilla se realiza anteponiendo la declaracin template <typename A,....> a la declaracin de la estructura (clase, estructura o funcin) deseado.

Clases abstractas

Clase abstracta: es una clase que no est completamente especificada (posee mtodos sin implementar), por lo tanto no se pueden crear instancias de la misma. Una clase abstracta se usa para servir de clase base a otras clases. En terminologa C++ se dice que una clase abstracta es aquella que posee al menos un mtodo virtual puro. - Virtual: obliga a las clases derivadas a implementar ese mtodo. - Puro: no pueden crearse instancias de esa clase.

Espacios de nombres

Los espacios de nombres son en realidad un recurso de C++ para resolver algunos problemas existentes en el C clsico, relativos al manejo de identificadores. Es una de las razones por las que C++ es tan adecuado para la programacin de grandes sistemas. Los espacios de nombres son posibles porque C++ permite dividir el espacio total de los identificadores de los objetos del programa (lo que se denomina el Espacio general de nombres en subespacios distintos e independientes. Para ello dispone de una palabra-clave especfica: namespace. En resumen, el proceso consiste en declarar un espacio de nombres asignndole un identificador y delimitndolo por un bloque entre llaves. Dentro de este cuerpo pueden declararse los objetos correspondientes al mismo. Despus, los objetos pueden ser accedidos mediante diversas tcnicas; la ms directa mediante el operador ::, denominado precisamente por esto "de resolucin de mbito".

Operadores

Aritmticos: suma, resta, multiplicacin, divisin y mdulo. Asignacin: simple = y compustos Manejo de bits: complemento, desplazamientos izquierda y derecha, AND, XOR y OR. 14

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Lgicos: AND, OR y NOT. De Preproceso: #define, #line, #pragma, etc. De Puntero: de indireccin (*) y de referencia (&). Relacionales: igual, desigual, menor, mayor, menor o igual, mayor o igual. Manejo de memoria: new, delete. Modelado de tipos: cons_cast (aade o elimina la caracterstica const o volatile de un identificador), dynamic_cast (convertir un puntero al tipo deseado), reinterpret_cast (reemplazar modelados para conversiones que son inseguras o independientes de la implementacin), static_cast (convertir un puntero al tipo deseado). Modelado clsico: convertir un tipo al deseado. Miscelanea. Operadores unitarios

Compiladores

Uno de los compiladores libres de C++ es el de GNU, el compilador G++ (parte del proyecto GCC, que engloba varios compiladores para distintos lenguajes). Otros compiladores comunes son Intel C++ Compiler, el compilador de Xcode, el compilador de Borland C++, el compilador de CodeWarrior C++, el compilador g++ de Cygwin, el compilador g++ de MinGW, el compilador de Visual C++, Carbide.c++, entre otros.

1.4.7.
Historia

Visual Basic

Visual Basic es un lenguaje de programacin desarrollado por Alan Cooper para Microsoft. El lenguaje de programacin es un dialecto de BASIC, con importantes aadidos. Su primera versin fue presentada en 1991 con la intencin de simplificar la programacin utilizando un ambiente de desarrollo completamente grfico que facilitara la creacin de interfaces grficas y en cierta medida tambin la programacin misma. Desde el 2001 Microsoft ha propuesto abandonar el desarrollo basado en la API Win32 y pasar a trabajar sobre un framework o marco comn de libreras independiente de la version del sistema operativo. Visual Basic constituye un IDE (entorno de desarrollo integrado o en ingls Integrated Development Enviroment) que ha sido empaquetado como un programa de aplicacin, es decir, consiste en un editor de cdigo (programa donde se escribe el cdigo fuente), un depurador (programa que corrige errores en el cdigo fuente para que pueda ser bien compilado), un compilador (programa que traduce el cdigo fuente a lenguaje de mquina), y un constructor de interfaz grfica o GUI (es una forma de programar en la que no es necesario escribir el cdigo para la parte grfica del programa, sino que se puede hacer de forma visual).

15

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Ventajas e Inconvenientes

Ventajas: - La curva de aprendizaje de este lenguaje de programacin es bastante rpida. - Gracias al acceso, casi total, a las API de Windows se integra perfectamente con l. - Posee una gran cantidad de documentacin, ejemplos y archivos base gracias a su gran expansin. - Permite la integracin con formularios de Windows. - Existen versiones como Vb access o excel que permite aumentar las funcionalidades de las bases de datos y hojas de clculo de Microsoft. - Permite gran expansin mediante libreras DLL y ActiveX - Se puede integrar con DirectX y OpenGL (si bien, con esta ltima de forma no oficial) - Este entorno de programacin permite tanto desarrollar aplicaciones simples como otras de gran complejidad. Inconvenientes: - Presenta problemas de versionado que provoca problemas en la ejecucin entre versiones como consecuencia del uso de algunas libreras DLL. - Para crear aplicaciones multihilo requiere de las API de Windows. - El soporte para la programacin orientada a objetos deja bastante que desear resultando insuficiente en muchas ocasiones.

1.4.8.
Versiones

Visual Basic.NET

Al mismo tiempo que evolucionaba el lenguaje, las herramientas que Microsoft proporciona para programar tambin evolucionaban para adaptarse a las novedades. Visual Studio .NET (2002) Visual Studio .NET se public en 2002 y fue la primera versin de Visual Studio en introducir el framework .NET. Esta versin de Visual Studio introdujo, junto con el Framework .NET tres nuevos lenguajes de programacin, C#, VB.NET y Visual J#. En esta primera versin de Visual Studio .NET se podan programar aplicaciones Windows.Forms (aplicaciones de escritorio) y aplicaciones ASP.NET (Aplicaciones Web). Visual Studio .NET 2003 Visual Studio .NET 2003 se public en 2003 fue una actualizacin menor de Visual Studio .NET, 16

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

bsicamente propiciada por la introduccin de la versin 1.1 del Framework .NET. En esta versin se aadi por primera vez la posibilidad de programar para dispositivos mviles usando .NET, ya fuera usando el Compact Framework, o ASP.NET. Visual Studio 2005 Publicado el 4 de octubre de 2005, se bas en el framework .NET 2.0. Aade soporte de 64-bit (x86-64: AMD64 e Intel 64, e IA-64: Itanium) Ediciones: Express, Standard, Professional, Tools for Office, y 5 ediciones Visual Studio Team System (Architects, Software Developers, Testers, y Database Professionals) La versin interna de Visual Studio 2005 es la 8.0, mientras que el formato del archivo es la 9.0. Visual Basic Express Edition A partir de la introduccin en el mercado de la versin 2005 de Visual Studio Microsoft public lo que se conoce como ediciones Exp de distintos programas. Las versiones Express son versiones limitadas pero gratuitas, pensadas para usos no profesionales (principiantes, aficionados y pequeos negocios), existiendo una edicin independiente para cada lenguaje. Visual Basic Express Edition es una versin de Visual Studio limitada. Esta versin permite slo programar en VB.NET, y adems limita el tipo de proyectos que se pueden desarrollar. Visual Web Developer Express Edition permite programar pginas ASP.NET en VB. Visual Studio 2008 El IDE de Visual Studio 2008 permite trabajar contra 3 .NET frameworks diferentes: .NET Framework 2.0 .NET Framework 3.0 .NET Framework 3.5 Tambin es muy fcil de usar gracias al desarrollo de hardware. Adems, integra el framework ASP.NET AJAX para el desarrollo de AJAX. Visual Basic 2008 (VB 9.0) Visual Basic 2010 (VB 10.0)

Relacin con Visual Basic

Si Visual Basic .NET debe considerarse una mera versin de Visual Basic, o si debe considerarse como un nuevo lenguaje de programacin es un tema que ha trado mucha discusin, y que an la trae. La sintaxis bsica es prcticamente la misma entre VB y VB.NET, con la excepcin de los 17

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

aadidos para soportar nuevas caractersticas como el control estructurado de excepciones, la programacin orientada a objetos, o los Genricos. Las diferencias entre VB y VB.NET son profundas, sobre todo en cuanto a metodologa de programacin y bibliotecas, pero ambos lenguajes siguen manteniendo un gran parecido, cosa que facilita notablemente el paso de VB a VB.NET.

1.4.9.
Historia

PHP

El sistema fue desarrollado en 1994 por Rasmus Lerdorf como un CGI escrito en C que permita la interpretacin de un nmero limitado de comandos. El sistema fue denominado Personal Home Page Tools y adquiri relativo xito gracias a que otras personas pidieron a Rasmus que les permitiese utilizar sus programas en sus propias pginas. Dada la aceptacin del primer PHP y de manera adicional, su creador dise un sistema para procesar formularios al que le atribuy el nombre de FI (Form Interpreter) y el conjunto de estas dos herramientas, sera la primera versin compacta del lenguaje: PHP/FI. La siguiente gran contribucin al lenguaje se realiz a mediados del 97 cuando se volvi a programar el analizador sintctico, se incluyeron nuevas funcionalidades como el soporte a nuevos protocolos de Internet y el soporte a la gran mayora de las bases de datos comerciales. Todas estas mejoras sentaron las bases de PHP versin 3. Actualmente PHP se encuentra en su versin 4, que utiliza el motor Zend, desarrollado con mayor meditacin para cubrir las necesidades actuales y solucionar algunos inconvenientes de la anterior versin. Algunas mejoras de esta nueva versin son su rapidez -gracias a que primero se compila y luego se ejecuta, mientras que antes se ejecutaba mientras se interpretaba el cdigo-, su mayor independencia del servidor web -creando versiones de PHP nativas para ms plataformas- y un API ms elaborado y con ms funciones.

Caractersticas Ms rpido que ASP. Lenguaje ms fcil y potente. Integracin perfecta ms de ocho servidores HTTP. Diseo Modular de fcil ampliacin. Licencia Abierta. Acceso a 20 tipos de Bases de Datos.

Ventajas

- Es un lenguaje multiplataforma. - Orientado al desarrollo de aplicaciones web dinmicas con acceso a informacin 18

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

almacenada en una base de datos. El cdigo fuente escrito en PHP es invisible al navegador web y al cliente ya que es el servidor el que se encarga de ejecutar el cdigo y enviar su resultado HTML al navegador. Esto hace que la programacin en PHP sea segura y confiable. Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Capacidad de expandir su potencial utilizando mdulos (llamados ext's o extensiones). Posee una amplia documentacin en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda. Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. Permite aplicar tcnicas de programacin orientada a objetos. Biblioteca nativa de funciones sumamente amplia e incluida. No requiere definicin de tipos de variables aunque sus variables se pueden evaluar tambin por el tipo que estn manejando en tiempo de ejecucin. Tiene manejo de excepciones (desde PHP5). PHP no obliga a quien lo usa a seguir una determinada metodologa a la hora de programar y el programador puede aplicar en su trabajo cualquier tcnica de programacin o de desarrollo que le permita escribir cdigo ordenado, estructurado y manejable.

Inconvenientes

Como es un lenguaje que se interpreta en ejecucin, para ciertos usos puede resultar un inconveniente que el cdigo fuente no pueda ser ocultado. La ofuscacin es una tcnica que puede dificultar la lectura del cdigo pero no la impide y, en ciertos casos, representa un costo en tiempos de ejecucin.

1.4.10. JAVA
Historia

El lenguaje Java as como la mquina virtual, comenzaron como un proyecto interno de Sun Microsystems en 1990. Los ingenieros de Sun no estaban satisfechos con el rendimiento del lenguaje C++, por lo que James Gosling, Mike Sheridan y Patrick Naughton, junto con otros ms, comenzaron a desarrollar un nuevo lenguaje, que en principio pensaron dedicar a la programacin de todo tipo de aparatos, tales como microondas, neveras, telfonos mviles, etc.. Ellos pensaban que stos generaran muchas e importantes aplicaciones para la tecnologa del futuro. El lenguaje tendra que obviar problemas que presenta C++, en campos tales como la programacin distribuda, las aplicaciones multihilo, el manejo de la memoria y ser ms sencillo de manejar que C++. Finalmente se deseaba que los programas fueran portables a todo tipo de aparatos.

19

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Inicialmente el lenguaje se llam Oak (en espaol 'roble'), en honor de un roble que haba frente a la oficina. En 1992, se present como demostracin una PDA con interface grfica y un asistente inteligente representado mediante un mueco llamado Duke. Oak fue presentado a concurso, como solucin tecnolgica, en varios proyectos para la industria del cine y la televisin, pero no fue elegido. En 1994 John Gage, James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing, y Eric Schmidt se se reunieron para reorientar Oak. Decidieron orientarlo hacia la tecnologa de la Web, pues se pensaba que tras la aparicin del navegador Mosaic, sta evolucionara hacia la misma clase de interactividad, que la televisin por cable, para la cual haban estado preparando Oak. Fue asimismo en 1994 cuando se cambi el nombre de Oak a Java. Poco despus, an en 1994, la plataforma Java 1.0, estaba disponible para descarga en la Web. En 1995 Netscape anunci que incluira soporte para Java en sus navegadores, dando con esto un buen apoyo a Java.

Filosofa

El lenguaje Java se cre con cinco objetivos principales: a) Debera usar la metodologa de la programacin orientada a objetos: mtodo de programacin y diseo del lenguaje: b) Debera permitir la ejecucin de un mismo programa en mltiples sistemas operativos: programas escritos en el lenguaje Java pueden ejecutarse igualmente en cualquier tipo de hardware. c) Debera incluir por defecto soporte para trabajo en red. d) Debera disearse para ejecutar cdigo en sistemas remotos de forma segura. e) Debera ser fcil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C+ +. Para conseguir la ejecucin de cdigo remoto y el soporte de red, los programadores de Java a veces recurren a extensiones como CORBA (Common Object Request Broker Architecture), Internet Communications Engine o OSGi respectivamente.

Entorno de funcionamiento

El diseo de Java, su robustez, el respaldo de la industria y su fcil portabilidad han hecho de Java uno de los lenguajes con un mayor crecimiento y amplitud de uso en distintos mbitos de la industria de la informtica. Se utiliza en: Dispositivos mviles y sistemas empotrados: Desde la creacin de la especificacin J2ME (Java 2 Platform, Micro Edition), una versin del 20

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

entorno de ejecucin Java reducido y altamente optimizado, especialmente desarrollado para el mercado de dispositivos electrnicos de consumo se ha producido toda una revolucin en lo que a la extensin de Java se refiere. Es posible encontrar microprocesadores diseados para ejecutar bytecode Java y software Java para tarjetas inteligentes (JavaCard), telfonos mviles, buscapersonas, set-top-boxes, sintonizadores de TV y otros pequeos electrodomsticos. El modelo de desarrollo de estas aplicaciones es muy semejante a las applets de los navegadores salvo que en este caso se denominan MIDlets. El navegador web: Desde la primera versin de java existe la posibilidad de desarrollar pequeas aplicaciones (Applets) en Java que luego pueden ser incrustadas en una pgina HTML para que sean descargadas y ejecutadas por el navegador web. Estas mini-aplicaciones se ejecutan en una JVM que el navegador tiene configurada como extensin (plug-in) en un contexto de seguridad restringido configurable para impedir la ejecucin local de cdigo potencialmente malicioso. Las applets Java no son las nicas tecnologas (aunque s las primeras) de componentes complejos incrustados en el navegador. Otras tecnologas similares pueden ser: ActiveX de Microsoft, Flash, Java Web Start, etc. Sistemas de servidor: En la parte del servidor, Java es ms popular que nunca, desde la aparicin de la especificacin de Servlets y JSP . Hasta entonces, las aplicaciones web dinmicas de servidor que existan se basaban fundamentalmente en componentes CGI y lenguajes interpretados. Ambos tenan diversos inconvenientes (fundamentalmente lentitud, elevada carga computacional o de memoria y propensin a errores por su interpretacin dinmica). Los servlets y las JSPs supusieron un importante avance ya que: El API de programacin es muy sencilla, flexible y extensible. Los servlets no son procesos independientes (como los CGIs) y por tanto se ejecutan dentro del mismo proceso que la JVM mejorando notablemente el rendimiento y reduciendo la carga computacional y de memoria requeridas. Las JSPs son pginas que se compilan dinmicamente (o se pre-compilan previamente a su distribucin) de modo que el cdigo que se consigue una ventaja en rendimiento substancial frente a muchos lenguajes interpretados. Aplicaciones de escritorio: Hoy en da existen multitud de aplicaciones grficas de usuario basadas en Java. El entorno de ejecucin Java (JRE) se ha convertido en un componente habitual en los PC de usuario de los sistemas operativos ms usados en el mundo. Adems, muchas aplicaciones Java lo incluyen dentro del propio paquete de la aplicacin de modo que se ejecuten en cualquier PC. 21

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Crticas

Existen muchas crticas a Java debido a su lenta velocidad de ejecucin, aproximadamente unas 20 veces ms lento que un programa en lenguaje C. Sun est trabajando intensamente en crear versiones de Java con una velocidad mayor. El problema fundamental de Java es que utiliza una representacin intermedia denominada cdigo de byte para solventar los problemas de portabilidad. Los cdigos de byte posteriormente se tendrn que transformar en cdigo mquina en cada mquina en que son utilizados, lo que ralentiza considerablemente el proceso de ejecucin. La solucin que se deriva de esto parece bastante obvia: fabricar ordenadores capaces de comprender directamente los cdigos de byte. stas seran unas mquinas que utilizaran Java como sistema operativo y que no requeriran en principio de disco duro porque obtendran sus recursos de la red. A los ordenadores que utilizan Java como sistema operativo se les llama Network Computer, WebPC o WebTop. La primera gran empresa que ha apostado por este tipo de mquinas ha sido Oracle, que en enero de 1996 present en Japn su primer NC (Network Computer), basado en un procesador RISC con 8 Megabytes de RAM. Tras Oracle, han sido compaas del tamao de Sun, Apple e IBM las que han anunciado desarrollos similares. La principal empresa en el mundo del software, Microsoft, que en los comienzos de Java no estaba a favor de su utilizacin, ha licenciado Java, lo ha incluido en Internet Explorer (versin 3.0 y posteriores), y ha lanzado un entorno de desarrollo para Java, que se denomina Visual J++. El nico problema aparente es la seguridad para que Java se pueda utilizar para transacciones crticas. Sun va a apostar por firmas digitales, que sern clave en el desarrollo no slo de Java, sino de Internet.

Rendimiento

El rendimiento de una aplicacin est determinado por multitud de factores, por lo que no es fcil hacer una comparacin que resulte totalmente objetiva. En tiempo de ejecucin, el rendimiento de una aplicacin Java depende ms de la eficiencia del compilador, o la JVM, que de las propiedades intrnsecas del lenguaje. El bytecode de Java puede ser interpretado en tiempo de ejecucin por la mquina virtual, o bien compilado al cargarse el programa, o durante la propia ejecucin, para generar cdigo nativo que se ejecuta directamente sobre el hardware. Si es interpretado, ser ms lento que usando el cdigo mquina intrnseco de la plataforma destino. Si es compilado, durante la carga inicial o la ejecucin, la penalizacin est en el tiempo necesario para llevar a cabo la compilacin. Algunas caractersticas del propio lenguaje conllevan una penalizacin en tiempo, aunque no son nicas de Java. Algunas de ellas son el chequeo de los lmites de arrays, chequeo en tiempo de ejecucin de tipos, y la indireccin de funciones virtuales. El uso de un recolector de basura para eliminar de forma automtica aquellos objetos no requeridos, aade una sobrecarga que puede afectar al rendimiento, o ser apenas apreciable, dependiendo de la tecnologa del recolector y de la aplicacin en concreto. Las JVM modernas 22

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

usan recolectores de basura que gracias a rpidos algoritmos de manejo de memoria, consiguen que algunas aplicaciones puedan ejecutarse ms eficientemente. El rendimiento entre un compilador JIT y los compiladores nativos puede ser parecido, aunque la distincin no est clara en este punto. La compilacin mediante el JIT puede consumir un tiempo apreciable, un inconveniente principalmente para aplicaciones de corta duracin o con gran cantidad de cdigo. Sin embargo, una vez compilado, el rendimiento del programa puede ser comparable al que consiguen compiladores nativos de la plataforma destino, inclusive en tareas numricas. Aunque Java no permite la expansin manual de llamadas a mtodos, muchos compiladores JIT realizan esta optimizacin durante la carga de la aplicacin y pueden aprovechar informacin del entorno en tiempo de ejecucin para llevar a cabo transformaciones eficientes durante la propia ejecucin de la aplicacin. Esta recompilacin dinmica, como la que proporciona la mquina virtual HotSpot de Sun, puede llegar a mejorar el resultado de compiladores estticos tradicionales, gracias a los datos que slo estn disponibles durante el tiempo de ejecucin. Java fue diseado para ofrecer seguridad y portabilidad, y no ofrece acceso directo al hardware de la arquitectura ni al espacio de direcciones. Java no soporta expansin de cdigo ensamblador, aunque las aplicaciones pueden acceder a caractersticas de bajo nivel usando bibliotecas nativas (JNI, Java Native Interfaces).

1.4.11. C Sharp (C#)


Historia

La ltima variante que ha surgido de C es el moderno C#. En el ao 2000, Microsoft presenta su plataforma .NET junto con un nuevo lenguaje, C# (diseado por Anders Hejlsberg), que servir de lenguaje principal de la plataforma. C# es un hbrido de C++ y Java que fusiona, principalmente, la capacidad de combinar operadores propia del primero (no incorpora la herencia mltiple) con la plena orientacin a objetos del segundo. La orientacin a objetos es tal que el propio programa est encapsulado en una clase. Actualmente C# se encuentra entre los 10 lenguajes ms utilizados. A pesar de su corta historia, ha recibido la aprobacin del estndar de dos organizaciones: en el 2001 se aprueba el ECMA y en el 2003 el ISO.

Tipos de datos

En el caso del lenguaje de programacin C#, los tipos de datos ms empleados son: -Los tipos enteros: int, short y long para manipular nmeros enteros. -Los tipos reales: float y double. -El tipo: char (a,z,?,$,@,G,7, etc.; en total los 256 caracteres del cdigo ASCII) para caracteres, letras y smbolos. -As como algunos ms complejos como los strings y arreglos.

23

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Es importante recordar que todo objeto dentro de un programa tiene un tipo de datos asociado, y es necesario tener esta asociacin en mente a la hora de manipular, almacenar, operar y hasta desplegar en pantalla dicho objeto.

Literales

Un literal es la representacin explcita de los valores que pueden tomar los tipos bsicos del lenguaje. A continuacin se explica cul es la sintaxis con que se escriben los literales en C# desglosndolos segn el tipo de valores que representan: Literales enteros Literales reales Literales lgicos Literales de carcter Literales de cadena Literal nulo

Variables

Dentro de una clase a parte de los mtodos que definen los que hace la clase, tenemos los elementos que definen el estado de una clase y sus instancias, que son las constantes y las variables. Una variable almacena datos de cierto tipo. Podremos guardar cadenas, enteros, reales, etc (segn el tipo de la variable), para obtener el valor posteriormente en una expresin de C#. Este lenguaje es fuertemente tipificado, por lo que el compilador cuidar que los valores que guardemos en las variables correspondan con los tipos con que stas se definieron. Para definir una variable debemos indicar primero el tipo y a continuacin el nombre de sta. Podemos asignarle un valor en la misma definicin (como en Java o C++). Un identificador puede: - empezar por "_". - contener caracteres Unicode en maysculas y minsculas Un identificador no puede: - empezar por un nmero. - empezar por un smbolo, ni aunque sea una palabra clave. - contener ms de 511 caracteres.

24

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Instrucciones de control

- Las instrucciones if-else, for, while, do-while, switch, return, break, continue son, bsicamente, iguales que en C, C++ y Java. - La instruccin foreach, al igual que en Java, realiza un ciclo a travs de los elementos de una matriz o coleccin. En este ciclo se recorre la coleccin y la variable recibe un elemento de dicha coleccin en cada iteracin. - La instruccin goto se sigue utilizando en C# a pesar de la polmica sobre su uso.

Compiladores

- Microsoft.NET Framework 2.0 (SDK) incluye un compilador de C#, pero no un IDE. - Microsoft Visual Studio, IDE por excelencia de este lenguaje. - SharpDevelop, IDE libre para C# bajo licencia GNU LGPL, con una interfaz muy similar a Microsoft Visual Studio. - Mono, es una implementacin con licencia GNU GPL de todo el entorno .NET desarrollado por Novell. Como parte de esta implementacin se incluye un compilador de C#. - Delphi 2006, de Borland Software Corporation. - DotGNU Portable.NET, de la Free Software Foundation.

ANEXO
Perifricos

En informtica, se denomina perifricos a los aparatos o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de un ordenador, y lo son tanto las unidades o dispositivos a travs de los cuales el ordenador se comunica con el mundo exterior, como los sistemas que almacenan o archivan la informacin, sirviendo de memoria auxiliar de la memoria principal. Se entender por perifrico al conjunto de dispositivos que permitan realizar operaciones de entrada/salida (E/S) complementarias al proceso de datos que realiza la CPU. Perifricos de entrada

Captan y digitalizan los datos de ser necesario, introducidos por el usuario o por otro dispositivo y los envan al ordenador para ser procesados. Son los que permiten introducir datos externos a la computadora para su posterior tratamiento por parte de la CPU. Estos datos pueden provenir de distintas fuentes, siendo la principal un ser humano . Ejemplos: teclado, micrfono, escner, ratn, cmara web, etc.

25

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Perifricos de salida

Son dispositivos que muestran o proyectan informacin hacia el exterior del ordenador. La mayora son para informar, alertar, comunicar, proyectar o dar al usuario cierta informacin, de la misma forma se encargan de convertir los impulsos elctricos en informacin legible para el usuario. Sin embargo, no todos de este tipo de perifricos es informacin para el usuario. Son los que reciben la informacin procesada por la CPU y la reproducen, de modo que sea perceptible por el usuario. Algunos ejemplos son: monitor, impresora, fax, tarjeta de sonido, altavoz, proyector digital.

Perifricos de entrada y salida Sirven bsicamente para la comunicacin de la computadora con el medio externo.

Los perifricos de entrada/salida son los que utiliza el ordenador tanto para mandar como para recibir informacin. Su funcin es la de almacenar o guardar, de forma permanente o virtual, todo aquello que hagamos con el ordenador para que pueda ser utilizado por los usuarios u otros sistemas. Son ejemplos de perifrico de entrada/salida o de almacenamiento: disco duro, grabadora y/o lector de CD o DVD, impresora, memoria flash, cintas magnticas, memoria porttil, disquete, pantalla tctil, casco virtual

Perifricos de comunicacin con otro sistema fsico u ordenador

Su funcin es permitir o facilitar la interaccin entre dos o ms ordenadores, o entre un ordenador y otro perifrico externo a este. Permitiendo interactuar con otras mquinas u ordenadores, ya sea para trabajar en conjunto, o para enviar y recibir informacin. Un periferico de comunicacin permite la conexin del ordenador con otros sistemas informticos a travs de diversos medios Entre ellos se encuentran los siguientes: fax-mdem, tarjeta de red, concentrador, conmutador, enrutador, tarjeta inalmbrica, tarjeta bluetooth. Seal digital

Una seal digital es aquella que presenta una variacin discontinua con el tiempo y que slo puede tomar ciertos valores discretos. Su forma caracterstica es ampliamente conocida: la seal bsica es una onda cuadrada (pulsos) y las representaciones se realizan en el dominio del tiempo. Las seales digitales no se producen en el mundo fsico como tales, sino que son creadas por el hombre y tiene una tcnica particular de tratamiento, y como dijimos anteriormente, la seal bsica es una onda cuadrada, cuya representacin se realiza necesariamente en el dominio del tiempo.

26

Tema 1:Reconocimiento de elementos del desarrollo de software

Mriam Tubo Prez

Seal analgica

Una seal analgica es un tipo de seal generada por algn tipo de fenmeno electromagntico y que es representable por una funcin matemtica en la que es variable su amplitud y periodo (representando un dato de informacin) en funcin del tiempo. La seal analgica es aquella que presenta una variacin continua con el tiempo, es decir, que a una variacin suficientemente significativa del tiempo le corresponder una variacin igualmente significativa del valor de la seal (la seal es continua). Datos

Datos son los hechos que describen sucesos y entidades. Los datos son comunicados por varios tipos de smbolos como las letras del alfabeto, nmeros, movimientos de labios, puntos y rayas, seales con la mano, etc. Los datos se caracterizan por no contener ninguna informacin. Un dato puede significar un nmero, una letra, un signo ortogrfico o cualquier smbolo que represente una cantidad, una medida, una palabra o una descripcin. La importancia de los datos est en su capacidad de asociarse dentro de un contexto para convertirse en informacin. Por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden afectar el comportamiento de quien los recibe. Para ser tiles, los datos deben convertirse en informacin. Programa

Un programa es un conjunto de instrucciones u ordenes basadas en un lenguaje de programacin que una computadora interpreta para resolver un problema o una funcin especifica.

Sistema

Un sistema es una reunin o conjunto de elementos relacionados. Puede estructurarse de conceptos, objetos y sujetos

27

Potrebbero piacerti anche