LENGUAJE DE PROGRAMACION
masterkriam1 de Junio de 2014
16.711 Palabras (67 Páginas)240 Visitas
LENGUAJE DE PROGRAMACIÓN II SAETI T. VESPERTINO: CARGA DETRABAJO.
UNIDAD 1: REGISTROS
1.1 CONCEPTOS GENERALES.LENGUAJE DE PROGRAMACIÓN: Es un conjunto de símbolos junto a un conjunto de reglas para combinar dichos símbolosque se usan para expresar programas. Constan de un léxico, una sintaxis y una semántica.¿Qué conoces tú por léxico, sintaxis y semántica?
Léxico
: Conjunto de símbolos permitidos o vocabulario
Sintaxis
: Reglas que indican cómo realizar las construcciones del lenguaje
Semántica:
Reglas que permiten determinar el significado de cualquier construcción dellenguaje.Tipos de lenguajes: Atendiendo al número de instrucciones necesarias para realizar unatarea específica podemos clasificar los lenguajes informáticos en dos grandes bloques: • bajo nivel• alto nivelLenguaje de bajo nivelEs el tipo de lenguaje que cualquier computadora es capaz de entender. Se dice que losprogramas escritos en forma de ceros y unos están en lenguaje de máquina, porque esa es laversión del programa que la computadora realmente lee y sigue.Lenguajes de alto nivelSon lenguajes de programación que se asemejan a las lenguas humanas usando palabras yfrases fáciles de entender. • En un lenguaje de bajo nivel cada instrucción corresponde a una acción ejecutable por elordenador, mientras que en los lenguajes de alto nivel una instrucción suele corresponder avarias acciones.
1.2 QUE ES UN CAMPO
Hay varios campos de estudio que o bien caen dentro de la teoría de lenguajes deprogramación, o bien tienen una profunda influencia en ella; muchos de estos sesuperponen considerablemente.
• Teoría de los compiladores es la base formal sobre la escritura de compiladores (omás generalmentetraductores); programas que traducen un programa escrito en unlenguaje a otra forma. Las acciones de un compilador se dividen tradicionalmenteen análisis sintáctico (escanear y parsear), análisissemántico (determinando que eslo que debería de hacer un programa),optimización(mejorando el rendimientoindicado por cierta medida, típicamente la velocidad de ejecución) ygeneración decódigo(generando la salida de un programa equivalente en el lenguaje deseado; amenudo el set de instrucciones de una CPU).
• La Teoría de tipos es el estudio de sistemas de tipos, que son "métodos sintácticostratables para proveer la ausencia de ciertos comportamientos de programa mediantela clasificación de frases según los tipos de valores que computan." (Types andProgramming Languages, MIT Press, 2002). Muchos lenguajes de programación sedistinguen por las características de sus sistemas de tipos.
• La Semántica formal es la especificación formar del comportamiento de programasde ordenador y lenguajes de programación.
• La Transformación de programas es el proceso de transformar un programa de unaforma (lenguaje) a otra forma; el análisis de programas es problema general deexaminar un programa mediante la determinación de sus características clave (comola ausencia de clases de errores de programa).
• Sistemas en tiempo de ejecución se refiere al desarrollo de entornos runtime paralenguajes de programación y sus componentes, incluyendo máquinas virtuales, recolección de basura, e interfaces para funciones externas.
• Análisis comparativo de lenguajes de programaciónbusca clasificar los lenguajes de programación en diferentes tipos basados en sus características;amplias categorías de diferentes lenguajes de programación se conocenfrecuentemente como paradigmas de computación.
• Metaprogramación es la generación de programas de mayor orden que, cuando seejecutan, producen programas (posiblemente en un lenguaje diferente, o en unsubconjunto del lenguaje original) como resultado.
• Lenguajes dedicados son lenguajes construidos para resolver problemas en undominio de problemas en particular de manera eficiente.
Además, PLT hace uso de muchas otras ramas de las matemáticas, ingeniería del software,lingüística, e incluso ciencias cognitivas
1.3 CONCEPTO DE ESTRUCTURAS:
¿Qué es una estructura?
Una estructura es un tipo de dato definido por el usuario, al utilizar una estructura Ustedtiene la habilidad para definir un nuevo tipo de dato considerablemente más complejo quelos tipos que hemos utilizado hasta ahora. Una estructura es una combinación de variostipos de datos previamente definidos, incluyendo otras estructuras que hayamos definidopreviamente. Una definición simple es, "una estructura es un grupo de datos relacionadosen una forma conveniente al programador y/o al usuario del programa". Como escostumbre, un ejemplo nos clarifica los conceptos:
#include <stdio.h>
Struct
{
char inicial; /* Letra inicial del apellido */
int edad; /* Edad *
/int calificacion; /* Aprovechamiento */
}
chico, chica;
int main()
{
chico.inicial = 'R';
chico.edad = 15;
chico.calificacion = 75;
chica.edad = chico.edad - 1; /* Ella es un año menor que él */
chica.calificacion = 82;
chica.inicial = 'H';
printf("%c tiene %d anos y su calificacion es de %d\n",
chica.inicial, chica.edad, chica.calificacion);
printf("%c tiene %d anos y su calificacion es de %d\n",
chico.inicial, chico.edad, chico.calificacion);
return 0;
}
El programa empieza definiendo una estructura utilizando la palabra clavestructseguidade tres variables sencillas encerradas entre llaves, las cuales son los componentes de laestructura, después de la llave de cierre tenemos enlistadas dos variables llamadaschicoychica. De acuerdo a la definición de una estructura,chicoes una variable compuesta de treselementos,inicial,edady,calificación. Cada uno de los tres campos están asociados achicoy cada uno almacena una variable de su respectivo tipo, lo mismo se puede decir parachicapero sus variables son diferentes por lo tanto tenemos 6 variables agrupadas en dos,de tipostruct.
1.4 MANIPULACIÓN DE ESTRUCTURAS (CON EJEMPLO):El siguiente programa es básicamente el mismo que el anterior, pero esta vez definimos unarray de 12 variables llamadaschicos, está claro que éste programa contiene 12 veces 3=36variables sencillas cada una de las cuales puede almacenar un ítem de dato siempre ycuando sea del tipo adecuado, se define además una variable común llamadaíndice parautilizarla en los bucles, estudie el código:
#include <stdio.h>
Struct
{
char inicial;
int edad;
int calificacion;
}
chicos[12]
;int main()
{
int indice;
}for (indice = 0; indice < 12; indice++)
{
chicos[indice].inicial = 'A' + índice
;chicos[indice].edad = 16;
chicos[indice].calificacion = 84;
}
chicos[3].edad = chicos[5].edad = 17;
chicos[2].calificacion = chicos[6].calificacion = 92;
chicos[4].calificacion = 57;
/* Asignacion de estructura solo en compiladores ANSI-C *
/chicos[10] = chicos[4];
for (indice = 0; indice < 12; indice++)
printf("%c tiene %d anos y una calificacion de %d\n",
chicos[indice].inicial, chicos[indice].edad,
chicos[indice].calificacion);
return 0;
}
1.5 MANIPULACIÓN DE ESTRUCTURAS (CON EJEMPLO):Para asignar un valor a cada uno de los campos utilizamos un buclefor, en cada ciclo delbucle se asignan todos los valores para uno de los chicos, en una situación real ésta podríano ser la mejor manera de asignar datos, pero un bucle puede leer los datos de un archivo yalmacenarlos en la correcta ubicación en un programa real, considere éste ejemplo como uninicio burdo a una base de datos, pues eso es justamente nuestro ejemplo. El código resultafácil de entender, solo haré un comentario respecto a la línea 26 en donde podemos ver unaasignación de estructura, en éste enunciado los tres campos dechicos [4] son copiados en losrespectivos campos dechicos {10], esto no siempre está permitido en el lenguaje C, solo enlos compiladores que cumplen con la norma ANSI-C, si su compilador no es ANSI-Cencierre en comentarios la línea 26. El resultado de la ejecución delprograma es elsiguiente:
UNIDAD II: ARCHIVO
2.1 CONCEPTOS GENERALES CAMPO, ESTRUCTURA, ARCHIVO:
¿Qué es un campo?
Para finalizar la presente lección estudiaremos el concepto decampo de bits, en elsiguiente código podemos ver la manera de definirlo y utilizarlo, en el programa tenemosuna unión de una variable sencilla de tipointen la línea 5 y la estructura definida en laslíneas 6 a la 12:
#include <stdio.h>union{int indice;struct{unsigned int x : 1;unsigned int y : 2;unsigned int z : 2;}bits;}numero;int main(){for (numero.indice = 0; numero.indice < 20; numero.indice++){printf("indice = %3d, bits = %3d%3d%3d\n", numero.indice,numero.bits.z, numero.bits.y, numero.bits.x);}return 0;}
La estructura está compuesta de tres campos de bits llamadosx,y, yz. La variable llamadaxes de un solo bit, la variableyes de dos bits y es adyacente a la variablex, y la variablezes de dos bits y adyacente a la variabley. Como la unión causa que los bits sean almacenados en la misma ubicación en memoria que la variableíndice, la variablexes elbit menos significante de la variableíndice,yconforma los siguientes dos bits, yzesalmacenado en los siguientes dos bits deíndice. Compile y ejecute el programa
...