Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Estructura de Control Secuencial en Algoritmos y Programación, Apuntes de Elementos de Sistemas de Ingeniería

La Estructura de Control Secuencial en el contexto de la expresión de problemas y algoritmos, enfatizando su importancia en el diseño de algoritmos y su rol en el ciclo de programación. Se abordan temas como la depuración de errores sintácticos y lógicos, y se ilustra con ejemplos de algoritmos en seudocódigo y su seguimiento. También se incluye una sección de ejercitación con traducción de diagramas de flujo a seudocódigo.

Qué aprenderás

  • ¿Cómo traducir un diagrama de flujo a seudocódigo y realizar su seguimiento?
  • ¿Cómo se depuran los errores sintácticos y lógicos en un algoritmo?
  • ¿Cuál es la importancia de la Estructura de Control Secuencial en el diseño de algoritmos?

Tipo: Apuntes

2020/2021

Subido el 24/11/2021

alejandro-guerra-11
alejandro-guerra-11 🇦🇷

7 documentos

1 / 9

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Expresión de Problemas y Algoritmos
UNPSJB – Facultad de Ingeniería – Departamento Informática
Unidad 4: ESTRUCTURA DE CONTROL SECUENCIAL
EPyA 2021 1
4.1. ¿Qué es una estructura de control?
Las estructuras de control de un lenguaje de programación son métodos para especificar el orden en que se
ejecutarán las instrucciones (sentencias) de un algoritmo. Determinan el flujo de control. Son
fundamentales en los diseños de algoritmos.
Hay tres estructuras de control básicas:
Secuencia
Selección
Iteración o Repetición
La programación estructurada hace los programas más fáciles de escribir, verificar, leer y mantener; utiliza
un número limitado de estructuras de control que minimizan la complejidad de los problemas. En esta
unidad se estudia la estructura de control secuencial.
Un famoso teorema de los años sesenta, formulado por Edsger Wybe Dijkstra, demostraba que se puede
escribir cualquier programa utilizando únicamente las tres estructuras de control mencionadas.
Actualmente, la programación orientada a objetos (POO) busca reducir al máximo la cantidad de
estructuras de control mediante el uso de polimorfismo; pero aún así, todavía se vale de estas estructuras
para construir métodos (forma de comunicación de los objetos), los cuales podría decirse que son
equivalentes a los procedimientos que se plantean en la programación estructurada.
Dato Curioso
Edsger Wybe Dijkstra nació en Rotterdam, (Holanda) en 1930. En 1956 anunció su algoritmo de caminos mínimos;
posteriormente propuso el algoritmo del árbol generador minimal. A principios de la década de los 60, aplicó la idea de
exclusión mutua a la comunicación entre un computador y su teclado. Su solución de exclusión mutua ha sido usada en muchos
procesadores y tarjetas de memoria desde 1964, año en el que fue utilizada por IBM en la arquitectura del “IBM 360”. El
siguiente problema del que se ocupó Dijkstra fue el de los filósofos comensales. En este problema, cinco filósofos están sentados
en una mesa circular con un plato de arroz delante y un palillo a cada lado, de manera que hay cinco palillos en total. El
problema trata sobre el uso de recursos comunes sin que los procesos (los filósofos) lleguen a una situación de bloqueo mutuo;
además, que los recursos se utilicen por todos los procesos de la manera más eficiente. Dijkstra también contribuyó a desterrar el
comando GOTO de la programación: el comando "GOTO es considerado dañino. Cuantas más sentencias GOTO tenga un
programa, más confuso será el código fuente".
4.2. Estructura de Control Secuencial
Una Estructura Secuencial es aquella en la que una acción (instrucción o sentencia) sigue a otra en
secuencia. Las instrucciones se suceden de tal manera que la salida de una es la entrada de la siguiente, y
así sucesivamente hasta el final del proceso. La estructura de control secuencial es la más sencilla.
También se la conoce como estructura lineal.
pf3
pf4
pf5
pf8
pf9

Vista previa parcial del texto

¡Descarga Estructura de Control Secuencial en Algoritmos y Programación y más Apuntes en PDF de Elementos de Sistemas de Ingeniería solo en Docsity!

UNPSJB – Facultad de Ingeniería – Departamento Informática Unidad 4: ESTRUCTURA DE CONTROL SECUENCIAL

4.1. ¿Qué es una estructura de control?

Las estructuras de control de un lenguaje de programación son métodos para especificar el orden en que se ejecutarán las instrucciones (sentencias) de un algoritmo. Determinan el flujo de control. Son fundamentales en los diseños de algoritmos. Hay tres estructuras de control básicas:  Secuencia  Selección  Iteración o Repetición La programación estructurada hace los programas más fáciles de escribir, verificar, leer y mantener; utiliza un número limitado de estructuras de control que minimizan la complejidad de los problemas. En esta unidad se estudia la estructura de control secuencial. Un famoso teorema de los años sesenta, formulado por Edsger Wybe Dijkstra, demostraba que se puede escribir cualquier programa utilizando únicamente las tres estructuras de control mencionadas. Actualmente, la programación orientada a objetos (POO) busca reducir al máximo la cantidad de estructuras de control mediante el uso de polimorfismo; pero aún así, todavía se vale de estas estructuras para construir métodos (forma de comunicación de los objetos), los cuales podría decirse que son equivalentes a los procedimientos que se plantean en la programación estructurada. Dato Curioso Edsger Wybe Dijkstra nació en Rotterdam, (Holanda) en 1930. En 1956 anunció su algoritmo de caminos mínimos; posteriormente propuso el algoritmo del árbol generador minimal. A principios de la década de los 60, aplicó la idea de exclusión mutua a la comunicación entre un computador y su teclado. Su solución de exclusión mutua ha sido usada en muchos procesadores y tarjetas de memoria desde 1964, año en el que fue utilizada por IBM en la arquitectura del “IBM 360”. El siguiente problema del que se ocupó Dijkstra fue el de los filósofos comensales. En este problema, cinco filósofos están sentados en una mesa circular con un plato de arroz delante y un palillo a cada lado, de manera que hay cinco palillos en total. El problema trata sobre el uso de recursos comunes sin que los procesos (los filósofos) lleguen a una situación de bloqueo mutuo; además, que los recursos se utilicen por todos los procesos de la manera más eficiente. Dijkstra también contribuyó a desterrar el comando GOTO de la programación: el comando "GOTO es considerado dañino. Cuantas más sentencias GOTO tenga un programa, más confuso será el código fuente".

4.2. Estructura de Control Secuencial

Una Estructura Secuencial es aquella en la que una acción (instrucción o sentencia) sigue a otra en secuencia. Las instrucciones se suceden de tal manera que la salida de una es la entrada de la siguiente, y así sucesivamente hasta el final del proceso. La estructura de control secuencial es la más sencilla. También se la conoce como estructura lineal.

UNPSJB – Facultad de Ingeniería – Departamento Informática Unidad 4: ESTRUCTURA DE CONTROL SECUENCIAL La estructura secuencial tiene una entrada y una salida. Solamente los problemas muy sencillos pueden resolverse haciendo uso únicamente de esta estructura. Normalmente, la estructura secuencial forma parte de soluciones a problemas complejos en las que se la utiliza mezclada con estructuras iterativas (repetir varias veces un conjunto de instrucciones) y condicionales (tomar decisiones).

4.3. Verificar y depurar el algoritmo

Es muy difícil elaborar procedimientos perfectos en un primer intento y la dificultad aumenta a medida que los problemas se vuelven más complejos. Después de traducir el algoritmo en un lenguaje de programación, el procedimiento resultante debe ser probado y los resultados validados (revisión). A este proceso se le conoce como depuración y contribuye a mejorar la capacidad para resolver problemas puesto que la depuración basada en la retroalimentación es una habilidad útil para toda la vida (Stager, 2003). Figura: 1: Cuarta Fase del Ciclo de Programación Analizar el problema Traducir el algoritmo Diseñar el algoritmo Depurar un algoritmo

UNPSJB – Facultad de Ingeniería – Departamento Informática Unidad 4: ESTRUCTURA DE CONTROL SECUENCIAL En la detección y eliminación de errores en un procedimiento, cuenta mucho la cantidad de errores similares que el programador ha tenido oportunidad de resolver. La “experiencia” es un factor crucial; incluso, los errores que se recuerdan con mayor precisión son aquellos cuya corrección presentó mayor dificultad (Jonassen, 2003). Para realizar la prueba de escritorio (seguimiento del algoritmo) en este curso se utilizará la siguiente tabla: Orden de Ejecución Identificador Constante/Variable … Identificador Constante/Variable Descripción() 1 Vacío o valor en el paso … () n () celda sombreada: indica que el valor de Constante/Variable se imprime en pantalla (*) En esta columna se explica la acción en el paso, por ejemplo, cuando se usen estructuras selectivas e iterativas se indicará cuando se evalúa la condición o el comienzo y el final del/los bucle/s. Ejemplo: Realizar el seguimiento del algoritmo diseñado en la Unidad 3: Obtener el área de un triángulo rectángulo cuya base mide 3 cm y su altura es de 4 cm. Algoritmo en seudocódigo constantes {explicación de las constantes} div = 2 {almacena el divisor de la fórmula } base = 3 {almacena la base del triángulo} altura = 4 {almacena la altura del triángulo} variables {explicación de las variables} area: un número que representa el área resultante del triángulo rectángulo. {se conoce la medida de la base y la altura del triángulo} comienza area  basealtura/div escribir (area) termina {en la variable area está almacenado el valor calculado del área del triángulo rectángulo} Orden de Ejecución div^ base^ altura^ area^ Descripción 1 2 3 4 Comienza el algoritmo y las constantes tienen los valores asignados 2 2 3 4 6 Se guarda el resultado de la expresión de la derecha en la variable area 3 2 3 4 6 Se muestra en pantalla el valor contenido en la variable area 4 2 3 4 6 Finaliza el algoritmo

UNPSJB – Facultad de Ingeniería – Departamento Informática Unidad 4: ESTRUCTURA DE CONTROL SECUENCIAL 4.3.2 Problema: Calcular la suma y el producto de dos números ingresados por el usuario. (resolveremos el problema pasando por las cuatro fases del ciclo de programación)

Análisis del problema

Formulación Está correctamente formulado. Resultados Esperados El resultado de la suma y el producto de los números leídos. Datos Disponibles Es necesario obtener dos valores numéricos, que llamaremos numero1 y numero2. Restricciones numero1 y numero2 son datos variables Procesos Necesarios

  • Leer numero1 y numero2.
  • Guardar en la variable suma el resultado de numero1 + numero2.
  • Guardar en la variable producto el resultado de numero1 * numero 2.
  • Mostrar suma y producto.

Diseño del Algoritmo (diagrama de flujo)

UNPSJB – Facultad de Ingeniería – Departamento Informática Unidad 4: ESTRUCTURA DE CONTROL SECUENCIAL

4.4. Ejercitación

4.4.1 Dado el siguiente diagrama de flujo, traducir el algoritmo a seudocódigo y realizar el seguimiento del algoritmo para productoA = 150, productoB = 60.50 y productoC = 210, descuento = 0.20. Traducción del Algoritmo constantes descuento = 0.20 {almacena porcentaje de descuento a aplicar} variables productoA, productoB, productoC: almacena precio de productos comprados sumaVenta: almacena sumatoria de los precios valorDescuento: almacena valor a descontar Venta

UNPSJB – Facultad de Ingeniería – Departamento Informática Unidad 4: ESTRUCTURA DE CONTROL SECUENCIAL totalVenta: almacena total de la venta con descuento {productoA, productoB, productoC se desconocen} comienza leer (productoA,productoB,productoC) sumaVentaproductoA + productoB + productoC valorDescuento sumaVenta * descuento totalVentasumaVenta – valorDescuento sumaVenta 0 escribir(totalVenta) termina {totalVenta contiene el valor total de la venta con descuento} Seguimiento del algoritmo para productoA = 150, productoB = 60.50 y productoC = 210 () Orden de Ejecución descuento^ productoA^ productoB^ productoC^ sumaVenta^ valorDescuento^ totalVenta 1 0. 2 0.20 150 60.50 210 3 0.20 150 60.50 210 420. 4 0.20 150 60.50 210 42 0.50 84. 5 0.20 150 60.50 210 420.50 84.10 336, 6 0.20 150 60.50 210 0 84.10 336, 7 0.20 150 60.50 210 0 84.10 336, 8 0.20 150 60.50 210 0 84.10 336, () completar la columna de descripción 4.4.2 Una persona extranjera compró una estancia en la cordillera de la Patagonia Argentina. En los datos para la escritura indicó la extensión del campo en acres. Como la legislación argentina exige el uso del sistema métrico decimal, el escribano necesita calcular e imprimir la superficie del campo en hectáreas. Datos: extensionAcres variable que almacena la extensión del campo en acres. Recordar lo siguiente:  1 acre vale 4047 m 2  1 hectárea vale 10000 m^2