





Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
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
Tipo: Apuntes
1 / 9
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
UNPSJB – Facultad de Ingeniería – Departamento Informática Unidad 4: ESTRUCTURA DE CONTROL SECUENCIAL
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".
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).
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)
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
UNPSJB – Facultad de Ingeniería – Departamento Informática Unidad 4: ESTRUCTURA DE CONTROL SECUENCIAL
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) sumaVentaproductoA + productoB + productoC valorDescuento sumaVenta * descuento totalVentasumaVenta – 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