LÓGICA DE PROGRAMACIÓN
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
¿QUÉ ES LA PROGRAMACIÓN?
• Proceso creativo PROBLEMA
DISEÑO
CODIFICACIÓN
DEPURACIÓN ¿FUNCIONA?
NO
SI MANTENIMIENTO © Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
¿POR QUÉ APRENDER A PROGRAMAR? • Revolución tecnológica • Pensamiento computacional – – – –
Resolución de problemas Crear algoritmos Capacidad de síntesis Lógica de programación
“El pensamiento computacional es el proceso que permite formular problemas de forma que sus soluciones pueden ser representadas como consecuencias de instrucciones y algoritmos”
• Brecha de género • Procesos de investigación • Constancia: – Tolerancia al error – Frustración – Búsqueda de soluciones © Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
PSEUDOCÓDIGO DIAGRAMAS DE FLUJO
PSEUDOCÓDIGO: Esquema textual del programa DIAGRAMA DE FLUJO: Esquema visual del programa
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
ESTRUCTURA DE UN PROGRAMA PSEUDOCÓDIGO
DIAGRAMA DE FLUJO INICIO
Instrucción 1
INICIO Instrucción 1 Instrucción 2 …. FIN
Instrucción 2 …
FIN
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
TIPOS DE INSTRUCCIONES
- Instrucciones de entrada y salida - Acción - Instrucciones declarativas - Instrucciones repetitivas (bucles) - Instrucciones de asignación - Operaciones matemáticas - Operaciones lógicas - Instrucciones selectivas (condicionales) © Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
INSTRUCCIONES DE ENTRADA Y SALIDA
-Petición de información por teclado -Visualización de datos en pantalla PSEUDOCÓDIGO
Inicio
Inicio Visualiza “introduce un número” Lee dato por teclado Visualiza “tu número es el “ dato Fin
DIAGRAMA DE FLUJO
“introduce número”
Lee Dato
“Tu número es “ Dato
Fin © Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
ACCIÓN
-Instrucción que generan un efecto concreto -Propias de cada lenguaje -Ejemplos: Mover un objeto en la pantalla -> “mover 1 paso” Girar un objeto en la pantalla -> “girar 90 grados”
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO
¿Cómo llevo al gato de la A a la B? -
Cada paso avanza un cuadro Avanza 1 paso Retrocede 1 paso Gira 90º derecha Gira 90º izquierda
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO
¿Cómo llevo al gato de la A a la B? Pseudocódigo:
Diagrama de flujo
Inicio Avanza 1 paso Avanza 1 paso Avanza 1 paso Gira 90º a la izquierda Avanza 1 paso Avanza 1 paso Fin
Gira 90º izquierda
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
SUPUESTO Mapa de 100 x 100 cuadros A y B en la misma disposición ¿Escribimos una línea por paso? Inicio Avanza 1 paso Avanza 1 paso Avanza 1 paso … 100 veces Gira a la izquierda Avanza 1 paso Avanza 1 paso Avanza 1 paso … 100 veces fin
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
BUCLES Conjunto de instrucciones que se ejecutan varias veces - Un número de veces concreto Repite N veces ….
- En función de una condición Repite mientras <condición> …. Repite hasta <condición>….
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO CON BUCLES
¿Cómo llevo al gato de la A a la B?
(cada paso avanza un cuadro)
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO
¿Cómo llevo al gato de la A a la B?
(cada paso avanza un cuadro) Pseudocódigo: Inicio Repite 3 veces Avanza 1 paso Gira a la izquierda Repite 2 veces Avanza 1 paso Fin
Diagrama de flujo Inicio Avanza 1 paso
3 veces
Gira a la izda Avanza 1 paso
2 veces
Fin © Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
SUPUESTO
Inicio Repite 99 veces Avanza 1 paso Gira a la izquierda Repite 99 veces Avanza 1 paso fin
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO ESCRIBE LOS NÚMEROS DEL 1 AL 10
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO ESCRIBE LOS NÚMEROS DEL 1 AL 10 Inicio Escribe 1 Escribe 2 Escribe 3 Escribe 4 Escribe 5 Escribe 6 Escribe 7 Escribe 8 Escribe 9 Escribe 10 Fin ¿Y del 1 al 1000?
Algoritmo
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
INSTRUCCIONES DECLARATIVAS
Sirven para crear VARIABLES ¿Qué es una variable? “Zona de memoria donde guardamos un dato y a la que hacemos referencia a través de un nombre que le asignamos” Almacenan datos introducidos por teclado Ejemplos: -Incógnita en una ecuación -Funcionamiento de una agenda de teléfonos © Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
VARIABLES
ELENA PEDRO
625224455
Elena es el nombre de variable
647856958
625224455 es el contenido de variable VENTAJAS:
JUAN
621457458
- Operaciones matemáticas - Elaboración de condiciones - Generalización de mis programas
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
INSTRUCCIONES ASIGNACIÓN Y MATEMÁTICAS
NÚMERO = 1 NÚMERO = 150 + 20 NÚMERO = NÚMERO + 1 NÚMERO = NÚMERO + 10 NÚMERO = NÚMERO + INCREMENTO NÚMERO = DATO + INCREMENTO INCREMENTO = NUMERO - DATO
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO ESCRIBE LOS NÚMEROS DEL 1 AL 10 CON VARIABLES Inicio Crea la variable NÚMERO Repite 10 veces Escribe NÚMERO NÚMERO = NÚMERO + 1 Fin
¿del 1 al 100? ¿del 1 al 1000?
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
VARIABLES ¿Qué es inicializar una variable? Asignar un valor determinado al inicio de nuestro programa
¿Para que? Saber el valor exacto al inicio de nuestro programa Evitar “datos basura” Parametrizar o generalizar el programa
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO ESCRIBE LOS NÚMEROS DE 2 AL 102 Inicio Crea la variable NÚMERO NÚMERO = 2 Repite 100 veces Escribe NÚMERO NÚMERO = NÚMERO + 1 Fin
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO ESCRIBE LOS 100 PRIMEROS NÚMEROS PARES Inicio Crea la variable NÚMERO NÚMERO = 0 Repite 100 veces Escribe NÚMERO NÚMERO = NÚMERO + 2 Fin
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
INSTRUCCIONES SELECTIVAS CONDICIONALES Crea bifurcaciones en el programa Si una condición es verdadera, realiza (ejecuta) un conjunto de instrucciones Si una condición es falsa realiza otro conjunto de instrucciones
Si <condición> Entonces instrucción 1 instrucción 2 instrucción 3 … Si no instrucción 9 instrucción 10 instrucción 11
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
INSTRUCCIONES SELECTIVAS CONDICIONALES Tipos de condiciones: Número = 100 Númro = días Número > años Número < semana fecha = hoy alumno = “Juan”
Unión de condiciones: Día > 20 Temperatura < 5
y o no
Estación = “primavera” Estación = “invierno” Estación = “verano”
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO
PEDIR DOS DATOS AL USUARIO POR TECLADO. EL PROGRAMA DIRÁ CUÁL ES MAYOR Inicio Introduce dato1 Introduce dato2 Si dato1 > dato2 entonces Escribe “dato1 es mayor que dato2” si no Escribe “dato 1 en menor o igual que dato2” Fin
Podemos mejorar el programa detectando cuando dato1 y dato2 son iguales
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
BUCLES CONDICIONALES
Ejecutamos un conjunto de instrucciones - Mientras una condición sea cierta mientras <condición> instrucciones - Hasta que una condición sea cierta repite instrucciones hasta <condición>
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO
PIDE DOS NÚMEROS POR TECLADO Y ESCRIBE TODA LA SERIE
Inicio Introduce dato1 Introduce dato2 Mientras (dato1<dato2) Escribe dato1 dato1 = dato1 + 1 fin
¿SABEMOS CUÁL DE LOS DOS NÚMEROS ES EL QUE INICIA LA SERIE? ¿QUÉ OCURRE SI DATO1 FUESE MAYOR QUE DATO2?
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLO
PIDE DOS NÚMEROS POR TECLADO Y ESCRIBE TODA LA SERIE Inicio Introduce dato1 Introduce dato2 Si dato1<dato2 entonces Mientras (dato1<dato2) Escribe dato1 dato1 = dato1 + 1 si no Mientras (dato2<dato1) Escribe dato2 dato2 = dato2 + 1 fin
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
CREATIVIDAD EN PROGRAMACIÓN
NO EXISTE LA SOLUCIÓN ÚNICA A NINGÚN PROBLEMA
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
CUIDADO CON LOS LÍMITES OPERADORES LÓGICOS
Atención a: Cuál es el valor de inicio de las variables Cuándo evaluamos la condición Cuándo modificamos las variables que evaluamos en la condición Nunca puede faltar una instrucción que modifique la variable relacionada con la condición de evaluación
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
CUIDADO CON LOS LÍMITES OPERADORES LÓGICOS 1 - 99 Inicio
2 - 100 Inicio
número = 1 mientras (número<100) escribe número numero=numero+1 fin
número = 1 mientras (número<100) número=número+1 escribe número fin
Bucle infinito Inicio
1 - 100 Inicio
número = 0 mientras (número<100) escribe número
número = 0 mientras (número<100) número=número+1 escribe número
fin fin
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLOS ALGORITMIA
MULTIPLICACIONES CON SUMAS Introducir dos números por teclado y realizar su producto usando el operador Suma Ej: 3x4 4+4+4
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLOS ALGORITMIA
MULTIPLICACIONES CON SUMAS Introducir dos números por teclado y realizar su producto usando el operador Suma Ej: 3x4 4+4+4 Resultado = 0 Repite 3 veces Resultado=Resultado + 4
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLOS ALGORITMIA MULTIPLICACIONES CON SUMAS Introducir dos números por teclado y realizar su producto usando el operador Suma Ej: 3x4 4+4+4 Resultado = 0 Repite 3 veces Resultado=Resultado + 4 Introduce N1 Introduce N2 Resultado = 0 Repite N1 Resultado=Resultado + N2 © Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLOS ALGORITMIA POTENCIAS CON PRODUCTOS Introducir dos números por teclado y realizar su potencia usando el operador producto Ej: 3^4 3*3*3*3
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLOS ALGORITMIA POTENCIAS CON PRODUCTOS Introducir dos números por teclado y realizar su potencia usando el operador producto Ej: 3^4 3*3*3*3 Resultado = 1 Repite 4 veces Resultado=Resultado * 3
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EJEMPLOS ALGORITMIA POTENCIAS CON PRODUCTOS Introducir dos números por teclado y realizar su potencia usando el operador producto Ej: 3^4 3*3*3*3 Resultado = 1 Repite 4 veces Resultado=Resultado * 3 Introduce BASE Introduce EXPONENTE Resultado = 1 Repite EXPONENTE Resultado=Resultado * BASE © Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910
EVENTOS
¿Cómo se inicia un programa? - Botón de inicio - Sucesión de un evento o acción Podemos ejecutar un programa, o un trozo de un programa cuando se produzca: UN EVENTO - Pulsar una tecla - Hacer click con el ratón - Recibir un dato - Interactuar dos objetos de nuestro programa ….. Los eventos los veremos ya con SCRATCH
© Microlog Tecnología y Sistemas SL c/Andrés Obispo 37-5 Madrid @micrologt pedidos@microlog.es 917595910