You are on page 1of 11

UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERA Y ARQUITECTURA ESCUELA DE INGENIERA DE SISTEMAS INFORMTICOS INTRODUCCIN A LA INFORMTICA GUION DE CLASE No.

3 UNIDAD III LGICA ESTRUCTURADA: ESTRUCTURAS SECUENCIALES Objetivo: Aprender a utilizar las estructuras Secuenciales en el diseo de Solucin de problemas

INTRODUCCIN En la unidad anterior hemos aprendido a utilizar la metodologa para disear un algoritmo, y escribirlo en forma narrada. Ahora, estudiaremos la forma correcta de utilizar las estructuras secuenciales y representarlas mediante el uso de flujogramas. La correcta construccin de un esquema de una solucin es sumamente importante, porque a partir del mismo se escribe un programa en algn lenguaje de programacin. En esta unidad empezaremos a estructurar (o formar) nuestro mtodo para resolver problemas, con la metodologa propuesta en la Unidad II, de tal forma que todos podamos solucionar problemas y que comprendamos las soluciones de otros. I. LGICA ESTRUCTURADA: Es una tcnica de programacin, que nos ayuda a disear sistemticamente algoritmos libres de errores y que al ejecutarlos (o seguirlos) se obtenga la informacin requerida en el problema. Un algoritmo correcto es aquel que no tiene errores y adems hace lo que se espera que haga; es decir, que genere resultados correctos. Debemos recordar que un algoritmo consiste en un conjunto de pasos que se deben obedecer al pie de la letra para solucionar el problema, la tcnica de Lgica Estructurada consiste en resolver los problemas, o disear algoritmos, con nicamente tres posibles acciones: 1. Secuenciacin: Se obedece una orden tras otra, sin ninguna consideracin adicional. 2. Seleccin: Se elige una entre dos o ms alternativas posibles para obedecer. 3. Repeticin: Se repiten una o varias rdenes, las veces que sea necesario.

IAI-115

Ciclo I -2008

A stas posibles acciones se les conoce como Estructuras Lgicas de Control, ya que nos indican qu hacer en cada paso del algoritmo y cmo hacerlo. Las estructuras lgicas de control se dividen en: Secuenciacin Si_ Entonces_sino Mientras Seleccionar caso Desde_hasta Hacer hasta que

Fundamentales

Derivadas

Esas estructuras lgicas de control las iremos viendo una a una a nivel de diagrama de flujo y en cdigo de programacin (lenguaje C) II. DIAGRAMAS DE FLUJO O FLUJOGRAMA: 2.1 Definicin: Un DIAGRAMA DE FLUJO es una representacin visual o grfica de un algoritmo; est constituido bsicamente por una serie de bloques y flechas, cada uno de los cuales representa una operacin en particular y que estn normalizados por el Instituto Norteamericano de Normalizacin (ANSI). Ya que el Diagrama de Flujo permite visualizar la sucesin lgica de las operaciones de un proceso, debe expresar al menos: a) Los medios para entregar los datos al procesador (acciones de entrada) b) Los datos de salida requeridos (acciones de salida) c) Los pasos lgicos y aritmticos para resolver el problema (acciones de proceso). Las ventajas de la utilizacin, de Diagramas de Flujo son: a) Permiten expresar y comunicar un algoritmo en forma sencilla. b) Resultan de mucha utilidad en la planeacin, permitindonos, aclarar y comunicar la lgica a alguien ajeno al problema que se desea resolver. c) Permiten cierto grado de normalizacin en el diseo de soluciones, y d) Son flexibles, permiten hacer modificaciones. 2.2. Smbolos de los Diagramas de Flujo: Actualmente, se han desarrollado un gran nmero de smbolos estandarizados para facilitar la comunicacin; sin embargo, los ms usados son los siguientes: Smbolo Nombre Terminal Funcin
Representa el inicio o final del algoritmo.

IAI-115

Ciclo I -2008

Salida impresa

Representa una operacin de salida de datos impresa.

Entrada de datos

Indica que se alimentar con datos el algoritmo. Representa cualquier tipo de clculo matemtico o asignacin. Representan el orden o secuencia en el que se realizan las operaciones. Representa el punto donde se necesita tomar una decisin. (Proceso lgico).

Proceso Lneas de flujo

Decisin

Conector

Representa una interrupcin en el diagrama de flujo, marca el punto donde se suspende el flujo y donde contina, en la misma pgina.

Conector de pgina

Similar al anterior, pero este comunica dos partes de un flujograma dibujadas en distintas pginas.

Salida grfica

Indica que se obtiene una salida a travs de un dispositivo de video o pantalla.

Comentario

Expresa adicional.

una

explicacin

Repeticin

Indica que inicia un ciclo repetitivo. (Proceso lgico).

IAI-115

Ciclo I -2008

2.3

Reglas para la construccin de Diagramas de flujo (Flujogramas)1 Todo diagrama de flujo debe tener un inicio y un final. Las flechas de flujo del diagrama deben ser rectas, verticales y horizontales, y no deben cruzarse. Forma correcta

No deben ser inclinadas

Tampoco se deben cruzar

Todas las flechas de flujo deben estar conectadas al menos a un bloque del flujograma. El diagrama de flujo debe ser construido de arriba hacia abajo y de izquierda a derecha. Es necesario que cuando el diagrama de flujo es complejo, se utilicen comentarios que ayuden a comprenderlo. Si el diagrama de flujo requiere ms de una hoja para su construccin, se deben utilizar los conectores adecuados y enumerar las pginas convenientemente. No puede llegar ms de una flecha a un mismo bloque o smbolo.

No vlido

Vlido

2.4

Esquema General de un Diagrama de Flujo:

La forma ms general de un Diagrama de Flujo, se presenta en la figura siguiente:


Metodologa de la programacin. Algoritmos, diagramas de flujo y programas. 2. Edicin. Osvaldo Cair. Editorial Alfaomega. 2003.
1

IAI-115

Ciclo I -2008

Inicio Para efectuar el proceso, se recorre el Diagrama de Flujo desde su smbolo de inicio hasta llegar al smbolo de fin; la extensin de ese recorrido se denomina RANGO DEL DIAGRAMA. El proceso debe ser detallado utilizando los bloques o smbolos de la seccin 2.2, stos se pueden clasificar dentro de 3 tipos de estructuras: Estructuras Secuenciales Estructuras Selectivas Estructuras Repetitivas

Proceso

Fin

Nos dedicaremos por el momento a las estructuras secuenciales o bloques bsicos de secuenciacin. III. ESTRUCTURAS SECUENCIALES: 3.1 Bloques de Entrada de datos: El bloque de entrada de datos en un Diagrama de Flujo tendr bsicamente la forma siguiente:

Dentro del bloque deber aparecer: una sola variable, o una lista de variables separadas por comas correspondientes a los datos que se debern leer. Por ejemplo:

Ventas, Salario

Estos bloques deben ser interpretados como una instruccin para ejecutar los siguientes pasos: Leer los datos de entrada Asignar esos datos a las variables Ventas y Salario. 3.2 Bloques de Salida de Datos: El bloque de salida de datos en un Diagrama de Flujo, tendr bsicamente la forma siguiente:

IAI-115

Ciclo I -2008

Para indicar una salida impresa.

Indica una salida en pantalla.

Dentro del bloque debern aparecer los datos a imprimir o desplegar, separados por comas. Estos datos pueden ser: una o ms variables, una o ms constantes, o tambin mensajes entrecomillados o cadenas alfanumricas; adems,se pueden combinar constantes, variables y comentarios. Por ejemplo:

El precio es:, P

A, B, C

Nombre, Nom, ApellidosAp

Estos bloques imprimen en orden de aparicin: 1. En papel, la frase El precio es: y seguidamente el valor asociado a la variable P 2. En papel: los valores asociados a las variables A,B.C 3. En pantalla: la palabra Nombre y el valor (o palabra) asociada a la variable Nom y la palabra Apellidos y el valor almacenado en la variable Ap. Al ejecutar, seguir u obedecer un bloque de salida de datos se realizan los siguientes pasos: 1. Escribir o imprimir los mensajes o comentarios que aparecen dentro del bloque, son los que estn entrecomillados. 2. Extraer de la memoria los valores asociados a las variables e imprimirlos. 3.3 Bloques de Asignacin: La instruccin de asignacin que aparece dentro de un bloque de asignacin tendr alguna de las siguientes formas:

Variable

Expresin

Variable = Expresin

IAI-115

Ciclo I -2008

Una Expresin es un conjunto de datos que se relacionan por medio de operadores; recordemos que los datos pueden ser constantes y/o variables, y que los operadores representan una accin matemtica como suma, resta, etc. La expresin que aparece al lado derecho de la flecha o signo = puede ser: a. Una constante: A 6.4 A = 6.4 Se le asigna el valor de 6.4 a A b. Una variable: D K D=K Se almacena el valor asociado a K, en D M 5 * (D+1) + A M = 5 * (D+1) +A Se ejecuta el clculo y el resultado se asigna a M

c. Un clculo:

Los tres anteriores son ejemplos de expresiones aritmticas, ya que solo realizan clculos matemticos. No son vlidas 5*(D+1) + A = M

3=5

El efectuar una instruccin de asignacin involucra los siguientes pasos: a. Se deben extraer de la memoria los valores actuales de las variables que aparezcan al lado derecho de la flecha. b. Si la expresin del lado derecho de la flecha o signo = involucra un clculo, ste deber ser evaluado. c. Finalmente, se asigna el valor de esta expresin a la variable que aparece al lado izquierdo de la flecha. No se debe olvidar que la asignacin es destructiva, cada vez que se asigna un nuevo valor a una variable, el valor anterior se destruye. 3.3.1 Operadores Aritmticos Los operadores aritmticos son signos que nos indican un clculo, como suma o multiplicacin, entre otros; a continuacin se presentan los que utilizaremos en esta asignatura, su representacin puede variar, de acuerdo al lenguaje de programacin que se utilice. La simbologa utilizada en los siguientes ejemplos esta basada en la sintaxis del Lenguaje de Programacin C: Operacin Cambio de Signo Multiplicacin Divisin Suma Resta Smbolo * / + Tipo de resultado Entero o real Entero o real real Entero o real Entero o real Ejemplo - (-2)=2 3*A A/B A+3 B2

IAI-115

Ciclo I -2008

Residuo de divisin (Mdulo) 7 Residuo 1

Entero

7%2=1

2 3 cociente

3.3.2. Jerarqua. Las expresiones aritmticas que implican ms de un operador son evaluadas dependiendo de la jerarqua de los operadores. Operador
(Cambio de signo) -

Orden Mayor Menor

*, /,% +, -

3.3.3. Reglas de jerarqua 1- Se ejecuta primero el operador de ms alta jerarqua. 2- Operadores que tienen igual jerarqua s evalan de izquierda a derecha. 3- Si existen expresiones encerradas entre parntesis, stas se evalan primero. 4- Si la expresin tiene parntesis, al evaluarlos se mantiene dentro de ellos la jerarqua y se ejecutan de izquierda a derecha. 5- Si existen parntesis anidados se evalan primero los parntesis ms internos. Ejemplo: Paso 1)

(7 * (10 - 5) % 3) * 4 + 9 5

Paso 2)

(7 * 5 % 3) * 4 +9 35

Paso 3)

(35 % 3) * 4 +9 2

Paso 4)

2 * 4 +9 8

Paso 5)

8 + 9 17

El resultado de la expresin es 17

IAI-115

Ciclo I -2008

3.3.4. Funciones Existen una serie de funciones que nos ayudan a efectuar clculos. En el lenguaje de programacin C, las ms utilizadas son las siguientes: Funcin abs (x) sqrt (X) sin (x) cos (x) tan (x) exp (X) log (X) log10 (X) pow (x,a) Descripcin Proporciona el valor absoluto de X Devuelve la raz cuadrada de X Devuelve el seno de x Devuelve el coseno de X Devuelve la tangente des X Devuelve el exponencial de X Devuelve el logaritmo natural de X (base e) Devuelve el logaritmo decimal de X (base 10) Devuelve el resultado de la potenciacin, donde x es la base y a es el exponente

3.3.5.

Jerarqua Total Nombre Parntesis Funciones Cambio de Signo Multiplicacin, divisin, Residuo de divisin Sumas y restas Prioridad Mayor

Operacin
()

*, /,% +, -

Menor

Nota: Los parntesis no son operadores, son signos de agrupacin y nos sirven para indicarnos que se debe realizar primero, es decir rompen la jerarqua para que se evale primero lo que est contenido dentro de stos.

IV. EJEMPLO DEL DISEO DE UN FLUJOGRAMA SIGUIENDO LA METODOLOGA PARA RESOLVER PROBLEMAS. Enunciado del problema: Escriba un algoritmo (y represntelo en un diagrama de flujo) que permita calcular la hipotenusa de un tringulo rectngulo si se conocen sus catetos.

IAI-115

Ciclo I -2008

I. Planteamiento del problema: Entrada de Datos Salida de Datos

Catetos del tringulo II. Anlisis del problema: C1: C2: H: H= C2 a. Definicin de Variables de salida: NOMBRE H TIPO Real

Hipotenusa

C1

Cateto uno Cateto dos Hipotenusa C12


+

C22

DESCRIPCIN Representa el valor de la hipotenusa.

b. Definicin de Variables de Entrada: NOMBRE C1 C2 TIPO Real Real DESCRIPCIN Representa la longitud del cateto uno Representa la longitud del cateto dos

c. Restricciones: C1>0 y C2>0, para que pueda existir el tringulo. d. Proceso: X= Z= pow (C1, 2); X + Y; Y = pow (C2, 2) H = sqrt(Z)

e. Definicin de Variables de proceso: NOMBRE X Y TIPO Real Real DESCRIPCIN Almacena el cuadrado del cateto uno (C1) Almacena el cuadrado del cateto dos (C2)

IAI-115

10

Ciclo I -2008

Real

Representa la suma de los cuadrados de los catetos (X y Y)

f. Definicin de Constantes: No se requieren, en este caso III. Diseo de la solucin: Flujograma Inicio

C1, C2

X = pow(C1, 2)

Y = pow(C2, 2)

Z=X+Y

H = sqrt ( Z )

C1, C2, La
hipotenusa es:,

Fin

Milagro 2008

IAI-115

11

Ciclo I -2008