26
DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS REPRESENTACIÓN DE ALGORITMOS

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

REPRESENTACIÓN DE ALGORITMOSREPRESENTACIÓN DE ALGORITMOS

Page 2: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

PSEUDOCÓDIGO

Page 3: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

n El pseudocódigo es una herramienta de

programación en la que las instrucciones se

escriben en palabras similares al inglés o español,

que facilitan tanto la escritura como la lectura de

programas. En esencia, el pseudocódigo se puede

definir como un lenguaje de especificación de

algoritmos

Page 4: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

n Inicio

n Fin

n Leer

n Escribir

� FinSegun

� Mientras

� Hacer

� FinMientras

Repetir

Palabras reservadas

n Si

n Entonces

n Sino

n FinSi

n Según

� Repetir

� HastaQue

� Para

� FinPara

� Desde

Page 5: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

q Mantiene una identación o sangría adecuada para facilitar la

identificación de los elementos que lo componen.

q Permite la declaración de los datos (constantes y/o variables)

manipulados por el algoritmo.

q Dispone de un conjunto pequeño de palabras reservadas

Características del pseudocódigo

q Dispone de un conjunto pequeño de palabras reservadas

(normalmente escritas con letra negrita) para expresar las acciones

del algoritmo.

q Supera las dos principales desventajas del diagrama de flujo: lento

de crear y difícil de modificar.

q Permite el seguimiento de la lógica de un algoritmo.

Page 6: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Estructuras de control

Page 7: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Las estructuras de control básico son:

vsecuencia

vselección

vrepetición vrepetición

Page 8: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

n Las estructuras de secuencia también son conocidas como

sentencias o proposiciones.

n Una sentencia o proposición es una unidad completa, ejecutable

Estructuras de secuencia

en sí misma.

n La ejecución de estas sentencias se realiza de manera

secuencial, es decir, cada una a continuación de la anterior,

empezando por la primera y terminando con la última.

Page 9: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Consiste en una sola sentencia:

Pseudocódigo

Sintaxis

sentencia 1

sentencia 2..

Por ejemplo:

Es un conjunto de declaraciones y sentencias

(proposiciones) agrupadas dentro de los delimitadores

INICIO y FIN.

Ejemplos:

a) Una proposición compuesta de 2 enunciados:

INICIO

X ← 5

Y ← 89

FINUna proposición compuesta de 4 enunciados:

Proposición simple Proposición compuesta

a ) Edad ← 18

b ) SUMA ← DATO1 + DATO2 + DATO3

c ) Escribir (‘ Dame tu opción’)

En algunos lenguajes de programación las sentencias

terminan con el carácter punto y coma (;).

b) Una proposición compuesta de 4 enunciados:

INICIO

PRECIO ← 89.50

INTERES ← 0.15

COSTO_FINAL ← PRECIO + INTERES

ESCRIBE(‘El costo final del producto es: ’,

COSTO_FINAL)

FIN

Page 10: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Sentencia 1

Sentencia 2

.

.

.

Diagrama de flujo

Sentencia 3

.

.

.

Page 11: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Expresiones lógicas y relacionales

a) Operadores relacionales

Los operadores relacionales se usan para comparar expresiones. Una expresión

Estructuras de selección

que contiene un operador relacional evalúa a cierto (1) o falso (0).

Sintaxis:

expresion1 operador relacional expresion2

Page 12: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Operador Símbolo (en pseudocódigo)

Igual ==

Mayor que >

Menor que <

Operadores relacionalesOperadores relacionalesOperadores relacionalesOperadores relacionales

Menor que <

Mayor qué o igual a >=

Menor qué o igual a <=

Diferente <>

Page 13: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Al comparar una expresión es como si se realizaran preguntas:

Ejemplos: Supongamos que se tienen las variables x=5, y=100, z= -2

Expresión

relacional Evalúa a Pregunta

x > y Falso ¿ x es mayor que y ?

x == y Falso ¿ x es igual a y ?

y == 100 Cierto ¿ y es igual a 100 ?

x<= y Cierto ¿ x es menor o igual a y ?

x <> y Cierto ¿ x es distinto de y ?

(5 + 80 ) < 200 Cierto ¿ 5 + 80 es menor que 200 ?

x*2 > (x + y + z) Falso ¿ x*2 es mayor que x + y +z ?

Page 14: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

b) Operadores lógicos

Algunas veces se necesitará hacer más de una pregunta relacional al mismo

tiempo. Los operadores lógicos permitirán combinar dos o más expresiones

relacionales en una sola expresión que evalúa a cierto (1), o falso (0).

Estructuras de selección

Sintaxis:

Para operadores o e y

expresion1 operador lógico expresión2

Para operador no

no expresión

Page 15: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Operador Símbolo (en pseudocódigo)

y y o bien and

o o o bien or

no no o bien not

Operadores lógicosOperadores lógicosOperadores lógicosOperadores lógicos

no no o bien not

Page 16: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Al comparar una expresión es como si se realizaran preguntas:

Ejemplos: Supongamos que se tienen las variables x=5, y=100, z= -2

Expresión

Lógica Evalúa a Pregunta

(x > y) y (x<>z) Falso ¿ x es mayor que y y x es diferente de z ?

(x == y) o (x>y) Falso ¿ x es igual a y o x es mayor que y ?

(y == 100) y (x<>y) Cierto ¿ y es igual a 100 y x es diferente que y?

(x<= y) o (x==5) Cierto ¿ x es menor o igual a y o x es igual a 5?

not (x <> y) Falso no (¿ x es distinto de y ?)

not((x+5<z) o (z<>-2)) Cierto no(¿ x+5 es menor que z o z es diferente de

-2 ?)

Page 17: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Operaciones aritméticas

n Jerarquía de operadores aritméticos

Operador Jerarquía Operación

^ mayor Potencia

*, /, mod, div Multiplicación, división, módulo, división

+, - menor Suma, resta

Page 18: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Ejemplos

n 7+5-6=12-6=6n 9+7*8-36/5=9+56-36/5=9+56-7.2=65-7.2=57.8n 7*5^3/4div3=7*125/4div3=875/4div3=218.75div3=723=72

n 7*8*(160 mod 3 ^ 3) div 5 *13 – 28 =3612n 15/2 * (7 + (68-15*33+(45^2/16)/3)/15)+19 = -120.9062

Page 19: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

n A=5, B=16, evalúa de izquierda a derechaq (A^2) > (B*2)q Falso

n X=6, B=7.8q (X*5 + B^3/4 ) <= (x^3 div B)q (X*5 + B^3/4 ) <= (x^3 div B)q Falso

n ((1580 mod 6 * 2^7) > (7+8*3^4)) > ((15*2) == (60*2/4))q Falso

n No(15>=7^2) o (43-8*2 div 4 <> 3 *2 div 2)q Verdadero

n Tarea revisar ejemplos libro pag 20,21

Page 20: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Operadores Jerarquía

() mayor

^

*,/,div,mod*,/,div,mod

==,<>,<,>,<=,>=

No

Y

O menor

Page 21: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Ejemplo

n Construya un diagrama de flujo tal que dado los datos A, B, C y D que representan números enteros, escriba los

A,B,C,D

INICIO

enteros, escriba los mismos en orden inverso.

FIN

D,C,B,A

Page 22: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Ejercicio

n Construya un diagrama de flujo tal que dado los datos enteros A y B, escriba el resultado de la siguiente expresión:q (A+B)^2/3

n Dada la matricula y 5 calificaciones de un alumno obtenidas a lo largo del semestre, construya un diagrama obtenidas a lo largo del semestre, construya un diagrama de flujo que imprima la matricula del alumno y el promedio de sus calificaciones.

n Escriba un diagrama de flujo que permita calcular e imprimir el cuadrado y cubo de un número entero positivo NUM.

n Construya un diagrama de flujo tal que dado como datos la base y la altura de un rectángulo, calcule el perímetro y la superficie del mismo.q Perímetro= 2*(base+altura)

n TAREA: Consultar los problemas resueltos del libro, pag 37

Page 23: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Se evalúa la condición, si la condición es cierta se realiza

proposición, y si es falsa entonces no se realiza la proposición.

PseudocódigoPseudocódigoPseudocódigoPseudocódigo

Sintaxis:Sintaxis:Sintaxis:Sintaxis:

SiSiSiSi condición EntoncesEntoncesEntoncesEntonces

sentencia simple o

Condicional simpleCondicional simple

sentencia simple o

sentencia compuesta

FinSiFinSiFinSiFinSi

Page 24: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Diagrama de flujoDiagrama de flujoDiagrama de flujoDiagrama de flujo

Condición

.

.

.

Bloque de

Alternativa

verdadera

Alternativa

falsa

si

no

Condicional simpleCondicional simple

Bloque de instruccion

es

.

.

.

verdadera falsa

Page 25: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

PseudocódigoPseudocódigoPseudocódigoPseudocódigo

Sintaxis:Sintaxis:Sintaxis:Sintaxis:

SiSiSiSi condición EntoncesEntoncesEntoncesEntonces

Se evalúa la condición, si la condición es cierta se realizan las

proposiciones del cuerpo del entonces, y si es falsa entonces se

realizan las proposiciones del cuerpo del Sino.

SiSiSiSi condición EntoncesEntoncesEntoncesEntonces

sentencia simple o

sentencia compuesta

SinoSinoSinoSino

sentencia simple o

sentencia compuesta

FinSiFinSiFinSiFinSiCondicional dobleCondicional dobleCondicional dobleCondicional dobleCondicional dobleCondicional dobleCondicional dobleCondicional doble

Page 26: DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE …mtovar/doc/ec.pdf · Características del pseudocódigo (normalmente escritas con letra negrita) para expresar las acciones del algoritmo

Diagrama de flujoDiagrama de flujoDiagrama de flujoDiagrama de flujo

Condición

.

.

.

Bloque de instruccion

Bloque de instruccion

Alternativa

verdadera

Alternativa

falsa

si no

Condicional dobleCondicional dobleCondicional dobleCondicional dobleCondicional dobleCondicional dobleCondicional dobleCondicional doble

instrucciones

.

.

.

instrucciones

verdadera falsa