Beruflich Dokumente
Kultur Dokumente
LENGUAJE DE PROGRAMACIN
1. LENGUAJE DE PROGRAMACIN: Un computador no har nada si no se le dan rdenes. Estas pueden ser tipiadas directamente en el teclado pero, salvo que la tarea sea muy sencilla -como hacer alguna operacin aritmtica-, sera muy ineficiente, por lo cual se requiere redactar primero un programa, con la serie completa de instrucciones para que la mquina realice lo que deseamos. Pero si hablamos tanto de "tipear" rdenes directas como de agruparlas en un programa, estamos hablando de usar un teclado parecido al de una mquina de escribir, con letras, cifras y signos. Por lo tanto, ha de usarse un determinado lenguaje... Todas las "aplicaciones" (software para el "usuario final") que conocemos han debido ser creadas especificando primero sus funciones y traduciendo stas en "instrucciones" comprensibles por la mquina. Para esto, l o los programadores utilizan un determinado "lenguaje de programacin", que es como un idioma: cuenta con un diccionario (los "comandos") y una gramtica (reglas de sintaxis). El programador traduce las especificaciones de funciones y operaciones (que estn en su idioma natural y/o en grficos que especifican su secuencia) en este idioma, elaborando un producto llamado "programa fuente". Este programa fuente ha de ser luego traducido (por el mismo computador) en el "lenguaje de mquina", que es el que "entiende" el microprocesador. La traduccin, por lo tanto, debe hacerse teniendo en cuenta el "lenguaje" propio del chip procesador (de ah que un mismo programa tendr una versin). Lenguajes de programacin hay en gran cantidad, algunos han evolucionado a lo largo del tiempo y son usados en el transcurso de muchos aos, mientras que otros han sido operativos durante un perodo ms o menos largo y actualmente no se usan. Dada esta gran variedad de lenguajes, aqu no se pretende dar una visin de todos, sino una clasificacin en diversos tipos y concretar algunos de ellos. 2. CLASIFICACIN DE LOS LENGUAJES DE PROGRAMACIN Para que un procesador sea capaz de interpretar el algoritmo, se necesita realizar las instrucciones correspondientes a cada paso. Estas instrucciones se expresan por medio de un formato denominado programa. Los principales lenguajes de programacin son los siguientes: Lenguaje mquina:
Este lenguaje es fcil de entender por la computadora, pero difcil para el usuario. Es el lenguaje original de la computadora el cual es generado por el "software", y no por el programador. Es decir, son aquellos que estn escritos en lenguajes directamente inteligibles por la computadora; sus instrucciones son cadenas binarias que especifican una operacin y posiciones en memoria. Este cdigo mquina es el conocido como cdigo binario.
Ventajas Desventajas - La ventaja de programar en este tipo -Dificultad y lentitud en la codificacin. de lenguaje es que se puede cargar sin necesidad de traduccin, siendo as el -Poca fiabilidad. ms veloz. -Dificultad de verificar y corregir los programas. -Las instrucciones en este tipo de lenguaje dependen del hardware de la computadora. -Los programas solo son ejecutables en el mismo procesador. Para evitar los lenguajes mquina desde el punto de vista del usuario se han creado otros lenguajes que permiten escribir programas con instrucciones similares al lenguaje humano. Estos lenguajes son los de bajo nivel y alto nivel. Lenguaje de Bajo Nivel:
Este tipo de lenguaje es ms fcil de utilizar que el anterior, pero tambin dependen de la mquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Un programa escrito por un lenguaje ensamblador no puede ser ejecutado directamente por la computadora sino que requiere una fase de traduccin al lenguaje mquina. El programa original escrito en ensamblador se denomina programa fuente y el programa traducido se conoce como objeto. Ventajas Desventajas
- La ventaja de programar en este tipo de - Dependencia total de la mquina. lenguaje es su facilidad de codificacin y El lenguaje ensamblador de una PC velocidad de clculo. es distinta que el de una Mac. - Exige conocimiento interior de la mquina y aumenta el nivel de la tcnica de programacin.
Es un lenguaje que se asemeja ms al lenguaje humano que a un lenguaje de mquina o ensamblador. Es ms fcil escribir programas en este lenguaje, pero luego deben ser traducidos por compiladores o intrpretes para que la computadora los entienda.
Este tipo de lenguaje est diseado para que las personas escriban y entiendan los programas de una forma ms fcil que los lenguajes anteriores. Este tipo de lenguaje es independiente del programa, o sea, no dependen del hardware. Esto a su vez implica que los programas sean transportables. Ventajas Desventajas - La escritura es similar al lenguaje humano - Aumenta la ocupacin de (PRINT, WRITE, READ, etc.). memoria. - Las modificaciones son ms fciles. - Transportabilidad. - El tiempo de ejecucin de los programas es mucho mayor.
Al igual que los lenguajes ensambladores, los programas fuentes tienen que ser traducidos por programas traductores llamados compiladores e intrpretes. PROGRAMAS TRADUCTORES: Son los que traducen instrucciones de lenguajes de programacin de alto nivel al cdigo binario del lenguaje de la mquina. EL COMPILADOR: Es un programa especial destinado a traducir automticamente un lenguaje de segunda o tercera generacin en cdigo de mquina (bits), de tal modo que todas las instrucciones y los datos contenidos en el programa estn en condiciones de ser reconocidos y ejecutados por la CPU. El programa original se llama "programa fuente" y se conserva igual que un texto preparado con un procesador de palabras. La "traduccin" es una serie diferentes de caracteres (utilizables por la CPU) que debe ser grabado en otro espacio de memoria auxiliar. Se llama "programa objeto". El usuario "carga" el programa objeto en la memoria principal (RAM) cuando desea utilizarlo. (Los programas comerciales que compramos vienen bajo la forma de "programa objeto"). 3. ESTRUCTURA GENERAL DE UN PROGRAMA EN C++ Un programa en C++ se compone de una o ms funciones. Una funcin de C++ es un grupo de instrucciones que realiza una o ms acciones. Asimismo, un programa contendr una serie de directivas #include que permitirn incluir en el mismo archivo de cabecera que, a su vez, constaran de funciones y datos predefinidos en ellos.
Terminacion de la funcion
#include <iostream.h>
Instruccin al preprocesador
int main () { }
Nombre de la funcin
return 0;
4. CREACIN DE UN PROGRAMA Una vez creado un programa en C++ como el anterior, se debe ejecutar. En general dichos pasos serian: Utilizar un editor de texto para escribir el programa y grabarlo en un archivo. Este archivo constituye el cdigo fuente del programa. Compilar el cdigo fuente. Se traduce el cdigo fuente en un cdigo objeto (lenguaje maquina entendible por la computadora). Enlazar el cdigo objeto con las libreras correspondientes. Una librera C++ contiene cdigo objeto de una coleccin de rutinas o funciones que realizan tareas tales como visualizar informaciones en la pantalla o calcular la raz cuadrada de un nmero. El enlace del cdigo objeto del programa con el cdigo objeto de las funciones utilizadas y cualquier otro cdigo empleado en el enlace producir un cdigo ejecutable.
Cdigo fuente
Compilador
Archivos Cabecera
Cdigo objeto
Bibliotecas
Enlazador
Programa objeto
5. VARIABLES En C++, una variable es una posicin con nombre en memoria donde se almacena un valor. Las variables pueden almacenar todo tipo de datos: cadenas, nmeros y estructuras. Una variable tpicamente tiene un nombre (un identificador) que describe su propsito. Toda variable utilizada en un programa debe ser declarada previamente. La definicin en C++ puede situarse en cualquier parte del programa. Una definicin reserva un espacio de almacenamiento en memoria.
Inicializacin de variables: Las variables se pueden inicializar a la vez que se declaran, o bien despus de la declaracin.
Primer mtodo: int contador =1; float peso= 156.45; int anyo =1991;
Alcance (mbito) de una variable El mbito (alcance) de una variable se extiende a los lmites de su bloque definicin:
Alcance global
Q es una variable global, por estar definida fuera de main, y es accesible a todas las sentencias. Sin embargo, las definiciones dentro de main, como A, son locales en main. Por consiguiente, solo las sentencias interiores a main pueden usar A.
True or False -2,147,483,648 hasta 2,147,483,647 -32,768 hasta 32,767 -2,147,483,648 hasta 2,147,483,647 1.2e-32 hasta 3.4e38 2.2-e308 hasta 1.8e308 256 Caracteres (0 - 255)
7. ENTRADAS Y SALIDAS En C++ la entrada se lee de flujos y la salida se escribe en flujos (streams). Cuando iostream.h se incluye en un programa, diferentes flujos estndar son definidos automticamente. El flujo cin se utiliza para entrada, que normalmente se lee de teclado. El flujo cout se utiliza para salida y, normalmente, se enva a la pantalla del usuario. Salida (cout): El operador insercin, <<, inserta datos en un flujo;
//visualiza 500600700
De igual modo: cout<< 500<< , << 600 << , <<700; //visualiza: 500, 600, 700
C++ utiliza secuencias de escape para visualizar caracteres que no estn representados por smbolos tradicionales, tales como \n , \a, entre otros. cout<< Yo estoy preocupado \n no por el funcionamiento \n sino por la claridad \n; //nota: el operador \n crea un salto de lnea
Visualiza: Yo estoy preocupado no por el funcionamiento sino por la claridad Entrada (cin): El archivo de cabecera iostream.h de la biblioteca C++ proporciona un flujo de entrada estndar cin y un operador de extraccin >>, para extraer valores del flujo y almacenarlos en variables. Si no se redirige explcitamente cin, la entrada procede del teclado: int n; cin>>n; double x; cin x;
Nota: los operadores de extraccin e insercin >> y << apuntan en la direccin del flujo de datos. cout <<introduzca v1 y v2: ; cin>> v1 >> v2; cout<<precio de venta al publico; cin>>precio_venta;
8. CONSTANTES En C++ existen cuatro tipos de constantes las literales, simblicas y enumeradas. Constantes literales: las constantes literales o constantes, en general, se clasifican tambin en cuatro grupos: Constantes enteras: Una constante entera es un numero de valor entero que consiste de una secuencia de dgitos precedidos por un signo + o -. Estas pueden ser escritas en tres sistemas de numeracin diferentes: Decimal (base 10), octal (base 8), hexadecimal (base 16). Ejemplo:
Variable
Constantes reales: una constante de coma (punto) flotante representa un numero real: Ejemplo:
Constantes de carcter: una constante carcter (char) es un carcter del cdigo ASCII encerrado entre comillas simples. Ejemplo: A b c opcin= a Constante carcter
Constantes cadena: una constante cadena es una secuencia de caracteres encerrados entre dobles comillas. Ejemplo: esto es una constante cadena
Hace una divisin 15/2, no devuelve el cociente (7) sino el resto de ella (1)
Operadores relacionales
Operador < Operacin Menor Ejemplo 2<5 Resultado Verdadero Significado Si se invierten los nmeros (5 < 2) el resultado ser Falso 4 no es menor que 4, pero es igual, por lo tanto es verdadero Si se invierten los nmeros (2 > 5) el resultado ser falso 9 no es igual a 3, pero es mayor. Por lo tanto es verdadero Devuelve falso si a es diferente a b. Devuelve falso si a es igual a b.
<=
Menor o igual
4 <= 4
Verdadero
>
Mayor
5>2
Verdadero
>=
Mayor o igual
9 >= 3
Verdadero
==
Igual a
a==b
Verdadero
!=
diferente
a != b
Verdadero
Operadores lgicos:
Operador && || ! Operacin Y O Negacin Lgica Ejemplo
(x > 0) && (y > 0)
Significado Si una de las proposiciones es Falsa, el resultado es Falso Si una de las proposiciones es Verdadera, el resultado es Verdadero Devuelve el contrario de la proposicin (si es Verdadera, el resultado es Falso; si es Falsa el resultado es Verdadero)
(x>0)
|| ( y > 0)
! (x > 0)
Operadores de auto-asignacin
Operador += Sentencia abreviada m += n Sentencia no abreviada m=m+n
-=
m -= n
m=m-n
*=
m*= n
m=m*n
/=
m /= n
m=m /n
%=
m%=n
m=m%n