Sei sulla pagina 1di 28

1

Caractersticas del lenguaje de programacin












Profesor: Rodrguez Morales Miguel ngel
Fundamentos de programacin
Grupo: ISE
Alumno: Lpez Arriaga Oscar
Algoritmos
Instituto Tecnolgico de Oaxaca.













2
Caractersticas del lenguaje de programacin













Introduccin

En esta unidad se busca aprender las caractersticas del lenguaje de programacin as
como su estructura, su traduccin de un programa, como se ejecuta un programa, los elementos
del lenguaje, y los errores en tiempo de ejecucin. Y as llegar a tener un mayor conocimiento de
la estructura y procesos a realizar en la elaboracin de un programa pata llegar a la solucin de
un programa.




3
Caractersticas del lenguaje de programacin









Caractersticas del lenguaje de programacin

Un lenguaje de programacin es un idioma artificial diseado para expresar procesos que
pueden ser llevadas a cabo por mquinas como las computadoras. Pueden usarse para
crear programas que controlen el comportamiento fsico y lgico de una mquina, para
expresar algoritmos con precisin, o como modo de comunicacin humana. Est formado por un
conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado
de sus elementos y expresiones. 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.

4
Caractersticas del lenguaje de programacin

Tambin la palabra programacin se define como el proceso de creacin de
un programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs de los
siguientes pasos:

El desarrollo lgico del programa para resolver un problema en particular.
Escritura de la lgica del programa empleando un lenguaje de programacin especfico
(codificacin del programa).

Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina.
Prueba y depuracin del programa.
Desarrollo de la documentacin.
Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin' y
'lenguaje informtico'. Los lenguajes informticos engloban a los lenguajes de programacin y a
otros ms.

Un estndar de lenguaje de programas es un grupo de reglas que describen como deben
escribirse las sentencias y comandos de programacin. La regla de que los nombres variables
tienen que comenzar con una letra es un ejemplo de un estndar. Una variable es un elemento
que puede tomar diferentes valores.

5
Caractersticas del lenguaje de programacin

Estructura bsica de un programa

Como ya se ha visto, cuando se escribe un programa lo que se trata de hacer es indicarle a
la computadora cmo ha de resolver un problema. Estos programas siguen determinada
estructuras, que dependen del tipo de lenguaje que usemos y del entorno en el cual lo creemos.

Principios generales:

Un cargador - todo programa necesita ser cargado en la memoria por el sistema operativo.
De esto se encarga el intrprete.
Definicin de los datos - la mayora de los programas operan con datos y por lo tanto en
el cdigo fuente debemos definir qu tipo de datos vamos a utilizar en el programa. Esto se
realiza de manera diferente en los distintos lenguajes. Todos los lenguajes que usaremos tienen la
posibilidad de crear una nueva definicin de datos simplemente al utilizar los datos. Veremos
esto en la prxima seccin.

Instrucciones - son la parte central del programa. Las instrucciones manipulan los datos
que hemos definido, realizan clculos, muestran los resultados, etc.

La Mayora de programas siguen una de dos estructuras:
6
Caractersticas del lenguaje de programacin


-Programas de lotes:

Estos se ejecutan tpicamente desde una lnea de comando o automticamente desde otra
aplicacin y tienden al siguiente patrn
Inicializacin interna de los datos
Lectura de los datos ingresados
Procesamiento de los datos
Visualizacin o ejecucin de los resultados
-Programas controlados por eventos:

La mayor parte de las interfaces responden a eventos. Los programas controlados por
eventos son generalmente as:

Inicializacin interna de los datos
Espera de los eventos
Identificacin de los eventos y actuacin en consecuencia

7
Caractersticas del lenguaje de programacin

Traduccin de un programa: compilacin, enlace de un programa, errores en tiempo de
compilacin.

Un compilador es un programa informtico 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. Usualmente el segundo lenguaje es lenguaje de
mquina, pero tambin puede ser un cdigo intermedio (bytecode), o simplemente texto. Este
proceso de traduccin se conoce como compilacin.

Un compilador es un programa que permite traducir el cdigo fuente de un programa en
lenguaje de alto nivel, a otro lenguaje de nivel inferior (tpicamente lenguaje de mquina). De
esta manera un programador puede disear un programa en un lenguaje mucho ms cercano a
cmo piensa un ser humano, para luego compilarlo a un programa ms manejable por una
computadora.

Partes de un compilador

La construccin de un compilador involucra la divisin del proceso en una serie de fases
que variar con su complejidad. Generalmente estas fases se agrupan en dos tareas: el anlisis del
programa fuente y la sntesis del programa objeto.
8
Caractersticas del lenguaje de programacin


Anlisis: Se trata de la comprobacin de la correccin del programa fuente, e incluye las
fases correspondientes al Anlisis Lxico (que consiste en la descomposicin del programa
fuente en componentes lxicos), Anlisis Sintctico (agrupacin de los componentes lxicos en
frases gramaticales) y Anlisis Semntico (comprobacin de la validez semntica de las
sentencias aceptadas en la fase de Anlisis Sintctico).

Sntesis: Su objetivo es la generacin de la salida expresada en el lenguaje objeto y suele
estar formado por una o varias combinaciones de fases de Generacin de Cdigo (normalmente
se trata de cdigo intermedio o de cdigo objeto) y de Optimizacin de Cdigo (en las que se
busca obtener un cdigo lo ms eficiente posible).

Alternativamente, las fases descritas para las tareas de anlisis y sntesis se pueden
agrupar en Front-end y Back-end:

Front-end: es la parte que analiza el cdigo fuente, comprueba su validez, genera el rbol
de derivacin y rellena los valores de la tabla de smbolos. Esta parte suele ser independiente de
la plataforma o sistema para el cual se vaya a compilar, y est compuesta por las fases
comprendidas entre el Anlisis Lxico y la Generacin de Cdigo Intermedio.

9
Caractersticas del lenguaje de programacin

Back-end: es la parte que genera el cdigo mquina, especfico de una plataforma, a partir
de los resultados de la fase de anlisis, realizada por el Front End.

Esta divisin permite que el mismo Back End se utilice para generar el cdigo mquina
de varios lenguajes de programacin distintos y que el mismo Front End que sirve para analizar
el cdigo fuente de un lenguaje de programacin concreto sirva para generar cdigo mquina en
varias plataformas distintas. Suele incluir la generacin y optimizacin del cdigo dependiente
de la mquina.

El cdigo que genera el Back End normalmente no se puede ejecutar directamente, sino
que necesita ser enlazado por un programa enlazador (linker).

Pre proceso

Lo primero que el compilador de C hace es pasar nuestro programa por el pre procesador.
El preprocesador se encarga de interpretar cada una de las directivas que aparecen en el
programa y de expandir las macros. Respecto a las directivas, son todos a aquellas lneas que
comienzan con un smbolo #. Hay un conjunto de directivas que son parte del estndar ANSI se
comentan en el apndice.

10
Caractersticas del lenguaje de programacin

Compilacin del programa.

Una vez que el programador acaba de escribir el programa en su terminal y lo almacena
en un archivo debe traducirlo a cdigo ejecutable por la mquina. Este proceso se llama en su
conjunto compilacin del cdigo fuente en C.

#include<stdio.h>

Hace que se inserte el fichero stdio.h en el lugar donde aparece esa lnea. Como el lector
puede ver si examina el fichero stdio.h, lo que hay en el son declaraciones de prototipos de
funciones y de tipos de datos, perfectamente validos en C.

El compilador se encarga de la etapa de pre proceso, justo antes de iniciar la compilacin.
Por lo tanto, esta etapa pasa normalmente desapercibida, aunque puede indicrsele al compilador
que solo efectu el pre proceso, para ver cmo queda el programa despus de l. La forma de
solicitrselo depende de cada compilador en concreto. Una vez finalizado el pre proceso, nuestro
programa que da listo para que pueda comenzarse su traduccin a cdigo ejecutable.

Enlace

11
Caractersticas del lenguaje de programacin

La siguiente etapa de compilacin es el enlace con las funciones presentes en las libreras
de funciones. Si nuestro programa utiliza solo funciones ANSI, no suele ser necesario indicarle
al compilador en que libreras estn esas funciones. Sin embargo hay excepciones. Por ejemplo si
utilizamos funciones matemticas de la librera estndar en nuestro programa (es decir en el
programa aparece #include <math.h>, opcin lm. Sin embargo, si utilizamos funciones
definidas en una librera propia o bien en una librera no estndar, debemos indicrselo al
compilador mediante algn parmetro.


Errores en tiempo de compilacin

El compilador es capaz de detectar algunos errores que pueden cometerse en el desarrollo
de un programa escrito en C. Evidentemente, no puede detectar todos ya que un programa puede
funcionar perfectamente pero no hacer lo que se espera de l. Los errores detectados por el
compilador son de dos clases: errores propiamente dichos (errors), y advertencias (warnings)

Los errores se deben a cuestiones sintcticas relacionadas con el lenguaje. El compilador
enumera los errores que se encontraron, y luego detiene la compilacin. El mensaje de error que
aparece siempre indica al menos tres cosas:

12
Caractersticas del lenguaje de programacin

El nombre del fichero en donde se ha encontrado el error.
La lnea del fichero en donde se ha detectado el error.
Un mensaje describiendo brevemente el error.

Las advertencias no indican errores, sino que llaman la atencin al programador sobre los
posibles usos incorrectos del lenguaje. Las advertencias, a diferencia de los errores no detienen el
proceso de compilacin, pero casi siempre sealan un error oculto. En general, si aparece un
warning hay que intentar eliminarlo. Si el compilador encuentra el error, intentara seguir
compilando el programa para encontrar todos los errores posibles, detenindose cuando le resulte
imposible seguir.

Ejecucin de un programa

A un programa en ejecucin se le suele llamar tambin proceso.

El proceso de ejecucin de un programa escrito en un lenguaje de programacin y
mediante un compilador tiene los siguientes pasos:

13
Caractersticas del lenguaje de programacin

1. Escritura del programa fuente con un editor (programa que permite a una computadora
actuar de modo similar a una mquina de escribir electrnica) y guardarlo en un dispositivo de
almacenamiento.
2. Introducir el programa fuente en memoria.
3. Compilar el programa con el compilador.
4. Verificar y corregir errores de compilacin.
5. Obtencin del programa objeto
6. El enlazador (linker) obtiene el programa ejecutable.

7. Se ejecuta el programa y, si no existen errores, se tendr la salida del programa.

Se denomina tiempo de ejecucin (runtime en ingls) al intervalo de tiempo en el que un
programa de computadora se ejecuta en un sistema operativo. Este tiempo se inicia con la puesta
en memoria principal del programa, por lo que el sistema operativo comienza a ejecutar sus
instrucciones. El intervalo finaliza en el momento en que ste enva al sistema operativo la seal
de terminacin, sea sta una terminacin normal, en que el programa tuvo la posibilidad de
concluir sus instrucciones satisfactoriamente, o una terminacin anormal, en el que el programa
produjo algn error y el sistema debi forzar su finalizacin.

14
Caractersticas del lenguaje de programacin

Este trmino suele emplearse, en oposicin a tiempo de compilacin, para indicar si una
accin o hecho sucede en uno u otro tiempo.

Elementos del lenguaje: datos, literales y constantes, identificadores, variables, parmetros,
operadores, entrada y salida de datos.

Tipos de datos

Todos los lenguajes de programacin soportan algn conjunto de diferentes tipos de
datos. Un tipo de dato es un conjunto de valores y un conjunto de operaciones definidas para
esos valores. Un tipo de dato describe un conjunto de objetos con la misma representacin.
Existe un nmero de operaciones asociadas con cada tipo, por ejemplo: es posible realizara
aritmtica sobre tipos de datos enteros y reales, concatenar con los datos de tipo cadena o
recuperar o modificar el valor de un elemento de un arreglo. Un tipo de dato proporciona una
descripcin de sus instancias que indican al compilador cosas como cuanta memoria se debe
asignar para una instancia, cmo representar los datos en memoria y qu operaciones son
permisibles sobre esos datos.

Los tipos de datos que se construyen en el compilador, se conocen como tipos de datos
fundamentales o predefinidos. Cada lenguaje de programacin incorpora una coleccin de tipos
de datos fundamentales, que incluyen normalmente enteros, reales, carcter etc. Los lenguajes
15
Caractersticas del lenguaje de programacin

soportan tambin un nmero de constructores de tipos de datos estructurados o compuestos, que
son tipos ms complejos

Simples o primitivos (Bsicos, Fundamentales o predefinidos): Son aquellos que
reconoce directamente el lenguaje, sirven de base para otros tipos de datos (complejos),ocupan
solo una localidad de memoria, para el almacenamiento de un valor simple, no de objetos
complejos. Por lo tanto la variable que lo identifica hace referencia a un valor nico a la vez.,
este tipo de datos se clasifican de la siguiente manera:

Numricos:

Son aquellos que solamente aceptan caracteres numricos y el carcter punto en el caso
de aquellos valores fraccionarios.

Enteros:

Son aquellos que consideran solamente valores enteros (sin fracciones decimales)
pudiendo ser precedidos por el carcter (-), para asignarle el signo a los valores negativos.

16
Caractersticas del lenguaje de programacin

Carcter o char:

Ocupan 16 bits, con un rango de 0 a 65,536. Este rango tan amplio, le permite al lenguaje
representar cualquier carcter alfabtico, numrico (sin signo) o especial de cualquier lenguaje o
idioma de cualquier parte del mundo, garantizando con esto la portabilidad. El carcter debe
estar delimitado por comillas simples (apostrofes).

No primitivos (Estructurados o compuestos):

Son aquellos que no estn considerados por el lenguaje y tendrn que ser definidos por el
programador, empleando para ello los tipos de datos simples o bsicos.
Identificadores, Variables y Constantes

Algunos de los principales componentes de un programa son los Identificadores, las
variables y las constantes.

Identificadores: Se emplean para asignarle un nombre a una clase, objeto, atributo, etc. Y
se puede emplear en l, cualquier secuencia de caracteres alfabticos en maysculas o
minsculas, numricos, los caracteres de subrayado (guion bajo), el de dlar ($) y no se permiten
los espacios en blanco como separadores de palabras.
17
Caractersticas del lenguaje de programacin


Constantes

Una constante es una partida de datos que permanecen sin cambios en el programa
(durante el desarrollo y ejecucin).

Variables

Una variable es una partida de datos cuyo valor puede cambiar en el programa (durante el
desarrollo y ejecucin).

Los diferentes tipos de variables dependen del lenguaje de programacin, por lo general
estas suelen ser enteras, reales, carcter, lgicas y de cadena.

Tanto las variables como las constantes tienen un nombre o identificador generalmente
conformado por caracteres alfanumricos (ciertos lenguajes de programacin admiten el carcter
de subrayado _ como vlido en los identificadores), y el primero de stos debe ser una letra.

18
Caractersticas del lenguaje de programacin

Para poder usar una variable en C++, primero debemos declararla especificando cul de
los tipos de datos presentados arriba queremos que sea. La sintaxis para declarar una nueva
variable es escribir el especificador de tipo de dato que queremos (como int, short, float...)
seguido por un identificador de variable. Por ejemplo:

int a;
float mynumber;

Son declaraciones validas de variables. La primera declara una variable de tipo int con el
identificador a. La segunda declara una variable de tipo float con el identificador mynumber.
Una vez declaradas, las variables a y mynumber pueden ser usadas dentro del resto de su
contexto en el programa.
Si necesita declarar algunas variables del mismo tipo y quiere ahorrarse escritura, puede
declarar todas estas en la misma lnea separando los identificadores con comas ( , ). Por ejemplo:

int a, b, c;

Declara tres variables (a, b y c) de tipo int , y tiene exactamente el mismo significado que
si hubiramos escrito:
int a;
19
Caractersticas del lenguaje de programacin

int b;
int c;

Inicializacin de variables

Cuando declaramos una variable local, su valor es indeterminado por defecto. Pero usted
podra querer que una variable almacene un valor en concreto al momento de su declaracin.
Para hacer esto, usted tiene que anexar un signo igual seguido por el valor deseado en la
declaracin de la variable:
type identifier = initial_value ;

Por ejemplo, si queremos declarar una variable entera int llamada a que contenga el valor
0 al momento en el cual es declarada, podramos escribir
int a = 0;

Adicionalmente a esta forma de inicializacin de variables (conocida como c-like), C++
ha aadido una nueva manera de inicializar una variable: encerrando el valor inicial entre
parntesis ():
type identifier (initial_value) ;
20
Caractersticas del lenguaje de programacin

Por ejemplo:
int a (0);
Ambas formas son vlidas y equivalentes en C++.

Constantes: Literales.

Una constante es cualquier expresin que tenga un valor arreglado. Estos pueden ser
divididos en nmeros Enteros, nmeros Punto-Flotante, Cadenas y smbolos.



Nmeros Enteros
1776
707
-273

Estas son constantes numricas que identifican nmeros enteros decimales. Note que para
expresar una constante numricas no necesitamos escribir comillas (") ni otro smbolo especial.
21
Caractersticas del lenguaje de programacin

No hay duda de que es una constante dondequiera que se escriba 1776 en un programa, nos
estaremos refiriendo al valor 1776.

En adicin a los nmeros decimales (esos que ya todos nosotros conocemos) C++ permite
el uso de constantes literales de nmeros octales (base 8) y nmeros hexadecimales (base 16). Si
queremos expresar un nmero octal debemos precederlo con un smbolo 0 (caracter cero). Y para
expresar un nmero hexadecimal tenemos que precederlo con los smbolos 0x (cero, x). Por
ejemplo, las siguientes constantes literales son todas equivalentes entre si:
75 // decimal 0113 // octal 0x4b // hexadecimal


Todas representan el mismo nmero: 75 (setenta y cinco) expresado como un nmero
base 10, octal y hexadecimal, respectivamente.
Nmeros Punto Flotante

Estos expresan nmeros con decimales y/o exponentes. Estos pueden incluir un punto
decimal, un smbolo e (que expresa "por 10 a la n-esima potencia", donde n es el siguiente valor
entero) o ambos.
3.14159 // 3.14159 6.02e23 // 6.02 x 1023 1.6e-19 // 1.6 x 10-19 3.0 // 3.0

22
Caractersticas del lenguaje de programacin

Estos son cuatro nmeros vlidos con decimales expresados en C++. El primer nmero es
PI, el segundo es el nmero de Avogadro, el tercero es la carga elctrica de un electrn (un
nmero extremadamente pequeo) -todos ellos aproximados- y el ltimo es el nmero 3
expresado como un literal numrico en punto flotante.

Constantes declaradas (const)

Con el prefijo const usted puede declarar constantes con un tipo especfico exactamente
igual a como hara con una variable:
const int width = 100;
const char tab = '\t';
const zip = 12440;
En caso de que el tipo no sea especificado (como en el ltimo ejemplo) el compilador
asume que es de tipo int.


Errores en tiempo de ejecucin.


Los errores en tiempo de ejecucin son los que se producen durante la ejecucin del
programa. Son los ms difciles de encontrar, no son detectados por el compilador, ya que son
23
Caractersticas del lenguaje de programacin

errores de lgica, no de sintaxis. Aunque al compilar un programa no de errores, el programa
puede funcionar incorrectamente y/o a dar errores durante su ejecucin. Por ejemplo:

Un programa puede producir resultados errneos, al equivocarnos (errores lgicos) al
programar el algoritmo (sumar en vez de restar, etc.).
Un programa puede interrumpirse bruscamente, por ejemplo si tenemos que hacer una
divisin y el divisor es cero, etc.

Los errores que se pueden producir en la fase de compilacin son:

Errores fatales: Son raros. Indican errores internos del compilador. Cuando ocurre la
compilacin se detiene inmediatamente.
Errores de sintaxis: Son los errores tpicos de sintaxis. No detienen la compilacin sino
que al finalizar sta se mostrar la lista con todos los errores encontrados. Algunos errores suelen
ser consecuencia de otros cometidos con anterioridad. Con este tipo de errores no se puede
obtener un programa objeto y por lo tanto tampoco el ejecutable.

Advertencias o avisos (warnings): Indican que hay lneas de cdigo sospechosas que a
pesar de no infringir ninguna regla sintctica, el compilador las encuentra susceptibles de
provocar un error. Cuando se detecta un warning la compilacin no se detiene. Si en un
24
Caractersticas del lenguaje de programacin

programa fuente slo se detectan warnings s que se podr obtener un programa objeto, que tras
el linkado dar lugar a un programa ejecutable.

Encontrar la causa que los provoca es una labor en ocasiones complicada, razn por la
cual los EID (Entornos Integrados de Desarrollo,) nos proporcionan una herramienta llamada
Depurador que nos ayuda a encontrar los errores lgicos y dems errores producidos en tiempo
de ejecucin.

Un depurador (debugger), es un programa diseado especficamente para la deteccin,
verificacin y correccin de errores. Los depuradores nos permiten trazar el programa (ejecutarlo
sentencia a sentencia) y visualizar el contenido de las variables y direcciones de memoria durante
la ejecucin del programa.

Adems permiten alterar el flujo de ejecucin del mismo, cambiar los valores de
Las variables e introducir puntos de parada.
.






25
Caractersticas del lenguaje de programacin




















Conclusin


Al concluir con la investigacin de estos 6 temas se adquiere un amplio conocimiento
sobre cada uno de los diferentes conceptos que explicaba cada uno de los temas, como la
estructura que l lo primero que se debe declarar entre otros puntos as como el tipo de variables
que existen las primitivas y las no primitivas, desde mi punto de vista esto nos ayuda a tener un
mayor entendimiento al momento de realizar un programa y que es lo que lo constituye en si
26
Caractersticas del lenguaje de programacin

para su creacin y ejecucin y todos los posibles errores que puede haber al momento de ejecutar
nuestro programa.
















Referencias
Caractersticas del lenguaje de programacin:
https://sites.google.com/site/tecnologicodetuxtlagutierrez/unidad-3-caracteristicas-del-
lenguaje-de-programacion
Estructura bsica de un programa
https://www.youtube.com/watch?v=JkTO_5yr3xE
27
Caractersticas del lenguaje de programacin

Traduccin de un programa: compilacin, enlace de un programa, errores en tiempo de
compilacin.
https://www.youtube.com/watch?v=i0dovsDUndo
Ejecucin de un programa
https://sites.google.com/site/tecnologicodetuxtlagutierrez/3-4-ejecucion-de-un-programa
Elementos del lenguaje: datos, literales y constantes, identificadores, variables, parmetros,
operadores, entrada y salida de datos.
https://sites.google.com/site/tecnologicodetuxtlagutierrez/3-5-elementos-del-lenguaje-
datos-literales-y-constantes-identificadores-variables-parametros-operadores-entrada-y-salida-
de-datos
Errores de tiempo de ejecucin
http://ingenieriasistemasdecomputo.blogspot.mx/2006/11/32-diseo-algoritmico-de-las-
funciones.html
http://www.lawebdelprogramador.com/foros/Algoritmia/551369-
diseno_algoritmico_de_funciones.html




28
Caractersticas del lenguaje de programacin

Potrebbero piacerti anche