Professional Documents
Culture Documents
Trabajo de Lenguaje de Programacion - Sebastian Salazar y Fernando Rodriguez
Trabajo de Lenguaje de Programacion - Sebastian Salazar y Fernando Rodriguez
Facultad de Ingeniería
Docente:
Alumno:
Lenguaje ALGOL
Fue diseñado a fines de la década de 1950 por un comité internacional y estaba destinado a
ser una herramienta informática universal. Desafortunadamente, nunca logró el éxito de
algunos de sus contemporáneos como Fortran y Cobol. Hoy, es virtualmente inexistente,
sobreviviendo solo como un recordatorio de cómo llegamos a donde estamos hoy.
ALGOL utiliza entre corchetes bloques de declaración y fue el primer lenguaje para
comenzar a utilizar pares finales para la delimitación de ellos.
Matrices dinámicas: son una lista de valores donde el tamaño de la lista se puede
determinar en tiempo de ejecución. Es decir, como arreglos flexibles, arreglos que
se ajustan a la necesidad.
Palabras reservadas: son palabras predefinidas que tienen un significado especial
para un lenguaje informático. Es como el nombre. Representa a nosotros y a las
cosas que podemos hacer.
Tipos de datos de ALGOL
Desventajas
Lenguaje Pascal
Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth
entre los años 1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje que
facilitara el aprendizaje de programación a sus alumnos, utilizando la programación
estructurada y estructuración de datos. Sin embargo, con el tiempo su utilización excedió el
ámbito académico para convertirse en una herramienta para la creación de aplicaciones de
todo tipo.
Además, sus programas tienen definidas dos partes: declarativa y ejecutiva. En la primera
debe aparecer todo lo que se usará en la segunda, de lo contrario se detecta como
desconocido y evita ciertas incomprensiones como veremos más adelante. En la parte
declarativa se enuncian Unit existentes, procedimientos, funciones, variables, constantes y
nuevos tipos de datos estructurados.
Otra diferencia importante es que, en Pascal, el tipo de una variable se fija en su definición;
las asignaciones a variables de valores de tipo incompatible no están autorizadas (en C, en
cambio, el compilador hace el mejor esfuerzo para dar una interpretación a casi todo tipo de
asignaciones). Esto previene errores comunes donde variables son usadas incorrectamente
porque el tipo es desconocido; y también evita la necesidad de Notación húngara, que
vienen a ser prefijos que se añaden a los nombres de las variables y que indican su tipo.
Operadores de PASCAL:
Los operadores PASCAL se puede clasificarse a su vez como:
Unarios
Binarios
Menos unario:
Este operador denota la negación del operando, y se representa por medio del signo menos
(–) colocado antes del operando.
Por ejemplo:
Si x tiene asignado el valor 100, -x dará como resultado -100; esto es que el resultado es el
inverso aditivo del operando.
Los operadores unarios, son los que combinan dos operandos, dando como resultado un
valor numérico cuyo tipo será igual al mayor de los tipos que tengan los operandos.
La siguiente tabla muestra los símbolos de los operadores binarios de Pascal, así como los
nombres de las operaciones que realizan.
Operadores aritméticos básicos
Desventajas:
1. Para los años 1980 principio de los 90 el programa Pascal fue criticado por no
producir códigos industriales.
2. Obsoleto.
Lenguaje ADA
Ada es un lenguaje de programación estructurado y fuertemente tipado de forma estática.
Fue diseñado con la seguridad en mente y con una filosofía orientada a la reducción de
errores comunes y difíciles de descubrir. Para ello se basa en un tipado muy fuerte y en
chequeos en tiempo de ejecución (desactivables en beneficio del rendimiento). La
sincronización de tareas se realiza mediante la primitiva rendezvous.
Ada se usa principalmente en entornos en los que se necesita una gran seguridad y
fiabilidad como la defensa, la aeronáutica (Boeing o Airbus), la gestión del tráfico aéreo
(como Indra en España) y la industria aeroespacial entre otros.
La sintaxis, inspirada en Pascal, es bastante legible incluso para personas que no conozcan
el lenguaje. Es un lenguaje que no escatima en la longitud de las palabras clave, en la
filosofía de que un programa se escribe una vez, se modifica decenas de veces y se lee
miles de veces (legibilidad es más importante que rapidez de escritura).
Cada sentencia se cierra con end qué_cerramos. Es un modo de evitar errores y facilitar la
lectura. No es necesario hacerlo en el caso de subprogramas, aunque todos los manuales lo
aconsejan y casi todos los programadores de Ada lo hacen.
Disyunción inclusiva or
Relacionales Igualdad =
Desigualdad /=
Negación -
Resta -
División /
Modulo mod
Resto rem
De máxima Exponenciación **
precedencia
Negación not
Desventajas:
En el diseño del lenguaje, Uno de los objetivos es que solo sean necesarias muy pocas
instrucciones en lenguaje máquina para traducir cada elemento del lenguaje, por este
motivo, es muy sencillo escribir C a bajo nivel de abstracción y usarlo incluso como
intermediario entre diferentes lenguajes.
Rápido y eficiente: los lenguajes más nuevos como java, python ofrecen más
funciones que el lenguaje de programación c, pero debido al procesamiento
adicional en estos lenguajes, su tasa de rendimiento disminuye de manera efectiva.
El lenguaje de programación C como lenguaje de nivel medio proporciona a los
programadores acceso a la manipulación directa con el hardware de la computadora,
pero los lenguajes de nivel superior no lo permiten. Esa es una de las razones por las
que el lenguaje C se considera la primera opción para comenzar a aprender
lenguajes de programación. Es rápido porque los lenguajes de escritura estática son
más rápidos que los lenguajes de escritura dinámica.
Portabilidad: el lenguaje C es muy portátil ya que los programas que están escritos
en lenguaje C pueden ejecutarse y compilarse en cualquier sistema sin cambios o
con pequeños cambios.
Estos son los mínimos requisitos del sistema que utiliza Dev-C++
Todo programa escrito en C consta de una o más funciones, una de las cuales se llama
main. El programa siempre comenzará por la ejecución de la función main. Cada función
debe contener:
Una cabecera de la función, que consta del nombre de la función, seguido de una
lista opcional de argumentos encerrados con paréntesis.
Una lista de declaración de argumentos, si se incluyen estos en la cabecera.
Una sentencia compuesta, que contiene el resto de la función.
Los argumentos son símbolos que representan información que se le pasa a la función
desde otra parte del programa. (También se llaman parámetros a los argumentos).
Cada sentencia compuesta se encierra con un par de llaves, {.....}. Las llaves pueden
contener combinaciones de sentencias elementales (denominadas sentencias de expresión)
y otras sentencias compuestas. Así las sentencias compuestas pueden estar anidadas, una
dentro de otra. Cada sentencia de expresión debe acabar en punto y coma (;).
Los comentarios pueden aparecer en cualquier parte del programa, mientras estén situados
entre los delimitadores /* ................ */ (por ejemplo: /*esto es un ejemplo*/). Los
comentarios son útiles para identificar los elementos principales de un programa o
simplemente para orientar a un posible usuario de ese código.
Enteros
“short” y “long”: Modifica el tamaño en bits del entero. Existen por tanto tres tipos
de enteros: “int”, “short int” (que se puede abreviar como “short”), y “long int” (que
se puede abreviar como “long”).
El lenguaje C no define tamaños fijos para sus tipos de datos básicos. Lo único que
garantiza es que un short int tiene un tamaño menor o igual que un int y este a su
vez un tamaño menor o igual a un long int. Esta característica del lenguaje ha
complicado la creación de programas que sean compatibles entre varias
plataformas.
“unsigned”: define un número natural (mayor o igual a cero).
Letras y cadenas
Las variables de tipo letra se declaran como “char”. Para referirse a una letra se rodea de
comillas simples: 'M'. Como las letras se representan internamente como números, el
lenguaje C permite realizar operaciones aritméticas como 'M' + 25.
Las cadenas de texto o strings son simplemente tablas de “char”. Las funciones de
biblioteca para manipular estas cadenas asumen que el último byte tiene valor cero. Las
cadenas de texto se escriben en el programa rodeadas de dobles comillas y contienen el
valor cero al final.
Números reales
Los números reales se definen con “float” o “double”. La diferencia entre ambas es la
precisión que ofrece su representación interna. Hay un número infinito de reales, pero se
representan con un número finito de bits. A mayor número de bits, mayor número de reales
se representan, y, por tanto, mayor precisión. Los reales definidos con “double” tienen un
tamaño doble a los definidos con “float”. Al igual que en el caso de los enteros, el tamaño
de estas representaciones varía de una plataforma a otra.
Algunas plataformas ofrecen números reales con tamaño mayor al “double” que se definen
como “long double”. Los tamaños típicos para los tipos “float”, “double” y “long double”
son 4, 8 y 12 bytes respectivamente.
Operadores de C:
Hay tres tipos de operadores. Una expresión unaria consta de un operador unario seguido
de un operando, o bien la palabra clave sizeof o _Alignof seguida de una expresión. La
expresión puede ser el nombre de una variable o una expresión de conversión. Si la
expresión es una expresión de conversión, se debe incluir entre paréntesis. Una expresión
binaria consta de dos operandos unidos por un operador binario. Una expresión ternaria
consta de tres operandos unidos por el operador de expresión condicional.
SIMBOLO NOMBRE
-~! Operadores de negación y complemento
*& Operadores de direccionamiento indirecto
y address-of
_Alignof Operador de alineación
sizeof Operador de tamaño
+ Operador unario más
++ -- Operadores unarios de incremento y
decremento
Los operadores binarios se asocian de izquierda a derecha. El lenguaje C proporciona los
operadores binarios siguientes
SIMBOLO NOMBRE
*/% Operadores de multiplicación
+- Operadores aditivos
<< >> Operadores de desplazamiento
< > <= >= == != Operadores relacionales
&|^ Operadores bit a bit
&& | | Operadores lógicos
, Operador de evaluación secuencial
El operador base (:>), compatible con las versiones anteriores del compilador de C de 16
bits de Microsoft, se describe en Resumen de la sintaxis de lenguaje C.
El operador de expresión condicional tiene menos prioridad que las expresiones binarias y
se diferencia de ellas en que es asociativo a la derecha.
Las expresiones con operadores también incluyen expresiones de asignación, que usan
operadores de asignación unarios o binarios. Los operadores de asignación unarios son los
operadores de incremento ( ++ ) y decremento ( -- ); los operadores de asignación binarios
son el operador de asignación simple ( = ) y los operadores de asignación compuesta. Cada
operador de asignación compuesta es una combinación de otro operador binario con el
operador de asignación simple.
Ventajas y Desventajas
Ventajas:
Desventajas: