Programación Flashcards

(99 cards)

1
Q

Lenguaje de programación

A

Es un lenguaje artificial creado para que los humanos puedan comunicarse con los ordenadores y darles órdenes o instrucciones. Piénsalo como el “idioma” que usas para decirle a la computadora qué hacer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Lenguaje máquina

A

Es el lenguaje base con el que trabajan la mayoría de los sistemas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Sistema binario

A

Es el sistema numérico de base dos en el que se fundamenta el lenguaje máquina

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Lenguaje de bajo nivel

A

Es un lenguaje que ofrece una abstracción mínima del hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Ensamblador

A

Es un lenguaje de bajo nivel que utiliza mnemónicos (símbolos y palabras clave) para representar instrucciones de máquina

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Lenguaje de medio nivel

A

Es un tipo de lenguaje que combina características de bajo y alto nivel

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Lenguaje de alto nivel

A

Está diseñado para que la escritura de algoritmos sea más comprensible para los humanos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Lenguaje imperativo

A

Es un paradigma de programación centrado en la secuencia de instrucciones que el programa debe seguir para cambiar su estado. Piensa en un recetario de cocina: se indica el “paso a paso” para lograr el resultado (ejemplos: Cobol

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Lenguaje declarativo

A

Es un paradigma de programación donde se describe qué se desea hacer sin detallar el “cómo” llevarlo a cabo. Lisp y Prolog son ejemplos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Lenguaje orientado a objetos

A

Es un paradigma basado en la encapsulación y reutilización del código mediante “objetos” que interactúan entre sí. Java y C++ son ejemplos típicos de lenguajes que usan clases y objetos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Lenguajes de primera generación (1GL)

A

Son los que corresponden al lenguaje máquina

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Lenguajes de segunda generación (2GL)

A

Surgen los lenguajes simbólicos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Lenguajes de tercera generación (3GL)

A

Se consolidan los lenguajes de alto nivel

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Lenguajes de cuarta generación (4GL)

A

Son lenguajes orientados a la productividad y a la construcción rápida de aplicaciones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Lenguajes de quinta generación (5GL)

A

Están diseñados para áreas como la inteligencia artificial o el procesamiento de lenguaje natural

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Lenguaje compilado

A

Es aquel en el que el código fuente se traduce completamente a lenguaje máquina mediante un compilador antes de ser ejecutado. Su principal ventaja es que al ser traducido antes de la ejecución

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Compilador

A

Es el programa especial que traduce el código fuente (en alto nivel) en un archivo ejecutable que la computadora puede procesar directamente. Es como traducir un libro entero antes de leer la primera página.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Transpilador

A

Es un tipo especial de compilador que traduce código fuente de un lenguaje a otro de nivel similar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Análisis Lexicográfico (Scanner)

A

Es el primer paso de la compilación

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Token

A

Es una secuencia de caracteres que representa una entidad significativa dentro del lenguaje de programación

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Análisis Sintáctico (Parser)

A

Es la etapa donde el compilador analiza la estructura del código fuente para verificar que las expresiones y declaraciones estén bien formadas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Árbol de Sintaxis Abstracta (AST)

A

Es una representación jerárquica que representa la estructura de las expresiones y declaraciones en el programa. Es la base que usará el compilador para las siguientes fases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Análisis Semántico

A

Es la fase donde se verifica el significado de las instrucciones dentro del contexto del programa. En esta etapa se detecta si estás intentando

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Generación de Código Intermedio

A

Es el proceso donde el compilador genera una representación del programa que es independiente de la plataforma o arquitectura de la máquina. Este código facilita la portabilidad

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Optimización de Código
Es una etapa donde el compilador aplica diversas técnicas para mejorar la eficiencia del código (hacerlo más rápido o usar menos memoria) antes de su conversión final a lenguaje máquina.
26
Generación de Código Objeto
Es la última etapa donde el compilador traduce el código intermedio en instrucciones de lenguaje máquina específicas para la arquitectura de destino. Este código
27
Lenguaje interpretado
Es aquel en el que el código fuente se traduce y ejecuta línea por línea en tiempo real por un intérprete
28
Intérprete
Es el programa que lee
29
Librería (o Biblioteca)
Es un conjunto de implementaciones funcionales pre-codificadas en un lenguaje de programación
30
Librería estática
Es una librería que se integra directamente en el archivo ejecutable del programa durante el proceso de compilación. Esto significa que
31
Librería dinámica (o compartida)
Es una librería que se carga durante la ejecución del programa
32
Programación Orientada a Objetos (POO)
Es un paradigma de programación que modela el software en términos de objetos que interactúan entre sí
33
Encapsulación (POO)
Es el principio fundamental de la POO donde cada objeto protege sus datos internos y solo expone lo necesario a través de una interfaz definida. Esto favorece la seguridad y la modularidad del código.
34
Abstracción (POO)
Es el principio donde los objetos ocultan la complejidad interna y solo muestran lo relevante para el uso externo. Te permite centrarte en lo esencial
35
Herencia (POO)
Es el principio que permite crear nuevas clases basadas en clases existentes
36
Polimorfismo (POO)
Es la capacidad de los objetos de responder de manera diferente a una misma operación
37
Clase (POO)
Es la definición o plantilla de un objeto
38
Instancia (POO)
Es una realización concreta de una clase en la memoria del ordenador
39
Programación Orientada a Aspectos (POA)
Es un paradigma de programación que permite modularizar adecuadamente las aplicaciones y separar mejor las responsabilidades transversales (cross-cutting concerns)
40
Aspecto (POA)
Son las funcionalidades transversales que afectan múltiples partes de la aplicación
41
Código disperso (scattered code)
Se refiere a líneas de código que implementan una misma funcionalidad (como el registro de logs) pero están distribuidas en múltiples partes de la aplicación. Esto dificulta el mantenimiento
42
Código enmarañado (tangled code)
Ocurre cuando un módulo o clase combina múltiples responsabilidades o comportamientos (por ejemplo
43
Puntos de enlace (join points)
Son los lugares específicos en el código donde un aspecto puede ser aplicado
44
Consejos (advice)
Son las acciones que un aspecto realiza en los puntos de enlace
45
Cortes (pointcuts)
Son expresiones que definen un conjunto de puntos de enlace donde se aplicarán los consejos de un aspecto. Es la regla que dice "aplica este Consejo a todos los métodos de transferencia y depósito".
46
Tipo de dato
Es un atributo que indica la naturaleza de un valor
47
Tipos primitivos
Son los tipos de datos básicos proporcionados directamente por el lenguaje de programación
48
Carácter (char)
Representa un único símbolo (letras
49
Entero (int)
Almacena números enteros sin decimales; su rango de valores depende del número de bits que use el sistema. Es esencial en cálculos discretos y para estructuras indexadas como arrays.
50
Real o Coma flotante (float
double)
51
Booleano (bool)
Solo puede tomar dos valores: verdadero (true) o falso (false). Es fundamental en estructuras de control (como if y while) para evaluar condiciones y tomar decisiones.
52
Cadena de caracteres (string)
Es una secuencia ordenada de caracteres
53
Puntero (pointer)
Almacena una dirección de memoria
54
Agrupaciones contiguas
Son estructuras de datos que ocupan posiciones sucesivas de bits en la memoria. Los vectores
55
Agrupaciones enlazadas
Son estructuras de datos donde los elementos no están almacenados en posiciones consecutivas
56
Agrupaciones homogéneas
Son estructuras de datos que contienen elementos todos del mismo tipo
57
Agrupaciones heterogéneas
Son estructuras de datos que permiten almacenar elementos de diferentes tipos de datos en una misma estructura. Un registro que almacena un nombre (cadena)
58
Expresiones
Son combinaciones de constantes
59
Operandos
Son las constantes
60
Operadores
Son símbolos que indican la operación a realizar sobre los operandos. Se clasifican en aritméticos
61
Operadores aritméticos
Se usan para realizar cálculos básicos entre tipos de datos numéricos. Incluyen la suma (+)
62
Módulo (%)
Es el operador aritmético que da como resultado el resto de la división entera. Por ejemplo
63
Precedencia de operadores
Es la distinta prioridad que tienen los operadores
64
Operadores unarios
Son aquellos que actúan sobre un único operando para realizar operaciones específicas. Incluyen incremento (++)
65
Incremento (++)
Es un operador unario que aumenta en 1 el valor de su operando. Su resultado depende de si está a la derecha (i++
66
Decremento (--)
Es un operador unario que resta 1 al valor de su operando. Al igual que el incremento
67
Operadores relacionales
Son símbolos que se usan para comparar dos valores
68
Operadores lógicos
Se utilizan para combinar expresiones y retornar un valor lógico basado en las tablas de verdad. Los más comunes son AND (&&)
69
AND (&&)
Es un operador lógico que devuelve verdadero (true) solo si ambas expresiones que combina son verdaderas. Es como decir: "Si hace sol y tengo tiempo".
70
OR (||)
Es un operador lógico que devuelve verdadero (true) si alguna de las expresiones que combina es verdadera. Es como decir: "Si llueve o hace viento".
71
NOT (!)
Es un operador lógico que invierte la condición de la expresión sobre la que actúa. Es como decir: "Si no hace sol".
72
NAND
Es un operador lógico que es la negación del operador AND. La salida será baja (false) únicamente cuando las dos entradas sean altas (true).
73
NOR
Es un operador lógico que es la negación del operador OR. La salida será alta (true) únicamente cuando ambas entradas estén en estado bajo (false).
74
XOR (OR exclusivo)
Es un operador lógico donde la salida será alta (true) cuando las entradas sean diferentes. Es decir
75
XNOR (NOR exclusivo)
Es un operador lógico que es la negación del operador XOR. La salida será baja (false) cuando una de las dos entradas esté en estado alto (es decir
76
Sentencia condicional
Es una instrucción o grupo de instrucciones que se ejecutan o no
77
Sentencia "IF"
Es la instrucción condicional más básica que permite tomar decisiones; si la condición evaluada es verdadera (true)
78
Sentencia "IF-ELSE"
Es la instrucción condicional que completa la sentencia if para ofrecer una acción alternativa. Si la condición es falsa
79
Sentencia "SWITCH" (o CASE)
Es la instrucción condicional que permite elegir entre varias alternativas comparando el valor de una variable o expresión con un conjunto de valores (case). Si no hay coincidencia
80
Bucle (o Sentencia iterativa/repetitiva)
Es un bloque de sentencias que se ejecuta repetidamente hasta que se cumpla una condición específica. Las sentencias iterativas más comunes son for
81
Iteración
Es cada ejecución del bloque de sentencias dentro de un bucle. Si un bucle se repite 10 veces
82
Sentencia "WHILE"
Es un bucle que se ejecuta repetidamente siempre que la condición especificada sea verdadera. La condición se verifica antes de la ejecución
83
Bucle infinito
Es un bucle cuya condición de salida no se actualiza correctamente en cada iteración
84
Sentencia "FOR"
Es un bucle que se utiliza cuando se conoce de antemano el número de iteraciones que se deben realizar. Es una estructura compacta que combina la inicialización
85
Sentencia "DO-WHILE"
Es un bucle que ejecuta el bloque de sentencias al menos una vez
86
Sentencia BREAK
Es una instrucción que permite interrumpir un bucle (for
87
Sentencia CONTINUE
Es una instrucción que omite el resto del código en la iteración actual y pasa directamente a la siguiente vuelta del bucle. Es útil cuando se quiere evitar ejecutar ciertas instrucciones bajo condiciones concretas sin detener el bucle.
88
Procedimiento
Es un bloque de código reutilizable que realiza una tarea específica (modificando variables o estructuras)
89
Función
Es similar al procedimiento
90
Parámetros
Son las variables que permiten la comunicación y el paso de datos entre el programa principal y el procedimiento o función. Su número y tipo deben coincidir con los declarados en la definición.
91
Paso de parámetros por valor
Se pasa una copia del valor del argumento real al procedimiento o función. Cualquier modificación dentro del bloque no afecta a la variable original.
92
Paso de parámetros por referencia
Se pasa la dirección de memoria de la variable. Esto permite que el procedimiento o función pueda modificar el valor original.
93
Módulo
Es una unidad de código más amplia que realiza una tarea específica y puede contener procedimientos
94
Recursividad
Es una técnica donde una función o procedimiento se llama a sí mismo para resolver un problema
95
Vectores
Son un tipo de agrupación contigua de datos que ocupan posiciones sucesivas de bits en la memoria. Son fundamentales en estructuras indexadas
96
Registros
Son un tipo de agrupación heterogénea de datos
97
Estructura de un programa
Se refiere a la forma en que se organiza el código
98
Sentencias de modificación de bucles
Son instrucciones especiales (break y continue) que permiten alterar el comportamiento normal de un bucle
99
Librerías en programación
Son conjuntos de código pre-escrito que ofrecen funcionalidades reutilizables para problemas comunes