Podcast
Questions and Answers
¿Cuál de los siguientes operadores se utiliza para realizar la operación de módulo?
¿Cuál de los siguientes operadores se utiliza para realizar la operación de módulo?
Si se evalúa la expresión ((5 > 3) ? 10 : 20), ¿cuál será el resultado?
Si se evalúa la expresión ((5 > 3) ? 10 : 20), ¿cuál será el resultado?
¿Qué operador se utiliza para comprobar si dos valores no son iguales?
¿Qué operador se utiliza para comprobar si dos valores no son iguales?
Cuál es la salida del siguiente código: int x = 5; x--; ?
Cuál es la salida del siguiente código: int x = 5; x--; ?
Signup and view all the answers
¿Qué problemas puede causar el uso ineficiente de la concatenación de strings?
¿Qué problemas puede causar el uso ineficiente de la concatenación de strings?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre los lenguajes de alto nivel es correcta?
¿Cuál de las siguientes afirmaciones sobre los lenguajes de alto nivel es correcta?
Signup and view all the answers
¿Cuál de los siguientes lenguajes es un ejemplo de lenguaje intermedio?
¿Cuál de los siguientes lenguajes es un ejemplo de lenguaje intermedio?
Signup and view all the answers
En el paradigma declarativo, ¿cuál de las siguientes características es cierta?
En el paradigma declarativo, ¿cuál de las siguientes características es cierta?
Signup and view all the answers
¿Qué característica se asocia con los lenguajes de propósito específico?
¿Qué característica se asocia con los lenguajes de propósito específico?
Signup and view all the answers
¿Cuál de las siguientes opciones describe correctamente el tipado estático?
¿Cuál de las siguientes opciones describe correctamente el tipado estático?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones se refiere a los lenguajes compilados?
¿Cuál de las siguientes afirmaciones se refiere a los lenguajes compilados?
Signup and view all the answers
¿Qué característica define el paradigma reactivo en la programación?
¿Qué característica define el paradigma reactivo en la programación?
Signup and view all the answers
¿Cuál de los siguientes lenguajes se considera un ejemplo de programación lógica?
¿Cuál de los siguientes lenguajes se considera un ejemplo de programación lógica?
Signup and view all the answers
¿Cuál es la declaración correcta para definir una variable de tipo booleano en C#?
¿Cuál es la declaración correcta para definir una variable de tipo booleano en C#?
Signup and view all the answers
¿Qué tipo de variable se utiliza para almacenar una lista de enteros en Python?
¿Qué tipo de variable se utiliza para almacenar una lista de enteros en Python?
Signup and view all the answers
En Java, ¿cuál es la forma correcta de declarar una variable de tipo String?
En Java, ¿cuál es la forma correcta de declarar una variable de tipo String?
Signup and view all the answers
¿Cuál de las siguientes opciones es una declaración válida para un array en C++?
¿Cuál de las siguientes opciones es una declaración válida para un array en C++?
Signup and view all the answers
¿Cuál de las siguientes es una forma incorrecta de declarar una variable de tipo char en Python?
¿Cuál de las siguientes es una forma incorrecta de declarar una variable de tipo char en Python?
Signup and view all the answers
¿Cuál de los siguientes lenguajes de programación se clasifica como de tipado fuerte?
¿Cuál de los siguientes lenguajes de programación se clasifica como de tipado fuerte?
Signup and view all the answers
¿Qué tipo de dato en Java tiene un rango que varía de -128 a 127?
¿Qué tipo de dato en Java tiene un rango que varía de -128 a 127?
Signup and view all the answers
¿Cuál es el valor por defecto de un tipo de dato boolean en Java?
¿Cuál es el valor por defecto de un tipo de dato boolean en Java?
Signup and view all the answers
¿Qué característica principal distingue a los lenguajes de 4ª generación (4GL)?
¿Qué característica principal distingue a los lenguajes de 4ª generación (4GL)?
Signup and view all the answers
¿Cuál de los siguientes lenguajes pertenece a la 5ª generación (5GL)?
¿Cuál de los siguientes lenguajes pertenece a la 5ª generación (5GL)?
Signup and view all the answers
¿Entre qué valores puede variar un tipo de dato long en Java?
¿Entre qué valores puede variar un tipo de dato long en Java?
Signup and view all the answers
¿Cuál de los siguientes es un ejemplo de lenguajes de tipado dinámico?
¿Cuál de los siguientes es un ejemplo de lenguajes de tipado dinámico?
Signup and view all the answers
¿Qué tipo de dato en Java permite almacenar un carácter Unicode de 16 bits?
¿Qué tipo de dato en Java permite almacenar un carácter Unicode de 16 bits?
Signup and view all the answers
¿Qué caracteriza a un array en comparación con un vector?
¿Qué caracteriza a un array en comparación con un vector?
Signup and view all the answers
¿Cuál es una de las principales diferencias en el rendimiento entre arrays y vectores?
¿Cuál es una de las principales diferencias en el rendimiento entre arrays y vectores?
Signup and view all the answers
¿Qué sucede cuando se pasa una variable por valor a un método?
¿Qué sucede cuando se pasa una variable por valor a un método?
Signup and view all the answers
En un vector de Java, ¿qué característica es correcta?
En un vector de Java, ¿qué característica es correcta?
Signup and view all the answers
¿Cómo se accede a los elementos de un array en memoria?
¿Cómo se accede a los elementos de un array en memoria?
Signup and view all the answers
¿Cuál es una ventaja clave de los vectores sobre los arrays?
¿Cuál es una ventaja clave de los vectores sobre los arrays?
Signup and view all the answers
Al pasar un objeto por referencia a un método, ¿qué consecuencia tiene?
Al pasar un objeto por referencia a un método, ¿qué consecuencia tiene?
Signup and view all the answers
En cuanto al uso de arrays y vectores, ¿cuál es la mejor práctica?
En cuanto al uso de arrays y vectores, ¿cuál es la mejor práctica?
Signup and view all the answers
Study Notes
Clasificación de los lenguajes de programación
-
Según el nivel de abstracción:
-
Lenguajes de bajo nivel: cercanos al hardware.
- Ejemplos: Lenguaje máquina, ensamblador.
-
Lenguajes de alto nivel: más cercanos al lenguaje humano, fáciles de leer, escribir y mantener.
- Ejemplos: Python, Java, C++, JavaScript, Ruby.
-
Lenguajes de nivel intermedio: entre los lenguajes de bajo nivel y alto nivel, ofrecen control sobre el hardware y son fáciles de leer y escribir.
- Ejemplos: C, C++, Rust.
-
Lenguajes de bajo nivel: cercanos al hardware.
Clasificación según el paradigma de programación
-
Paradigma imperativo: secuencias de instrucciones que modifican el estado del programa. Se enfoca en cómo se debe realizar una tarea.
-
Ejemplos:
- Programación estructurada: C, Pascal.
- Programación orientada a objetos (POO): Java.
-
Programación funcional: basada en la evaluación de funciones matemáticas. Evita el uso de estados mutables y variables globales.
- Ejemplos: Haskell, Lisp, Scala, Erlang.
-
Paradigma declarativo: describe qué se quiere lograr sin especificar los pasos exactos.
-
Ejemplos:
-
Programación lógica: basada en el uso de reglas lógicas para deducir resultados a partir de hechos conocidos.
- Ejemplo: Prolog.
-
Paradigma reactivo: se centra en la propagación de cambios. Los datos o eventos reaccionan de manera automática a las modificaciones en el sistema.
- Ejemplos: RxJS (JavaScript), React (biblioteca de JavaScript).
-
Paradigma orientado a eventos: el flujo del programa está determinado por eventos como entradas del usuario, mensajes de otros programas o sensores.
- Ejemplos: JavaScript (para aplicaciones web), Visual Basic.
-
Programación lógica: basada en el uso de reglas lógicas para deducir resultados a partir de hechos conocidos.
-
Ejemplos:
-
Ejemplos:
Clasificación según el propósito
-
Lenguajes de propósito general: no limitados a un tipo particular de problema.
- Ejemplos: Python, Java, C, C++.
-
Lenguajes de propósito específico: para resolver problemas específicos en áreas especializadas.
- Ejemplos: HTML, MATLAB.
Clasificación según la forma de ejecución
- Lenguajes compilados: se traducen a código máquina antes de ejecutarse.
- Lenguajes interpretados: se ejecutan línea por línea sin traducción previa a código máquina.
- Lenguajes híbridos: combinan características de lenguajes compilados e interpretados.
Clasificación según la tipificación de datos
-
Tipado estático: las variables se deben declarar explícitamente y se verifican en tiempo de compilación.
- Ejemplos: C, C++, Java, Rust.
-
Tipado dinámico: las variables se determinan en tiempo de ejecución, da mayor flexibilidad pero puede llevar a errores difíciles de detectar.
- Ejemplos: Python, JavaScript, Ruby.
-
Tipado fuerte: no permite operaciones entre diferentes tipos de datos sin una conversión explícita.
- Ejemplos: Haskell, Python, Java.
-
Tipado débil: las conversiones entre tipos pueden ocurrir implícitamente.
- Ejemplos: JavaScript, PHP.
Clasificación según la generación
- 1ª generación (1GL): Lenguaje máquina.
- 2ª generación (2GL): Lenguajes simbólicos.
-
3ª generación (3GL): Lenguajes de medio y alto nivel.
- Ejemplos: C, Java, Python, FORTRAN, COBOL, C++.
-
4ª generación (4GL): lenguajes utilizados para propósitos específicos (Orientado a Problemas). La característica principal es especificar qué hay que hacer y no cómo se hace.
- Ejemplos: SQL, MATLAB, ABAP, SAS, Oracle Forms.
-
5ª generación (5GL): lenguajes de inteligencia artificial.
- Ejemplos: Prolog, LISP, Mercury.
Representación de tipos de datos
-
Tipos de datos: clasificación que especifica el tipo de valor que una variable puede almacenar y las operaciones que se pueden realizar sobre ese valor.
-
Java:
- Tipos de datos primitivos: tipos básicos de datos que no son objetos y se almacenan directamente en la memoria.
Tipo Descripción Valor por defecto byte Entero de 8 bits con signo. Rango: -128 a 127. 0 short Entero de 16 bits con signo. Rango: -32,768 a 32,767. 0 int Entero de 32 bits con signo. Rango: -2^31 a 2^31 - 1. 0 long Entero de 64 bits con signo. Rango: -2^63 a 2^63 - 1. 0 float Número en coma flotante de 32 bits. Precisión simple. Rango: 1.4E-45 a 3.4E+38. 0.0f double Número en coma flotante de 64 bits. Precisión doble. Rango: 4.9E-324 a 1.7E+308. 0.0d char Carácter Unicode de 16 bits. Representa un único carácter. Rango: '\u0000' (0) a '\uffff' (65,535) '\u0000' boolean Valor lógico que solo puede ser true o false. FALSE
Operadores
-
Aritméticos:
Operador Significado Ejemplo + Suma 5+3=8 - Resta 5-3=2 * Multiplicación 5 * 3 = 15 / División 6/3=2 % Módulo (residuo de la división) 5%2=1 ++ Incremento int x = 5; x++; // x = 6 -- Decremento int x = 5; x--; // x = 4 -
Relacionales:
Operador Significado Ejemplo == Igual a 5 == 3 // false != No igual a 5 != 3 // true > Mayor que 5 > 3 // true < Menor que 5 < 3 // false >= Mayor o igual que 5 >= 3 // true <= Menor o igual que 5 <= 3 // false && AND lógico (5 > 3) && (15 <= 20) // true ! Negación lógica !(5 > 3) // false -
Ternarios:
Operador Significado Ejemplo Condicion?Instruccion1:Instruccion2 Si la condición se evalúa como verdadera se ejecuta la instrucción después del ?, en caso contrario, la instrucción después del : int resultado = (5 > 3) ? 10 : 5; // resultado = 10
Cómo pasar una variable
- Valor: Se pasa una copia del valor de la variable al método llamado. Los cambios realizados en el valor dentro del método no afectan la variable original.
- Referencia: Se pasa una referencia al objeto, no una copia del valor. Esto significa que cualquier modificación en el objeto dentro del método afectará el objeto original.
Vectores y Registros
-
Arrays (Arreglos): estructura de datos que permite almacenar un conjunto de elementos del mismo tipo.
- El tamaño se define al momento de su creación y no puede cambiar.
- Los elementos se almacenan de forma consecutiva en memoria y se accede a ellos utilizando índices (empezando desde 0).
-
Vectores: estructura de datos similar a un array, pero puede redimensionarse dinámicamente.
- Los elementos se almacenan de forma consecutiva en memoria.
- En Java: Pertenecen al paquete java.util.Vector.
Característica Array Vector Tamaño Fijo (definido al crearlo) Dinámico (crece y disminuye automáticamente) Performance Más rápido, simple y sin sincronización Ligeramente más lento debido a la sincronización para ser seguro en múltiples hilos Acceso a elementos Se accede por índices, rápido y eficiente Se accede por índices, pero es menos eficiente que el array Modificación de tamaño No se puede modificar Se puede redimensionar automáticamente Uso en Java Utilizado cuando se sabe el tamaño fijo de antemano Utilizado cuando el tamaño puede variar durante la ejecución
Tipos de variables
Lenguaje | Tipo de Variable | Ejemplo |
---|---|---|
Java | int | int edad = 25; |
Java | char | char letra = 'A'; |
Java | double | double salario = 3000.50; |
Java | String | String nombre = "Juan"; |
Java | boolean | boolean esActivo = true; |
Java | int[] | int[] edades = {25, 30, 35}; |
Python | int | edad = 25 |
Python | float | salario = 3000.50 |
Python | str | nombre = "Juan" |
Python | bool | esActivo = True |
Python | list | edades = [25, 30, 35] |
C++ | int | int edad = 25; |
C++ | char | char letra = 'A'; |
C++ | double | double salario = 3000.50; |
C++ | std::string | std::string nombre = "Juan"; |
C++ | bool | bool esActivo = true |
C++ | int[] | int edades[] = {25, 30, 35}; |
C# | int | int edad = 25; |
C# | char | char letra = 'A'; |
C# | double | double salario = 3000.50; |
C# | string | string nombre = "Juan"; |
C# | bool | bool esActivo = true; |
C# | int[] | int[] edades = {25, 30, 35}; |
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Este cuestionario explora la clasificación de los lenguajes de programación según el nivel de abstracción y el paradigma de programación. Aprende sobre lenguajes de bajo, alto e intermedio, así como sobre paradigmas como el imperativo y la programación orientada a objetos. ¡Pon a prueba tus conocimientos en este tema esencial de la informática!