Escolar Documentos
Profissional Documentos
Cultura Documentos
Programación Estructurada
Secuenciales
Condicionales
Repetitivas
Tipos de Datos
Si nuestro programa gestiona las nóminas de la empresa, datos serán los nombres de
los empleados, sus sueldos, direcciones, estado civil, NIF, etc.
Según su complejidad:
1. Tipos de Datos Simples (o básicos).
2. Tipos de Datos Estructurados (conjunto o agrupación de datos simples
relacionados de alguna forma).
Según su tamaño:
1. Estáticos: aquellos en los que el tamaño está fijado antes de ejecutarse
el programa.
2. Dinámicos: aquellos en los que el tamaño puede cambiar durante la
ejecución del programa.
Introducción a la Programación
Numéricos
Lógicos
Carácter
Datos numéricos
Datos lógicos
Este tipo de dato sirve para almacenar información del tipo VERDADERO o FALSO. Por
ejemplo: ¿está la luz encendida? Sólo tenemos dos posibilidades: SI o NO. O, ¿es usted
mayor de edad? ¿Tiene usted carnet de conducir? Como vemos, es un tipo de dato
muy frecuente en la vida real.
El comportamiento de este tipo de datos se rige según la lógica booleana, ya que fue el
matemático Boole el que la creo. Como los ordenadores finalmente sólo entienden de
ceros y unos, se asocia el valor VERDADERO con el valor numérico 1 y el valor FALSO
con el cero.
Veremos próximamente las operaciones posibles sobre este tipo de datos.
Existe un tipo muy relacionado con el tipo de datos carácter, el tipo cadena. Una
cadena (también llamada string) es una secuencia de caracteres delimitados por
comillas (entre comillas). Ejemplo: ‘Esto es una cadena ‘, ‘Error ‘, ‘237 ‘. Por longitud
de la cadena se entiende el número de caracteres que componen la misma.
Estructuras de Control
Acciones Condicionales
Una condición o expresión lógica es una expresión que resuelve o da como resultado
un valor del tipo lógico o booleano (verdadero/falso, true/false, 1/0). Este concepto se
introdujo al estudiar los tipos de datos.
¿Por qué puede ser interesante bifurcar el flujo un programa? Para que el programa se
comporte de forma distinta en función por ejemplo de la edad de una persona, de su
nivel de ingresos, de su situación laboral, de la hora, etc.
Introducción a la Programación
Simples
Dobles
Múltiples
Condicional Simple
La expresión puede ser compleja, pero debe dar como resultado un valor booleano:
true o false. La representación gráfica de esta estructura para cualquier lenguaje de
programación es la que se puede observar en esta figura:
Observemos la figura:
Introducción a la Programación
Si (condición)
Entonces Acción_a
FinSi
Por ejemplo, los bancos actualizan el saldo de nuestras cuentas corrientes de forma
periódica, aplicando un cierto interés:
Selectiva Doble
Si (condicion)
Entonces
Acción_a
Sino
Acción_b
FinSi
No olvidemos que cualquiera de las acciones puede ser una Acción compuesta, con su
correspondientes -FinSi
Si (condicion) Entonces
Acción_a_1
Acción_a_2
Acción_a_3
FinSi Sino
Acción_b
FinSi
Observe el comportamiento mencionado en la siguiente figura, que es muy similar a la
previa:
Si (opcion='P') Entonces
imprimir:(cantidad)
imprimir:(' euros son ')
imprimir:(cantidad*EURO)
imprimir:(' pesetas.')
FinSi
Sino
Debe tener precaución con el terminador de Acción ( ) y el brazo Sino: Nunca ponga
un antes de un Sino puesto que el compilador pensaría que la Acción Si ha terminado
y mostraría un error al compilar, pues no reconoce la Acción Sino. Esta precaución esta
comentada en el ejemplo previo.
Dentro del conjunto de las condicionales se incluye la que algunos autores llaman
selectiva múltiple. Esta permite seleccionar la ejecución de una Acción entre más de
dos alternativas. A diferencia de las condicionales anteriores, en vez de una condición
se evalúa una expresión que da como resultado un valor de tipo ordinal, un entero o
carácter. Una vez obtenido este valor, que llamaremos selector, se compara con los
distintos valores de las distintas alternativas. Cada una de estas alternativas tiene
asociada una Acción, simple o compuesta. En el momento que coincida el valor del
selector, se ejecuta la Acción asociada a esa alternativa y termina la ejecución de la
selectiva múltiple, continuando la ejecución del programa al final de esta. Si
terminamos de comparar todas las alternativas y no coincide con ninguna, se ejecuta
lo que se conoce como acción o Acción por defecto. Esta Acción se puede omitir. Este
comportamiento se refleja con el siguiente diagrama de flujo:
Introducción a la Programación
En esta figura:
de otro modo:
Acción_por_defecto
FinSegun (* se corresponde con el case *)
Como ejemplo le presentamos una sección de código del programa. Este programa
realiza las operaciones básicas de una calculadora: sumar, restar, multiplicar y dividir.
Leer: (opción)
Según (opción) Hacer
'S','s' : res:= a+b
'R','r' : res:= a-b
'M','m' : res:= a*b
'D','d' : res:= a/b
De otro modo : imprimir: ('Opción no permitida')
FinSegun
Condicionales anidadas
Cuando alguna de las acciones que aparece dentro de los brazos o alternativas de una
Acción selectiva es otra Acción selectiva, se dice que están anidadas. No hay límite al
número de acciones que se pueden anidar, siempre que estén totalmente incluidas
unas en otras, como en el ejemplo del programa Euro. Si existen estructuras Si
anidadas, las palabras reservadas Sino se corresponden con el Si inmediatamente
anterior, el más cercano. En el siguiente ejemplo, sección de código del programa
Banca, se vuelve a observar la importancia de sangrar (tabular) correctamente el
código:
actualizar := falso
saldo := 7500
Si (saldo > SALDOMIN)
Entonces Si (actualizar)
Entonces saldo := saldo * 1.02
Sino imprimir: ('No alcanza el saldo minimo')
FinSi
FinSi
Se puede pensar que con más de 7500 euros de saldo (SALDOMIN) se imprime el
mensaje de aviso No alcanza el saldo minimo. Pero si compila y ejecuta este programa
comprobará que esto no es cierto. ¿Qué está ocurriendo? Simplemente, el Sino se
asocia con la Acción Si más cercana. La tabulación del código nos hace creer que se
asocia al primer Sino. Si quisiera que se correspondiese con el primero deberá usar los
delimitadores de bloque o Acción compuesta -FinSi:
Si (actualizar) Entonces
Introducción a la Programación
Bucle Mientras
1. Se evalúa la condición.
2. Si la condición es falsa, no se ejecuta el bucle.
3. Si la condición es verdadera, se ejecuta el bucle y se vuelve al punto 1.
En esta figura:
Por lo tanto:
el factorial de 2 ( 2! ) es 2*1
el factorial de 3 ( 3! ) es 3*2*1
el factorial de 4 ( 4! ) es 4*3*2*1,
factorial := 1
cantidad := 7
Mientras (cantidad > 0) Hacer
factorial := factorial * cantidad
cantidad := cantidad -1
Fin Mientras
Introducción a la Programación
Factorial de 7
1 7 1*7 = 7
2 6 7*6 = 42
3 5 42*5 = 210
4 4 210*4 = 840
5 3 840*3 = 2520
6 2 2520*2 = 5040
8 0 ¡¡ No entramos en el bucle !!
En esta figura:
Este tipo de bucles es muy adecuado para situaciones en las que a priori conozcamos
que hay que ejecutar el bucle al menos una vez. Este es el caso de programas que
solicitan al usuario opciones por pantalla, que posteriormente hay que comprobar que
son correctas.
Repetir