realizado por carolina rubio. esquema del tema 1. algoritmos : diagramas de flujo 1. secuencial 2....

39
Realizado por Carolina Rubio

Upload: gustavo-alfredo-zuniga-jimenez

Post on 24-Jan-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Realizado por Carolina Rubio

Page 2: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Esquema del tema1. Algoritmos : diagramas de flujo

1. Secuencial2. Condicional 3. Iterativa

2. Lenguaje de programación: MSWLOGO

Page 3: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

ALGORITMOLa secuencia ordenada de operaciones y procedimientos que se tienen que seguir para resolver un atarea o un problema se llama algoritmo.

Page 4: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Diagrama de flujoDiagrama de flujo: representación gráfica

de los pasos que conforman el algoritmo.

Page 5: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Ejemplo

Page 6: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

ESTRUCTURAS ALGORITMICAS BÁSICAS

ESTRUCTURA SECUENCIAL: los pasos o acciones se ejecutan uno detrás de otro

Page 7: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

ESTRUCTURA CONDICIONAL: la siguiente acción que se ejecuta depende del estado de cierta condición que se ha de evaluar

•Simple: si se cumple una condición se ejecutará una acción , y si no se cumple , no se hará la siguiente.

Page 8: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Doble: Si se cumple una acción se lleva a cabo una acción, y si no se cumple se ejecuta otra acción.

Page 9: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

•ESTRUCTURA ITERATIVA: hacer una o diversas acciones mientras se está cumpliendo una determinada condiciónEstructura “Hasta que”: una acción o

acciones se están repitiendo hasta que se cumple una condición determinada, que se comprueba al final de llevar a cabo la acción.

Page 10: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Estructura ”Mientras”: una acción se repite mientras se está cumpliendo una determinada condición que se comprueba cuando se comienza a hacer la acción.

Page 11: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Ejercicios

Page 12: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Ejercicios

Page 13: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

LENGUAJE DE PROGRAMACIÓNUn programa es una secuencia de instrucciones

ejecutadas por un ordenador con el objetivo de efectuar una tarea determinada

Lenguaje de programación: es una notación de acuerdo con una sintaxis determinada, que se utiliza para escribir instrucciones que serán ejecutadas por un ordenador. Tipos:De bajo nivel: el lenguaje de máquina y ensambladorDe alto nivel: se parece más al lenguaje humano

Page 14: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Fases en la elaboración de un programa

Page 15: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

LENGUAJE MSWLOGOPara el control de las entradas y salidas es necesario un conjunto de instrucciones (lenguaje de programación)

Ventanas:1.Ventana de gráficos: se mueve una tortuga2.Caja de textos: aparecerán las últimas

órdenes introducidas y los mensajes3.Caja de Entrada: se escriben las órdenes

Page 16: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

INSTRUCCIONES MAS UTILIZADASAV n = avanza n pasosRE n = retrocede n pasosGD n = gira a la derecha n gradosGI n = gira a la izquierda n gradosRO [frase] = escribe una fraseES [frase] = escribe una frase en la caja de TextosCentro= se dirige al centro (cierra figuras)PONCL [R G B] = selecciona un color de lápiz O al

255BP = borra la pantallaSL= no pinta la desplazarseBL = pinta al desplazarse

Page 17: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

MAS INSTRUCCIONES …Repite n [instrucciones] = es posible ejecutar n

veces un conjunto de instruccionesMensaje [titulo][mensaje] = crea una ventana con

el título y mensaje especificadoPonpos [x y]= situa la tortuga en la posición

indicadaCirculo radio = dibuja un círculoElipse menor mayor = dibuja una elipse de los ejes

indicadosPOCCR [R G B] = selecciona el color de rellenoRellena = pinta una figura (situa la tortuga dentro)OT= oculta la tortugaMT= muestra la tortuga

Page 18: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EJERCICIOREALIZA LAS SIGUIENTES ORDENES1.Av 10 sl gd 45 re 35 bl av 50 gi 15 ro [hola]

poncl 4 av 12 Centro2.Dibuja un cuadrado (dos formas)3.Dibuja una casa, árbol y un niño (rellénalos

de color)

Page 19: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

PROCEDIMIENTOSLas primitivas propias de logo se pueden agrupar formando una nueva orden que al ejecutarla, obligarán al programa a realizar, de forma secuencial todas las primitivas.En fichero / editar: en la ventana editar procedimientos, escribimos el nombre y pulsamos Intro. En la ventana editar se añaden todas las primitivas que constituyen el procedimiento. Y escribir Fin.

Page 20: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Almacenar varios procedimientosEscribiendo: Guarda “ nombre.log [procedimiento

1, …]Al iniciar una nueva sesión se pueden utilizar los

procedimientos guardados mediante fichero/cargar.

Page 21: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

BuclesSe utilizan para repetir instrucciones, ya sea un determinado número de veces o continuamente, bucle infinito.

REPITE 3 [] = repite 3 veces las instruccionesREPITE siempre [] = repite

indefinidamente las instrucciones

Page 22: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Ejercicio

1.Triangulo: REPITE 3 [AV 50 GI 120]

2.Pentágono regular: REPITE 5 [AV 70 GD 360/5]

3.Arco circunferencia: REPITE 90 [AV1 GD 1 espera 2]

4.Flor: Para Flor REPITE 50 [cuadrado 80 gd 10 ] Fin

Realiza los siguientes ejercicios

Page 23: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Ejercicio

Realiza un semáforo : dibuja tres círculos y una elipse por fuera .

Realiza un procedimiento para que el círculo central debe parpadear 3 veces.

Page 24: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EJERCICIORealiza un procedimiento para que coloree

en rojo, amarillo y verde durante 5 segundos

Page 25: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

RECURSIVIDAD

Cuando un programa está diseñado para llamarse a sí mismo en un bucle sin fin.

Para Triangulo REPITE 3 [AV 50 GI 120] Triangulo Fin

Page 26: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

VariablesPara realizar procedimientos con una variable (ej. Tamaño) se debe crear la variable con :n ( que es en realidad un hueco en la memoria del ordenador para almacenar un dato) de forma que cuando tecleemos el procedimiento dando el valor a la variable que hemos creado se ejecute.

El contenido de una variable aparece cuando se escribe precedida por el símbolo :nombre.

EJEMPLO: Para cuadrado :n repite 4 [av :n gd 90] fin

Page 27: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EJERCICIOProcedimiento para dibujar un polígono de n lados

Para polígono : n Repite : n [av 30 gd 360/:n] finProcedimiento para que el semáforo parpadee n veces

Procedimiento para dibujar un polígono que m sea la longitud del lado y n el numero de lados

Page 28: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

DIALOGO CON EL ORDENADORSon preguntas que hace el ordenador para poder

llevar a cabo un programa. Se utiliza las órdenes:ES [frase] = para escribir un frase en la caja de textoES (FRASE [TEXTO] :N [TEXTO]) = frase complejaHAZ “n LEEPALABRA para crear una variable :n y

espera a que demos el valor

Page 29: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EJERCICIOCrea un procedimiento para calcular el área de un

triángulo y el ordenador te pida los datos de base y altura:

Page 30: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EjerciciosProcedimiento capaz de calcular la suma de

dos cifras que pide

Page 31: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EjercicioProcedimiento para que nos pregunte el nombre de nuestros padres y debe aparecer en la pantalla finalmente lo siguiente: los padres de … son .. Y …

Page 32: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

INSTRUCCIONES CONDICIONALESLogo puede valorar el contenido de una condición

y decidir entre dos opciones:Si condición [acción] : si se cumple la condición,

se ejecutan las acciones contenidas en el corchete; después e l programa pasa a la siguiente línea. Si no se cumple pasa a la línea siguiente.

Sino condición [acción] : si no se cumple la condición se ejecuta la acción contenidas después del corchete.

Si condición [acción1][acción2] si la condición es verdadera ejecutará la acción 1 y si es falsa la acción 2.

Sisino condición [acción 1][acción 2] es similar al anterior

Page 33: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EjercicioProcedimiento capaz de decir si un numero

es par o impar:

Page 34: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EjercicioProcedimiento en el que pide un número si es positivo mostrará su raíz, si es negativo no debe calcularlo, ya que daría error.

Page 35: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EjercicioProcedimiento que nos pide un número, si es positivo se mostrará su raíz, si es negativo escribirá “No se puede calcular la raíz de un negativo

Page 36: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Instrucciones LógicasY expresión1 expresión2 : evalúa varias

expresiones. Devuelve el valor cierto si todas las expresiones evaluadas tienen el valor cierto y devuelve el valor falso si alguna de las expresiones es falsa.

O expresión 1 expresión 2: evalúa varias expresiones. Devuelve cierto si alguna de las expresiones evaluadas tienen el valor cierto y devuelve falso si todas las expresiones son falsas.

Page 37: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EjercicioProcedimiento que pida dos números, si son mayores de 100, nos devolverá la suma de ambos. Si alguno de ellos es igual o menor de 100 nos devolverá mensaje de error.

Page 38: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

EjercicioProcedimiento que pide dos números , uno de los cuales debe ser mayor de 500. Si uno o los dos son mayores de 500, nos devolverá la suma de ambos. Si los dos son mayores de 500, nos devolverá la suma de ambos. Si los dos números son iguales o menores de 500, nos devolverá un mensaje de error.

Page 39: Realizado por Carolina Rubio. Esquema del tema 1. Algoritmos : diagramas de flujo 1. Secuencial 2. Condicional 3. Iterativa 2. Lenguaje de programación:

Bucle de un programaSi un programa que una parte del mismo se ejecuta repetidamente un número determinado de veces. Este número puede ser fijo o depender de determinadas circunstancias.

1.Hasta [expresión][instrucciones]2.Mientras [expresión][instrucciones]Evalúan si la expresión da como resultado cierto, por

lo que las instrucciones podrían no ejecutarse nunca.

1.Haz.mientras [instrucciones][condición]2.Haz.hasta [instrucciones][condición]Ejecutan un grupo de instrucciones mientras una

condición sea cierta o hasta que una condición sea cierta.