Apuntes de Programación Estructurada y Algoritmia en C

Repasa abstracción, requisitos de un algoritmo, paradigmas imperativo y estructurado, reglas de control en C y diseño de flujogramas para tus exámenes.

Fundamentos de Programación · Universidad Politécnica de Cataluña · Grado en Ingeniería Informática · 1.º curso

9 páginas · 2 temas · 4 flashcards · 8 preguntas tipo test

Índice

  1. Abstracción, algoritmos y paradigmas de programación · p. 3-5
  2. Reglas de estructuración y diagramas de flujo · p. 5-8

Abstracción, algoritmos y paradigmas de programación

Flashcards

¿En qué se diferencia la abstracción de datos de la abstracción de control?
La abstracción de datos interpreta combinaciones de bits dándoles significado, mientras que la de control regula el flujo de ejecución y habilita el uso de funciones.
¿Qué distingue a un enfoque heurístico de un algoritmo estándar?
El algoritmo convencional asegura una solución en cualquier ejecución, mientras que el heurístico ofrece soluciones probables sin garantizar el éxito en todos los escenarios.

Preguntas tipo test

  1. ¿Cuál es la función primaria de la abstracción de datos?
    • a) Sustituir a las funciones de control
    • b) Acelerar los ciclos del procesador
    • c) Dotar de significado a secuencias binarias
    • d) Eliminar variables del flujo computacional

    Respuesta: c) Dotar de significado a secuencias binarias. La abstracción de datos asigna interpretación semántica a las secuencias de bits manejadas por el ordenador.

  2. ¿Qué propiedad exige que un algoritmo termine tras una cantidad acotada de instrucciones?
    • a) Precisión estricta
    • b) Finitud de pasos
    • c) Modularidad imperativa
    • d) Divergencia heurística

    Respuesta: b) Finitud de pasos. La finitud exige que el conjunto total de instrucciones a ejecutar concluya en un número finito de pasos.

  3. ¿Qué elemento refleja el estado del cómputo en la programación imperativa?
    • a) La variable
    • b) La heurística
    • c) El conector de paso
    • d) El flujograma

    Respuesta: a) La variable. En el paradigma imperativo, las variables almacenan y representan el estado dinámico del proceso computacional.

Reglas de estructuración y diagramas de flujo

Flashcards

¿En qué consiste la regla del apilamiento?
Consiste en que cualquier instrucción individual puede sustituirse por una secuencia ordenada o por una estructura condicional o repetitiva completa.
¿Cuáles son las estructuras de C asignadas a la selección y a la repetición?
Para la selección se emplean if, switch y el operador ?; para la repetición se usan for, while y do-while.

Preguntas tipo test

  1. ¿Qué símbolo representa una decisión condicional con salidas Sí/No en un flujograma?
    • a) Romboide
    • b) Círculo con «C»
    • c) Rectángulo
    • d) Rombo

    Respuesta: d) Rombo. El rombo evalúa una condición lógica y divide el curso del programa según sea afirmativa o negativa.

  2. ¿Cuál es la función del conector circular con una «f» interior?
    • a) Indicar una función matemática
    • b) Introducir variables de entrada
    • c) Forzar un bucle repetitivo
    • d) Finalizar el algoritmo

    Respuesta: d) Finalizar el algoritmo. El círculo marcado con «f» señala el punto de terminación o final del flujograma.

  3. ¿Qué instrucción de C implementa un esquema de selección?
    • a) while
    • b) do-while
    • c) switch
    • d) for

    Respuesta: c) switch. La estructura switch gestiona alternativas de selección múltiple según el valor de una expresión condicional.

Y 0 flashcards y 2 preguntas más en el documento.

Texto del documento

APUNTES FUNDAMENTOS DE PROGRAMACIÓN Grado en Ingeniería Informática Universidad Politécnica de Cataluña AprenAI 2026-2027 Repasa abstracción, requisitos de un algoritmo, paradigmas imperativo y estructurado, reglas de control en C y diseño de flujogramas para tus exámenes. APREN.AI Índice 1 Abstracción, algoritmos y paradigmas de programación El concepto de abstracción en computación Definición y propiedades de un algoritmo Paradigmas imperativo y estructurado 2 Reglas de estructuración y diagramas de flujo Principios de la programación estructurada Representación gráfica mediante flujogramas Soluciones de las preguntas de repaso Estos apuntes pueden contener errores u omisiones.

Son un material de apoyo y no sustituyen al temario oficial ni al profesorado: contrasta la información importante. Apuntes de Programación Estructurada y Algoritmia en C 1 1 Abstracción, algoritmos y paradigmas de programación AL ACABAR SABRÁS Diferenciar la abstracción de datos frente a la de control. Identificar los cuatro requisitos formales de un algoritmo. Describir los componentes elementales de los paradigmas imperativo y estructurado. PIÉNSALO ANTES DE LEER 1 ¿Por qué un procesador no interpreta directamente los conceptos de un problema de cálculo?

El concepto de abstracción en computación La creación de software afronta una doble complejidad: la dificultad intrínseca del problema a resolver (cálculo, álgebra) y la complejidad propia de la arquitectura del ordenador. Para gestionar esta carga, la abstracción separa lo esencial de lo accesorio. Tipo de abstracción Función principal Abstracción de datos Otorga significado lógico a las secuencias de bits procesadas por la máquina. Abstracción de control Suministra estructuras ordenadas y la capacidad de encapsular operaciones mediante funciones.

Definición y propiedades de un algoritmo Un programa informático consiste en una secuencia delimitada de reglas o instrucciones que orientan a la máquina para resolver una tarea en un intervalo temporal acotado. Para que este conjunto de órdenes constituya formalmente un algoritmo, es indispensable que cumpla cuatro propiedades fundamentales: Finitud en pasos: El procedimiento debe concluir tras ejecutar un número finito de pasos. Precisión: Cada una de las acciones debe estar estrictamente definida y sin ambigüedades. Producción de resultados: Debe generar, como mínimo, una salida demostrable.

Finitud temporal: Todas las operaciones individuales tienen que poder realizarse dentro de un lapso de tiempo finito. Frente a las soluciones exactas, un método heurístico es un algoritmo que no garantiza hallar el resultado óptimo en la totalidad de los escenarios; no obstante, ofrece soluciones válidas en la mayoría de los casos a partir de criterios basados en la experiencia y la probabilidad. COMPRUEBA 2 ¿Por qué un método que resuelve un problema en pasos infinitos no califica como algoritmo?

Apuntes de Programación Estructurada y Algoritmia en C 2 ERROR FRECUENTE Confundir un algoritmo determinista con un método heurístico: el heurístico se apoya en probabilidades y experiencia previa, por lo que no asegura alcanzar el resultado en el 100 % de las ocasiones. Paradigmas imperativo y estructurado Un paradigma define el marco conceptual que rige el diseño, la lógica y la organización de un programa. El lenguaje C implementa principalmente los modelos imperativo y estructurado: Paradigma Mecanismos representativos Programación imperativa Uso de variables para reflejar el estado del cómputo, sentencias de asignación para modificar dichos valores, y división en acciones y funciones.

Programación estructurada Empleo de instrucciones de control análogas al lenguaje máquina pero de alta eficiencia, adaptadas también por otros paradigmas como la orientación a objetos. ESQUEMA Abstracción computacional IDEAS CLAVE La abstracción permite aislar los aspectos esenciales de un problema frente a la complejidad del hardware. Un algoritmo requiere finitud de pasos, definición rigurosa, tiempo limitado y al menos un resultado de salida. Los métodos heurísticos no aseguran una solución universal, pero resuelven la mayoría de los casos mediante experiencia y probabilidad.

El paradigma imperativo gestiona estados y asignaciones, mientras que el estructurado organiza el flujo mediante órdenes de control. COMPRUEBA LO QUE HAS APRENDIDO 3. ¿En qué se diferencia la abstracción de datos de la abstracción de control? 4. ¿Qué distingue a un enfoque heurístico de un algoritmo estándar? Abstracción Separa lo esencial de lo accesorio De datos Significado a secuencias de bits De control Estructuras y funciones delimitadas Apuntes de Programación Estructurada y Algoritmia en C 3 Test Rodea la respuesta correcta. Las soluciones están al final. 5. ¿Cuál es la función primaria de la abstracción de datos? 6.

¿Qué propiedad exige que un algoritmo termine tras una cantidad acotada de instrucciones? 7. ¿Qué elemento refleja el estado del cómputo en la programación imperativa? 8. ¿Cómo opera fundamentalmente un algoritmo heurístico? 2 Reglas de estructuración y diagramas de flujo AL ACABAR SABRÁS Interpretar los símbolos gráficos fundamentales de un diagrama de flujo. Relacionar las cuatro reglas estructuradas con sus respectivas palabras clave en lenguaje C. Representar gráficamente bloques secuenciales, selectivos e iterativos. PIÉNSALO ANTES DE LEER 9 ¿Cómo se consigue que un programa complejo no dependa de saltos desordenados de ejecución?

Principios de la programación estructurada La programación estructurada organiza el flujo lógico a partir de cuatro reglas de composición universales: Sustituir a las funciones de control a) Acelerar los ciclos del procesador b) Dotar de significado a secuencias binarias c) Eliminar variables del flujo computacional d) Precisión estricta a) Finitud de pasos b) Modularidad imperativa c) Divergencia heurística d) La variable a) La heurística b) El conector de paso c) El flujograma d) Garantiza el resultado en cualquier circunstancia a) Usa experiencia y probabilidad sin garantía universal b) Evita el empleo de instrucciones de asignación c) Ignora las limitaciones de tiempo del sistema d) Apuntes de Programación Estructurada y Algoritmia en C 4 Mecanismo Comportamiento lógico Sintaxis en C Secuencialidad Las instrucciones se suceden una tras otra respetando el orden escrito.

Yuxtaposición directa de sentencias Selección Bifurcación del camino de ejecución supeditada a una condición lógica. if, switch, operador ? Repetición Reiteración de un bloque de órdenes mientras se verifique una condición. for, while, do-while Apilamiento Posibilidad de reemplazar cualquier instrucción simple por una secuencia, selección o bucle completo. Composición anidada de bloques ERROR FRECUENTE Olvidar la regla de apilamiento en el diseño de algoritmos: cualquier sentencia elemental puede expandirse internamente en una estructura compleja de selección o ciclo sin alterar la coherencia global del flujo.

Representación gráfica mediante flujogramas Los flujogramas facilitan descomponer y estructurar la resolución de un problema de forma independiente del lenguaje de programación seleccionado, optimizando el análisis de tiempo y consumo. Esquema de símbolos normalizados para sentencias, condiciones, entradas y terminales. Cada figura geométrica posee una interpretación normalizada dentro del esquema: Rectángulo: Denota una sentencia de operación interna o cálculo (por ejemplo, ). Rombo: Representa una condición de bifurcación con salidas lógicas diferenciadas (Sí / No). Romboide: Simboliza operaciones de lectura de datos o escritura de resultados (entrada/salida, como leer a).

Círculo con letra «C»: Señaliza un conector continuo del diagrama. Círculo con letra «f»: Identifica la finalización formal del flujo algorítmico. a + b + c Apuntes de Programación Estructurada y Algoritmia en C 5 Diagrama de estructuras de control secuencial, selección y repetición con sintaxis C. Las tres construcciones maestras (secuencia, selección y repetición) se esquematizan gráficamente encadenando sentencias lineales, bifurcaciones condicionales cerradas y lazos de realimentación sobre la condición evaluada. COMPRUEBA 10 ¿Qué forma gráfica debe emplearse en un flujograma para pedir un dato al usuario y cuál para sumarle una constante?

PROCESO Construcción estructurada de programas 1 Secuencia Ejecución continua de órdenes yuxtapuestas 2 Selección Bifurcación lógica se gún condición evaluada 3 Repetición Ciclo iterativo supedi tado a condición 4 Apila miento Sustitución de accio nes por estructuras anidadas Apuntes de Programación Estructurada y Algoritmia en C 6 IDEAS CLAVE El código estructurado descansa en cuatro pilares: secuencialidad, selección, repetición y apilamiento. Los flujogramas modelan algoritmos de manera neutral respecto a la sintaxis del lenguaje final. Las figuras del flujograma separan sentencias de cálculo, decisiones lógicas y transferencias de entrada/salida. COMPRUEBA LO QUE HAS APRENDIDO 11.

¿En qué consiste la regla del apilamiento? 12. ¿Cuáles son las estructuras de C asignadas a la selección y a la repetición? Test Rodea la respuesta correcta. Las soluciones están al final. 13. ¿Qué símbolo representa una decisión condicional con salidas Sí/No en un flujograma? 14. ¿Cuál es la función del conector circular con una «f» interior? 15. ¿Qué instrucción de C implementa un esquema de selección? 16. ¿Por qué los flujogramas son independientes del lenguaje?

Romboide a) Círculo con «C» b) Rectángulo c) Rombo d) Indicar una función matemática a) Introducir variables de entrada b) Forzar un bucle repetitivo c) Finalizar el algoritmo d) while a) do-while b) switch c) for d) Porque representan la estructura lógica previa a codificar a) Porque solo admiten variables numéricas b) Porque sustituyen por completo al código ejecutable c) Porque prescinden de estructuras de repetición d) Apuntes de Programación Estructurada y Algoritmia en C 7 Soluciones de las preguntas de repaso 1. Porque el hardware solo procesa secuencias de bits; requiere capas de abstracción para transformar problemas matemáticos en instrucciones concretas. 2.

Porque incumple la condición indispensable de finitud; un algoritmo debe completarse obligatoriamente tras un número finito de operaciones y en un tiempo acotado. 3. La abstracción de datos interpreta combinaciones de bits dándoles significado, mientras que la de control regula el flujo de ejecución y habilita el uso de funciones. 4. El algoritmo convencional asegura una solución en cualquier ejecución, mientras que el heurístico ofrece soluciones probables sin garantizar el éxito en todos los escenarios. 5. c) Dotar de significado a secuencias binarias. La abstracción de datos asigna interpretación semántica a las secuencias de bits manejadas por el ordenador. 6. b) Finitud de pasos.

La finitud exige que el conjunto total de instrucciones a ejecutar concluya en un número finito de pasos. 7. a) La variable. En el paradigma imperativo, las variables almacenan y representan el estado dinámico del proceso computacional. 8. b) Usa experiencia y probabilidad sin garantía universal. Los métodos heurísticos se apoyan en la experiencia empírica y la probabilidad sin asegurar un resultado infalible en cada caso. 9. Restringiendo el flujo a bloques secuenciales, selectivos y repetitivos combinados mediante la regla de apilamiento. 10. Para pedir un dato se utiliza un romboide (entrada/salida), mientras que para sumarle una constante se emplea un rectángulo (sentencia de cálculo).

11. Consiste en que cualquier instrucción individual puede sustituirse por una secuencia ordenada o por una estructura condicional o repetitiva completa. 12. Para la selección se emplean if, switch y el operador ?; para la repetición se usan for, while y do- while. 13. d) Rombo. El rombo evalúa una condición lógica y divide el curso del programa según sea afirmativa o negativa. 14. d) Finalizar el algoritmo. El círculo marcado con «f» señala el punto de terminación o final del flujograma. 15. c) switch. La estructura switch gestiona alternativas de selección múltiple según el valor de una expresión condicional. 16. a) Porque representan la estructura lógica previa a codificar.

Modelan el flujo algorítmico conceptual sin depender de las particularidades sintácticas de un lenguaje específico. Apuntes de Programación Estructurada y Algoritmia en C 8

Más apuntes de Fundamentos de Programación

Exámenes, temas y apuntes de Fundamentos de Programación