diseÑo estructurado usando herramientas de …mtovar.cs.buap.mx/doc/ec.pdf · n dada la matricula...

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

Upload: others

Post on 28-Mar-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

REPRESENTACIÓN DE ALGORITMOSREPRESENTACIÓN DE ALGORITMOS

PSEUDOCÓDIGO

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

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

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.

Estructuras de control

Las estructuras de control básico son:

vsecuencia

vselección

vrepetición vrepetición

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.

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

Sentencia 1

Sentencia 2

.

.

.

Diagrama de flujo

Sentencia 3

.

.

.

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

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 <>

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 ?

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

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

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 ?)

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

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

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

Operadores Jerarquía

() mayor

^

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

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

No

Y

O menor

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

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

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

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

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

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