Identificar la programación estructurada

65

Click here to load reader

description

En esta presentación se muestran los elementos básicos de un programa y una leve introducción a la programación estructurada

Transcript of Identificar la programación estructurada

Page 1: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

1

08-2833 INTRODUCCIÓN A LA PROGRAMACIÓN

ING. GERARDO GUACARÁN ZURITA

Pre-Requisito: Matemáticas II (08-1824) Horas semanales: 5

16 semanas 80 Horas Créditos: 3

Page 2: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

2

Motivación Inicial

Objetivo 3: Identificar la programación estructurada

Las Torres de Hanoi

Las Torres de Hanoi es un rompecabezas o juego matemático inventado en 1883 por el matemático francés Eduard Lucas.

Consiste en tres varillas verticales y un número indeterminado de discos que determinarán la complejidad de la solución. No hay dos discos iguales, están colocados de mayor a menor en la primera varilla ascendentemente, y no se puede colocar ningún disco mayor sobre uno menor a él en ningún momento.

El juego consiste en pasar todos los discos a la tercera varilla colocados de mayor a menor ascendentemente.

Las Reglas son:

1. Sólo se puede mover un disco cada vez.

2. Un disco de mayor tamaño no puede descansar sobre uno más pequeño que él mismo.

3. Sólo puedes desplazar el disco que se encuentre arriba en cada varilla.

Page 3: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

3

Motivación Inicial

Objetivo 3: Identificar la programación estructurada

Las Torres de Hanoi

Leyenda

En un templo de Benarés, se encontraba una cúpula que señalaba el centro del mundo. Allí estaba una bandeja sobre la cual existían tres agujas de diamante. En una mañana lluviosa, un rey mandó a poner 64 discos de oro, siendo ordenados por tamaño: el mayor en la base de la bandeja y el menor arriba de todos los discos.

Después de la colocación, los sacerdotes del templo intentaron mover los discos entre las agujas, según las leyes que se les habían entregado: "El sacerdote de turno no debe mover más de un disco a la vez, y no puede situar un disco de mayor diámetro encima de otro de menor diámetro".

Hoy no existe tal templo, pero el juego aún perduró en el tiempo...

Otra leyenda cuenta que Dios al crear el mundo, colocó tres varillas de diamante con 64 discos en la primera. También creó un monasterio con monjes, los cuales tienen la tarea de resolver esta Torre de Hanoi divina. El día que estos monjes consigan terminar el juego, el mundo acabará.

Page 4: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

4

Motivación Inicial

Objetivo 3: Identificar la programación estructurada

Las Torres de Hanoi

Leyenda

No obstante, esta leyenda resultó ser un invento publicitario del creador del juego, el matemático Eduard Lucas. En aquella época, era muy común encontrar matemáticos ganándose la vida de forma itinerante con juegos de su invención, de la misma forma que los juglares hacían con su música. No obstante, la falacia resultó ser tan efectista y tan bonita, que ha perdurado hasta nuestros días. Además, invita a realizarse la pregunta: "si la leyenda fuera cierta, ¿cuándo será el fin del mundo?".

El mínimo número de movimientos que se necesita para resolver este problema es de 264-1. Si los monjes hicieran un movimiento por segundo, los 64 discos estarían en la tercera varilla en algo menos de 585 mil millones de años. Como comparación para ver la magnitud de esta cifra, la Tierra tiene como 5 mil millones de años, y el Universo entre 15 y 20 mil millones de años de antigüedad, sólo una pequeña fracción de esa cifra.

Page 5: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

5

Motivación Inicial

Objetivo 3: Identificar la programación estructurada

Las Torres de Hanoi

Resolución

El problema de las Torres de Hanoi es curiosísimo porque su solución es muy rápida de calcular, pero el número de pasos para resolverlo crece exponencialmente conforme aumenta el número de discos.

Existen otras versiones del problema con un número diferente de varillas. Aunque se conocen algoritmos eficientes que resuelven el problema con 3 varillas de manera óptima, no se han encontrado aún sus contrapartidas para cualquier número (N igual o superior a 3) de ellas.

Otra manera de resolverlo es basándose en el disco más pequeño, en este caso el de hasta arriba. El movimiento inicial de este es hacia la varilla auxiliar. El disco número dos por regla, se debe mover a la varilla número tres. Luego el disco uno se mueve a la varilla tres para que quede sobre el disco dos. A continuación se mueve el disco que sigue de la varilla uno, en este caso el disco número tres, y se coloca en la varilla dos. Finalmente el disco número uno regresa de la varilla tres a la uno (sin pasar por la dos) y así sucesivamente. Es decir, el truco está en el disco más pequeño.

Page 6: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

6

Motivación Inicial

Objetivo 3: Identificar la programación estructurada

Las Torres de Hanoi

Resolución:

Page 7: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

7

Motivación Inicial

Objetivo 3: Identificar la programación estructurada

Este tipo de problemas

quizás, fue inspirador para

innumerables

programadores, siendo la

base para la invención de la

programación estructurada y

modular.

Page 8: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

8

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

En programación se debe siempre separar la diferencia entre diseño de

algoritmo y su implementación en un lenguaje específico.

Los lenguajes de programación tienen elementos básicos que se utilizan

como bloques constructivos así como reglas por las que esos elementos

se combinan. Estas reglas se denominan sintaxis del lenguaje.

Solamente las instrucciones sintácticamente correctas pueden ser

interpretadas por la computadora y los programas que contengan errores

de sintaxis son rechazados por la máquina.

Page 9: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

9

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Los elementos básicos constructivos de un programa son:

• Palabras reservadas (inicio, fin, si-entonces,

etc.).

• Identificadores (nombres de variables,

procedimientos, etc.).

• Caracteres especiales (coma, punto y coma,

apóstrofo, etc.).

• Constantes.

• Variables.

• Expresiones.

• Instrucciones.

Page 10: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

10

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Además de estos elementos básicos existen otros elementos que forman

parte del programa:

• Bucles.

• Contadores.

• Acumuladores.

• Interruptores.

• Estructuras:

• Secuenciales.

• Selectivas.

• Repetitivas.

Page 11: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

11

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Palabras reservadas:

(KeyWords) Son palabras claves y propias de un lenguaje de

programación que constituyen la base de las sentencias, funciones,

expresiones y órdenes.

Ejemplos:

Palabras reservadas en algoritmos inicio, fin, si, entonces, mientras…

Palabras reservadas en pascal begin, end, if, then, while …

Page 12: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

12

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Identificadores:

Son los nombres que se dan a los

programas, constantes, variables,

subprogramas y otros objetos o entidades

de dígitos, pero deben comenzar con una

letra. Ello permitirá elegir identificadores

significativos que sugieran lo que

representan.

Page 13: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

13

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Identificadores:

La regla algorítmica que seguiremos para construir un identificador es:

• Primer carácter letra (A a Z).

• Segundo y posteriores caracteres (letras y dígitos), admitiendo el

subrayado.

• Longitud del identificador (numero de caracteres) ilimitado.

Page 14: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

14

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Identificadores:

Identificadores válidos:

NUM1 AB456 NOMBRE_MAX

NOMBRE_APELLIDO Alfa NOTA_FISICA

Salario Profesión EdadMeses

Identificadores no válidos:

1AB 1num5 4NOMBRE-45*

Page 15: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

15

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Constantes:

Constantes son datos cuyo valor no cambia durante la ejecución del

programa.

Constante entera: 0 137 -2518 +17745

Constante real: 1.234 -0.1536 +5644.24

3.77E2 0.33E-2 337456E-3

Constante carácter: ‘A’, ‘B’, ‘+’, ‘D’

Cadena de caracteres: ‘Avenida Simón Bolívar’

Constantes booleanas CIERTO, FALSO

Constantes no válidas 4,752.63 (Comas no están permitidas)

7- (El signo - debe preceder a los dígitos)

Page 16: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

16

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Variables:

Las variables son objetos que pueden cambiar su

valor durante la ejecución del programa.

El uso de una variable antes de almacenar o asignar

en ella un valor, produce un valor no definido.

Aunque no es obligatorio en todos los lenguajes, sí

que es conveniente declarar las variables en la

cabecera del programa y naturalmente del algoritmo.

Page 17: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

17

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Variables:

Es buena práctica de programación utilizar nombres

de variables significativos que sugieran lo que

representan ya que eso hará los

algoritmos/programas más legibles y fáciles de

comprender.

El tipo de una variable debe ser: real, entera,

carácter o cadena.

Page 18: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

18

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Variables:

Ejemplo 1:

Las variables a, b y c son reales; I, J y K son enteras. Si a = 4.0, b = 6.0 e

i=3. ¿Cuál es el resultado final de las siguientes instrucciones de

asignación? (Se suponen m, n, p de tipo real).

• m 1 * b – i

• n i/4 *6

• p b/a + 1.5Respuestas:

• m = 4.0 * 6.0 – 3 = 21

• n 3/4 * 6 = 4.5

• p b/a + 1.5 = 3

Page 19: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

19

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Variables:

Ejemplo 2:

La declaración de una variable para almacenar la edad de una persona en

la memoria se realiza de la siguiente manera:

Page 20: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

20

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Variables:

Ejemplo 3:

La declaración de una variable para almacenar la edad de una persona y

el numero de hijos se almacena en memoria de la siguiente manera:

Page 21: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

21

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

En un programa, el tipo de un dato determina las operaciones que se

pueden realizar con él. Por ejemplo, con los datos de tipo entero se

pueden realizar operaciones aritméticas, tales como la suma, la resta o la

multiplicación.

Ejemplo 4:Algunos ejemplos son:

111 + 6 (operación suma)

19 - 72 (operación resta)

24 * 3 (operación multiplicación)

Todas las operaciones del ejemplo constan de dos operandos (constantes enteras) y un operador. La mayoría de las veces es así, pero, también es posible realizar operaciones con distinto número de operadores y/u operandos.

Page 22: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

22

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Ejemplo 5: Por ejemplo:

111 + 6 - 8 (tres operandos y dos operadores)

- ( ( +19 ) + 72 ) (dos operandos y tres operadores)

- ( -72 ) (un operando y dos operadores)

En las operaciones del ejemplo se puede observar que los caracteres más (+) y menos (-) tienen dos usos:

1. Operadores suma y resta.2. Signos de un número (también son operadores).

Page 23: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

23

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Los caracteres abrir paréntesis "(" y cerrar paréntesis ")" se utilizan para establecer la prioridad de los operadores, es decir, para establecer el orden en el que los operadores actúan sobre los operandos.

Un operador indica el tipo de operación a realizar sobre los operandos (datos) que actúa. Los operandos pueden ser:

• Constantes (expresadas por su valor o con un nombre (identificador)). • Variables. • Llamadas a funciones. • Elementos de formaciones (arrays).

En este curso se van a tratar operaciones en donde sólo aparecen constantes y variables. Cuando se combinan uno o más operadores con uno o más operandos se obtiene una expresión. De modo que, una expresión es una secuencia de operandos y operadores escrita bajo unas reglas de sintaxis.

Page 24: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

24

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Un operador siempre forma parte de una expresión, en la cual, el operador siempre actúa sobre al menos un operando. Por el contrario, un operando sí puede aparecer solo en una expresión.

En programación, de la evaluación de una expresión siempre se obtiene un valor. Dicho valor puede ser de tipo: entero, real, lógico, carácter o cadena. Por consiguiente, una expresión puede ser:

• Aritmética (devuelve un número entero o real). • Lógica (devuelve un valor lógico: verdadero o falso). • De carácter (devuelve un carácter representable por el ordenador). • De cadena (devuelve una cadena).

Page 25: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

25

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones aritméticas:

De la evaluación de una expresión aritmética siempre se obtiene un valor de tipo entero o real. En las expresiones aritméticas se pueden utilizar los siguientes operadores aritméticos:

Page 26: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

26

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones aritméticas:

Ejemplo 6: El operador multiplicación (*) realiza la multiplicación de dos operandos numéricos.

5 * 23.1 * 2.5

Los resultados son:

10 (valor entero)7.75 (valor real)

Page 27: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

27

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones aritméticas:

Ejemplo 7: El operador división real (/) realiza la división real entre dos operandos numéricos.

5 / 23.1 / 2.56 / 2

Sus resultados son:

2.5 (valor real)1.24 (valor real)3.0 (valor real)

Page 28: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

28

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones aritméticas:

Ejemplo 8: En una expresión aritmética puede aparecer más de un operador aritmético.

11 + 3 div 3 (dos operadores)-3 * 6 mod 4 (tres operadores)-3.1 + 5 * 0.5 (tres operadores)+3 * -8 (tres operadores)

Page 29: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

29

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones aritméticas:

Para poder evaluar correctamente las expresiones aritméticas del ejemplo, es necesario seguir un criterio de prioridad de operadores. En Delphi, la prioridad de los operadores aritméticos es:

Page 30: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

30

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones aritméticas:

Todos los operadores aritméticos con la misma prioridad, por ejemplo, el operador multiplicación (*) y el operador módulo (mod), se evalúan de izquierda a derecha. En consecuencia, los valores que proporcionan las expresiones del ejemplo 8 son:

12 (actúan en orden los operadores: (div) y suma (+))-2 (actúan en orden los operadores: (*), (mod) y signo menos (-))-0.6 (actúan en orden los operadores: (*), signo menos (-), y suma (+))-24 (actúan en orden los operadores: (*), signo menos (+) y signo menos (-))

Para modificar la prioridad de los operadores en las expresiones, se debe hacer uso de los caracteres abrir paréntesis "(" y cerrar paréntesis ")".

Page 31: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

31

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones lógicas

De la evaluación de una expresión lógica siempre se obtiene un valor de tipo lógico (TRUE o FALSE). En las expresiones lógicas se pueden utilizar dos tipos de operadores:

• Relacionales• Lógicos

Un operador relacional se utiliza para comparar los valores de dos expresiones. Estas deben ser del mismo tipo (aritméticas, lógicas, de carácter o de cadena).

Page 32: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

32

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones lógicas

Ejemplo 9: Algunos ejemplos son:

1. 22 > 13 (comparación de dos expresiones aritméticas)2. 22.5 < 3.44 (comparación de dos expresiones aritméticas)3. TRUE = FALSE (comparación de dos expresiones lógicas)4. 'c' > 'f' (comparación de dos expresiones de carácter)5. "coche" = "Coche" (comparación de dos expresiones de cadena)

Proporcionan los valores:

6. TRUE (22 es mayor que 13)7. FALSE (22.5 no es menor que 3.44)8. FALSE (TRUE no es igual que FALSE)9. FALSE ('c' no es mayor que 'f')10. FALSE ("coche" no es igual que "Coche")

Page 33: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

33

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones lógicas

Page 34: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

34

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones lógicas

El operador conjunción (and) y el operador disyunción (or) siempre actúan sobre dos operandos, mientras que, el operador negación (not) sólo actúa sobre un operando, o dicho de otra forma.

El modo en que actúan los operadores lógicos se resume en las llamadas tablas de verdad, definidas por el matemático George Boole.

La tabla de verdad del operador conjunción (and) es:

Page 35: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

35

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones lógicas

Ejemplo 10: Algunos ejemplos son:

( 9 > 3 ) and ( 8 > 6 )( 9 > 3 ) and ( 8 > 9 )( 9 = 3 ) and ( 8 >= 6 )( 9 = 3 ) and ( 8 >= 9 )

Las expresiones anteriores se evalúan a:

TRUE (9 > 3 es TRUE y 8 > 6 es TRUE)FALSE (9 > 3 es TRUE y 8 > 9 es FALSE)FALSE (9 = 3 es FALSE y 8 >= 6 es TRUE)FALSE (9 = 3 es FALSE y 8 >= 9 es FALSE)

Page 36: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

36

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones lógicas

La tabla de verdad del operador disyunción (or) es:

Page 37: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

37

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones lógicas

De la tabla de verdad se deduce que si al menos una de las dos expresiones es verdadera, el resultado será TRUE.

La tabla de verdad del operador negación (not) es:

El valor de not <expresión> es el contrario al valor obtenido de <expresión>.

Page 38: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

38

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones lógicas

Ejemplo 11: De las expresiones

not ( 9 > 3 )not ( 8 > 9 )

Los resultados de evaluarlas son:

FALSE (9 > 3 es TRUE)TRUE (8 > 9 es FALSE)

Page 39: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

39

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones de carácter

Aunque no existe ningún operador de caracteres, sí que existen expresiones de carácter. De la evaluación de una expresión de carácter siempre se obtiene un valor de tipo carácter. Ejemplo 12: Dadas las siguientes declaraciones de constantes y variables:

CONSONANTE = 'S';Letra := 'X';Opción := '3';

Page 40: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

40

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Operadores y Expresiones:

Expresiones de cadena

De la evaluación de una expresión de cadena siempre se obtiene un valor de tipo cadena. En Delphi sólo existe un operador de cadena:

El operador concatenación (+) realiza la concatenación de dos operandos de tipo cadena, es decir, los encadena.

Page 41: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

41

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Bucles e iteraciones:

Un bucle o lazo (ciclo) es un segmento de

un algoritmo o programa, cuyas

instrucciones se repiten un número

determinado de veces mientras se cumple

una determinada condición (existe o es

verdadera la condición). Se debe

establecer un mecanismo para determinar

las tareas repetitivas. Este mecanismo es

una condición que puede ser verdadera o

falsa y que se comprueba una vez a cada

paso o iteración del bucle.

Page 42: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

42

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Bucles e iteraciones:

Un bucle consta de tres partes:

• Decisión.

• Cuerpo del bucle.

• Salida del bucle.

inicio

suma ← 0

suma ← suma + n

Leer n

escribir suma

Bucle

Ejemplo de un Bucle infinito

Page 43: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

43

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Bucles e iteraciones: inicio

suma ← 0

suma ← suma + n

Leer n

escribir suma

Ejemplo de un Bucle

fin

¿n = 0?Si

No

Page 44: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

44

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Contadores:

Los procesos repetitivos son la base

del uso de las computadoras. En estos

procesos se necesitan normalmente

contar los sucesos o acciones internas

del bucle. Una forma de controlar un

bucle es mediante un contador.

Un contador es una variable cuyo valor

se incrementa o decrementa en una

cantidad fija (incremento) en cada

iteración.

Page 45: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

45

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Contadores:

inicio

cont ← 1

Cuerpo del bucle

¿cont > 50?

cont ← cont +1

fin

Ejemplo de un contador positivo

La figura muestra un

diagrama de flujo para

un algoritmo que se

desea repetir 50 veces,

el contador se

representa con la

variable “cont”.

Page 46: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

46

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Acumulador:

Un acumulador o totalizador es una variable

cuya misión es almacenar cantidades

variables resultantes de sumas sucesivas.

Realiza la misma función que un contador

con la diferencia de que el incremento o

decremento de cada suma es variable en

lugar de constante como en el caso del

contador.

Se representa por la instrucción S S + N,

donde N es una variable y no una constante.

Page 47: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

47

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Acumulador: inicio

escribir k, s

fin

¿n = k?Si

No

Leer k

n ← 0s ← 0

n ← n + 1s ← s + n

La figura muestra un diagrama

de flujo para un algoritmo que se

desea sumar los primeros K

números enteros.

Page 48: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

48

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Estructura de decisión o selección:

Cuando el programador desea

especificar dos o más caminos

alternativos en un algoritmo (o un

programa) se deben utilizar

estructuras de decisión o selección.

Una instrucción de decisión o

selección evalúa una condición y en

función del resultado de esta

condición se bifurcará a un

determinado punto.

¿condición?

Acción S1

Acción S2

Selección simple

Si No

Page 49: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

49

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Estructura de decisión o selección:

Es posible también realizar diferentes acciones para el caso de

alternativas múltiples.

¿condición?

Acción S1

Acción S4

Selección múltiple

Acción S2

Acción S3

Acción S4

1 2 4 53

Page 50: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

50

Elementos básicos de un programa

Objetivo 3: Identificar la programación estructurada

Interruptores:

Un interruptor o conmutador (switch)

– a veces se les denomina centinela,

bandera o flag – es un campo de

memoria que puede tomar dos

valores a lo largo de la ejecución del

programa (1 y 0, verdadero y falso, sí

y no, etc.).

¿Sw?

Acción 1

Acción 2

Ejemplo de Interruptor

= 1 = 0

Page 51: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

51

Reglas de la Programación

Objetivo 3: Identificar la programación estructurada

Desde que las ideas de Knuth, Dijkstra y Wirth fueron consolidadas en el

campo informático, las reglas para la construcción de algoritmos han ido

variando constantemente y de igual forma los lenguajes de

programación, en general se han ido adaptando a estos reglas o técnicas

de programación.

Las reglas que se deben considerar en una buena programación son:

Page 52: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

52

Reglas de la Programación

Objetivo 3: Identificar la programación estructurada

1. Diseñar algoritmos en etapas yendo de lo general a lo particular

(método descendente).

2. Dividir el algoritmo en partes independientes -módulos- y tratar cada

módulo independientemente.

3. Establecer y utilizar la solución de problemas técnicas de

programación estructuradas

4. Dar especial importancia a las estructuras de datos

5. Describir completamente cada algoritmo

6. Verificar o realizar la prueba de escritorio a cada algoritmo

desarrollado.

Page 53: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

53

Programación Estructurada

Objetivo 3: Identificar la programación estructurada

La programación estructurada es el conjunto de técnicas para desarrollar

programas fáciles de escribir, verificar, leer y mantener Se puede

concretar mas la definición diciendo que la programación estructurada es

el conjunto de técnicas que incluye:

• Un número limitado de estructuras de programación.

• Diseño descendente.

• Descomposición modular con independencia de los módulos

Joyanes, Luis (1995)

Page 54: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

54

Programación Estructurada

Objetivo 3: Identificar la programación estructurada

El teorema de Bohm y Jacopini establece que un programa propio puede

ser escrito utilizando solo tres tipos de estructuras de control:

• Secuencial.

• Selectiva.

• Repetitiva

Page 55: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

55

Programación Estructurada

Objetivo 3: Identificar la programación estructurada

Un programa se define como propio si cumple las siguientes

características:

• Posee un solo punto de entrada y otro de salida para control de

programa.

• Existen caminos desde la entrada hasta la salida que se pueden

seguir y que pasan por todas partes del programa.

• Todas las instrucciones son ejecutables y no existen lazos o bucles

infinitos (sin fin).

Page 56: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

56

Programación Estructurada

Objetivo 3: Identificar la programación estructurada

Un programa estructurado se puede escribir sólo con las tres estructuras

de control citadas. Las estructuras se llaman de control debido a que

realmente controlan cómo se ejecuta el programa. Las estructuras de

control tienen sólo un punto de entrada y un punto de salida, lo que hará

los programas estructurados más fáciles de leer y depurar.

Page 57: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

57

Repaso

No.Las palabras reservadas tienen un fin específico en cada

lenguaje de programación y una variable no puede llevar el mismo nombre que ellas.

¿Una variable puede ser una palabra reservada del lenguaje?

Objetivo 3: Identificar la programación estructurada

Page 58: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

58

Repaso

Si.Un identificador es un nombre que se le da a una variable.

¿Se podría decir que un nombre de variable es un identificador?

Objetivo 3: Identificar la programación estructurada

Page 59: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

59

Repaso

¿Cuáles son las diferencias que existen entre constantes y variables?

Objetivo 3: Identificar la programación estructurada

CONSTANTES VARIABLES

Ya reciben un valor inicial en su declaración.

Primero se declaran, luego se inician, y luego se usan.

Una vez declaradas mantienen su valor durante toda la ejecución del programa.

Pueden cambiar su valor tantas veces como deseen.

Page 60: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

60

Repaso

¿En que se diferencia una expresión de un operador?

Objetivo 3: Identificar la programación estructurada

EXPRESIÓN OPERADOR

Son combinaciones de variables, palabras reservadas, literales, etc. que son evaluadas y dan como resultado un valor de un determinado tipo de datos. Este valor puede ser un número, un carácter o cualquier otro tipo de datos.

Es un símbolo que transforma una variable o la combina de alguna otra manera con otra variable o literal.

Page 61: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

61

Repaso

Si.Si no se le colocan las restricciones puede que nunca

termine.

¿Un bucle podría ser infinito?

Objetivo 3: Identificar la programación estructurada

Page 62: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

62

Repaso

Dentro de las estructuras repetitivas o cíclicas.

¿Dentro de qué estructura es más práctico usar contadores y acumuladores?

Objetivo 3: Identificar la programación estructurada

Page 63: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

63

Conceptos para la próxima clase

Objetivo 3: Identificar la programación estructurada

1. Pseudocódigo

2. Estructura secuencial utilizando pseudocódigo.

3. Estructurada selectiva utilizando pseudocódigo.

Estructura si-entonces

Estructura si-entonces-sino

Estructura según/caso

4. Estructuras repetitivas utilizando pseudocódigo.

Estructura mientras (while/do while)

Estructura repetir (repeat)

Estructura desde (for, dofor)

Page 64: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

64

Page 65: Identificar la programación estructurada

Haga clic para cambiar el estilo de título

• Haga clic para modificar el estilo de texto del patrón– Segundo nivel

• Tercer nivel– Cuarto nivel

» Quinto nivel

65

Ciclo de Preguntas