Entradas

Subprogramas (métodos en Java)

 Hay dos formas de subprogramas: las funciones y los procedimientos. El subprograma debe utilizarse como programas sencillos y que realizan una sola operación. Pueden utilizarse y repetirse cuantas veces se les invoque. Por ejemplo, un programa consistente en calcular el perímetro de un triangulo, puede descomponerse en los siguientes subprogramas: Leer las coordenadas de dos puntos y calcular la distancia entre ellos. (tres veces): Calcular la suma o perímetro del triangulo e imprimirlo. Cuando un subprograma devuelve un valor con el return, le llamamos función. Cuando realiza una acción, sin devolver un valor, le llamamos procedimiento. Ejemplo de funciones: TipoResultado NombreFuncion  (Tipo1 argumento1, Tipo2 agumento2,...){ cuerpo de la función} Volvamos al hilo de lo anterior: #include <stdio.h> #include <math.h> float calcularDistancia2Puntos(float  x1, float y1, float x2, float y2){  return  sqrtf((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); } float cal...

Sentencia for

Se le llama también sentencia iterativa. for(Condición booleana A; Condición booleana B; incremento o decremento){Acción A} {Acción B} if (){} while (){} for (){}; Puede ser tan complicado como requiera el problema. Se pueden anidar todo tipo de sentencias. Sí es muy complicada se puede ayudar mediante diagramas de flujo. Cualquier pequeña variación puede cambiar el resultado, y muchas veces requiere múltiples pruebas para dar con el.

Sentencia while

Se le llama también sentencia de iteración. Puede también realizar una única acción o ninguna o infinitas (bucle infinito ): while (Condición booleana){Acción} También puede utilizarse con contadores incrementales o decrementales, distintos para cada variable.

Sentencia if

Se le llama también selección o sentencia condicional. if (Condición booleana){Acción A} else {Acción B} puede también realizar una única acción o ninguna: if (Condición booleana){Acción} También puede anidarse de muchísimas formas y de modo muy complicado, y también dependiendo de la complejidad de las condiciones.

Sentencia.

Sentencia: es una estructura básica de programación imperativa, como también la if y la for. Puede ser una sentencia única, es decir, una única acción, o una secuencia de acciones, o sentencia múltiple.

Constantes y variables

DEFINICIÓN DE UNA VARIABLE:  Las variables son el prototipo de la programación imperativa. Son como apartados de correos donde se guardan los datos, y el nombre del apartado de correos es el nombre de la variable. Su dimensión -tipo- depende de la dimensión del dato -su tipo-. La dirección del apartado de correos corresponde -abstracción- con el nombre de la variable. Una variable representa la dirección de la memoria donde está almacenado el dato. El dato se puede cambiar por otro según interese, siempre que sea del mismo tipo. El valor de la variable será el del dato que esté en ese momento en su "casillero del apartado de correos". Una constante es una variable cuyo valor, una vez dado, o inicializada, no se puede cambiar. DECLARACION DE UNA VARIABLE: Se llama declarar una variable a la operación de expresar su tipo y darle un nombre válido, seguido de ; int radio; float altura; char inicial; INICIALIZACION DE UNA VARIABLE: Se llama inicializar una variable darle su primer...

Notación BNF

Imagen
Historia La idea de transcribir la estructura del lenguaje con reglas de reescritura se remonta cuando menos al trabajo del gramático indio Panini (hacia el 460 a. C.), que la utilizó en su descripción de la estructura de palabras del idioma sánscrito (algunos incluso han sugerido renombrar BNF a Forma Panini-Backus). Lingüistas estadounidenses como Leonard Bloomfield y Zellig Harris llevaron esta idea un paso más adelante al tratar de formalizar el lenguaje y su estudio en términos de definiciones formales y procedimientos (1920-1960). Noam Chomsky, maestro de lingüística de alumnos de teoría de la información del MIT, combinó la lingüística y las matemáticas, tomando esencialmente el formalismo de Axel Thue como la base de su descripción de la sintaxis del lenguaje natural. También introdujo una clara distinción entre reglas generativas (de la gramática libre de contexto) y reglas transformativas (1956). John Backus, un diseñador de lenguajes de programación de IBM, adoptó las r...