Conceptos fundamentales de lenguajes de programacion

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Conceptos fundamentales de lenguajes de programacion por Mind Map: Conceptos fundamentales de  lenguajes de programacion

1. Subprograma

1.1. Reutilizar código

1.2. Firma

1.2.1. define la semántica de la interfaz

1.3. Protocólo

1.3.1. Especifica como se debe realizar la comunicación de parametros y resultados

1.4. Parámetros

1.4.1. Parámetros Formales

1.4.2. Comunicación explicita

1.4.2.1. comunica datos y a veces otros subprogramas

1.4.3. Comunicación implicita

1.4.3.1. Se da en variables no locales

1.5. Implementación

1.5.1. Paso por valor(IN)

1.5.2. Paso por resultado(out)

1.5.3. Paso por valor-resultado(INOUT)

1.5.4. Paso por referencia

1.6. Sobrecarga

1.6.1. Ocurre cuando existen diferentes subprogramas en el mismo ámbito pero cada versión deberia tener una firma diferente a partir de los parámetros

1.6.2. Corresponde a un polimorfismo ad hoc

1.7. Genéricos

1.7.1. diferentes subprogramas en un mismo algoritmo

1.8. Se ligan a los parámetros reales

2. Elementos Escritos

2.1. Semantica

2.2. Sintaxis

2.2.1. Metodos formales de descripcion

2.2.1.1. Elementos de BNF

2.2.1.1.1. Simbolos no terminales

2.2.1.1.2. Simbolos terminales

2.2.1.1.3. Simbolo de partida

2.2.1.2. Elementos de EBNF

3. Tipificado Fuerte (Strong typing)

3.1. detecta los errores de tipo

4. Proceso de Compilacion

4.1. Programa Fuente

4.2. Análisis Léxico

4.3. Análisis Sintáctico

4.4. Análisis Semántico

4.5. Generación de Código

5. Manejo de Variables

5.1. Ligado (Brinding)

5.1.1. Estática

5.1.2. Dinámica

5.2. Caracterisitcas

5.2.1. Nombres

5.2.2. Dirección

5.2.3. Valor

5.2.4. Tipo

5.2.4.1. Compatibilidad de Tipos

5.2.4.1.1. Compatibilidad de Nombre

5.2.4.1.2. Compatibilidad de Estructura

5.2.4.1.3. Forma Intermedia

5.2.5. Tiempo de Vida

5.2.5.1. Estáticas

5.2.5.2. Dinámicas de stack

5.2.5.3. Dinámicas de heap

5.2.6. Ambito

5.3. Aspectos de diseño

5.3.1. Largo

5.3.2. Caracteres Aceptados

5.3.3. Sensibilidad a Mayúsculas

5.3.4. Palabras Reservadas

6. Tipos de Datos

6.1. Números enteros y reales

6.2. Arreglos y Registros

6.3. Cadena de Caracteres

6.3.1. Operaciones Básicas

6.3.1.1. Asignación

6.3.1.2. Comparación

6.3.1.3. Concatenación

6.3.1.4. Largo

6.3.1.5. Transformación

6.4. Definidos por el usuario

6.5. Tipo de dato abstracto

6.6. Tipos Ordinales

6.6.1. Ordinales Primitivos

6.6.1.1. Numérico

6.6.1.1.1. Entero

6.6.1.1.2. Punto flotante

6.6.1.1.3. Decimal

6.6.1.2. Caracter

6.6.1.3. Booleano

6.6.1.3.1. AND, OR, NOT XOR

6.6.2. Ordinales definidos por el usuario

6.6.2.1. Enumerados

6.6.2.2. Subrangos

6.6.2.2.1. implementa Pascal

6.7. Estructurales

6.7.1. Tipo Arreglo

6.7.1.1. Conjunto de elementos que indican su posicion mediante un indice

6.7.1.2. Arreglos Multidimensionales

6.7.1.3. Arreglos Asociativos

6.7.1.3.1. Ej. Hasing

6.7.1.4. Tipo Registro

6.7.1.4.1. Ej. Struct en C

6.8. Tipo Punteros

6.8.1. Asignación

6.8.1.1. Almacena una dirección de memoria

6.8.2. Desreferenciación

6.8.2.1. Entrega el valor apuntado

6.8.3. Problemas

6.8.3.1. No apuntar a nada

6.8.3.2. Perdida de variables dinámicas

6.8.4. Métodos

6.8.4.1. Contadores de referencia

6.8.4.2. Recolección de basura

7. Expresiones y Asignaciones

7.1. Expresiones aritmeticas

7.1.1. Suma, Resta, multiplicación, etc

7.2. Expresión Condicional

7.2.1. if, else

7.3. Expresiones Relacionales

7.3.1. >,>=,!=,etc

7.4. Sentencias de asignación

7.4.1. =

8. Estructuras de Control

8.1. Sentencias Compuestas

8.1.1. begin, end,{,}, (espacios en blanco en Python)

8.2. Sentencias de Selección

8.2.1. Case, switch, elseif

8.3. Sentencias Iterativas

8.3.1. contraladas

8.3.1.1. For

8.3.2. Condición

8.3.2.1. For, while, do-while

8.4. Salto Incondicional

8.4.1. goto