EIB · Tema 1: Introducción a Python y estructuras secuenciales

Tema 1: Introducción a Python y estructuras secuenciales es uno de los temas públicos de Estructuras de Control en Python dentro de TesIA Exam. Aquí puedes localizar preguntas indexables, tests, cuestionarios y exámenes que lo incluyen.

15 preguntas 1 exámenes Material de estudio público

Cómo estudiar este tema

Primero lee el resumen completo para fijar el marco del tema. Después usa la guía de estudio para ordenar el repaso y termina con las preguntas, revisando siempre la respuesta correcta y la explicación breve.

Esta página pública está pensada para consulta y repaso. Para practicar con progreso, favoritos y modo examen puedes continuar dentro de TesIA Exam con los mismos exámenes relacionados.

Material de estudio disponible

Aquí se muestran el resumen completo, la guía completa y los recursos públicos enlazados del tema para que la página sea útil también fuera de la app.

Resumen del tema

Documento Informativo: Fundamentos de Programación Secuencial en Python

Resumen Ejecutivo

El material de origen presenta una introducción exhaustiva a la programación en Python, centrada en el concepto fundamental de las estructuras secuenciales. El curso, diseñado para un Ciclo Formativo de Grado Superior, establece que Python es un lenguaje de alto nivel, interpretado y con tipado dinámico, cuya filosofía prioriza la legibilidad y la simplicidad del código.

El pilar del módulo es el patrón de ejecución secuencial, donde las instrucciones se ejecutan de forma lineal. Este flujo se modela consistentemente mediante el paradigma Entrada-Procesamiento-Salida (IPO), que estructura los programas en tres fases claras: la obtención de datos (input()), la manipulación de estos mediante operadores, y la presentación de resultados (print()).

Un aspecto sintáctico distintivo y no opcional de Python es el uso de la sangría (generalmente 4 espacios) para definir bloques de código, una característica que impone un estilo ordenado y legible. Se enfatiza la importancia de seguir las convenciones de nomenclatura del PEP 8, como el uso de snake_case para variables y SNAKE_CASE para constantes, para mejorar la mantenibilidad del software.

El contenido abarca una descripción detallada de los tipos de datos, diferenciando entre objetos inmutables (cuyo valor no puede cambiar tras su creación, como int, str, tuple) y mutables (list, dict, set). Finalmente, se subraya la necesidad de la conversión explícita de tipos, ya que la función input() siempre devuelve los datos como cadenas de texto (str), requiriendo su transformación a tipos numéricos para realizar operaciones matemáticas.

1. Introducción al Lenguaje Python

Python, creado por Guido van Rossum a finales de los años 80, es un lenguaje de programación de propósito general diseñado para maximizar la legibilidad del código y la productividad del programador.

1.1. Características Clave

Característica Descripción
Alto Nivel El código se asemeja al lenguaje humano, lo que facilita su aprendizaje, comprensión y escritura.
Interpretado El código se ejecuta directamente, línea por línea, sin un paso de compilación previo, lo que acelera el ciclo de desarrollo.
Tipado Dinámico No es necesario declarar el tipo de una variable antes de asignarle un valor. Python infiere el tipo de dato automáticamente durante la ejecución.
Filosofía Zen Se rige por los principios del "Zen de Python", un conjunto de directrices que priorizan la simplicidad, la claridad y la belleza del código.

1.2. Sintaxis y Legibilidad: El Rol Crítico de la Sangría

La característica sintáctica más distintiva de Python es el uso obligatorio de la sangría para definir la estructura y los bloques de código. A diferencia de otros lenguajes que utilizan llaves ({}), Python emplea un número consistente de espacios (la convención es 4 espacios) para indicar el inicio y el fin de un bloque, como los que se encuentran dentro de bucles o condicionales. Esta regla fuerza a los programadores a escribir código visualmente ordenado, mejorando significativamente su legibilidad y mantenibilidad.

2. El Paradigma de la Estructura Secuencial

La estructura secuencial es el patrón de flujo de control más simple y fundamental en programación.

* Definición: Las instrucciones de un programa se ejecutan de forma estrictamente lineal y ordenada, una tras otra, desde la primera línea hasta la última, sin saltos ni repeticiones. La ejecución de una línea depende de que las anteriores ya se hayan completado.

2.1. El Patrón IPO (Input, Process, Output)

Casi todos los programas secuenciales siguen el patrón de tres fases conocido como IPO:

1. Entrada (Input): Se obtienen los datos necesarios para que el programa funcione. Esto puede lograrse mediante la asignación directa de valores en el código o a través de la interacción con el usuario, utilizando la función input().
2. Procesamiento (Process): Se realizan cálculos, manipulaciones o transformaciones sobre los datos de entrada. El orden de las operaciones en esta fase es crucial para obtener el resultado correcto.
3. Salida (Output): Se presentan los resultados o la información procesada al usuario, comúnmente mediante la función print().

2.2. Diagramas de Flujo como Herramienta Visual

Los diagramas de flujo son representaciones gráficas de un algoritmo que utilizan símbolos estándar para visualizar la lógica de un programa antes de escribir el código. Ayudan a planificar la secuencia de operaciones y las decisiones.

Símbolos Estándar

Símbolo Nombre Propósito
Óvalo Inicio / Fin Representa el punto de partida y el punto final de un programa.
Paralelogramo Entrada / Salida Indica operaciones donde el programa recibe datos (input()) o muestra resultados (print()).
Rectángulo Proceso Representa cualquier instrucción que transforma o procesa datos, como cálculos y asignaciones.
Rombo Decisión Indica un punto donde el flujo se bifurca basándose en una condición (no aplica en estructuras puramente secuenciales).
Flecha Línea de Flujo Conecta los símbolos para indicar la dirección y la secuencia de ejecución de los pasos.
Círculo Conector Se utiliza para conectar partes del diagrama en diferentes lugares de la misma página.

3. Fundamentos de Datos y Variables

3.1. Variables y Constantes

Una variable es un contenedor con un nombre simbólico que se utiliza para referirse a un valor almacenado en la memoria del ordenador. Las constantes, por convención, son variables cuyo valor no debe cambiar durante la ejecución del programa.

* Asignación: Se utiliza el operador igual (=) para asignar un valor a una variable.
* Tipado Dinámico: Python infiere el tipo de dato de una variable en el momento de la asignación.
* Sensibilidad: Python distingue entre mayúsculas y minúsculas (nombre, Nombre y NOMBRE son tres variables diferentes).

3.2. Convenciones de Nomenclatura (PEP 8)

Adherirse a la guía de estilo PEP 8 es crucial para escribir código Python legible y profesional.

Categoría Convención Ejemplo Correcto Ejemplo Incorrecto (por estilo)
Variables Comunes snake_case velocidad_maxima VelocidadMaxima
Constantes SNAKE_CASE TASA_IVA, PI tasa_iva, Pi
Clases CamelCase MiClase mi_clase
Funciones snake_case calcular_total() CalcularTotal()

Reglas para nombrar variables:

* Deben empezar con una letra o un guion bajo (_). Nunca con un número.
* No pueden ser una palabra reservada del lenguaje (e.g., if, for, class, True).
* Deben ser descriptivas para que el código se explique por sí mismo.

3.3. Tipos de Datos

Datos Fundamentales

Tipo Clase Descripción Ejemplo
Enteros int Números enteros, positivos o negativos, sin decimales. 42, -10
Flotantes float Números con parte decimal o exponenciales. 3.14, 2.0e-3
Cadenas str Secuencias inmutables de caracteres (texto). "Hola Mundo"
Booleanos bool Valores lógicos que solo pueden ser Verdadero o Falso. True, False

Colecciones de Datos

Tipo Clase Mutabilidad Orden Descripción
Lista list Mutable Ordenada Colección flexible de elementos que se puede modificar.
Tupla tuple Inmutable Ordenada Colección que no se puede modificar después de su creación.
Rango range Inmutable Ordenada Secuencia inmutable de números, eficiente para iterar.
Conjunto set Mutable No ordenada Colección de elementos únicos, sin orden específico.
Diccionario dict Mutable Ordenada* Colección de pares clave:valor.

*Desde Python 3.7, los diccionarios mantienen el orden de inserción.

3.4. El Concepto de Mutabilidad e Inmutabilidad

La mutabilidad determina si el contenido de un objeto puede ser modificado después de su creación.

* Objetos Inmutables (int, float, str, tuple, bool): Su valor no puede cambiar. Cualquier operación que parezca modificarlo en realidad crea un nuevo objeto en memoria y la variable pasa a apuntar a este nuevo objeto.
* Objetos Mutables (list, dict, set): Su contenido puede ser modificado "in situ" (en el mismo lugar de la memoria) después de su creación. Si dos variables apuntan al mismo objeto mutable, un cambio a través de una variable será visible en la otra.

4. Operaciones y Manipulación de Datos

4.1. Operadores Esenciales

Operadores Aritméticos

Operador Nombre Descripción Ejemplo (a=10, b=3) Resultado
+ Suma Adición de dos valores. a + b 13
- Resta Sustracción de dos valores. a - b 7
* Multiplicación Producto de dos valores. a * b 30
/ División Devuelve un resultado flotante. a / b 3.333...
// División Entera Devuelve el cociente entero (redondeado hacia abajo). a // b 3
% Módulo Devuelve el resto de la división entera. a % b 1
** Potencia Eleva el primer operando a la potencia del segundo. a ** b 1000

Operadores Relacionales y Lógicos

* Relacionales: Se usan para comparar valores y devuelven un resultado booleano (True o False). Incluyen == (igual a), != (distinto de), > (mayor que), < (menor que), >= (mayor o igual que), y <= (menor o igual que).
* Lógicos: Se usan para combinar expresiones condicionales. Incluyen and (Y lógico), or (O lógico) y not (Negación lógica).

4.2. Conversión de Tipos (Type Casting)

Permite cambiar el tipo de dato de un valor.

* Conversión Implícita: Python la realiza automáticamente para evitar la pérdida de datos, por ejemplo, al sumar un int y un float, el int se convierte a float.
* Conversión Explícita: El programador fuerza la conversión usando funciones como int(), float(), str(), list(), etc. Esto es fundamental al trabajar con la entrada del usuario.

4.3. Manejo de Cadenas de Texto (Strings)

Las cadenas son secuencias inmutables de caracteres.

* Creación: Se usan comillas simples (' '), dobles (" ") o triples (""" """ para multilínea).
* Indexación: Se accede a los caracteres por su índice, comenzando en 0. s[0] es el primer carácter y s[-1] es el último.
* Métodos Comunes: Incluyen .upper(), .lower(), .strip(), .replace(), .split(), y .join().

5. Interacción con el Usuario: Entrada y Salida

5.1. La Función input(): Captura de Datos

La función input() detiene la ejecución del programa y espera a que el usuario introduzca datos por teclado y presione Enter.

* Retorno: Siempre devuelve una cadena de texto (str), sin importar si el usuario introduce números.
* Conversión Obligatoria: Si se necesitan datos numéricos, es indispensable convertir la cadena devuelta usando int() o float().

5.2. La Función print(): Muestra de Resultados

La función print() muestra datos o resultados en la consola.

* Argumentos: Acepta múltiples argumentos, que por defecto se separan por un espacio.
* Parámetros Opcionales: Se puede personalizar el separador (sep=) y el carácter final (end=).

5.3. Formato de Cadenas (f-strings)

Las f-strings son el método moderno y recomendado para incrustar variables y expresiones dentro de una cadena de texto de forma legible y eficiente. Se crean anteponiendo la letra f a las comillas y colocando las variables entre llaves {}.

articulo = "Portátil"
precio = 999.99
print(f"El artículo '{articulo}' tiene un precio de {precio:.2f} €.")
# Salida: El artículo 'Portátil' tiene un precio de 999.99 €.


6. Aplicación Práctica y Ejecución

6.1. Análisis de un Ejemplo Completo: Cálculo de IVA

El material incluye un programa completo que calcula el total de una compra con IVA, demostrando el patrón IPO:

1. Entrada: Se solicita al usuario el nombre del artículo (input()), el precio base (float(input())) y la cantidad (int(input())).
2. Procesamiento: Se define una constante TASA_IVA. Se calculan secuencialmente el subtotal, el monto del IVA y el total final.
3. Salida: Se muestra un resumen detallado de la compra utilizando print() y f-strings para formatear los resultados numéricos a dos decimales.

6.2. Proceso de Ejecución y Análisis de Resultados

El ciclo de desarrollo implica un proceso iterativo:

1. Ejecución: El intérprete de Python lee el código, lo convierte a un formato intermedio (bytecode) y la Máquina Virtual de Python (PVM) lo ejecuta.
2. Análisis: Se verifica que la salida del programa sea la esperada. Si no lo es, se procede a la depuración.
3. Corrección (Depuración): Se identifican y corrigen errores, que pueden ser de sintaxis, de ejecución (excepciones) o lógicos.

6.3. Ejercicios Propuestos para la Práctica

Se proporcionan varios ejercicios para reforzar los conceptos aprendidos, incluyendo:

* Crear y mostrar variables de texto.
* Calcular el área de un rectángulo.
* Manipular elementos de una lista.
* Convertir grados Celsius a Fahrenheit.
* Concatenar cadenas y calcular su longitud.

Guía de estudio

Guía de Estudio: Introducción a Python y Estructuras Secuenciales

Cuestionario de Repaso

Responda a las siguientes preguntas en 2-3 frases, basándose exclusivamente en la información proporcionada en los documentos de estudio.

1. ¿Cuáles son las cuatro características clave que definen al lenguaje de programación Python?
2. Describa el patrón de flujo de control conocido como "estructura secuencial" y el modelo IPO.
3. ¿Cuál es la función de la sangría (indentación) en Python y por qué es una característica distintiva del lenguaje?
4. ¿Qué es un diagrama de flujo y para qué se utiliza en programación? Mencione tres símbolos estándar y su significado.
5. Explique la diferencia entre una variable y una constante en Python, enfocándose en la convención de nomenclatura recomendada por PEP 8.
6. ¿Cuál es la diferencia fundamental entre los tipos de datos mutables e inmutables? Proporcione un ejemplo de cada uno.
7. ¿Qué tipo de dato devuelve siempre la función input() y qué paso es crucial si se necesita trabajar con números obtenidos a través de ella?
8. Diferencie entre la conversión de tipos implícita y la explícita, explicando cuándo ocurre cada una.
9. ¿Qué son las f-strings y por qué se consideran el método recomendado para formatear cadenas de texto?
10. ¿Cuáles son los tres tipos de errores más comunes que pueden surgir durante el desarrollo de un programa?


--------------------------------------------------------------------------------


Clave de Respuestas

1. ¿Cuáles son las cuatro características clave que definen al lenguaje de programación Python? Python es un lenguaje de programación de alto nivel, lo que significa que su código se asemeja al lenguaje humano. Es interpretado, ejecutándose línea por línea sin compilación previa. Posee tipado dinámico, por lo que no es necesario declarar el tipo de una variable, y se rige por la filosofía del "Zen de Python", que prioriza la simplicidad y claridad del código.
2. Describa el patrón de flujo de control conocido como "estructura secuencial" y el modelo IPO. Una estructura secuencial es el patrón más simple donde las instrucciones de un programa se ejecutan de forma estrictamente lineal y ordenada, una tras otra. Este flujo sigue el modelo IPO (Input, Process, Output), que consta de tres fases: la Entrada de datos, el Procesamiento o manipulación de esos datos, y la Salida de los resultados al usuario.
3. ¿Cuál es la función de la sangría (indentación) en Python y por qué es una característica distintiva del lenguaje? La sangría, generalmente de 4 espacios, se utiliza en Python para definir bloques de código, indicando dónde comienzan y terminan estructuras como bucles o condicionales. Es una característica distintiva porque fuerza al programador a escribir código ordenado, lo que mejora significativamente la legibilidad y el mantenimiento del software.
4. ¿Qué es un diagrama de flujo y para qué se utiliza en programación? Mencione tres símbolos estándar y su significado. Un diagrama de flujo es una representación gráfica de un algoritmo que permite visualizar la lógica de un programa antes de escribir el código. Utiliza símbolos estándar como el Óvalo para indicar el Inicio/Fin del programa, el Rectángulo para representar un Proceso (cálculos o asignaciones), y el Paralelogramo para las operaciones de Entrada/Salida de datos (como input() y print()).
5. Explique la diferencia entre una variable y una constante en Python, enfocándose en la convención de nomenclatura recomendada por PEP 8. Una variable es un nombre que se refiere a un valor que puede cambiar durante la ejecución del programa, y según PEP 8, debe nombrarse usando snake_case (minúsculas y guiones bajos). Una constante es un tipo de variable cuyo valor no debería cambiar; para distinguirla, la convención PEP 8 dicta que su nombre se escriba en SNAKE_CASE (mayúsculas y guiones bajos).
6. ¿Cuál es la diferencia fundamental entre los tipos de datos mutables e inmutables? Proporcione un ejemplo de cada uno. La diferencia radica en si su valor puede ser modificado después de su creación. Los objetos inmutables, como las tuplas (tuple) o las cadenas (str), no pueden cambiarse; cualquier modificación crea un objeto nuevo en memoria. Por el contrario, los objetos mutables, como las listas (list) o los diccionarios (dict), pueden ser alterados en el mismo lugar de la memoria.
7. ¿Qué tipo de dato devuelve siempre la función input() y qué paso es crucial si se necesita trabajar con números obtenidos a través de ella? La función input() siempre devuelve los datos introducidos por el usuario como una cadena de texto (str), incluso si se teclean números. Por lo tanto, es crucial realizar una conversión de tipo explícita usando funciones como int() o float() si se necesita realizar operaciones matemáticas con el valor recibido.
8. Diferencie entre la conversión de tipos implícita y la explícita, explicando cuándo ocurre cada una. La conversión implícita es realizada automáticamente por Python para evitar la pérdida de datos, como cuando se suma un entero (int) y un flotante (float), promoviendo el entero a flotante. La conversión explícita, o "Type Casting", es forzada por el programador usando funciones como int(), str() o float() para cambiar un valor de un tipo a otro según sea necesario.
9. ¿Qué son las f-strings y por qué se consideran el método recomendado para formatear cadenas de texto? Las f-strings son un método moderno para insertar variables y expresiones dentro de una cadena de texto, prefijando la cadena con la letra "f" y colocando las variables entre llaves ({}). Se recomiendan porque ofrecen una sintaxis más legible, elegante y eficiente en comparación con alternativas como el método .format().
10. ¿Cuáles son los tres tipos de errores más comunes que pueden surgir durante el desarrollo de un programa? Los tres tipos de errores más comunes son los errores de sintaxis, que ocurren cuando el código viola las reglas del lenguaje; los errores de ejecución (o excepciones), que suceden cuando el código es sintácticamente correcto pero falla durante su ejecución (ej. división por cero); y los errores lógicos, donde el programa se ejecuta sin fallar pero produce un resultado incorrecto.


--------------------------------------------------------------------------------


Preguntas de Ensayo

1. Discuta la filosofía del "Zen de Python" como se describe en el texto y explique cómo características como el tipado dinámico y la sangría obligatoria apoyan sus principios de simplicidad, claridad y belleza del código.
2. Describa el ciclo de vida completo de un programa secuencial simple en Python, desde la escritura del código hasta su ejecución y análisis. Incorpore los conceptos del modelo IPO, el bytecode, la Máquina Virtual de Python (PVM) y el ciclo iterativo de depuración (Ejecutar -> Analizar -> Corregir).
3. Compare y contraste los tipos de datos mutables e inmutables en Python. Explique las implicaciones prácticas de esta distinción, especialmente en lo que respecta a la asignación de variables y la manipulación de datos, utilizando list y tuple como ejemplos principales.
4. Elabore sobre la importancia de las convenciones de nomenclatura de PEP 8. ¿Por qué es crucial para la legibilidad del código y la colaboración? Proporcione ejemplos específicos del texto para variables, constantes y clases, explicando la lógica detrás de cada convención (snake_case, SNAKE_CASE, CamelCase).
5. Explique el rol y la importancia de los diagramas de flujo en el proceso de programación. Describa al menos cuatro símbolos estándar (Óvalo, Rectángulo, Paralelogramo, Rombo) y vincúlelos con sus conceptos o estructuras de código correspondientes en Python.


--------------------------------------------------------------------------------


Glosario de Términos Clave

Término Definición
Algoritmo Una secuencia de pasos lógicos y ordenados para resolver un problema o realizar una tarea. Los diagramas de flujo son una representación gráfica de un algoritmo.
Asignación Operación que vincula un nombre de variable a un valor en memoria, utilizando el operador igual (=).
Booleano (bool) Tipo de dato fundamental que representa valores lógicos: True (Verdadero) o False (Falso).
Bytecode Formato intermedio al que el intérprete de Python traduce el código fuente. Es más eficiente para ser ejecutado por la Máquina Virtual de Python (PVM).
Cadena (str) Tipo de dato que representa una secuencia inmutable de caracteres utilizada para almacenar texto. Se define con comillas simples, dobles o triples.
Comentarios Líneas de código que son ignoradas por el intérprete. Se utilizan para documentar o explicar el código y en Python comienzan con una almohadilla (#).
Constante Un tipo de variable cuyo valor se espera que no cambie durante la ejecución del programa. Por convención (PEP 8), su nombre se escribe en mayúsculas (SNAKE_CASE).
Conversión de Tipos Operación que permite cambiar el tipo de dato de un valor. Puede ser implícita (automática) o explícita (manual, usando funciones como int()).
Depuración (Debugging) Proceso de encontrar y corregir errores en un programa. Incluye técnicas como el uso de print() o herramientas de depuración (debuggers).
Diagrama de Flujo Representación gráfica de un algoritmo o proceso que utiliza símbolos estándar para mostrar la secuencia lógica de las operaciones.
Diccionario (dict) Colección mutable y ordenada (desde Python 3.7+) de pares clave-valor.
Entero (int) Tipo de dato fundamental que representa números enteros, positivos o negativos, sin parte decimal.
Errores de Ejecución También llamados excepciones, ocurren cuando el código es sintácticamente correcto pero surge un problema durante su ejecución (ej. dividir por cero).
Errores de Sintaxis Errores que ocurren cuando el código viola las reglas gramaticales del lenguaje de programación.
Errores Lógicos Errores en los que el programa se ejecuta sin fallar pero produce un resultado incorrecto debido a una lógica defectuosa en el algoritmo.
Estructura Secuencial El patrón de flujo de control más simple, donde las instrucciones se ejecutan de forma estrictamente lineal y ordenada, de arriba hacia abajo.
f-strings Método moderno y recomendado para formatear cadenas en Python, permitiendo incrustar variables y expresiones directamente dentro de la cadena (f"Hola, {nombre}").
Flotante (float) Tipo de dato fundamental que representa números con parte decimal o exponenciales.
Indentación (Sangría) El uso de espacios en blanco (generalmente 4) al inicio de una línea para definir bloques de código. Es una característica sintáctica crucial en Python.
input() Función que detiene la ejecución del programa para recibir datos del usuario a través del teclado. Siempre devuelve los datos como una cadena (str).
Interpretado (Lenguaje) Un tipo de lenguaje de programación cuyo código se ejecuta directamente, línea por línea, por un intérprete, sin una fase de compilación previa.
Inmutable Característica de un objeto cuyo valor no puede ser modificado después de su creación. Ejemplos: int, float, str, tuple.
IPO (Input, Process, Output) Modelo que describe las tres fases de un programa secuencial: Entrada (obtener datos), Procesamiento (realizar cálculos) y Salida (mostrar resultados).
Keywords Palabras reservadas del lenguaje Python que tienen un significado especial y no pueden ser usadas como nombres de variables (ej. if, for, class).
Lenguaje de Alto Nivel Un lenguaje de programación cuyo código se asemeja al lenguaje humano, facilitando su aprendizaje y comprensión.
Lista (list) Colección ordenada y mutable de elementos, que pueden ser de diferentes tipos. Es una de las estructuras de datos más flexibles de Python.
Mutable Característica de un objeto cuyo valor puede ser modificado "in situ" (en el mismo lugar de la memoria) después de su creación. Ejemplos: list, dict, set.
Operadores Símbolos o palabras clave que realizan operaciones específicas (aritméticas, de comparación, lógicas) sobre valores y variables.
PEP 8 El documento oficial de guía de estilo para el código Python (Python Enhancement Proposal 8), que define las convenciones de nomenclatura y formato.
print() Función fundamental para mostrar datos o resultados en la consola o terminal del usuario.
Python Lenguaje de programación de alto nivel, interpretado y de propósito general, creado por Guido van Rossum.
PVM (Python Virtual Machine) La Máquina Virtual de Python, que es la encargada de ejecutar el bytecode generado por el intérprete.
snake_case La convención de nomenclatura recomendada por PEP 8 para variables y funciones, que consiste en usar letras minúsculas con palabras separadas por guiones bajos.
Tipado Dinámico Característica de Python donde no es necesario declarar el tipo de una variable antes de asignarle un valor; el tipo se infiere automáticamente.
Tupla (tuple) Colección ordenada e inmutable de elementos. Una vez creada, no se puede modificar.
Variable Un nombre que se utiliza para referirse a un valor almacenado en la memoria del ordenador.
Zen de Python La filosofía que rige el diseño de Python, priorizando la simplicidad, la claridad y la belleza del código.

Preguntas, respuestas y explicaciones del tema

Listado público sin duplicados de las preguntas del tema, con su respuesta correcta y una explicación breve para facilitar el estudio y el repaso desde buscadores.

#1

Pregunta 15. Hito del Telar de Jacquard (1801):

  1. A) Compilador de lenguaje natural
  2. B) Microprocesador de silicio
  3. C) Uso de tarjetas perforadas
  4. D) Logica booleana por relés
Respuesta correcta

C) Uso de tarjetas perforadas

Explicación:

La respuesta correcta es C. La respuesta correcta es Uso de tarjetas perforadas.
Joseph Marie Jacquard diseñó un sistema de control para telares que utilizaba tarjetas de cartón con agujeros para automatizar patrones complejos de tejido.

#2

Pregunta 7. Relaciona simbolos de Diagramas de Flujo:

Tipo: relacionar columnas.

Columna A

  • Rombo
  • Rectángulo
  • Paralelogramo
  • Ovalo

Columna B

  • Decisiones logicas
  • Procesos y cálculos
  • Entrada y salida de datos
  • Inicio y Fin
Respuesta correcta
  • Rombo -> Decisiones logicas
  • Rectángulo -> Procesos y cálculos
  • Paralelogramo -> Entrada y salida de datos
  • Ovalo -> Inicio y Fin
Explicación:

La respuesta correcta es la asociación estándar de la simbología ANSI para diagramas de flujo. El rombo se utiliza para bifurcaciones condicionales, el rectángulo para operaciones de asignación o cálculos, el paralelogramo para representar la interacción con el usuario (E/S) y el óvalo para marcar los límites del algoritmo. Conocer estos símbolos es vital para documentar la lógica de programación de forma universal. El descarte se produce al no intercambiar las funciones de entrada/salida con las de proceso.

#3

Pregunta 8. Selecciona lenguajes de la Tercera Generación (3GL):

  1. A) BASIC
  2. B) COBOL
  3. C) SQL
  4. D) FORTRAN
Respuesta correcta
  • A) BASIC
  • B) COBOL
  • D) FORTRAN
Explicación:

La respuesta correcta es A, B y D. ASIC, COBOL y FORTRAN.
Estos lenguajes introdujeron un mayor nivel de abstracción respecto al hardware, permitiendo a los programadores escribir código más cercano al lenguaje humano que el ensamblador.

#4

Pregunta 3. ¿Qué IDE es más recomendable para proyectos grandes y profesionales?

  1. A) PyCharm o VS Code
  2. B) NotePad++.
  3. C) Thonny
  4. D) IDLE básico
Respuesta correcta

A) PyCharm o VS Code

Explicación:

La respuesta correcta es A. La respuesta correcta es PyCharm o VS Code.
Estas herramientas ofrecen características avanzadas como depuración compleja, gestión de entornos virtuales y control de versiones integrado.

#5

Pregunta 10. En la analogía de la receta, el Programador es el creador del guion detallado.

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. La respuesta correcta es Verdadero.
En la enseñanza de la programación, se suele comparar al programador con un chef o autor que redacta la receta (el código fuente).

#6

Pregunta 14. Operador para obtener el resto de una división:

  1. A) // (División entera)
  2. B) ** (Potencia)
  3. C) % (Módulo)
  4. D) / (División)
Respuesta correcta

C) % (Módulo)

Explicación:

La respuesta correcta es C. La respuesta correcta es % (Módulo).
Este operador devuelve el residuo sobrante de una operación de división entre dos números enteros. Por ejemplo, 7 % 2 daría como resultado 1.

#7

Pregunta 13. El orden de ejecución en una estructura secuencial es lineal y sin saltos

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. La respuesta correcta es Verdadero.
Por definición, las estructuras secuenciales ejecutan una instrucción tras otra en el orden exacto en que han sido escritas en el archivo.

#8

Pregunta 5. ¿Qué diferencia hay entre == de 'is'?

  1. A) is' se usa solo para números y para cadenas de texto
  2. B) == es para comparar valores e 'is' es para asignar,
  3. C) == compara valores mientras que 'is' compara identidad en memoria.
  4. D) Son sinónimos en Python 3.
Respuesta correcta

C) == compara valores mientras que 'is' compara identidad en memoria.

Explicación:

La respuesta correcta es C. La respuesta correcta es == compara valores mientras que 'is' compara identidad en memoria.
El operador de igualdad verifica si el contenido de dos objetos es el mismo, mientras que el operador de identidad comprueba si ambos nombres apuntan exactamente al.

#9

Pregunta 9. Resultado de (5 > 3) and (10 < 5):

  1. A) Error
  2. B) True
  3. C) False
  4. D) None
Respuesta correcta

C) False

Explicación:

La respuesta correcta es C. alse.
Para que una expresión con el operador lógico 'and' sea verdadera, ambas condiciones deben ser ciertas simultáneamente. En este caso, la primera parte (5 > 3) es True, pero la segunda (10 < 5) es False.

#10

Pregunta 11. Reglas prohibidas al nombrar variables:

  1. A) Usar palabras reservadas (if, for).
  2. B) Usar solo mayúsculas.
  3. C) Contener espacios
  4. D) Empezar con un número.
Respuesta correcta
  • A) Usar palabras reservadas (if, for).
  • C) Contener espacios
  • D) Empezar con un número.
Explicación:

La respuesta correcta es A, C y D. Python prohíbe el uso de palabras clave del lenguaje como nombres de variables porque tienen un significado especial asignado.

#11

Pregunta 1. En el patrón IPD, el cálculo de una fórmula se sitúa en

  1. A) Procesamiento (Process).
  2. B) Entrada (Input).
  3. C) Depuración (Debug)
  4. D) Salida (Output).
Respuesta correcta

A) Procesamiento (Process).

Explicación:

La respuesta correcta es A. La respuesta correcta es Procesamiento (Process).
En el modelo fundamental de diseño de algoritmos Input-Process-Output (IPD), la fase de procesamiento es donde se transforman los datos de entrada mediante cálculos o lógica.

#12

Pregunta 4. Selecciona las caracteristicas fundamentales del Zen de Python (PEP 20):

  1. A) Lo explicito es mejor que lo implicito
  2. B) Lo simple es mejor que lo compleja.
  3. C) La legibilidad cuenta
  4. D) La velocidad de ejecución es siempre prioritaria sobre la claridad
Respuesta correcta
  • A) Lo explicito es mejor que lo implicito
  • B) Lo simple es mejor que lo compleja.
  • C) La legibilidad cuenta
Explicación:

La respuesta correcta es A, B y C. El Zen de Python prioriza la legibilidad y la simplicidad del código por encima de optimizaciones prematuras o sintaxis oscuras.

#13

Pregunta 12. Relaciona la herramienta con su característica

Tipo: relacionar columnas.

Columna A

  • VS Code
  • PyCharm
  • Interpretador
  • Thonny

Columna B

  • Editor ligero y altamente extendible
  • IDE profesional especializado en Python
  • Ejecuta comandos de forma inmediata
  • Ideal para principiantes por sencillez
Respuesta correcta
  • VS Code -> Editor ligero y altamente extendible
  • PyCharm -> IDE profesional especializado en Python
  • Interpretador -> Ejecuta comandos de forma inmediata
  • Thonny -> Ideal para principiantes por sencillez
Explicación:

La respuesta correcta vincula cada software con su nicho de mercado específico. VS Code destaca por su ecosistema de extensiones, mientras que PyCharm es la solución 'todo en uno' para desarrolladores de Python. El intérprete es el motor que procesa el código línea a línea, y Thonny se posiciona como el entorno educativo preferido para aprender a programar. No se deben confundir los editores de propósito general con las herramientas diseñadas específicamente para educación o depuración profesional.

#14

Pregunta 2. Los comentarios (#) afectan al tiempo de ejecución del programa

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

B) Falso

Explicación:

La respuesta correcta es B. also.
Los comentarios en Python son ignorados completamente por el intérprete durante la fase de ejecución del script. Su única función es facilitar la lectura y comprensión del código para los desarrolladores humanos.

#15

Pregunta 6. Caracteristicas de print() en Python 3:

  1. A) Requiere obligatoriamente que todos los argumentos sean convertidos a cadena previamente.
  2. B) Permite mostrar múltiples valores con comas
  3. C) Solo se puede usar una vez por programa
  4. D) Es la fase de salida en el patrón IPD
Respuesta correcta
  • B) Permite mostrar múltiples valores con comas
  • D) Es la fase de salida en el patrón IPD
Explicación:

La respuesta correcta es B y D. La función print() es la herramienta estándar para la salida de datos en consola, permitiendo pasar múltiples argumentos separados por comas que se imprimen con un espacio entre ellos por defecto.

Exámenes que incluyen este tema

Practicar este tema en TesIA Exam

Abre la app para entrenar este contenido en modo estudio o examen y guardar tu progreso.

Abrir TesIA Exam