Download - Resolucion de Problemas

Transcript
  • UNIVERSIDAD NACIONAL EXPERIMENTAL"FRANCISCO DE MIRANDA"

    COMPLEJO DOCENTE EL SABINODEPARTAMENTO DE GERENCIA

    Prof. Ing. Dubraska Delgado

    RESOLUCIN DE PROBLEMAS EMPLEANDO EL COMPUTADOR(Algoritmos, Componentes de los algoritmos, Diagramas de Flujo, Pseudocdigo)

    CONTENIDO:

    TEMA 2

    1. Fases para la Resolucin sistemtica de problemas

    a. Anlisis del problemab. Diseo del Algoritmoc. Implementacin

    2. Algoritmosa. Definicinb. Tipos de Algoritmos

    3. Lenguajes algortmicos4. Elementos Bsicos de los Algoritmos

    a. Datosb. Constantes y Variablesc. Expresiones

    5. Representacin de Algoritmosa. Diagrama de Flujo

    b. Pseudocdigo

  • Dubraska Delgado Estructuras Secuenciales

    1. FASES PARA LA RESOLUCIN DE PROBLEMAS

    Anlisis del Problema.

    Esta fase requiere una clara definicin donde se contemple exactamente lo que debe hacer el programa y el resultado o solucin deseada. Dado que se busca una solucin se precisan especificaciones de entrada y salida. Para poder definir bien un problema es conveniente responder a las siguientes preguntas:

    Qu entradas se requieren? (cantidad y tipo) Cul es la salida deseada? (cantidad y tipo) Qu mtodo produce la salida deseada?

    Diseo del Algoritmo

    En la fase de anlisis se determina qu hace el algoritmo. En la fase de diseo se determina cmo hace el algoritmo la tarea solicitada. Para representar la solucin algortmica podemos emplear, algunas herramientas de anlisis estructurado como lo son: diagrama de flujos y pseudocdigo. Ambos, permiten llegar a la solucin del problema siguiendo una serie de pasos. Los mtodos utilizados para el proceso del diseo se basan en el conocido divide y vencers. Es decir la resolucin de un problema complejo se realiza dividiendo el problema en subproblemas y a continuacin dividir estos subproblemas en otros de nivel mas bajo, hasta que sea implementada una solucin en la computadora. Este mtodo se conoce tcnicamente como diseo descendente (top-down) o modular.

    El diseo del algoritmo es independiente del lenguaje de programacin en el que se vaya a codificar posteriormente.

    Implementacin del Algoritmo

    Para implementar un algoritmo en la computadora, se debe ejecutar los siguientes pasos:

    Codificacin Compilacin y ejecucin Verificacin Depuracin Documentacin

    2/19

    Problema Principal

    Subproblema 1 Subproblema 2 Subproblema 3

  • Dubraska Delgado Estructuras Secuenciales

    Codificacin: Es la escritura en un lenguaje de programacin de la representacin de un algoritmo. Dado que el diseo del algoritmo es independiente del lenguaje de programacin utilizado en su implementacin, el cdigo puede ser escrito con igual facilidad en un lenguaje o en otro.

    Compilacin y Ejecucin: Una vez que el algoritmo se ha convertido en un programa fuente, es preciso introducirlo en memoria mediante el teclado y almacenarlo posteriormente en un disco. Esta operacin se realiza con un editor de texto, posteriormente el programa fuente se convierte en un archivo de programa que se guarda en un disco.

    El programa fuente debe ser traducido a lenguaje mquina. Este proceso se realiza con el compilador y el sistema operativo que se encarga prcticamente de la compilacin. Si al compilar el programa fuente se presentan errores (errores de compilacin), es necesario volver a editar el programa, corregir los errores y compilar de nuevo. Esto se repite hasta que ya no se presenten ms errores, obtenindose el programa objeto, el cual todava no es ejecutable directamente. Al ya no existir errores en el programa fuente se

    debe instruir al sistema operativo para que efectu la fase de montaje o enlace, del programa fuente con las libreras del programa del compilador. Este proceso de montaje produce un programa ejecutable.

    Cuando se ha creado un programa ejecutable este se puede ya ejecutar desde el sistema operativo con solo teclear su nombre. Suponiendo que no existen errores durante la ejecucin (errores en tiempo de ejecucin), se obtendr la salida de resultados correctos del programa.

    Verificacin y depuracin: Es el proceso de ejecucin del programa con una amplia variedad de datos de entrada, llamados datos de test o prueba como son: valores normales de entrada, valores extremos de entrada que comprueben los lmites del programa y valores de entrada que comprueben aspectos especiales del programa. Estos determinarn si el programa contiene errores o no.

    Al ejecutar un programa se pueden producir tres tipos de errores: Errores de Compilacin: Se producen normalmente por un uso incorrecto de las reglas del lenguaje

    de programacin, suelen ser errores de sintaxis. Errores de Ejecucin: Se producen por instrucciones que la computadora puede comprender pero

    no ejecutar. En estos casos se detiene la ejecucin del programa y se imprime un mensaje de error. Ejemplo de esto puede ser una divisin por cero.

    Errores Lgicos: Se producen en la lgica del programa y la fuente del error suele ser el diseo del algoritmo, son ms difciles de detectar puesto que el programa puede funcionar y no producir errores de compilacin ni de ejecucin pero regresar resultados incorrectos. En este caso se debe regresar a la fase de diseo, modificar el algoritmo, cambiar el programa fuente y compilar y depurar una vez ms.

    Documentacin: La importancia de la documentacin debe ser destacada por su influencia en la etapa final, ya que programas pobremente documentados son difciles de leer, mas difciles de depurar y casi imposibles de mantener y modificar. Puede ser interna y externa. La documentacin interna es la contenida en lneas de comentarios. La documentacin externa incluye anlisis, diagramas de flujo y/o pseudocdigos, manuales de usuarios con instrucciones para ejecutar el programa y para interpretar los resultados. La documentacin es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa. Estos cambios se denominan mantenimiento del programa. Adems es de buena costumbre para todo buen programador, dejar comentado su cdigo, esto es para que el futuro programador pueda darle mantenimiento fcilmente a el programa, o incluso, si es el mismo creador quien debe darle mantenimiento.

    3/19

  • Dubraska Delgado Estructuras Secuenciales

    2. ALGORITMO

    La resolucin prctica de un problema exige por una parte un algoritmo o mtodo de resolucin y por otra un programa o codificacin de aquel en un ordenador. Ambos componentes tienen su importancia; pero la del algoritmo es absolutamente esencial, mientras que la codificacin puede muchas veces pasar a nivel de ancdota.

    a. Definicin

    Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin a un problema especfico.

    b. Tipos de Algoritmos.

    Existen dos tipos y son llamados as por su naturaleza:

    Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los pasos del

    proceso.

    3. LENGUAJES ALGORTMICOS

    Un Lenguaje algortmico es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso. Existen dos tipos de Lenguajes Algortmicos:

    Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama de flujo).

    No Grficos : Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).

    4. ELEMENTOS BSICOS DE LOS ALGORITMOS.

    Los algoritmos y programas de computador, con independencia del lenguaje en que estn escritos, estn diseados para manipular informacin o datos.

    DATOS.

    Un dato es la expresin general que describe los objetos con los cuales opera una computadora. Existen dos tipos de datos: simples (sin estructuras) y compuestos (estructurados), los datos compuestos son conjuntos de partidas de datos simples con relaciones definidas entre ellos. Los datos simples son: numricos, lgicos y carcter.

    Datos Numricos: Es el conjunto de los valores numricos y puede ser expresado numrico entero (integer) y numrico real. Los enteros no tienen componentes fraccionarias o decimales y pueden ser negativos o positivos. Los reales siempre tienen un punto decimal. Este tipo de dato permite realizar operaciones aritmticas comunes. Datos lgicos : Tambin llamados booleanos es aquel que solo puede tomar uno de dos valores: verdadero (true) o falso (false),ya que representan el resultado de una comparacin entre otros datos (numricos o alfanumricos). Se utiliza para representar las alternativas (s/no) a determinadas condiciones

    4/19

  • Dubraska Delgado Estructuras Secuenciales

    Datos Alfanumricos: Es una secuencia de caracteres alfanumricos que permiten representar valores identificables de forma descriptiva, esto incluye nombre de personas, direcciones, etc. Es posible representar nmeros como alfanumricos, pero estos pierden su propiedad matemtica, es decir, no es posible hacer operaciones con ellos. Los caracteres son: alfabticos (A-Z), numricos (0-9) y especiales ( @ # $ % ^ & *). Este tipo de dato se representa encerrado entre comillas.

    Los datos pueden estar expresados como variables o como constantes.

    CONSTANTES Y VARIABLES

    Constantes: las constantes son elementos cuyo valor no cambia durante todo el desarrollo del algoritmo. Pueden ser Literales o Simblicas. Las constantes simblicas tienen un valor asignado y se identifican por un nombre. Una constante Literal es un valor que se utiliza como tal.

    Constantes Simblicas Constantes Literal2.012

    Valor: 3.80 230A

    Variables: las variables son elementos cuyo valor puede cambiar durante el desarrollo del algoritmo. Se identifican por un nombre y un tipo. El tipo determina el conjunto de valores que la variable puede tomar.

    Variable Valor TipoA 2 EnteroB 5 Entero

    Radio 2.5 RealCarac1 a CarcterCarac2 c Carcter

    Las variables pueden ser de tipo: entero, real, carcter, lgico o Cadena. Las constantes y Variables se utilizan para formar expresiones.

    EXPRESIONES

    Una expresin es una combinacin de operadores y operandos. Los operandos pueden ser constantes, variables u otras expresiones. Los operadores pueden ser aritmticos, lgicos, orientados al bit o relacionales. Segn sea el tipo de objetos que manipulan, se clasifican en : Aritmticas, Lgicas, Cadenas.

    1. Expresiones Aritmticas: Las expresiones son anlogas a las frmulas matemticas. Son combinaciones de operandos numricos (variables y constantes) y operadores aritmticos que pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero, si alguno de ellos es real, el resultado es real.o Operadores Aritmticos

    Operador Notacin Algebraica EjemploSuma + A+BResta - F-2

    Multiplicacin * A * CDivisin / B/15

    Potenciacin ** ^ S ^ 3Negacin - -Q

    5/19

  • Dubraska Delgado Estructuras Secuenciales

    o Prioridad de los Operadores Aritmticos: La evaluacin de las expresiones se realiza de Izquierda a derecha cuidando la prioridad de los operadores, los de prioridad mayor se evalan primero. La evaluacin de los operadores con la misma prioridad se realiza siempre de Izquierda a derecha. Si una expresin contiene subexpresiones encerradas entre parntesis, dichas expresiones se evalan primero. Las expresiones con parntesis anidados se evalan de dentro a fuera, el parntesis ms interno se evala primero. Dentro de una expresin los operadores se evalan as:

    Prioridad Operador Notacin Algebraica1 Potenciacin ** ^2 Negacin -3 Multiplicacin, Divisin * , /4 Suma ,Resta + , -

    Veamos algunos ejemplos

    a) 2*4+5*2 Se busca en la Expresin las operaciones con mayor prioridad 8+5*2 Resolvemos la de mayor prioridad como hay dos con el mismo grado se resuelve el de la izquierda 8+10 Entre la suma y el producto se resuelve el producto pues tiene mayor prioridad

    18 Da como resultado 18, debido a que el producto tiene mayor prioridad que la suma.

    b) (2*4+5)*2 Al existir parntesis se resuelve primero la subexpresin buscando la operacin de mayor grado

    (8+5) *2 se resuelve primero el producto y persiste el parntesis pues an hay operandos y operadores 13*2 se elimina el parntesis pues ya no existen operadores solo un operando

    26 da como resultado 26 puesto que primero se evale en parntesis.

    1. SELECCIN SIMPLE

    1. Los elementos Bsicos de los algoritmos son:

    Datos, entradas, clculos y expresionesEntradas, salidas y procesosLos clculos, la lectura y la escrituraDatos, constantes, variables y expresiones

    2. Los Tipos de datos son:

    Constantes, variables, enteros y palabras reservadas

    Enteros, Reales, alfanumrico y, carcter Imprimir, Leer, Definir y clculos Enteros, reales, constantes y Variables

    6/19

    AUTOEVALUACIN

  • Dubraska Delgado Estructuras Secuenciales

    3. El orden de evaluacin de la siguiente expresin ( 2 + 2 * * 3 / 4) es:

    Suma, luego la divisin y finalmente la potencia

    Suma, luego la potencia y finalmente la divisin

    Divido, luego sumo y finalmente resuelvo la potencia

    Resuelvo la potencia, luego divido y finalmente suma

    4. En la fase de anlisis:

    Se especifican cmo solucionar, el problema se divide en problemas ms pequeos.

    Se especifican entradas, salidas y los mtodos para producir la salida deseada

    Se escribe en un lenguaje de programacin la representacin de un algoritmo.

    Se documenta la solucin del problema

    5. La documentacin interna es:

    Referida a los manuales de usuario con instrucciones para ejecutar el programa e interpretar los resultados

    La escritura en un programa empleando un lenguaje de programacin

    La contenida en las lneas del programa a manera de comentario

    Los diagramas de flujo y pseudocdigo6. Los tipos de errores que se pueden

    producir al ejecutar un programa son: Errores de anlisis, errores de diseo y

    errores de codificacin Errores de compilacin, errores de ejecucin y

    errores lgicos. Errores de codificacin, errores de

    compilacin y errores lgicos Errores de anlisis, errores de ejecucin y

    errores de codificacin

    1. Determine cul es el valor de cada una de las siguientes expresiones.

    2. Evaluar cada una de las siguientes expresiones aritmticas: Para valores a = 3, b = 2, c =1, d = 8, f = 4

    a. a * b / c * d Resultado: 48 b. a ** b + d / c 6 Resultado: 11c. a + 2 * (3 + b) **f Resultado: 1253 d. 3 * ( a ** ( b / c) ) + 5 Resultado: 32e. ( a + 1)** 2 / b c * a * f + 18 / c 3 * d Resultado: -10 f. ( a * ( b + c) ) 2 * a + ( 4 * d f ) * a * ( b + c ) + c * ( d + f) Resultado: 267g. (a+b*d) + 2 * (b+f) ** ((a+ b) *c - 2) /b * c Resultado: 235

    7/19

    a. 15 * 14 3 * 7 Resultado: 189b. - 4 * 5 * 2 Resultado: -40c. (24 + 2 * 6) / 4 Resultado: 9d. 3 + 4 * (8 * (4 + (19 - 4) / 5 )) Resultado: 227e. 4 * 3 * 5 + 8 * 4 * 2 5 Resultado: 119f. 4 40 / 5 Resultado: -4

    EJERCICIOS

  • hi

    Dubraska Delgado Estructuras Secuenciales

    3. Escribir las Siguientes expresiones matemticas como expresiones de Computadoras.

    X + 1 Y

    X + Y X Y

    X + Y Z . X - Y . Z

    b c + d

    (a + b) c . d

    [( a + b)2] 2 XY 1 4ZX

    XY mn

    (x + y)2 * (a b) L = (x + y) 2 * (a b) +3.b 5x+2b 6 a 2

    5

    (x + y)2 * (a b) + 3bm= Z

    5X ( 2+X ) (2 -X)

    m * n3 + 3n * 5 + 9 5x 3 + b Valor = 2a

    ( 5 + 3x ) + 3 - 2 2 5

    3 + m

    RESPUESTAS EXPRESIONES

    3. (a) x/y + 1 (f) [ (a + b) ** 2 ] ** 2 (b) (x / y) / (x - y) (g) (x * y) / ( 1 4 * z * x) (c) (x + y / z) / (x y / z) (h) (x * y) / (m * n) (d) b / (c + d) (i) (x * y) ** 2 * (a b) (e) (a + b) * (c / d) (j) L= [ ( ( x + y) ** 2 ( a b ) + 3 * b) / z ] / [ (5 * x ) + 2 * b - 6 * ( a ** 2 / 5 ) ] (k) m = [ ( ( x + y) ** 2 ( a b ) + 3 * b) / z ] / [ (5 * x ) / ( ( 2 + x) * ( 2 - x) ) ] (l) valor = [ ( ( ( m* n* 3) / ( 5 * x ) ) +( ( 3 * n * 5) / (3 + b) ) + 9 ) / (2 * a) ] / [( ( 5 / 2 + 3 * x ) + 3 / 5 - 2 ) / ( 3 + m) ]

    8/19

    a bc

    d

    ee

    f g

    kj

    l

  • Dubraska Delgado Estructuras Secuenciales

    2. Expresiones Lgicas: Es una expresin que solo puede tener uno de dos valores, verdadero o falso. Se forman combinando constantes lgicas, variables lgicas y otras expresiones lgicas utilizando los operadores lgicos AND, OR, NOT y los operadores relacionales =,>,=, A>BMenor que < H = A >=BMenor o igual que

  • Dubraska Delgado Estructuras Secuenciales

    AND o Y : es un operador binario, afecta a dos operadores. La expresin formada es cierta cuando ambos operandos son cierto.

    Expresin 1 Operador Expresin 2

    Resultado

    Verdadero AND Verdadero VerdaderoVerdadero AND Falso Falso

    Falso AND Verdadero FalsoFalso AND Falso Falso

    NOT o NO: es un operador unario, afecta a la expresin cambiando su estado lgico, si era verdad lo transforma a falso; y viceversa.

    Operadores Lgicos: Los operadores Lgicos son NOT, AND y OR. NOT es la negacin de una proposicin en tanto que los valores de AND (y) y OR(o) se recogen en la tabla de verdad. La regla de estos operadores sigue el orden mostrado en esta tabla:

    Operador Notacin Algebraica

    Ejemplo

    Negacin NOT NOT (A)Conjucin o Y lgico AND H AND DDisyucin o O lgico OR A OR B

    Veamos algunos ejemplos

    a) NOT (A=Z)NOT ( Falso) A no es igual que ZVerdadero Al ser el operador NOT un operador Unario cambia el resultado de la expresin

    b) NOT (2 Y-3) or (X > Y-1)) and (Y < 5)

    d) d) - (A or B ) and(C and B)

    e) e) Valor := (resp=T) or (resp=t) verdadero si resp toma el valor de T o t de lo contrario es falso

    3. Expresiones Alfanumricas: Usadas para unir datos alfanumricos. Involucran operandos de tipo alfanumrico y el operador concatenacin (+). Estas expresiones al ser evaluadas dan como resultado una cadena de caracteres.

    Operador Notacin Expresin ResultadoConcatenacin + Pseudo +

    cdigoPseudocdigo

    3 + , + 1416 3,1416

    10/19

  • Dubraska Delgado Estructuras Secuenciales

    4. Expresiones Mixtas: Son aquellas que combinan expresiones numricas con expresiones lgicas o alfanumricas. Para evaluar esta expresin se estiman las siguientes reglas:

    1. Parntesis(empezando por los ms internos).2. Potencias3. Productos y Divisiones4. Sumas y Restas5. Concatenacin6. Relacionales7. Lgicos

    1. Evale las siguientes expresiones y determine en cada caso si se cumple o no; es decir, si el resultado es verdadero o falso; sabiendo que Num1 y Num2 tienen asignados los valores 3 y 6 respectivamente.

    a) Num1 > Num2 Resultado: Falsob) Num2 >= Num1 + 3 Resultado: Verdaderoc) (2 + 3 * Num1) 6 +(Num2 - 1) Resultado: Falsod) (1 + (2/2) / Num2 )= (Num2 * 3) Resultado: Verdaderog) 24 * ( 2 * Num1 * Num2) = 0 Resultado: Verdaderoh) Num2 > = Num2 Num1 * Num1 Resultado: Verdaderoi) Num2 + Num1 = ( ( 2 * Num1 ) / Num1) * 2 + 5 Resultado: Verdaderoj) (( Num1 * 2 > Num2 3) OR (Num1 > Num2-1)) AND (Num2 < 5) Resultado: Falsok) (Num2 > = Num2 Num1 * Num1 ) AND (Num1 > Num2 ) Resultado: Falsol) NOT (Num2 + Num1= Num1 + 3 ) Resultado: Falsom) NOT [( ((15 + Num1)*2 )> (num2 / 2) ) OR (((num2+ 2)**2)

  • Dubraska Delgado Estructuras Secuenciales

    RESULTADO Para Num1 =-48 y Num2= 7

    (a) Falso (b) Verdadero (c) Verdadero (d) Falso (e) Falso (f) Falso (g) Falso (h) Verdadero (i) Falso (j) Falso (k) Falso (l) Falso

    3. Evale las siguientes expresiones, y determine en cada caso si es verdadero o falso. Donde X1 = 3, X2 = 5 , X3 = 2

    a. (X1 + X2) < (2*X1) Resultado: Falsob. X1 * (X2 - X3 ) < > X1 Resultado: Verdaderoc. X2 = X1 + X3 Resultado: Verdaderod. NOT ( (X1 + X2) < X3 ) AND ( X2 = X1 + X3 ) Resultado: Verdaderoe. ( (2 * X3) = X1 + 1 ) OR ( X2 < X3 + X1 ) Resultado: Verdaderof. ( X3 + X1 * X3 ) + 2 * ( X2 + X1 ) < > (X3 + X2) * X1 + 2 * X2 + X1 Resultado: Verdadero

    4. Dado los siguientes enunciados, extraiga las expresiones aritmticas presentes. Asignado el resultado de la operacin a una variable llamada Calculo sabiendo que se emplean dos variables enteras llamadas Num1 y Num2

    a. La suma de los dos nmeros dividido entre tresb. El cuadrado del primer nmero mas el producto del primero por el segundoc. El cubo del segundo nmero por el cuadrado del primer nmerod. La diferencia del primer nmero menos el segundo elevado a la seise. La mitad del primer nmero mas el producto del primer nmero por el segundo nmero elevado a la cuatrof. El primer nmero lo multiplique por dos el resultado lo eleve a la ocho, luego lo reste al producto del primer nmero por el segundo

    RESPUESTAS EJERCICIO 4

    4. a) calculo:= (Num1 +Num2)/ 3 b) calculo:= Num1**2 + Num1*Num2 c) calculo:= Num2 ** 3 * Num1**2 d) calculo:= (Num1 - Num2)**6 e) calculo:= Num1 / 2 + Num1* Num2**4 f) calculo:= ( Num1 * 2) ** 8 Num1* Num2

    12/19

  • Dubraska Delgado Estructuras Secuenciales

    5. REPRESENTACIN DE ALGORITMOS.

    Para representar un algoritmo se necesita utilizar algn mtodo que permita independizar un algoritmo del lenguaje de programacin elegido. Esto permitir que un mismo algoritmo pueda ser codificado en diferentes lenguajes. Los mtodos usuales para representar algoritmos son:

    Diagrama de flujo Pseudocdigo

    a. DIAGRAMA DE FLUJO

    Es un esquema para representar grficamente un algoritmo. Se basan en la utilizacin de diversos smbolos para representar operaciones especficas. Se les llama diagramas de flujo porque los smbolos utilizados se conectan por medio de flechas para indicar la secuencia de operacin. Para hacer comprensibles los diagramas a todas las personas, los smbolos se someten a una normalizacin; es decir, se hicieron smbolos casi universales, ya que, en un principio cada usuario podra tener sus propios smbolos para representar sus procesos en forma de Diagrama de Flujo. Esto trajo como consecuencia que slo aquel que conoca sus smbolos, los poda interpretar. La simbologa utilizada para la elaboracin de diagramas de flujo es variable y debe ajustarse a un patrn definido previamente."

    a.1. Smbolos de los Diagramas de Flujos

    SMBOLO DESCRIPCIN

    Elipse

    Inicio/Fin: Representa el inicio y fin de un programa. Tambin puede representar una parada o interrupcin programada que sea necesaria realizar en un programa.

    Rectngulo

    Proceso: Cualquier tipo de operacin que pueda originar cambio de valor, formato o posicin de la informacin almacenada en memoria, operaciones aritmticas, de transformaciones, etc.

    Paraleleppedo

    Entrada: Cualquier tipo de introduccin de datos en la memoria desde los perifricos o registro de informacin procesada en un perifrico.

    Rombo

    Decisin: Indica operaciones lgicas o de comparacin entre datos (normalmente dos) y en funcin del resultado de la misma determina (normalmente si y no) cual de los distintos caminos alternativos del programa se debe seguir

    Crculo

    Conector: Sirve para enlazar dos partes cualesquiera de un diagrama a travs de un conector en la salida y otro conector en la entrada. Se refiere a la conexin en la misma pagina del diagrama

    pentgono

    Conector de Pgina: Empleado para continuar con el diagrama de flujo en otra pgina se emplea al final de la pgina previa y al comienzo de la siguiente haciendo referencia al nmero de pgina del cual proviene

    Hexgono

    Ciclo: Smbolo Para representar una estructura de control repetitiva, es decir sonde el numero de iteraciones o repeticiones es mas de una.

    13/19

  • Dubraska Delgado Estructuras Secuenciales

    SMBOLO DESCRIPCIN

    FlechasFlecha: Indica el sentido de la ejecucin de las operaciones

    Salida por Pantalla: Se utiliza en ocasiones en lugar del smbolo de salida. Es usado para mostrar datos o resultados en pantalla.Salida por Impresora: Se utiliza en ocasiones en lugar del smbolo de salida. El dibujo representa un pedazo de hoja. Es usado para mostrar datos o resultados impresos.

    a.2. Cmo Representar Diagramas De Flujos

    Para representar algoritmo estructurado mediante diagrama de flujo es recomendable:

    1. Debe indicar el inicio y el Fin del diagrama. 2. Los flujos que conectan los smbolos se dispondrn de arriba abajo, de izquierda a derecha. Tal

    como usted lee. 3. Las lneas de flujo deben ser verticales u horizontales, nunca diagonales. Adems de entrar al

    smbolo por la parte superior o izquierda y salir del mismo por la parte inferior o derecha. 4. Evitar en lo posible el cruce de lneas de flujo empleando conectores adecuados sin abusar en su

    uso.5. Evitar en la medida de lo posible, que el diagrama sobrepase una pgina.

    Veamos algunos ejemplos:

    ALGORITMO CUALITATIVO ALGORITMO CUANTITATIVO

    ENUNCIADO:Elabore un algoritmo para preparar salsa rosada

    ENUNCIADO:Elabore un algoritmo que solicite dos nmeros enteros, calcule la suma y a continuacin muestre el resultado de la suma impreso

    14/19

    Inicio

    Fin

    a , b

    suma

    Suma= a + b

    Ingrese dos nmeros enteros

    Inicio

    Fin

    Mayonesa y salsa de tomate

    Mezclar los ingredientes

    Salsa rosada

    Buscar ingredientes

  • Dubraska Delgado Estructuras Secuenciales

    b. PSEUDOCDIGO

    Es una herramienta de anlisis estructurado en la que las instrucciones se escriben en palabras en ingls o espaol, es muy efectiva para el seguimiento de la lgica de un algoritmo el cual facilita la codificacin del mismo a un lenguaje de programacin en particular; ya que un pseudocdigo por s mismo no puede ser ejecutado por una computadora.

    El pseudocdigo, puede ser empleado cuando la lgica del proceso involucra frmulas o iteraciones, o cuando las decisiones estructuradas no son complejas, basado en instrucciones organizadas en procedimientos anidados y agrupados, y enunciados en lenguaje simple tales como sumar, multiplicar, mover, etctera. En definitiva, se pretende llegar a la solucin de un determinado problema, haciendo uso de estructuras ms simples, las cuales se conocen como estructuras secuenciales, estructuras de seleccin o condicin y estructuras repetitivas o de iteracin.

    b.1. Cmo Escribir En Lenguaje Estructurado En Pseudocdigo

    Para escribir algoritmo estructurado es recomendable usar las siguientes convenciones:

    1. Exprese toda la lgica en trminos de estructuras secuenciales, estructuras de decisin, estructuras de iteracin.

    2. Use y ponga en maysculas las palabras claves aceptadas, tales como: INICIO, FIN, IMPRIMIR, LEER, SI, ENTONCES, SINO, HAGA MIENTRAS, DESDE HASTA, REPETIR HASTA.

    3. Deje sangra a los bloques de enunciados para mostrar claramente su jerarqua (anidada)

    4. Exprese los enunciados lgicos claramente empleando los operadores indicados (operadores lgicos AND OR, operadores relacionales =, =, < >) recuerde que cada operador permite comparar dos elementos a la vez no tres ni cuatro simultneamente.

    b.2. ESTRUCTURAS SECUENCIALES

    La estructura secuencial es aquella en la cual las instrucciones se ejecutan en el mismo orden en que son dispuestas en el algoritmo, es decir, una instruccin sigue a otra en secuencia. Las tareas se ejecutan de tal modo que, la salida de una, es la entrada de la siguiente instruccin y as sucesivamente hasta llegar al final del proceso.

    Un algoritmo se elabora haciendo uso de estructuras secuenciales, en tal sentido, se maneja un nivel de complejidad muy bajo; ya que solo est representado por las siguientes operaciones:

    EscrituraLecturaAsignacin

    Escritura:

    Es la operacin que permite mostrar informacin al usuario, bien sea mediante mensajes de solicitud de datos de entrada o mensajes para mostrar los resultados de las operaciones realizadas en el algoritmo. El formato se muestra a Continuacin

    15/19

  • Dubraska Delgado Estructuras Secuenciales

    FORMATO:

    IMPRIMIR (Dentro de comillas van los mensajes, las variables se muestran directamente) IMPRIMIR (Variable)

    DONDE:IMPRIMIR(): Es una instruccin que permite mostrar informacin

    Lectura:

    Es la operacin que permite recibir datos de entrada por parte del usuario, empleando para ello variables definidas previamente con los tipos de datos simples (enteros, real, alfanumrico, carcter). Si requiere ms de un valor simultneamente, las variables se separarn con comas. El formato se muestra a Continuacin

    FORMATO:LEER (Variable)

    DONDE:LEER(): una instruccin que permite recibir datos de entradaVariable: rea donde se guardan los datos temporalmente

    Asignacin:

    Es la operacin que permite fijar o modificar el valor de una variable, el operador de asignacin bsico es el signo de igualdad (=), que da el valor que lo sigue a la variable que lo precede. La operacin de asignacin es destructiva, ya que el valor que tenga la variable antes de la asignacin se pierde y se reemplaza por el nuevo valor. El formato se muestra a Continuacin

    FORMATO:NombreVariable = valor;

    DONDE:NombreVariable: es un nombre de identificador vlido donde se guardaran los datos temporalmente

    Valor: Valor de cualquiera de los tipos de datos simples

    16/19

  • Dubraska Delgado Estructuras Secuenciales

    b.3. ESTRUCTURA DE UN ALGORITMO EN PSEUDOCDIGO

    INICIO DEL ALGORITMO nombredelAlgoritmo;

    DEFINIR

    Variables y Constantes

    INICIO IMPRIMIR (los mensajes entre comillas simples); LEER (lista de variables); CALCULOS; IMPRIMIR(los resultados puede alternar variables y mensajes);

    FIN

    FIN DEL ALGORITMO nombredelAlgoritmo.

    EJEMPLO N 1 EJEMPLO N 2

    ENUNCIADO:Elabore un algoritmo que calcule el rea de un rectngulo

    ENUNCIADO:Elabore un algoritmo que solicite dos nmeros enteros, calcule la suma y a continuacin muestre el resultado de la suma impreso

    INICIO DEL ALGORITMO rectngulo; DEFINIR alt, base, area: real; INICIO IMPRIMIR (Ingrese altura y base del rectngulo); LEER(alt, base); area = alt * base; IMPRIMIR (El rea del rectngulo es:, area); FIN;FIN DEL ALGORITMO rectngulo.

    INICIO DEL ALGORITMO sumando; DEFINIR a, b, suma: entero; INICIO IMPRIMIR (Ingrese dos nmeros enteros); LEER(a, b) ; Suma = a + b; IMPRIMIR (La suma da:, suma); FIN;FIN DEL ALGORITMO sumando.

    17/19

    Cuerpo principal del

    Algoritmo

    Cuerpo de Declaraciones

    Cabecera del Algoritmo

  • Dubraska Delgado Estructuras Secuenciales

    Resuelva los siguientes algoritmos empleando diagrama de flujo y pseudocdigo.

    1. Elaborar un algoritmo en Pseudocdigo que calcule la suma y la diferencia de dos nmeros ledos por teclado muestre ambos resultados en pantalla

    2. Elabore un programa que realice la conversin de pulgadas a cm. Donde 1cm. = 0.39737 pulgadas. Por lo tanto, el usuario proporcionara el dato de N pulgadas y el algoritmo mostrar a cuantos centmetros equivale. 3. Elaborar un programa en el que se soliciten dos (2) nmeros enteros y se calcule el cuadrado y el cubo de cada nmero. Se mostrar el Siguiente mensaje:

    El cuadrado del primer nmero es :___________ El cuadrado del segundo nmero es :___________ El cubo del primer nmero es :___________ El cubo del segundo nmero es :___________

    4. Una farmacia aplica al precio de venta de los remedios el 10% de descuento. El regente de la farmacia desea luego de conocer el monto de la compra hecha por el cliente, mostrarles el descuento otorgado por los medicamentos y el precio final que cancelar luego de aplicado el mismo.

    5. Cules son los resultados visualizados por el siguiente programa si los datos proporcionados son A = 5 y B= 8?

    INICIO DEL ALGORITMO Prueba; DEFINIR M = 6; A, B, C: entero; INICIO A,B,C= 0; IMPRIMIR (Introduzca dos nmeros enteros); LEER (A, B); C= 2 * A B; IMPRIMIR (EL VALOR DE C ES: , C); C= C M; B= A + C M; IMPRIMIR (EL VALOR DE B ES: , B); A= B * M; IMPRIMIR (EL VALOR DE A ES: , A); B= B 1; IMPRIMIR (LOS NUEVOS VALORES DE B y C SON: , B, C);FIN;

    FIN DEL ALGORITMO Prueba.

    18/19

    EJERCICIOS

  • Dubraska Delgado Estructuras Secuenciales

    6. Elaborar un Programa en Pseudocdigo que calcule el salario semanal de un trabajador, solicitando el precio por Hora y el nmero de horas trabajadas diariamente. Muestre el salario Semanal del Trabajador.

    7. En una competencia atltica de velocidad el tiempo se mide en minutos, segundos y centsimas de segundo y, el espacio recorrido se mide en metros. Disee un algoritmo para determinar la velocidad promedio de un atleta en km/hr. Considere que: 1 hora = 60 minutos, 1 minuto = 60 segundos, 1 segundo = 100 centsimas de segundo, 1 kilmetro = 1000 metros.8. Disee un algoritmo que dada la cantidad total de estudiantes y la cantidad de mujeres, determine el porcentaje de varones y de mujeres que hay en un saln de clases.

    9. Un alumno quiere calcular la nota final que obtuvo en Clculo. Se sabe que en el curso se tomaron tres pruebas, la primera de ellas con un valor de 20% de la nota final, mientras que las otras dos tienen un valor de 30% cada una. Adems, la nota obtenida en talleres y asignaciones tiene un peso de 20%. Elabore una solucin algortmica que ayude a este alumno a resolver su problema.10. Un sistema de ecuaciones lineales

    fcydxcbyax

    =+

    =+

    Se puede resolver con las siguientes frmulas:

    bdaebfcex

    =

    bdaecdafy

    =

    Disear un algoritmo que lea dos conjuntos de coeficientes (a, b y c; d, e y f) y visualice en pantalla los valores de x e y.

    11.Pepe sali a celebrar su cumpleaos con un grupo de amigos y decidieron ir a comer a un restaurante. Ellos acostumbran pagar la cuenta por partes iguales, es decir, cada uno paga lo mismo. Sin embargo, la cuenta incluye el consumo de todos los comensales, y no considera el IVA (19%) ni la propina. Pepe y su grupo de amigos acostumbran dejar un 10% como propina. El problema es que no saben cunto debe pagar cada uno.

    12. Ricardo, guardaba sus mas preciados tesoros en una caja fuerte bien oculta en su casa, en una oportunidad quiso abrirla para obtener un objeto preciado que deseaba regalarle a su hijo, para su sorpresa cuando se encontr frente a la caja fuerte advierte que olvido la combinacin. Luego de meditar por largo tiempo, logr evocar ciertas pistas que le permitiran descifrar la clave. Ayude a Ricardo a descifrar la combinacin. Estas son las 5 pistas que el tiene:

    a. El quinto nmero mas el tercero equivalen a 14, b. El cuarto nmero es uno mas que el segundo nmero, c. El primer nmero es uno menos que dos veces el segundo nmero, d. El segundo nmero mas el tercer nmero equivalen a 10,e. la suma de todos los nmeros es 30.

    19/19

    Anlisis del Problema.Diseo del AlgoritmoImplementacin del AlgoritmoLa estructura secuencial es aquella en la cual las instrucciones se ejecutan en el mismo orden en que son dispuestas en el algoritmo, es decir, una instruccin sigue a otra en secuencia. Las tareas se ejecutan de tal modo que, la salida de una, es la entrada de la siguiente instruccin y as sucesivamente hasta llegar al final del proceso. Un algoritmo se elabora haciendo uso de estructuras secuenciales, en tal sentido, se maneja un nivel de complejidad muy bajo; ya que solo est representado por las siguientes operaciones: EscrituraLecturaAsignacin