SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
“Lenguajes de Programación y Tipos de Datos en C” 
Trabajo de Investigación 
Por: Byron Quiroz 
Noviembre 2014
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
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.
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
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
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).
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”;
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
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.
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

Más contenido relacionado

La actualidad más candente

Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónanderson03230812
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionKarol
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programaciónJSPN
 
Tipos de lenguajes de programación
Tipos de lenguajes de programaciónTipos de lenguajes de programación
Tipos de lenguajes de programaciónIrene08031995
 
Elementos de la programación a nivel del lenguaje
Elementos de la programación a nivel del lenguajeElementos de la programación a nivel del lenguaje
Elementos de la programación a nivel del lenguajeortgmvico
 
Boletin de informatica
Boletin de informaticaBoletin de informatica
Boletin de informaticaDaniel Guerrel
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionandrearincon56
 
lenguaje de programación
lenguaje de programación lenguaje de programación
lenguaje de programación j3palacios
 
Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)YJGG
 
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelCompiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelEstefhany1
 
Clasificación de lenguajes de
Clasificación de lenguajes deClasificación de lenguajes de
Clasificación de lenguajes deJoRgEp10
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senaNat Alia
 

La actualidad más candente (16)

Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Tipos de lenguajes de programación
Tipos de lenguajes de programaciónTipos de lenguajes de programación
Tipos de lenguajes de programación
 
Informática
InformáticaInformática
Informática
 
Informática
InformáticaInformática
Informática
 
La programación
La programaciónLa programación
La programación
 
Elementos de la programación a nivel del lenguaje
Elementos de la programación a nivel del lenguajeElementos de la programación a nivel del lenguaje
Elementos de la programación a nivel del lenguaje
 
Boletin de informatica
Boletin de informaticaBoletin de informatica
Boletin de informatica
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
lenguaje de programación
lenguaje de programación lenguaje de programación
lenguaje de programación
 
Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)
 
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelCompiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
 
Clasificación de lenguajes de
Clasificación de lenguajes deClasificación de lenguajes de
Clasificación de lenguajes de
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 

Destacado

lenguaje lisp
lenguaje lisplenguaje lisp
lenguaje lispjulieth5
 
Building Information Sharing Platforms for a National Network of Mental Healt...
Building Information Sharing Platforms for a National Network of Mental Healt...Building Information Sharing Platforms for a National Network of Mental Healt...
Building Information Sharing Platforms for a National Network of Mental Healt...Nathalie Reid
 
Shareable: What Makes Asset Sharing Platforms Thrive?
Shareable: What Makes Asset Sharing Platforms Thrive?Shareable: What Makes Asset Sharing Platforms Thrive?
Shareable: What Makes Asset Sharing Platforms Thrive?paulmdavis
 
How to Sell Sheep in Kuwait and Instagram, Twitter, and Microsharing Platforms
How to Sell Sheep in Kuwait and Instagram, Twitter, and Microsharing PlatformsHow to Sell Sheep in Kuwait and Instagram, Twitter, and Microsharing Platforms
How to Sell Sheep in Kuwait and Instagram, Twitter, and Microsharing PlatformsSusan Chesley Fant
 
Emerging Social Media Platforms
Emerging Social Media PlatformsEmerging Social Media Platforms
Emerging Social Media PlatformsGeorge Wacker
 
Web 2.0 Digital Storytelling
Web 2.0 Digital StorytellingWeb 2.0 Digital Storytelling
Web 2.0 Digital StorytellingCaroline Cerveny
 
actKM Conference: "The Future of Knowledge Sharing People and Technology!"
actKM Conference: "The Future of Knowledge Sharing People and Technology!"actKM Conference: "The Future of Knowledge Sharing People and Technology!"
actKM Conference: "The Future of Knowledge Sharing People and Technology!"David Gurteen
 
Scholarly social media applications platforms for knowledge sharing and net...
Scholarly social media applications   platforms for knowledge sharing and net...Scholarly social media applications   platforms for knowledge sharing and net...
Scholarly social media applications platforms for knowledge sharing and net...tullemich
 
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPSotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPAyrton Adame
 
World Future Society: Foresight Careers: A Guide to Doing Strategic Foresight
World Future Society: Foresight Careers: A Guide to Doing Strategic ForesightWorld Future Society: Foresight Careers: A Guide to Doing Strategic Foresight
World Future Society: Foresight Careers: A Guide to Doing Strategic ForesightSusan Chesley Fant
 
Influence of innovation platforms on information sharing and nurturing of sma...
Influence of innovation platforms on information sharing and nurturing of sma...Influence of innovation platforms on information sharing and nurturing of sma...
Influence of innovation platforms on information sharing and nurturing of sma...ILRI
 
New Business Model for Journalism in Sharing Economy
New Business Model for Journalism in Sharing EconomyNew Business Model for Journalism in Sharing Economy
New Business Model for Journalism in Sharing EconomyEric Ortiz
 
Impact of innovation platforms and information sharing on nurturing of smalle...
Impact of innovation platforms and information sharing on nurturing of smalle...Impact of innovation platforms and information sharing on nurturing of smalle...
Impact of innovation platforms and information sharing on nurturing of smalle...ILRI
 
Understanding the Online Advertising Technology Landscape
Understanding the Online Advertising Technology Landscape Understanding the Online Advertising Technology Landscape
Understanding the Online Advertising Technology Landscape Karina Sanz
 

Destacado (15)

lenguaje lisp
lenguaje lisplenguaje lisp
lenguaje lisp
 
Building Information Sharing Platforms for a National Network of Mental Healt...
Building Information Sharing Platforms for a National Network of Mental Healt...Building Information Sharing Platforms for a National Network of Mental Healt...
Building Information Sharing Platforms for a National Network of Mental Healt...
 
Guardian Seminars: Emerging Platforms
Guardian Seminars: Emerging PlatformsGuardian Seminars: Emerging Platforms
Guardian Seminars: Emerging Platforms
 
Shareable: What Makes Asset Sharing Platforms Thrive?
Shareable: What Makes Asset Sharing Platforms Thrive?Shareable: What Makes Asset Sharing Platforms Thrive?
Shareable: What Makes Asset Sharing Platforms Thrive?
 
How to Sell Sheep in Kuwait and Instagram, Twitter, and Microsharing Platforms
How to Sell Sheep in Kuwait and Instagram, Twitter, and Microsharing PlatformsHow to Sell Sheep in Kuwait and Instagram, Twitter, and Microsharing Platforms
How to Sell Sheep in Kuwait and Instagram, Twitter, and Microsharing Platforms
 
Emerging Social Media Platforms
Emerging Social Media PlatformsEmerging Social Media Platforms
Emerging Social Media Platforms
 
Web 2.0 Digital Storytelling
Web 2.0 Digital StorytellingWeb 2.0 Digital Storytelling
Web 2.0 Digital Storytelling
 
actKM Conference: "The Future of Knowledge Sharing People and Technology!"
actKM Conference: "The Future of Knowledge Sharing People and Technology!"actKM Conference: "The Future of Knowledge Sharing People and Technology!"
actKM Conference: "The Future of Knowledge Sharing People and Technology!"
 
Scholarly social media applications platforms for knowledge sharing and net...
Scholarly social media applications   platforms for knowledge sharing and net...Scholarly social media applications   platforms for knowledge sharing and net...
Scholarly social media applications platforms for knowledge sharing and net...
 
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPSotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
 
World Future Society: Foresight Careers: A Guide to Doing Strategic Foresight
World Future Society: Foresight Careers: A Guide to Doing Strategic ForesightWorld Future Society: Foresight Careers: A Guide to Doing Strategic Foresight
World Future Society: Foresight Careers: A Guide to Doing Strategic Foresight
 
Influence of innovation platforms on information sharing and nurturing of sma...
Influence of innovation platforms on information sharing and nurturing of sma...Influence of innovation platforms on information sharing and nurturing of sma...
Influence of innovation platforms on information sharing and nurturing of sma...
 
New Business Model for Journalism in Sharing Economy
New Business Model for Journalism in Sharing EconomyNew Business Model for Journalism in Sharing Economy
New Business Model for Journalism in Sharing Economy
 
Impact of innovation platforms and information sharing on nurturing of smalle...
Impact of innovation platforms and information sharing on nurturing of smalle...Impact of innovation platforms and information sharing on nurturing of smalle...
Impact of innovation platforms and information sharing on nurturing of smalle...
 
Understanding the Online Advertising Technology Landscape
Understanding the Online Advertising Technology Landscape Understanding the Online Advertising Technology Landscape
Understanding the Online Advertising Technology Landscape
 

Similar a Herramientas

Diapositivas
DiapositivasDiapositivas
Diapositivaskinverdar
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonalejandritasalva
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionkinverdar
 
Los lenguajes de programación son herramientas que nos permiten crear program...
Los lenguajes de programación son herramientas que nos permiten crear program...Los lenguajes de programación son herramientas que nos permiten crear program...
Los lenguajes de programación son herramientas que nos permiten crear program...edwin6886
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónKarol
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionkinverdar
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la ProgramaciónAlessandro Viera
 
Lenguaje de programacion fernando hernandez
Lenguaje de programacion fernando hernandezLenguaje de programacion fernando hernandez
Lenguaje de programacion fernando hernandezRafael Hernandez
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónmago_de_oz
 
Clasificacion de los lenguajes
Clasificacion de los lenguajesClasificacion de los lenguajes
Clasificacion de los lenguajesRBAC92
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion juanjokobrax
 
Programación
ProgramaciónProgramación
Programacióndahir84
 
Lenguaje de programacion UFT
Lenguaje de programacion UFT Lenguaje de programacion UFT
Lenguaje de programacion UFT jose chavez
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOadark
 

Similar a Herramientas (20)

Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Clasificacion
ClasificacionClasificacion
Clasificacion
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Los lenguajes de programación son herramientas que nos permiten crear program...
Los lenguajes de programación son herramientas que nos permiten crear program...Los lenguajes de programación son herramientas que nos permiten crear program...
Los lenguajes de programación son herramientas que nos permiten crear program...
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Programacion
ProgramacionProgramacion
Programacion
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la Programación
 
Lenguaje de programacion fernando hernandez
Lenguaje de programacion fernando hernandezLenguaje de programacion fernando hernandez
Lenguaje de programacion fernando hernandez
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Clasificacion de los lenguajes
Clasificacion de los lenguajesClasificacion de los lenguajes
Clasificacion de los lenguajes
 
Lenguajes 1
Lenguajes 1Lenguajes 1
Lenguajes 1
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion
 
Programación
ProgramaciónProgramación
Programación
 
Lenguaje de programacion UFT
Lenguaje de programacion UFT Lenguaje de programacion UFT
Lenguaje de programacion UFT
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
 
Lenguajes basicos para robots
Lenguajes basicos para robotsLenguajes basicos para robots
Lenguajes basicos para robots
 

Herramientas

  • 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