miércoles, 5 de diciembre de 2007
Proceso Creacion de un Ejecutable
Estructura Basica de un Programa
subprogramas, hay dos clases (procedimientos y funciones) y sirven para definir algoritmos.
paquetes, sirven para agrupar conjuntos de entidades relacionadas.
tareas, definen acciones que pueden ejecutarse en paralelo con otras.
unidades protegidas, sirven para coordinar la compartición de datos entre unidades que se ejecutan en concurrencia.
unidades genéricas, son subprogramas o paquetes parametrizados que definen componentes reusables. Las unidades de programa pueden anidarse unas dentro de otras, pero sólo los subprogramas,paquetes (especificación e implementación) y unidades gerericas pueden ocupar el nivel más externo de anidamiento y formar una unidad de compilación. Una unidad de compilación es un componente de un programa que puede compilarse por separado. Se distinguen dos clases de unidades de compilación: las subunidades, que se encuentran lógicamente incluidas en otro componente, y las unidades de librería, que son componentes independientes que pueden usarse en distintos programas.
Un subprograma principal inicia y gobierna la ejecución de un programa y desde él se desencadena la ejecución del resto de unidades que lo componen. Generalmente, el subprograma principal es un procedimiento sin parámetros. Implementaciones particulares del lenguaje pueden admitir otro tipo de subprogramas como subprograma principal.
Una unidad de compilación típica consta de dos partes: (1) una cláusula de contexto que sirve para especificar las unidades de librería que se necesitan (no hace falta si no se necesita ninguna) y (2) una unidad de programa (subprograma, paquete o unidad genérica). El siguiente ejemplo muestra una unidad de compilación que proporciona un procedimiento sin parámetros llamado "Hola" que puede servir como subprograma principal de un programa o como unidad de librería utilizable como parte de un programa más complejo.
Prioridad Operadores en evaluacion de expresiones
Una expresión es una combinación de operadores y operandos de cuya evaluación se obtiene un valor. Los operandos pueden ser nombres que denoten objetos variables o constantes, funciones, literales de cualquier tipo adecuado de acuerdo con los operadores u otras expresiones más simples. La evaluación de una expresión da lugar a un valor de algún tipo, una expresión se dice que es del tipo de su resultado. Ejemplos de expresiones: a + 5*b (a >= 0) and ((b+5) > 10) a -a * 2 + b -b + sqrt(b**2 - 4*a*c) length(s) > 0 Las expresiones se evalúan de acuerdo con la precedencia de los operadores. Ante una secuencia de operadores de igual precedencia, la evaluación se realiza según el orden de escritura, de izquierda a derecha. El orden de evaluación puede modificarse usando paréntesis. ‘’‘ OPERADORES’‘’ Normalmente, las expresiones con operadores se evalúan de izquierda a derecha, aunque no todos, ciertos operadores que se evalúan y se asocian de derecha a izquierda. Además no todos los operadores tienen la misma prioridad, algunos se evalúan antes que otros, de hecho, existe un orden muy concreto en los operadores en la evaluación de expresiones. Esta propiedad de los operadores se conoce como precedencia o prioridad.
Operadores Operandos y Expresiones
Expresión
Resultado
7 / 2
3.5
12 mod 7
5
4 + 2 * 5
14
> Mayor que, <> = Mayor o igual que, < = Menor o igual que,
a + b > c
Falso
a - b < b =" c"> c
VerdaderoEjemplos no lógicos: a <> 5 <>
Sistema de Numeracion Binaria y Hexadecimal
Los ordenadores trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración natural es el sistema binario (encendido 1, apagado 0).
Almacenamiento Direccionamiento y Representacion en Memoria
La única estructura que ofrece la memoria es la organización de sus elementos en bytes. Por tanto, para almacenar los datos que manipula un procesador es imprescindible saber de antemano su tamaño. El tamaño de algunos datos básicos viene definido por la arquitectura del propio procesador. Por ejemplo, el lenguaje máquina del Intel Pentium contiene instrucciones máquina para operar enteros de 32 bits. Esto no quiere decir que el procesador no pueda manejar enteros de otros tamaños, sino que el procesador manipula estos de forma mucho más rápida y eficiente. Números de otros tamaños pueden ser manipulados igualmente pero con un coste mayor en tiempo de ejecución.
Supongamos que la memoria utilizada tiene un tamaño de 4 Gigabytes y por tanto sus direcciones se representan con 32 bits. Las direcciones de memoria son números naturales en el rango [0, 232 - 1]. Pero este número natural es susceptible de ser almacenado él mismo en memoria. Es decir, se puede almacenar la representación binaria de una dirección de memoria en la propia memoria. Al tener un tamaño de 32 bits o 4 bytes, se utilizan para ello cuatro posiciones de memoria consecutivas.
Identificadores
Es el nombre utilizado para referenciar variables, constantes, tipos, funciones y otros objetos definidos por el usuraio.
Un identificador puede tener uno o mas caracteres (letras, digitos y caracter de subrayado), siendo significativos los primeros 32.
El primer caracter debe ser una letra o un simbolo de _.
Se consideran caracteres distintos las mayusculas y las minusculas.
Se recomienda poner identificadores representativos.
Cuando un identificador se asocia a una entidad concreta entonces es el “nombre” de dicha entidad, y en adelante la representa en el programa. Por supuesto puede ocurrir que varios identificadores se refieran a una misma entidad (polimorfismo).
Sintaxis general: tipo nombre_identificador;
Ejemplo: objeto x;
La intercalación de un identificador depende del nivel en que está definido. Se asigna a los identificadores de objetos de instancia, como los inicios de sesión y los nombres de base de datos la intercalación predeterminada de la instancia. A los identificadores de objetos de una base de datos, como nombres de tablas, vistas y columnas, se asigna la intercalación predeterminada de la base de datos. Por ejemplo, es posible crear dos tablas con nombres que sólo se diferencian en las mayúsculas en una base de datos con intercalación que distinga entre mayúsculas y minúsculas, pero no se pueden crear en una base de datos con intercalación que no distinga entre mayúsculas y minúsculas.
Tipos de Datos
En Pascal existen gran variedad y cantidad de tipos de datos.
- Dinámicos
- Estáticos
- El tipo cadena
- Estructurados
- Simples
- Ordinales
- No-ordinales
Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en memoria no puede variar durante la ejecución del programa. Es decir, una vez declarada una variable de un tipo determinado, a ésta se le asigna un trozo de memoria fijo, y este trozo no se podrá aumentar ni disminuír.
Los punteros quizás sean el concepto más complejo a la hora de aprender un lenguaje de programación, sobre todo si es el primero que aprendes. Debido a esto, no lo trataremos. Además, lenguajes que están muy de moda (por ejemplo Java) no permiten al programador trabajar con punteros.
Los tipos simples más básicos son: entero, lógico, carácter y real. Y la mayoría de los lenguajes de programación los soportan, no como ocurre con los estructurados que pueden variar de un lenguaje a otro.
Las colecciones de elementos que aparecen al hablar de tipos estructurados son muy variadas: tenemos colecciones ordenadas que se representan mediante el tipo array, colecciones sin orden mediante el tipo conjunto, e incluso colecciones que contienen otros tipos, son los llamados registros.
Dentro de los tipos simples ordinales, los más importantes son:
- El tipo entero (integer)
- El tipo lógico (boolean)
- El tipo carácter (char)
Tipos no-ordinales
Simplificando, podríamos reducir los tipos simples no-ordinales al tipo real. Este tipo nos sirve para declarar variables que pueden tomar valores dentro del conjunto de los números reales.
A diferencia de los tipos ordinales, los no-ordinales no se pueden contar. No se puede establecer una relación uno a uno entre ellos y los número naturales. Dicho de otra forma, para que un conjunto se considere ordinal se tiene que poder calcular la posición, el anterior elemento y el siguiente de un elemento cualquiera del conjunto.
Los objetos que contienen datos tienen asociado un tipo de datos que define la clase de datos, por ejemplo, carácter, entero o binario, que puede contener el objeto. Los siguientes objetos tienen tipos de datos:
Columnas de tablas y vistas.
Parámetros de procedimientos almacenados.
Variables.
Funciones de Transact-SQL que devuelven uno o más valores de datos de un tipo de datos específico.
Procedimientos almacenados que devuelven un código, que siempre es de tipo integer.
Al asignar un tipo de datos a un objeto se definen cuatro atributos del objeto:
El tipo de datos que contiene el objeto.
La longitud o tamaño del valor almacenado.
La precisión del número (sólo tipos de datos numéricos).
La escala del número (sólo tipos de datos numéricos).
Datos Definicion
La cantidad de datos versus información que se guarda en el computador constituye una compensación. Los datos pueden procesarse en diferentes formas de información, pero toma tiempo clasificar y sumar transacciones. La información actualizada puede proporcionar respuestas inmediatas.
Un error frecuente es creer que el software es también datos. El computador ejecuta o corre un software. Los datos se "procesan", mientras que el software se "ejecuta".
2. Cualquier forma de información, ya sea en forma electrónica o sobre papel. En forma electrónica, "datos" se refiere a archivos, bases de datos, documentos de texto, imágenes y, voz y video codificados en forma digital.
3.El dato es una representación simbólica (numérica, alfabética, etc.), atributo o característica de una entidad. El dato no tiene valor semántico (sentido) en sí mismo, pero convenientemente tratado (procesado) se puede utilizar en la realización de cálculos o toma de decisiones. Es de empleo muy común en el ámbito informático.
Definicion Lenguajes de Pogramacion
El lenguaje de programación Java, fue diseñado por la compañía Sun Microsystems Inc, con el propósito de crear un lenguaje que pudiera funcionar en redes computacionales heterogéneas ( redes de computadoras formadas por más de un tipo de computadora, ya sean PC, MAC's, estaciones de trabajo, etc.),y que fuera independiente de la plataforma en la que se vaya a ejecutar. Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma. El lenguaje fue diseñado con las siguientes características en mente: Simple. Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los lenguajes modernos orientados a objetos. Orientado a Objetos. La filosofía de programación orientada a objetos es diferente a la programación convencional. Familiar. Como la mayoría de los programadores están acostumbrados a programar en C o en C++, el sintaxis de Java es muy similar al de estos. Robusto. El sistema de Java maneja la memoria de la computadora por ti. No te tienes que preocupar por apuntadores, memoria que no se esté utilizando, etc. Java realiza todo esto sin necesidad de que uno se lo indique. Seguro. El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, especialmente para los applets, que limitan lo que se puede y no puede hacer con los recursos críticos de una computadora. Portable. Como el código compilado de Java (conocido como byte code) es interpretado, un programa compilado de Java puede ser utilizado por cualquier computadora que tenga implementado el interprete de Java. Independiente a la arquitectura. Al compilar un programa en Java, el código resultante un tipo de código binario conocido como byte code. Este códido es interpretado por diferentes computadoras de igual manera, solamente hay que implementar un intérprete para cada plataforma. De esa manera Java logra ser un lenguaje que no depende de una arquitectura computacional definida. Multithreaded. Un lenguaje que soporta multiples threads es un lenguaje que puede ejecutar diferentes líneas de código al mismo tiempo. Interpretado. Java corre en máquina virtual, por lo tanto es interpretado. Dinámico. Java no requiere que compiles todas las clases de un programa para que este funcione. Si realizas una modificación a una clase Java se encarga de realizar un Dynamic Bynding o un Dynamic Loading para encontrar las clases. Java puede funcionar como una aplicación sola o como un "applet", que es un pequeño programa hecho en Java. Los applets de Java se pueden "pegar" a una página de Web (HTML), y con esto puedes tener un programa que cualquier persona que tenga un browser compatible podrá usar.

Definicion de Programacion
No es normal escribir un programa en lenguaje de máquina dado que es muy difícil, en cambio, se utilizan lenguajes de programación inteligibles por un ser humano. No es necesario que un programa sea escrito en un sólo lenguaje, puede poseer diversas partes escritas en distintos lenguajes de programación, como por ejemplo C, C++ y Asm.
Definicion de Programa
Es un conjunto de órdenes para un ordenador. Un programa puede estar formado por apenas unas pocas órdenes (por ejemplo, uno que sume dos números) o por varios miles de órdenes (como un programa de gestión completo para una empresa). Cuando se trata de un programa ya terminado que se compra, se suele hablar de una Aplicación Informática . Los programas se deben escribir en un cierto lenguaje de programación. Los lenguajes de programación que se acercan más al lenguaje humano que al del ordenador reciben el nombre de "lenguajes de alto nivel " (como Pascal); los que se acercan más al ordenador son los de " bajo nivel " (como el ensamblador). Lo más habitual es crear los programas en un lenguaje de alto nivel (llamado " fuente ") y después convertirlos al lenguaje propio del ordenador (" compilarlos " para obtener un " ejecutable ").
Conceptos de la Programacion
Software de Aplicacion
Es un programa informático diseñado para facilitar al usuario la realización de un determinado tipo de trabajo. Posee ciertas características que le diferencia de un sistema operativo (que hace funcionar al ordenador), de una utilidad (que realiza tareas de mantenimiento o de uso general) y de un lenguaje (con el cual se crean los programas informáticos). Suele resultar una solución informática para la automatización de ciertas tareas complicadas como puede ser la contabilidad o la gestión de un almacén. Ciertas aplicaciones desarrolladas 'a medida' suelen ofrecer una gran potencia ya que están exclusivamente diseñadas para resolver un problema específico. Otros, llamados paquetes integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones, como un programa procesador de textos, de hoja de cálculo y de base de datos.
software del sistema
El Software de sistema consiste en la serie de aplicaciones de un sistema operativo que sirven para controlar e interactuar con el sistema, proporcionando control sobre el hardware y dando soporte a otras aplicaciones básicas del sistema operativo. Ejemplos de software del sistema son sistema operativo, sistema operativo de red, librerías tales como OpenGL (para la aceleración gráfica), PNG para el sistema gráfico o demonios que controlan la temperatura, la velocidad del disco duro (como hdparm) o la frecuencia del procesador como por ejemplo cpudyn.