Title: Algoritmos: Constructores B
1Algoritmos Constructores Básicos
2CONTENIDO
- ESTRUCTURA DE UN ALGORITMO
- DATOS
- EXPRESIONES
- INSTRUCCIONES SOBRE VARIABLES
- ESTRUCTURAS DE CONTROL
3ESTRUCTURA DE UN ALGORITMO
- Elementos fundamentales
- Datos.
- Instrucciones.
- Estructuras de control.
4DATOS
- Definición Informal
- Tipo
- Definición formal
- Variables
- Literales
- Constantes
5DEFINICION INFORMAL
- Pieza de información simple
- un número
- un código
- un hecho
- una edad
6TIPO
- Un conjunto es una colección bien definida de
elementos (objetos). - Las vocales
- Los digitos
a,e,i,o,u
0,1,2,3,...,9
7TIPO
- Todo conjunto debe tener un nombre.
- Z y entero
- R y real
- ASCII y caracter
- booleano
- cadena
Libros
8TIPO
- Se dice que x es de tipo A,
- si x ? A.
Libros
El Quijote
?
9TIPO
- Distinciones importantes en programación
REAL 2.0
ENTERO 2
CARACTER X
CADENA X
10VARIABLES
Nombre
Tipo
Estado o Valor
11VARIABLES
- Declaración de una variable
ltvariablegt lttipogt
12VARIABLES
- El valor de una variable puede cambiar en el
tiempo.
13LITERALES
- Secuencia de caracteres que representa un valor
concreto. - Tipos
- entero 12345, 138
- real 3465.98, 3.987
- caracter a, 3
- cadena pepito va al colegio
- booleano falso o verdadero
14CONSTANTES
15CONSTANTES
- Declaración de una constante
ltnombregt ltliteralgt
- PI 3.1416
- TAMANO_MAXIMO 1000
- MENSAJE Digite los datos
16EXPRESIONES
- Tipos
- Expresiones numéricas
- Expresiones lógicas
( a 5 ) ( y abs(x) )
( a 5 lt 4 ) ( b 3 )
17EVALUACIÓN DE EXPRESIONES NUMÉRICAS
(a 5 ) ( y abs (x) )
MEMORIA
a
5
(5 5 ) ( 8 abs (-1) )
(5 5 ) ( 8 1 )
y
8
x
10 9
-1
90
18EXPRESIONES LÓGICAS
19EJEMPLO DE CONJUNCIÓN
p El carro es rojo q El carro tiene
ruedas pq El carro es rojo y El carro tiene
ruedas
p ? V q ? V p q ? V
20EJEMPLO DE DISYUNCIÓN
p Me voy de viaje q Compro computador pq
Me voy de viaje o compro computador
p ? F q ? V p q ? V
21EVALUACIÓN DE EXPRESIONES LÓGICAS
( a 5 lt 4 ) ( b 3 )
MEMORIA
( 4 5 lt 4 ) ( 3 3 )
a b
( 9 lt 4 ) ( 3 3 )
4
3
F V
F
22PRECEDENCIA DE OPERADORES
- Orden en el que se deben llevar a cabo las
operaciones. - Ambigüedad
345
3 (45)
(34)5
- Se debe evaluar primero el operador con
mayor precedencia.
23PRECEDENCIA DE OPERADORES
Precedencia
Operadores
1
2
3
gt, lt, gt, lt, ltgt
4
5
, - (substracción)
, / , mod
6
7
- (negativo)
8
Parentesis
24EJEMPLO
-3 a b c
MEMORIA
(-3) 5 3 9
a b c
5
3
9
-15 27
12
25INSTRUCCIONES SOBRE VARIABLES
- Formas de modificar variables
- asignación
- lectura (entrada).
- Forma de mostrar el valor
- escritura (salida).
26ASIGNACIÓN
ltvariablegt ltvalorgt
Constante Variable o Expresión
Operador de Asignación
Nombre
27ASIGNACIÓN
- Representación en diagrama de flujo
28EJEMPLOS DE ASIGNACIÓN
Asignar un valor a las variables a y b
29EJEMPLOS DE ASIGNACIÓN
MEMORIA
a b
a entero b entero a 5 b a
5
5
30INSTRUCCIONES DE ENTRADA
leer (variable)
31INSTRUCCIONES DE ENTRADA
- Representación en diagrama de flujo
32INSTRUCCIONES DE ENTRADA
Programa
Teclado
Memoria
leer (a)
a
XXX
33INSTRUCCIONES DE SALIDA
escribir (variable)
34INSTRUCCIONES DE SALIDA
- Representación en diagrama de flujo
35INSTRUCCIONES DE SALIDA
Pantalla
Programa
Memoria
escribir (a)
a
125
125
36ESTRUCTURAS DE CONTROL
- Constructores que determinan el flujo del
programa
37TIPOS DE ESTRUCTURAS
- Secuencia
- Selección
- Iteración
38SECUENCIA
Diagrama de Flujo
Pseudo código a entero leer (a) a aa
escribir (a)
a
a aa
a
39EJEMPLO
Hallar el cuadrado de un número previamente
leído
40EJEMPLO
Memoria
Pantalla
a, b entero leer (a) b aa escribir (b)
1
a b
100
XX
2
100
XX
10
3
41Para resolver
- Se requiere un programa que calcule la suma y el
producto de dos números. Cúales de los siguientes
segmentos producen el resultado correcto
42Para resolver
- a,b,s,p real
- I II III
- leer (a) leer(b) leer(b)
- leer (b) leer(a) pab
- sab pab leer(a)
- pab escribir(p) escribir(p)
- escribir(s) sab sab
- escribir(p) escribir(s) escribir(s)
-
43SELECCIÓN
Tengo un buen trabajo ?????
No
Si
44SELECCIÓN
si lt condición gt entonces lt bloque instrucciones
1gt sino lt bloque instrucciones 2gt fin_si
45SELECCIÓN
Pseudo código si x gt 0 entonces
y 0 sino y 1 fin_si
Diagrama de Flujo
NO
SI
xgt0
y1
y 0
46EJEMPLO
Hallar el cuadrado o la suma de un número
previamente leído, según la condición
47EJEMPLO
leer (a) si a gt0 entonces b aa sino
b aa fin_si escribir (b)
leer (a) si a gt0 entonces b aa sino
b aa fin_si escribir (b)
leer (a) si a gt0 entonces b aa
sino b aa fin_si escribir (b)
leer (a) si a gt0 entonces b aa
sino b aa fin_si escribir (b)
leer (a) si a gt0 entonces b aa
sino b aa fin_si escribir (b)
leer (a) si a gt0 entonces b aa
sino b aa fin_si escribir (b)
a, b entero
Memoria
a b
XXX
XXX
40
80
80
48EJEMPLO
a, b entero
leer (a) si a gt0 entonces b aa sino
b aa fin_si escribir (b)
leer (a) si a gt0 entonces b aa sino
b aa fin_si escribir (b)
leer (a) si a gt0 entonces b aa sino
b aa fin_si escribir (b)
leer (a) si a gt0 entonces b aa sino
b aa fin_si escribir (b)
leer (a) si a gt0 entonces b aa sino
b aa fin_si escribir (b)
leer (a) si a gt0 entonces b aa
sino b aa fin_si escribir (b)
Memoria
a b
100
XXX
XXX
-10
100
49EJEMPLO
Dados tres números enteros, calcular el máximo
50EJEMPLO (a)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
Memoria
2
5
10
maximo
10
10
51EJEMPLO (b)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
a, b, c entero mayor entero leer (a) leer
(b) leer (c) si agtb agtc entonces mayor
a sino si bgta bgtc entonces mayor
b sino mayor c fin_si fin_si escri
bir (maximo) escribir (mayor)
Memoria
9
2
4
maximo
9
9
52SELECCIÓN MÚLTIPLE
seleccionar ltopciongt de caso ltconstante
1gt ltbloque_intrucciones 1gt caso ltconstante
2gt ltbloque_intrucciones 2gt . .
. caso ltconstante ngt ltbloque_intrucciones
ngt fin_seleccionar
53EJEMPLO
Selección de una transacción en un cajero
automático
54EJEMPLO (a)
opcion entero leer (opcion) seleccionar opcion
de caso1 escribir (Consignación) caso2
escribir (Retiro) caso3 escribir (Pago de
Servicios) caso4 escribir (Cambio de
Clave) caso5 escribir (Terminar) fin_selecc
ionar
Cambio de Clave
4
55EJEMPLO (b)
opcion entero leer (opcion) seleccionar opcion
de caso1 escribir (Consignación) caso2
escribir (Retiro) caso3 escribir (Pago de
Servicios) caso4 escribir (Cambio de Clave)
caso5 escribir (Salir) fin_seleccionar
Salir
5
56FIN
- Gracias por la atención prestada