¿De qué depende una máquina manual para desencadenar sus operaciones?
De un operador.
¿Qué permite a una máquina automática responder a estímulos externos?
Actúa por sí sola.
¿Qué combina una máquina programable?
Una máquina base de comportamiento fijo y una parte modificable llamada programa.
¿Qué describe el programa de una máquina programable?
Su funcionamiento.
¿Qué es un cómputo?
Un tratamiento de información que obtiene información nueva mediante cálculos.
¿Qué es un computador?
Una máquina programable para tratar información y realizar cómputos.
¿Qué diferencia el hardware del software en un computador?
El hardware son elementos físicos fijos y el software, representaciones modificables de los programas.
¿Qué función cumplen los dispositivos de entrada y salida de un computador?
Intercambian información con el exterior.
¿Cómo realiza operaciones el procesador de un computador?
Según los códigos del programa.
¿Qué tres acciones se necesitan para tratar información con un computador?
Construir el hardware, desarrollar el software y ejecutarlo.
¿Quién suele desarrollar programas pequeños en la programación?
Una persona.
¿Qué tipo de técnicas aplica la ingeniería de software al desarrollar software complejo?
Técnicas organizativas.
¿Cuáles son los tres objetivos de la programación?
Corrección, claridad y eficiencia.
¿Cuál es el orden de prioridad general de los objetivos de la programación?
Primero corrección, después claridad y finalmente eficiencia.
¿Qué es el lenguaje de máquina de un modelo de computador?
Es la forma de codificar programas que puede utilizar ese modelo.
¿Cómo representa programas un lenguaje de programación?
Simbólicamente, mediante textos legibles para las personas y prácticamente independientes de máquinas particulares.
¿Qué transforma un compilador y en qué lo convierte?
Un programa fuente en lenguaje simbólico en un programa objeto en código de máquina.
¿Cómo procesa un intérprete un programa fuente?
Analiza directamente su descripción simbólica y realiza las operaciones correspondientes.
¿A qué se parece un intérprete al ejecutar un programa?
A una máquina virtual cuyo lenguaje coincide con el lenguaje fuente.
¿Qué recoge un modelo abstracto de cómputo y de qué prescinde?
Recoge elementos básicos y formas comunes de combinación, prescindiendo de la notación concreta.
¿Qué modelos de programación se describen?
Los modelos funcional, de flujo de datos, lógico, imperativo y orientado a objetos.
¿Cómo puede variar la representación de un problema según el modelo de cómputo?
Un mismo problema puede representarse mediante programas de formas muy diferentes.
¿Qué describe el modelo funcional mediante funciones aplicadas a argumentos?
Cómputos que producen resultados y cuyas funciones pueden combinarse.
¿Qué hace la reducción en el modelo funcional?
Reemplaza progresivamente cada función por su resultado.
¿Cómo se activa un operador en un programa de flujo de datos?
Cuando dispone de valores en sus entradas.
¿Qué constituye un programa en el modelo de flujo de datos?
Una red de operadores que calcula resultados y los envía a sus salidas.
¿Cómo plantea formalmente un problema la programación lógica?
Mediante hechos y reglas.
¿Qué realiza la máquina al consultar un resultado en programación lógica?
Las inferencias necesarias.
¿Cómo representa un programa el modelo imperativo?
Como instrucciones ejecutadas en un orden indicado.
¿Qué pueden hacer las instrucciones de control en el modelo imperativo?
Alterar el orden o repetir partes según condiciones.
En programación imperativa, ¿qué representa una variable?
Un dato almacenado bajo un nombre.
En programación imperativa, ¿qué puede hacerse con el valor de una variable?
Puede utilizarse o modificarse.
En una asignación, ¿qué se hace con la expresión situada a la derecha?
Se calcula su resultado.
En una asignación, ¿dónde se almacena el resultado calculado?
Como nuevo valor de la variable situada a la izquierda.
¿Qué tres esquemas generales propone la programación estructurada?
Secuencia, selección e iteración.
¿Qué puede costar mucho más que el hardware usado en aplicaciones complejas actuales?
Desarrollar el software.
¿Qué hace necesaria la complejidad de los programas actuales?
Aplicar metodologías de programación.
¿Qué técnicas se aplican en proyectos de equipo?
Técnicas de ingeniería de software.
¿Qué pueden demostrar las pruebas al descubrir fallos?
Que un programa contiene errores.
¿Qué implica no descubrir fallos durante las pruebas?
No garantiza que el programa esté libre de errores.
¿Qué es una máquina virtual?
Una máquina concebible y describible con precisión, aunque no exista físicamente.
¿Según qué puede comportarse una máquina programable como distintas máquinas particulares?
Según el programa que la gobierne.
¿Qué guarda la memoria de una máquina de programa almacenado?
Información codificada que incluye datos y la representación del programa.
¿Cómo se distribuye el trabajo de programación en el desarrollo de software a gran escala?
En partes independientes que desarrollan distintos miembros del equipo.
¿Qué debe especificarse para juzgar la corrección de un programa?
Con claridad, el funcionamiento esperado.
¿Qué se necesita para ejecutar un programa en otro modelo de computador?
Una versión adecuada a su lenguaje de máquina.
¿Por qué son universales los modelos abstractos de programación descritos?
Porque pueden describir cualquier cómputo intuitivamente posible.
¿Qué operación sustituye una función definida por su definición y adapta sus argumentos?
La reescritura reemplaza los argumentos simbólicos por los argumentos reales.
¿Qué puede producir iterativamente una red de flujo de datos?
Una serie de resultados.
¿Qué permite detener una red de flujo de datos al obtener un resultado adecuado?
Los operadores de bifurcación.
¿Qué expresa un hecho en programación lógica?
Una relación entre objetos concretos.
¿Qué expresa una regla lógica en programación lógica?
Una relación general entre objetos que cumplen ciertas propiedades.
¿Qué evita la condición en la regla de hermanos?
Que una persona sea considerada hermana de sí misma.
¿Qué registra una traza al analizar un programa?
Las instrucciones ejecutadas sucesivamente y los valores de las variables.
¿Cuándo registra una traza los valores de las variables?
Al inicio y después de cada instrucción.
¿Qué prioridad guiaba la programación en los primeros computadores?
El rendimiento.
¿En qué lenguajes se programaban directamente los primeros computadores?
En lenguaje de máquina o ensamblador.
¿Qué permitió el aumento de capacidad y la reducción relativa del costo del hardware?
Abordar aplicaciones más complejas.
¿Qué tamaño podían alcanzar los programas al aumentar la capacidad del hardware?
Decenas de miles o millones de instrucciones.
¿Cómo apoyan las técnicas formales la garantía de corrección?
Mediante demostraciones lógico-matemáticas.
¿A qué programas se limita el uso de técnicas formales?
A programas críticos de pequeño tamaño.
¿Qué son las buenas prácticas en el desarrollo de aplicaciones complejas?
Normas basadas en la experiencia de desarrollos anteriores.
¿Qué es el Manual de Estilo en un equipo de desarrollo?
El documento que compendia las buenas prácticas que todos deben seguir disciplinadamente.
Comprueba lo que sabes con un test de 28 preguntas de Fundamentos de programación.
1. ¿Qué distingue a una máquina manual de una automática?
2. ¿Cómo consigue una máquina programable modificar su funcionamiento?
Repasa el tema completo en el resumen de Fundamentos de programación.
Ver el resumen →Sube tus apuntes y la IA te genera flashcards en 30 segundos.
Generador de flashcards