Está en la página 1de 25

Nombre de asignatura: Algoritmos y lenguaje de

programación
Tema de investigación:
2.1 Características del lenguaje de programación
2.2 Estructura básica de un programa
2.3 Traducción de un programa
2.4 Ejecución De un programa
2.5 Elementos del lenguaje
2.6 Errores en tiempo de ejecución
ÍNDICE

OBJETIVO GENERAL …………………………….……………..………… 2

OBJETIVOS PARTICULARES …………………………..………..……….. 2

INTRODUCCIÓN …………………………………….……..……………… 3

MARCO TEÓRICO …………………………………………..…………….. 3


2.1 Características del lenguaje de programación ………….……..………… 3
2.2 Estructura básica de un programa …………………………..……..…… 3
2.3 Traducción de un programa ……………………………………….…….. 3
2.4 Ejecución de un programa ………………………………………………. 4
2.5 Elementos de lenguaje ……………………………………………..…… 4
2.6 Errores en tiempo de ejecución …………………………………………. 4
CARACTERÍSTICAS DEL LENGUAJE DE PROGRAMACIÓN …..…… 5
¿POR QUÉ LA DIVERSIDAD DE LENGUAJES INFORMÁTICOS? …... 5
¿POR QUÉ ES IMPORTANTE EL ESTUDIO DE DIFERENTES
LENGUAJES O PARADIGMAS CUANDO AL FINAL SÓLO
TRABAJARÉIS CON UNOS POCOS? ………………………………..….. 6
Elementos del lenguaje: datos, literales y constantes, identificadores,
variables, parámetros, operadores, entrada y salida de datos. ……….…… 20
ERRORES EN TIEMPO DE EJECUCIÓN ……………………………… 23

Conclusión general ………………………………………………….……. 24

Conclusión personal ……………………………………………………… 24

BIBLIOGRAFÍA …………………………………………………………. 25

1
OBJETIVO GENERAL

 El estudio q se llevará acabo en este trabajo tendrá como objetivo la


comprensión de los lenguajes y características De la programación,
dándonos los conceptos e ideas generales para entender y comprender
La estructura básica de un programa.

OBJETIVOS PARTICULARES

 El alumno será capas de entender y comprender la estructura básica del


lenguaje de programación dando importancia alas características de
lenguaje, estructura básica, traducción del programa, ejecución del
programa, elementos de lenguaje, errores en tiempo de ejecución.

2
INTRODUCCIÓN

En el desarrollo de la tecnología amos contemplado cambios abrumadores, en


los cuales la humanidad ha podido aprender con el paso del tiempo, unos de
los cuales se desarrolla está investigación es el lenguaje de programación,
dándonos la idea básica y fundamental de la programación. Aprenderemos y
analizaremos el funcionamiento general de la programación para facilitar la
ejecución del programa.

MARCO TEÓRICO
1.1 Características de lenguaje de programación
1.1.2 Definición
“En este capítulo se pretende dar una vista general sobre los aspectos
pragmáticos de los lenguajes de programación” (Francisco Gortázar Bellas,
2016, p.321)
Los lenguajes de programación se ejecutan en un computador y tienen una
determinada semántica que define cuál será el resultado de la ejecución de un
programa. Definen un conjunto de tipos de datos primitivos que representan
los posibles valores que pueden devolver las expresiones del lenguaje.
2.1 Estructura básica de un programa
2.2 Definición
Existen dos partes o bloques que componen un programa: Bloque de
declaraciones: en este se detallan todos los objetos que utiliza el programa
(constantes, variables, archivos, etc). Bloque de instrucciones: conjunto de
acciones u operaciones que se han de llevar a cabo para conseguir los
resultados esperados.
3.1 Traducción de un programa
3.2 Definición
Es el proceso por el cual se traducen las instrucciones escritas en un
determinado lenguaje de programación a lenguaje máquina. Además de un
traductor, se pueden necesitar otros programas para crear un programa objeto
ejecutable.

3
“Los sistemas de traducción asistida por ordenador (TAO) son un
conjunto de programas informáticos que ayudan al profesional a traducir
textos de forma rápida ágil y de un alto nivel de calidad” (Antoni Oliver,
Joaquim Moré, 2007, p.28.)
4.1 Ejecución de un programa
4.2 Definición
Un programa de ejecución es un objeto que realiza una determinada acción
cuando se abre. Puede encontrar programas de ejecución en los paneles, en la
barra de menús de un panel y en el escritorio. Un programa de ejecución se
representa mediante un icono en todas estas ubicaciones.
5.1 Elementos de lenguaje
5.2 Definición
Datos, literales, y constantes, identificadores, variables, parámetros,
operadores, entradas, y salida de datos.
“Estas reglas de como ande escribirse los elementos del lenguaje en forma
de símbolos utilizan ala vez otros símbolos que se denominan matasimbolos”
(José A. Cerrada Somolinos, Manuel E. Collado Machuca, 2010, p.27).
6.1 Errores en tiempo de ejecución
6.2 Definición
Un error en tiempo de ejecución es un problema de software o hardware que
impide que Internet Explorer funcione correctamente. Los errores en tiempo
de ejecución se pueden producir cuando un sitio web usa código HTML que
no es compatible con la funcionalidad del explorador web.
“Los errores en tiempo de ejecución no tiene que ser motivo de pánico a
pesar que la expresión (error en tiempo de ejecución) una elección poco
afortunada de un tema espinoso” ( Peter Monadjemi, 2000, p.401).

4
CARACTERÍSTICAS DEL LENGUAJE DE PROGRAMACIÓN
Una vez que se ha visto cómo abordar un problema y cómo escribir un
algoritmo que lo modelase se verán a continuación las herramientas de que se
dispone, los lenguajes de programación para programar un algoritmo, cómo
construir un programa, y cómo programarlo utilizando pseudocódigo.
¿Cuál es el propósito de un lenguaje?
Los lenguajes de computación pueden ser de
propósito general o específicos. C, C++, Java,
Pascal, etc. Son lenguajes de programación de
propósito general SQL, PROMELA,
Actionscripts son lenguajes específicos

¿POR QUÉ LA DIVERSIDAD DE LENGUAJES INFORMÁTICOS?


En primer lugar, existen distintos tipos de lenguajes de programación porque
cada uno de ellos está especificado para resolver un grupo de problemas con
características similares.
En segundo lugar, los lenguajes de programación han ido evolucionando hacia
una mayor facilidad, flexibilidad y potencia. Por esto, han ido apareciendo
distintos tipos de lenguajes que ofrecen
una funcionalidad mayor y generalmente
una filosofía de programación novedosa.
Por último, las compañías que diseñan
software están muy interesadas en tener
muchos lenguajes de programación en el
mercado porque esto les reportará más
beneficios económicos.

¿POR QUÉ ES IMPORTANTE EL ESTUDIO DE DIFERENTES


LENGUAJES O PARADIGMAS CUANDO AL FINAL SÓLO
TRABAJARÉIS CON UNOS POCOS?
5
Hay muchas razones que justifican su estudio, entre las cuales las más
importantes son:
Mejora el uso del lenguaje de programación: si se conoce cómo están
implementadas las características en un lenguaje de programación, se mejorará
la habilidad para escribir programas eficientes. Por ejemplo, si se conoce
cómo crear y manipular listas o cadenas en un lenguaje, por ejemplo, Scheme,
utilizando recursión se conseguirá construir programas más eficientes.
Incrementa el vocabulario de los elementos de programación.
Permite una mejor elección del lenguaje de programación: El conocimiento de
diversos lenguajes de programación facilitan la elección del lenguaje más
adecuado para un proyecto determinado.
Mejora la habilidad para desarrollar programas efectivos y eficientes: Muchos
lenguajes proporcionan características que, cuando se utilizan correctamente,
aportan muchos beneficios a la programación, pero, cuando se hace un uso
incorrecto, pueden ocasionar un gran coste computacional. El ejemplo típico
es la recursión, que permite una implementación elegante y eficiente de
funciones. Pero cuando no se sabe utilizar, puede ocasionar un aumento
exponencial del tiempo de ejecución.
Facilita el aprendizaje de un nuevo lenguaje de programación: Cuando se
conocen las estructuras, técnicas de implementación y construcciones de un
lenguaje, es mucho más sencillo aprender un nuevo lenguaje de programación
que tenga estructuras similares.
Facilita el diseño de nuevos lenguajes de programación: Es posible que en un
futuro tengas que diseñar nosotros un lenguaje propio que se adapte a vuestras
necesidades. Cuantos más lenguajes y
paradigmas se conozcan, más sencillo resultará el diseño y la implementación.
La historia de los lenguajes de programación es dinámica y se encuentra en
continua expansión. El gran número de lenguajes de programación que han
aparecido desde los años 60 hasta la actualidad no son ni mucho menos los
únicos que aparecerán en un futuro.

Características comunes a todos los lenguajes de programación:

6
Tienen una sintaxis: un conjunto de reglas que definen qué expresiones de
texto es correctas. Por ejemplo, en C todas las sentencias deben terminar en
‘;’.
Los lenguajes de programación se ejecutan en un computador y tienen una
determinada semántica que define cuál será el resultado de la ejecución de un
programa.
Definen un conjunto de tipos de datos primitivos que representan los posibles
valores que pueden devolver las expresiones del lenguaje.
Tienen mecanismos de abstracción para definir nuevos tipos de datos a partir
de los primitivos o nuevas funciones y procedimientos.
Todos los lenguajes de programación permiten combinar ideas simples en
ideas más complejas mediante los siguientes tres mecanismos:
Expresiones primitivas, que representan las entidades más simples del
lenguaje
Mecanismos de combinación con los que se construyen elementos compuestos
a partir de elementos más simples
Mecanismos de abstracción con los que dar nombre a los elementos
compuestos y manipularlos como unidades

Abstracción
El concepto de abstracción es fundamental en informática. Para modelar un
dominio (sistema de información de una universidad, sistema de sensores de
una planta química, etc.) es necesario definir distintas abstracciones que nos
permitan tratar sus elementos.
Una abstracción agrupa un conjunto de elementos (datos y procedimientos) y
le da un nombre. Por ejemplo, cuando hablamos del sistema de información de
una universidad identificamos elementos como:
Estudiantes
Asignaturas
Matrícula

7
Expediente académico
Existen abstracciones propias de la computación, que se utilizan en múltiples
dominios. Por ejemplo, abstracciones de datos como:
Listas
Árboles
Grafos
Tablas hash
También existen abstracciones que nos permiten tratar con dispositivos y
ordenadores externos:
Fichero
Raster gráfico
Protocolo TCP/IP
Uno de los trabajos principales de un informático es la construcción de
abstracciones que permitan ahorrar tiempo y esfuerzo a la hora de tratar con la
complejidad del mundo real.

Estructura básica de un programa


Principios generales.
Un cargador – todo programa necesita ser cargado en la memoria por el
sistema operativo. De esto se encarga el intérprete.
Definición de los datos – la mayoría de los programas operan con datos y por
lo tanto en el código fuente debemos definir que 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
definición de datos simplemente al utilizar los datos. Veremos esto en la
próxima sección.
Instrucciones – son la parte central del programa. Las instrucciones manipulan
los datos que hemos definido, realizan cálculos, muestran los resultados, etc.

8
La mayoría de los programas siguen una de dos estructuras:
1.- Programas de lotes
Estos se ejecutan típicamente desde una línea de comando o automáticamente
desde otra aplicación y tienden al siguiente patrón
Inicialización interna de los datos
Lectura de los datos ingresados
Procesamiento de los datos
Visualización o ejecución de los resultados
2.- Programas controlados por eventos
La mayor parte de las interfaces responden a eventos
Los programas controlados por eventos son generalmente así:
Inicialización interna de los datos
Espera de los eventos
Identificación de los eventos y actuación en consecuencia

Estructura básica de un programa C/C++


La estructura de un programa es una cuestión que puede ser abordada desde
varios puntos de vista, consideremos para su estudio solo este caso.
1. Componentes lógicos se refiere a los diversos elementos que componen
una aplicación, desde los más complejos hasta los más simples. Si
comparamos un programa con un edificio, los elementos irían desde el
edificio como un todo, a los ladrillos (sus elementos más pequeños).

Estructura lógica.
Desde el punto de vista lógico, puede considerarse que los programas
comprenden dos tipos de elementos diferentes: estructuras de datos y
algoritmos. O, dicho en otras palabras: datos, e instrucciones para su
9
manipulación. Su representación codificada adopta dos formas: una entendible
por la máquina (ejecutable y ficheros de datos) y otra entendible por el
humano (fuente). Para el conjunto de ambas puede considerarse una escala
conceptual que, si vamos de lo general a lo particular, podemos representarla
como sigue:
Traducción de un programa: complicación, enlace de un programa,
errores en tiempo de compilación.
Un compilador es un programa informático que traduce un programa escrito
en un lenguaje de programación a otro lenguaje de programación, generando
un programa equivalente que la máquina será capaz de interpretar. Usualmente
el segundo lenguaje es lenguaje de máquina, pero también puede ser un
código intermedio (bytecode), o simplemente texto. Este proceso de
traducción se conoce como compilación.
Un compilador es un programa que permite traducir el código fuente de un
programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior
(típicamente lenguaje de máquina). De esta manera un programador puede
diseñar un programa en un lenguaje mucho más cercano a cómo piensa un ser
humano, para luego compilarlo a un programa más manejable por una
computadora.
Partes de un compilador
La construcción de un compilador involucra la división del proceso en una
serie de fases que variará con su complejidad. Generalmente estas fases se
agrupan en dos tareas: el análisis del programa fuente y la síntesis del
programa objeto.
Análisis: Se trata de la comprobación de la corrección del programa fuente, e
incluye las fases correspondientes al Análisis Léxico (que consiste en la
descomposición del programa fuente en componentes léxicos), Análisis
Sintáctico (agrupación de los componentes léxicos en frases gramaticales) y
Análisis Semántico (comprobación de la validez semántica de las sentencias
aceptadas en la fase de Análisis Sintáctico).
Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje
objeto y suele estar formado por una o varias combinaciones de fases de
Generación de Código (normalmente se trata de código intermedio o de

10
código objeto) y de Optimización de Código (en las que se busca obtener un
código lo más eficiente posible).
Alternativamente, las fases descritas para las tareas de análisis y síntesis se
pueden agrupar en Front-end y Back-end:
Front-end: es la parte que analiza el código fuente, comprueba su validez,
genera el árbol de derivación y rellena los valores de la tabla de símbolos. 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 Análisis
Léxico y la Generación de Código Intermedio.
Back-end: es la parte que genera el código máquina, específico de una
plataforma, a partir de los resultados de la fase de análisis, realizada por el
Front End.
Esta división permite que el mismo Back End se utilice para generar el código
máquina de varios lenguajes de programación distintos y que el mismo Front
End que sirve para analizar el código fuente de un lenguaje de programación
concreto sirva para generar código máquina en varias plataformas distintas.
Suele incluir la generación y optimización del código dependiente de la
máquina.
El código que genera el Back End normalmente no se puede ejecutar
directamente, sino que necesita ser enlazado por un programa enlazador
(linker).
Tipos de compiladores
Esta taxonomía de los tipos de compiladores no es excluyente, por lo que
puede haber compiladores que se adscriban a varias categorías:
Compiladores cruzados: generan código para un sistema distinto del que están
funcionando.
Compiladores optimizadores: realizan cambios en el código para mejorar su
eficiencia, pero manteniendo la funcionalidad del programa original.
Compiladores de una sola pasada: generan el código máquina a partir de una
única lectura del código fuente.
Compiladores de varias pasadas: necesitan leer el código fuente varias veces
antes de poder producir el código máquina.

11
Compiladores JIT (Just In Time): forman parte de un intérprete y compilan
partes del código según se necesitan.
Proceso de compilación
Es el proceso por el cual se traducen las instrucciones escritas en un
determinado lenguaje de programación a lenguaje máquina. Además de un
traductor, se pueden necesitar otros programas para crear un programa objeto
ejecutable. Un programa fuente se puede dividir en módulos almacenados en
archivos distintos. La tarea de reunir el programa fuente a menudo se confía a
un programa distinto, llamado preprocesador. El preprocesador también puede
expandir abreviaturas, llamadas a macros, a proposiciones del lenguaje fuente.
Normalmente la creación de un programa ejecutable (un típico.exe para
Microsoft Windows o DOS) conlleva dos pasos. El primer paso se llama
compilación (propiamente dicho) y traduce el código fuente escrito en un
lenguaje de programación almacenado en un archivo a código en bajo nivel
(normalmente en código objeto, no directamente a lenguaje máquina). El
segundo paso se llama enlazado en el cual se enlaza el código de bajo nivel
generado de todos los ficheros y subprogramas que se han mandado compilar
y se añade el código de las funciones que hay en las bibliotecas del
compilador para que el ejecutable pueda comunicarse directamente con el
sistema operativo, traduciendo así finalmente el código objeto a código
máquina, y generando un módulo ejecutable.

Etapas del Proceso de Compilación


El proceso de traducción se compone internamente de varias etapas o fases,
que realizan distintas operaciones lógicas. Es útil pensar en estas fases como
en piezas separadas dentro del traductor, y pueden en realidad escribirse como
operaciones codificadas separadamente, aunque en la práctica a menudo se
integren juntas.
Fase de análisis
 Análisis léxico
El análisis léxico constituye la primera fase, aquí se lee el programa fuente de
izquierda a derecha y se agrupa en componentes léxicos (tokens), que son
secuencias de caracteres que tienen un significado. Además, todos los espacios
12
en blanco, líneas en blanco, comentarios y demás información innecesaria se
elimina del programa fuente. También se comprueba que los símbolos del
lenguaje (palabras clave, operadores,) se han escrito correctamente.
Como la tarea que realiza el analizador léxico es un caso especial de
coincidencia de patrones, se necesitan los métodos de especificación y
reconocimiento de patrones, se usan principalmente los autómatas finitos que
acepten expresiones regulares. Sin embargo, un analizador léxico también es
la parte del traductor que maneja la entrada del código fuente, y puesto que
esta entrada a menudo involucra un importante gasto de tiempo, el analizador
léxico debe funcionar de manera tan eficiente como sea posible.
Análisis sintáctico
En esta fase los caracteres o componentes léxicos se agrupan jerárquicamente
en frases gramaticales que el compilador utiliza para sintetizar la salida. Se
comprueba si lo obtenido de la fase anterior es sintácticamente correcto
(obedece a la gramática del lenguaje). Por lo general, las frases gramaticales
del programa fuente se representan mediante un árbol de análisis sintáctico.
La estructura jerárquica de un programa normalmente se expresa utilizando
reglas recursivas. Por ejemplo, se pueden dar las siguientes reglas como parte
de la definición de expresiones:
Cualquier identificador es una expresión.
Cualquier número es una expresión.
Si expresión1 y expresión2 son expresiones, entonces también lo son:
Expresión1 + expresión2
Expresión1 * expresión2
(expresión1)
Las reglas 1 y 2 son reglas básicas (no recursivas), en tanto que la regla 3
define expresiones en función de operadores aplicados a otras expresiones.
La división entre análisis léxico y análisis sintáctico es algo arbitraria. Un
factor para determinar la división es si una construcción del lenguaje fuente es
inherentemente recursiva o no. Las construcciones léxicas no requieren
recursión, mientras que las construcciones sintácticas suelen requerirla. Por
ejemplo, no podemos emparejar de manera apropiada los paréntesis de las
13
expresiones, o las palabras begin y end en proposiciones sin imponer alguna
clase de estructura jerárquica o de anidamiento a la entrada.
Análisis semántico
La fase de análisis semántico revisa el programa fuente para tratar de
encontrar errores semánticos y reúne la información sobre los tipos para la
fase posterior de generación de código. En ella se utiliza la estructura
jerárquica determinada por la fase de análisis sintáctico para identificar los
operadores y operandos de expresiones y proposiciones.

Fase de síntesis
Consiste en generar el código objeto equivalente al programa fuente. Sólo se
genera código objeto cuando el programa fuente está libre de errores de
análisis, lo cual no quiere decir que el programa se ejecute correctamente, ya
que un programa puede tener errores de concepto o expresiones mal
calculadas. Por lo general el código objeto es código de máquina relocalizarle
o código ensamblador.
Generación de código intermedio
Después de los análisis sintáctico y semántico, algunos compiladores generan
una representación intermedia explícita del programa fuente. Se puede
considerar esta representación intermedia como un programa para una
máquina abstracta. Esta representación intermedia debe tener dos propiedades
importantes; debe ser fácil de producir y fácil de traducir al programa objeto.

Optimización de código
La fase de optimización de código consiste en mejorar el código intermedio,
de modo que resulte un código máquina más rápido de ejecutar. Esta fase de la
etapa de síntesis es posible sobre todo si el traductor es un compilador
(difícilmente un intérprete puede optimizar el código objeto).

Errores en tiempo de compilación

14
Si el programa fuente es sintácticamente correcto, el compilador generará el
código objeto, en caso contrario mostrará una lista con los errores
encontrados, no generándose ningún programa objeto, para que procedamos a
su depuración.
Los compiladores emiten mensajes de error o de advertencia durante las fases
de compilación, de enlace o de ejecución de un programa:

 Los errores en tiempo de compilación son los que se producen


antes de la ejecución del programa, durante el proceso de
compilación del programa.
 Los errores que se pueden producir en la fase de compilación son:
Errores fatales: Son raros. Indican errores internos del compilador. Cuando
ocurre la compilación se detiene inmediatamente.
Errores de sintaxis: Son los errores típicos de sintaxis. No detienen la
compilación, 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 líneas de código
sospechosas que, a pesar de no infringir ninguna regla sintáctica, el
compilador las encuentra susceptibles de provocar un error. Cuando se detecta
un warning la compilación no se detiene. Si en un programa fuente sólo se
detectan warnings, se podrá obtener un programa objeto, que tras el linkado
dará lugar a un programa ejecutable.
Ejecución de un programa
Ejecución:
Una vez escritos, pueden ser ejecutados de diversas formas:
Mediante un programa que va adaptando las instrucciones conforme son
encontradas. A este proceso se lo llama interpretar y a los programas que lo
hacen se los conoce como intérpretes. Ejemplos de esto son bash, clásico en
estaciones Unix y que fue escrito para el proyecto GNU o Python, cuya
peculiaridad además de ser multipropósito, está en su facilidad de uso y

15
productividad y, de hecho, es usado en parte de los proyectos Google y
YouTube.
Traduciendo el código escrito del programa (lo que se denomina código
fuente), a su equivalente en lenguaje máquina. A este proceso se le llama
compilar y al programa traductor se le denomina compilador. Ejemplos de esto
son: El lenguaje C, que combina en sus sintaxis características de medio y
bajo nivel y el compilador gcc usado en el proyecto GNU.

Programas que se auto-modifican


Un programa en ejecución se trata de forma diferente que los datos en los
cuales opera. De cualquier forma, en algunos casos esta distinción es ambigua,
especialmente cuando un programa se modifica a sí mismo. El programa
modificado es secuencialmente ejecutado como parte del mismo programa. Se
pueden escribir programas automodificables en lenguajes como Lisp, COBOL
y Prol
Ejecución y almacenamiento de los programas
Típicamente, los programas se almacenan en una memoria no volátil (por
ejemplo, un disco), para que luego el usuario de la computadora, directa o
indirectamente, solicite su ejecución. Al momento de dicha solicitud, el
programa es cargado en la memoria de acceso aleatorio o RAM del equipo,
bajo el control del software llamado sistema operativo, el cual puede acceder
directamente al procesador. El procesador ejecuta (corre) el programa,
instrucción por instrucción hasta que termina. A un programa en ejecución se
le suele llamar también proceso. Un programa puede terminar su ejecución en
forma normal o por causa de un error, dicho error puede ser de software o de
hardware.
Pasos para la elaboración y Ejecución de un programa:
Los pasos para seguir los podemos resumir de la siguiente manera:
1 º. Escribir el código fuente, por ejemplo, con el editor del EID.
2 º. Compilar el fichero fuente
3 º. Si se producen errores de sintaxis (o warnings) volver al editor y eliminar
los errores de sintaxis.

16
4 º. Si no hay errores se obtendrá el código objeto y el enlazador construirá el
archivo ejecutable.
5 º. Una vez tengamos el archivo ejecutable, será el sistema operativo el
encargado de colocar el programa en la memoria central y ejecutarlo.
6 º. Comprobar el funcionamiento del programa.
7 º. Si se detecta errores o un mal funcionamiento del programa, activar el
depurador para trazar el programa y ejecutarlo sentencia a sentencia.
8 º. Una vez que hayamos encontrado la causa del error, volveremos al editor
y lo corregimos.
9 º. El proceso de compilar, enlazar y ejecutar el programa lo repetiremos
hasta que no se produzcan errores.
Fase de ejecución de un programa
Una vez que tenemos el programa en lenguaje máquina, para poderlo ejecutar
hay que introducirlo en la memoria.

1. Una utilidad del S.O. llamada cargador colocará el programa, y sus


datos de entrada, en memoria principal, preparándolo para su ejecución.
2. El S.O. le pasa el control a la C.P.U. para que comience la ejecución del
programa, realizando la Unidad de Control los siguientes pasos (fases):
Ø Captación de la instrucción: Lee de la Memoria Principal la instrucción a
ejecutar.
AØ Ejecución de la instrucción: Interpreta la instrucción leída y envía señales
de control a las unidades que deban intervenir en su ejecución. Tras dicha
ejecución se establece cuál será la siguiente instrucción para ejecutar.

17
Elementos del lenguaje: datos, literales y constantes, identificadores,
variables, parámetros, operadores, entrada y salida de datos.
1.1 CLASIFICACION DEL SOFTWARE DE: SISTEMAS Y
APLICACIÓN
1.2 ALGORITMO
1.3 LENGUAJE DE PROGRAMACIÓN
1.4 PROGRAMA
1.5 PROGRAMACIÓN
1.6 PARADIGMA DE PROGRAMACIÓN
1.7 EDITOR DE TEXTO
1.8 COPILADORES E INTÉRPRETES
3.2. ESTRUCTURA BÁSICA DE UN PROGRAMA.
3.3 TRADUCCIÓN DE UN PROGRAMA: COMPILACIÓN, ENLACE
DE UN PROGRAMA, ERRORES EN TIEMPO DE COMPILACIÓN.

18
3.4 EJECUCIÓN DE UN PROGRAMA.
3.5 ELEMENTOS DEL LENGUAJE: DATOS, LITERALES Y
CONSTANTES, IDENTIFICADORES, VARIABLES, PARÁMETROS,
OPERADORES, ENTRADA Y SALIDA DE DATOS.
3.6 ERRORES EN TIEMPO DE EJECUCIÓN.
4.1 ESTRUCTURAS SECUENCIALES.
4.2 ESTRUCTURAS SELECTIVAS: SIMPLE, DOBLE Y MÚLTIPLE.
4.3 ESTRUCTURAS ITERATIVAS: REPETIR MIENTRAS, HASTA,
DESDE.
4.4 DISEÑO E IMPLEMENTACIÓN DE FUNCIONES
2.1 ANÁLISIS DEL PROBLEMA
2.2 REPRESENTACION DE ALGORITMOS: GRÁFICA Y
PSEUDOCÓDIGO.
2.3. DISEÑO DE ALGORITMOS APLICADOS A PROBLEMAS.
2.4 DISEÑO ALGORITMICO DE FUNCIONES
MAPA DEL SITIO
3.5 ELEMENTOS DEL LENGUAJE: DATOS, LITERALES Y
CONSTANTES, IDENTIFICADORES, VARIABLES, PARÁMETROS,
OPERADORES, ENTRADA Y SALIDA DE DATOS.
ELEMENTOS DEL LENGUAJE TURBO C
ESTRUCTURA DE LENGUAJE C. La estructura básica de un programa en
lenguaje C, contempla lo siguiente: Archivos cabecera (header files) Son
aquellos en los cuales el compilador de turbo C, tomara la definición de las
funciones que se usan dentro del Programa. Directivas del preprocesador de
turbo C Macro definiciones Declaración de funciones Variables Globales
/*ejemplos*/ # include # include # include if endif # define NEGRO 1000
void Funcion1(int a, int b); int a, char g, float b;
Programa Principal main() Indicador de inicio de {bloque de instrucciones. Se
definen variables locales. Instrucciones Indicador de cierre del bloque de

19
instrucciones. Definición de funciones int c; c = Funcion1(2,3); z=(a*c)/b; }
Funcion1 (int a, int b) { a=a+b; ,… }
NO TIENE PRIMITIVAS DE ENTRADA/SALIDA. - Es decir Turbo C no
tiene palabras o comandos que impliquen entrada o salida de documentos, tal
como PASCAL (read, write) pero se cuenta con 2 funciones que hacen lo
mismo: scanf( ) y print( ). TIENE 32 PALABRAS RESERVADAS (todas son
minúsculas): auto auto break case char const continue default if double else
enum extern float for goto static int long register return short signed sizeof
huge struct switch ypedef union unsigned void volatile do
.- TIENE 11 PALABRAS DEL TURBO C EXTENDIDO asm _cs _ss cded
interruptl near EJEMPLO DE UN PROGRAMA EN C. _ds far pascal _es
huge
/*Este pequeño programa intenta demostrar algunas características de la
programación en lenguaje C*/ # include main () { printf(“hola, usuarios de C\
n”); } OBSERVACIONES DEL EJEMPLO ANTERIOR.
/*---------------------------------------------------/* indican un comentarlo. Main es
el nombre de una función. ( ) el paréntesis que sigue al nombre de función
encierra la lista de argumentos. { } Inicio y término de las instrucciones del
cuerpo de una función. Printf(“hola, usuarios de C\n”); es la llamada a una
función la cual escribirá en pantalla el mensaje entre comillas. “------“ es una
cadena de carácteres o una constante de cadena. \n en notación C es el
indicativo de una nueva línea. TIPOS DE DATOS EN C Tipo char int Clase
Signed unsigned Short [int] Int Long [int] Unsigned Short [int] Unsigned long
[int] Float Double Long double
Float
TIPOS DE DATOS Y RANGO. Tipo Char Int Float Double Void Numero de
bits 8 16 32 64 0 Rango 127 a -128 32767 a -32768 32767 a -32768 12 digjtos
de precisión cero. MODIFICADORES DE TIPO. Existen 3 modificadores de
tipo, que de acuerdo a la necesidad que se tenga se aplican y son: long, shot y
unsigned. Por defecto son signadas, es decir se le pueden aplicar el
modificador unsigned. El modificado (short se aplica únicamente al tipo int,
reduciendo con esto el rango, siendo este de 0 a 255. El modificador long es
aplicable únicamente a double: extendiendo su rango a 80 bits.
DECLARACIÓN DE VARIABLES y CONSTANTES NOMBRE DE
VARIABLES. Los nombres de las variables no pueden ser palabras
20
reservadas. Los nombres pueden ser formados por letras, dígitos y el guión
bajo. El primer carácter debe ser una letra. El subrayado se toma como una
letra, El lenguaje C es sensitivo al tipo de letra, es decir, los siguientes tres
nombres de variables son diferentes: Var, var, VAR.
Por lo anterior, se puede concluir en lo referente a la definición de variables y
constantes que: El lenguaje C, es sensible al tamaño de las palabras. Al
nombrar variables, estas no podrán ser palabras reservadas, únicamente
podrán ser caracteres, dígitos y el guión bajo.

EJEMPLOS DE DECLARACIÓN VARIABLES. Char a; int b; float c; double


d; declara un espacio de memoria de 8 bits y lo titula a, declara un espacio de
memoria de 16 bits y lo titula b. declara un espacio de memoria de 32 bits y lo
titula c. declara un espacio de memoria de 64 bits y lo titula d.

ERRORES EN TIEMPO DE EJECUCIÓN


Como cada lenguaje de programación tiene unas reglas especiales (sintaxis)
debe existir un compilador específico para cada lenguaje de programación.
Si el programa fuente es sintácticamente correcto, el compilador generará el
código objeto, en caso contrario mostrará una lista con los errores
encontrados, no generándose ningún programa objeto, para que procedamos a
su depuración
Los compiladores emiten mensajes de error o de advertencia durante las fases
de compilación, de enlace o de ejecución de un programa:
• Los errores en tiempo de compilación son los que se producen antes de la
ejecución del programa, durante el proceso de compilación del programa.
• Los errores en tiempo de ejecución son los que se producen durante la
ejecución del programa. Son los más difíciles de encontrar, no son detectados
por el compilador, ya que son errores de lógica, no de sintaxis.

21
Con respecto a los errores en tiempo de ejecución, encontrar la causa que los
provoca es una labor en ocasiones complicada, razón por la cual los EID
(Entornos Integrados de Desarrollo, p.ej. DevC++) nos proporcionan una
herramienta llamada Depurador que nos ayuda a encontrar los errores lógicos
y demás errores producidos en tiempo de ejecución.
Un depurador (debugger), es un programa diseñado específicamente para la
detección, verificación y corrección 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 ejecución del programa.
Además, permiten alterar el flujo de ejecución del mismo, cambiar los valores
de las variables e introducir puntos de parada.

Conclusión general
La programación es fundamental para acrecentar el avance tecnológico dentro
de las industrias que para llevar a cabo sus funciones necesitan de sitios y
aplicaciones creadas a partir de los códigos. No es novedad que vivimos en un
mundo computarizado donde la tecnología forma parte de todo lo que
hacemos.

Conclusión personal

En la tecnología amos aprendido y analizado cómo por el paso del tiempo se


han mejorado y evolucionando la forma de generar programas y sistemas que
nos ayudaran a realizar complejas tareas. La construcción de programas a sido
una idea fascínate y laboriosa que la humanidad a trabajado y el cual en un
futuro nos asombrará aún más dándonos mejores programas y sistemas más
22
complejos. La idea principal de este trabajo fue dar a conocer de manera
simple el lenguaje de programación y darnos a entender el funcionamiento de
él.

BIBLIOGRAFÍA

https://sites.google.com/site/teccorzo/home/unidad-3/3-1-caracteristicas-del-
lenguaje-de-programacion
https://sites.google.com/site/teccorzo/3-2-estructura-basica-de-un-programa
https://sites.google.com/site/teccorzo/3-4-ejecucion-de-un-programa
https://sites.google.com/site/teccorzo/3-5-elementos-del-lenguaje-datos-
literales-y-constantes-identificadores-variables-parametros-operadores-
entrada-y-salida-de-datos
https://sites.google.com/site/teccorzo/3-6-errores-en-tiempo-de-ejecucion
Traducción y tecnologías De Antoni Oliver, Joaquim Moré · 2007

23
Lenguajes de programación y procesadores. De Francisco Gortázar Bellas,
Raquel Martínez Unanue, Víctor Diego Fresno Fernández · 2016
Fundamentos de programación De José A. Cerrada Somolinos, Manuel E.
Collado Machuca · 2010 VBA con Office 2000
El fácil acceso a la programación de marcos con Word, Excel, Access,
Outlook y FrontPage; incluye CD-ROM con todos los ejemplos del libro. De
Peter Monadjemi · 2000

24

También podría gustarte