Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Lenguajes de Programación y Tipos de Datos en C
1. “Lenguajes de Programación y Tipos de Datos en C”
Trabajo de Investigación
Por: Byron Quiroz
Noviembre 2014
2. 1. Introducción
Un lenguaje de programación es un conjunto limitado de palabras y de símbolos que representan procedimientos, cálculos, decisiones y otras operaciones que pueden ejecutar una computadora. A pesar de que en este trabajo parte de la división de lenguajes de programación en imperativos y declarativos (los cuales a su vez se dividen en numerosos subgrupos), la clasificación más común y básica que suele hacerse de los lenguajes de programación es la que los divide en lenguajes de bajo y de alto nivel. Los lenguajes de programación de bajo nivel fueron los primeros que surgieron y se llaman así porque están directamente relacionados con el hardware del computador, es decir, el usuario introduce una serie de códigos numéricos que la máquina va a interpretar como instrucciones. Para usar este lenguaje, el programador tenía que conocer el funcionamiento de la máquina al más bajo nivel y los errores de programación eran muy frecuentes.
Los lenguajes de alto nivel surgieron con posterioridad con el primer compilador de FORTRAN (Formula Translación), que, como su nombre indica, inició como un "simple" esfuerzo de traducir un lenguaje de fórmulas, al lenguaje ensamblador y por consiguiente al lenguaje de máquina, facilitando la labor a los programadores. A partir de FORTRAN, se han desarrollado innumerables lenguajes, que siguen el mismo concepto: facilitar la vida al programador, aumentando la productividad. Estos lenguajes usan un número reducido de instrucciones (normalmente en inglés) que siguen unas estrictas reglas gramaticales que se conocen como sintaxis del lenguaje. Pero aunque el programador de esta forma se distancie del hardware del computador, este sigue trabajando en lenguaje máquina. Por ello se hace necesaria una traducción a una secuencia de instrucciones interpretables por el computador. Esta labor es llevada a cabo por los compiladores y los intérpretes.
El compilador es un programa que se encarga de la traducción global del programa realizado por el usuario. Esta operación recibe el nombre de compilación. El programa es traducido completamente antes de que se ejecute, por lo que la ejecución se realiza en un periodo muy breve. El intérprete por el contrario lleva a cabo una traducción inmediata en el momento de la ejecución, es decir, irá ejecutando las instrucciones una a una haciendo que el proceso requiera un periodo de tiempo sensiblemente mayor del que necesitaría un compilador. Los intérpretes son usados para traducir programas de alta dificultad de implementación, en estos casos, las órdenes a traducir son de tal complejidad que no merece la pena crear un compilador ya que este también tendría que ser de una complejidad por encima de lo normal.
Hay que mencionar la existencia de lenguajes que combinan características de los de alto nivel y los de bajo nivel (es decir, Ensamblador). Un ejemplo es C: contiene estructuras de programación de alto nivel; sin embargo, fue diseñado con muy pocas instrucciones, las cuales son sumamente sencillas, fáciles de traducir al lenguaje de la máquina; y requiere de un entendimiento apropiado de cómo funciona la máquina, el uso de la memoria, etcétera. Por ello, algunos consideran a lenguajes como C (que fue diseñado para hacer sistemas operativos), lenguajes de nivel medio, si bien, son considerados mayoritariamente de bajo nivel.
Aunque en esta introducción se ha comenzado a hablar de los lenguajes dividiéndolos en bajo y alto nivel, en las próximas páginas se procederá a un análisis más exhaustivo y
3. detallado y se verán las numerosas formas en que se pueden agrupar los lenguajes teniendo en cuenta funcionalidad y orientación. Sin embargo no está estipulada ninguna clasificación estricta debido a que dependiendo de la característica por la que se clasifique, un lenguaje podría estar relativamente en un grupo u otro. Sería utópico tratar de clasificar todos los lenguajes existentes ya que hay demasiados y con frecuencia surgen nuevos. No obstante se ha tratado de realizar una clara y esquemática clasificación de los distintos tipos, que abarcase a los lenguajes más importantes.
2. Objetivos
2.1. Objetivo General
Conocer los tipos de lenguajes de programación y la clasificación.
2.2. Objetivos Secundarios
Determinar qué son los lenguajes de programación
Diferenciar los lenguajes que se utilizan.
Determinar los tipos de datos en C
3. Marco Teórico
Lenguaje de programación
Un lenguaje de programación" es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo.
Por otro lado, el término "lenguaje natural" define un medio de comunicación compartido por un grupo de personas (por ejemplo: inglés o francés).
Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada que ver con los lenguajes de programación; se los conoce como protocolos de comunicación. Se trata de dos conceptos totalmente diferentes. Un lenguaje de programación es muy estricto:
A CADA instrucción le corresponde UNA acción de procesador.
El lenguaje utilizado por el procesador se denomina lenguaje máquina. Se trata de datos tal como llegan al procesador, que consisten en una serie de 0 y 1 ( datos binarios).
El lenguaje máquina, por lo tanto, no es comprensible para los seres humanos, razón por la cual se han desarrollado lenguajes intermediarios comprensibles para el hombre. El código escrito en este tipo de lenguaje se transforma en código máquina para que el procesador pueda procesarlo.
4. El ensamblador fue el primer lenguaje de programación utilizado. Es muy similar al lenguaje máquina, pero los desarrolladores pueden comprenderlo. No obstante, este lenguaje se parece tanto al lenguaje máquina que depende estrictamente del tipo de procesador utilizado (cada tipo de procesador puede tener su propio lenguaje máquina). Así, un programa desarrollado para un equipo no puede ser portado a otro tipo de equipo. El término "portabilidad" describe la capacidad de usar un programa de software en diferentes tipos de equipos. Para poder utilizar un programa de software escrito en un código ensamblador en otro tipo de equipo, ¡a veces será necesario volver a escribir todo el programa!
Por lo tanto, un lenguaje de programación tiene varias ventajas:
es mucho más fácil de comprender que un lenguaje máquina:
permite mayor portabilidad, es decir que puede adaptarse fácilmente para ejecutarse en diferentes tipos de equipos.
Lenguajes de programación imperativos y funcionales
Los lenguajes de programación generalmente se dividen en dos grupos principales en base al procesamiento de sus comandos:
lenguajes imperativos;
lenguajes funcionales.
Lenguaje de programación imperativo
Un lenguaje imperativo programa mediante una serie de comandos, agrupados en bloques y compuestos de órdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la condición. Estos fueron los primeros lenguajes de programación en uso y aún hoy muchos lenguajes modernos usan este principio.
No obstante, los lenguajes imperativos estructurados carecen de flexibilidad debido a la secuencialidad de las instrucciones.
Lenguaje de programación funcional
Un lenguaje de programación funcional(a menudo llamado lenguaje procedimental) es un lenguaje que crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como entrada el resultado de otras funciones. Cuando una función se invoca a sí misma, hablamos de recursividad.
Interpretación y compilación
Los lenguajes de programación pueden, en líneas generales, dividirse en dos categorías:
lenguajes interpretados
lenguajes compilados
5. Lenguaje interpretado
Un lenguaje de programación es, por definición, diferente al lenguaje máquina. Por lo tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa escrito en un lenguaje interpretado requiere de un programa auxiliar (el intérprete), que traduce los comandos de los programas según sea necesario.
Lenguaje compilado
Un programa escrito en un lenguaje "compilado" se traduce a través de un programa anexo llamado compilador que, a su vez, crea un nuevo archivo independiente que no necesita ningún otro programa para ejecutarse a sí mismo. Este archivo se llama ejecutable.
Un programa escrito en un lenguaje compilado posee la ventaja de no necesitar un programa anexo para ser ejecutado una vez que ha sido compilado. Además, como sólo es necesaria una traducción, la ejecución se vuelve más rápida. Sin embargo, no es tan flexible como un programa escrito en lenguaje interpretado, ya que cada modificación del archivo fuente (el archivo comprensible para los seres humanos: el archivo a compilar) requiere de la compilación del programa para aplicar los cambios.
Por otra parte, un programa compilado tiene la ventaja de garantizar la seguridad del código fuente. En efecto, el lenguaje interpretado, al ser directamente un lenguaje legible, hace que cualquier persona pueda conocer los secretos de fabricación de un programa y, de ese modo, copiar su código o incluso modificarlo. Por lo tanto, existe el riesgo de que los derechos de autor no sean respetados. Por otro lado, ciertas aplicaciones aseguradas necesitan confidencialidad de código para evitar las copias ilegales (transacciones bancarias, pagos en línea, comunicaciones seguras...).
Lenguajes intermediarios
Algunos lenguajes pertenecen a ambas categorías (LISP, Java, Python...) dado que el programa escrito en estos lenguajes puede, en ciertos casos, sufrir una fase de compilación intermediaria, en un archivo escrito en un lenguaje ininteligible (por lo tanto diferente al archivo fuente) y no ejecutable (requeriría un interprete). Los applets Java, pequeños programas que a menudo se cargan en páginas web, son archivos compilados que sólo pueden ejecutarse dentro de un navegador web (son archivos con la extensión .class).
Algunos ejemplos de lenguajes ampliamente usados
A continuación, encontrará una breve lista de los lenguajes de programación actuales:
Lenguaje
Principal área de aplicación
Compilado/interpretado
ADA
Tiempo real
Lenguaje compilado
BASIC
Programación para fines educativos
Lenguaje interpretado
C
Programación de sistema
Lenguaje compilado
C++
Programación de sistema orientado a
Lenguaje compilado
6. objeto
Cobol
Administración
Lenguaje compilado
Fortran
Cálculo
Lenguaje compilado
Java
Programación orientada a Internet
Lenguaje intermediario
MATLAB
Cálculos matemáticos
Lenguaje interpretado
Cálculos matemáticos
Cálculos matemáticos
Lenguaje interpretado
LISP
Inteligencia artificial
Lenguaje intermediario
Pascal
Educación
Lenguaje compilado
PHP
Desarrollo de sitios web dinámicos
Lenguaje interpretado
Inteligencia artificial
Inteligencia artificial
Lenguaje interpretado
Perl
Procesamiento de cadenas de caracteres
Lenguaje interpretado
TIPOS DE DATOS C
Hay dos clases de tipos de datos: tipos fundamentales y tipos derivados.
Únicamente vamos a ver los tipos de datos fundamentales.
Tipo entero: representa números enteros con o sin signo, que estarán compuestos por los dígitos del 0 al 9, pudiendo ser precedidos por los signos + o -.
Algunos ejemplo de datos enteros son: 0, 23, -176, -1, etc.
Para definir variables en C se antepone la palabra reservada del tipo al identificador de la variable. El tipo de datos entero se define en el lenguaje de programación C por la palabra reservada int.
Para definir un tipo de dato en C se escribe lo siguiente:
int nombre_variable = valor;
No es necesario que la variable tenga un valor predeterminado. Se puede definir sin asignarle ningún valor.
Si tenemos varios datos que son del mismo tipo, se pueden definir todas en la misma línea de código escribiendo un único int, separando el nombre de las variables por “,”. Una vez que se haya acabado de definir variables, se cierra la línea de código con “;”,
Por ejemplo: int edad = 24;
int edad;
int edad, num, contador;
Tipo real: Se emplean para representar números reales (con decimales).
7. Para definir datos reales se antepone la palabra reservada float al identificador de la variable.
float identificador = valor;
Por ejemplo: float numero1, numero2;
float numero3 = 123.43;
float numero3;
Tipo carácter: Este tipo de datos se emplea para representar un carácter perteneciente a un determinado código utilizado por el ordenador (normalmente el código ASCII).
Para representar este tipo de dato se antepone la palabra reservada char al identificador de la variable.
Char identificador = „valor‟;
Una constante tipo char se representa como un solo carácter encerrado entre comillas simples.
Por ejemplo: char letra, letra2;
char letra=‟a‟;
Tipo cadena de caracteres: una cadena de caracteres es un número de caracteres consecutivos (incluso ninguno) encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles.
Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena.
Char identificador[cantidad] = “ mensaje ”;
Por ejemplo: char cadena[20];
char cadena[20] = “Hola mundo”;
char cadena[] = “HOLA”;
En la siguiente tabla se hace un resumen de los distintos tipos de datos:
Tipo de dato
Palabra reservada
Ejemplo
Entero
Int
Int numero=0;
Real
Float
Float numero=12.2;
Carácter
Char
Char letra = „a‟;
Cadena de carácter
Char
Char palabra[10] = “HOLA”;
8. Lectura y Escritura de Datos
Para poder leer y escribir datos en el lenguaje de programación C existen una serie de funciones agrupadas en un conjunto de librerías de código objeto, que constituyen la llamada biblioteca estándar del lenguaje. En el caso concreto de las funciones de entrada y salida (lectura y escritura), su archivo de cabecera es stdio.h.
Existen varias funciones que realizan la entrada y salida de datos en el lenguaje de programación C, pero nos vamos a centrar solamente en dos de ellas: printf() y scanf().
Funcion printf()
La función printf() sirve para escribir datos en la pantalla con un formato determinado.
El prototipo de esta función es la siguiente:
int printf(const char *formato, arg1, arg2, …, argn)
Dónde:
Formato: hace referencia a una cadena de caracteres que contiene información sobre el formato de salida.
Arg1, arg2, …, argn: argumentos que representan los datos de salida
A continuación se muestra una tabla con estos especificadores de formato dependiendo del tipo de dato a los que representan:
Tipo de dato
Especificadores de formato
Comentario
Int
%d
Entero con signo
Float
%f
Real con signo
Char
%c
carácter
Char [n]
%s
Cadena de caracteres
Ejemplos:
printf(“n Valores: %d, %f”, entero, real);
Salida por pantalla:
(Retorno de carro)Valores: 2, 2.3
printf(“%st%dn%f”, concepto, num, coste);
Salida por pantalla:
Cremallera 1234
12.345
9. Función scanf ()
La función scanf () se pude considerar de alguna manera como la inversa de la función printf(), pues sirve para introducir datos desde el teclado con un formato determinado.
El prototipo de esta función es el siguiente:
int scanf(const char *formato, arg1, arg2, …, argn);
Tipo de dato
Especificadores de formato
Comentario
Int
%d
Entero con signo
Float
%f
Real con signo
Char
%c
carácter
Char [n]
%s
Cadena de caracteres
Ejemplos:
scanf(“%d”, numero);
scanf(“%d %s %f”, numero, &cadena, &real);
4. Conclusiones:
Los lenguajes de programación no son el fundamento y la base del desarrollo y avance de la computación.
Estudiar los conceptos básicos, clasificación, diferencias, propiedades y funcionamiento de los lenguajes de programación es elemental para cualquier estudiante o profesional.
Se determinó que existen clases de tipos de datos: tipos fundamentales y tipos derivados
5. Recomendaciones
Se recomienda lo siguiente:
En el proceso de investigación es necesario citar varias fuentes de información en el internet ya que no toda la información que se encuentra es científicamente comprobada.
Las fuentes bibliográficas deben ser de carácter científico con una base de información comprobada.
Es necesario durante el trabajo de investigación guardar periódicamente la información ya que se pueden presentar algún os inconvenientes.
10. 6. Web Grafía: MONTOYA, G (en línea). Recuperado: 18/11/2014. Disponible: http://www.monografias.com/trabajos38/tipos-lenguajes-programacion/tipos- lenguajes-programacion.shtml#ixzz3JTJQua9S
Russel, G. Programación lógica. Recuperado: 18/11/2014. Disponible: http://www.amzi.com/articles/code07_whitepaper.pdf#search=%22programacion%20%20logica%22
Wikipedia. La enciclopedia libre. Normalización de una base de datos. Recuperado: 18/11/2014. Disponible: http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_una_base_de_datos (en línea). Recuperado: 18/11/2014. Disponible: http://recursostic.educacion.es/observatorio/web/en/software/programacion/972- tipos-de-datos