Módulo 1: Algoritmos - Principalcs.uns.edu.ar/~cjg/tem12/downloads/Modulo 1 - Problemas y... ·...

37
Técnologías en la educación matemática Dra. Marcela Capobianco 1 de Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Módulo 1: Algoritmos

Transcript of Módulo 1: Algoritmos - Principalcs.uns.edu.ar/~cjg/tem12/downloads/Modulo 1 - Problemas y... ·...

Técnologías en la educación matemática – Dra. Marcela Capobianco – 1 de

Tecnologías en la Educación Matemática Dr. Carlos Gonzalía

DCIC - UNS

Módulo 1: Algoritmos

Técnologías en la educación matemática – Dr. Carlos Gonzalía– 2

Copyright

● Copyright © 2012 M. Capobianco, C. Gonzalía

● Se asegura la libertad para copiar, distribuir y modificar este

documento de acuerdo a los términos de la GNU Free

Documentation License, Versión 1.2 o cualquiera posterior

publicada por la Free Software Foundation, sin secciones

invariantes ni textos de cubierta delantera o trasera.

● Una copia de esta licencia está siempre disponible en la página

http://www.gnu.org/copyleft/fdl.html.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 3

Problemas

● ¿Qué es un problema? Pensemos en algunos

ejemplos...

–Encontrar el camino más corto desde mi casa hasta el

trabajo o la escuela.

–Cómo pasar al próximo nivel de un juego.

–Cómo aprobar una materia.

● ¿Cómo podemos definir un problema? Busquemos

en el diccionario…

Técnologías en la educación matemática – Dr. Carlos Gonzalía– 4

Definiciones

1) Cuestión que se trata de aclarar.

2) Proposición o dificultad de solución dudosa.

3) Conjunto de hechos o circunstancias que dificultan

la consecución de algún fin.

4) Disgusto, preocupación.

5) Planteamiento de una situación cuya respuesta

desconocida debe obtenerse a través de métodos

científicos.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 5

Tipos de problemas

● Nombrar las tres mejores películas que vio este año.

● Sumar los números del 1 al 20.

¿Cuál es la diferencia entre estos problemas?

● Algunos problemas tienen una solución subjetiva y

otros poseen una solución objetiva.

● En este curso nos ocuparemos de la segunda

categoría.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 6

● Encontrar el valor de X en X+2=5.

● ¿Cuántos valores pueden tomar X e Y para que

X+Y=5, con X e Y números naturales?

● ¿Cuántos valores pueden tomar X e Y para que

X+Y=5, con X e Y números enteros?

● ¿Cuántos valores pueden tomar X e Y para que

X+Y=5, con X e Y números naturales mayores que 3?

Cantidad de soluciones

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 7

Ejercicio

● Pensar ejemplos de problemas para los siguientes

casos:

– con muchas soluciones

– sin solución

– con infinitas soluciones

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 8

Pasos para resolver un problema

● Analizar y comprender el problema: muy

importante…

● Construir la solución: se elige y se aplica una

estrategia o un conjunto de estrategias combinadas.

● Verificar la solución: confrontar los resultados

obtenidos con el problema, verificando que la

solución sea correcta.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 9

Cómo analizar un problema

● En todo problema se pueden distinguir los siguientes elementos: – los datos

– la incógnita

– el conjunto de reglas que los vinculan

● El análisis de un problema comienza con la correcta identificación de cada uno de estos elementos.

● Para esto, es una buena idea tener en cuenta las siguientes recomendaciones.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 10

Análisis y comprensión del problema

● Leer con detenimiento todo el enunciado.

● Comprender el significado de cada palabra y frase.

● Atender a los signos de puntuación.

● Identificar la incógnita.

● Identificar datos explícitos (los puede haber relevantes e

irrelevantes).

● Identificar datos implícitos (tanto relevantes como

irrelevantes) y explicitarlos.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 11

Análisis y comprensión del problema

● Eliminar las dobles negaciones.

● Detectar ambigüedades e impresiciones para luego

resolverlas.

● Obtener inferencias a partir de los datos identificados y

hacerlas explícitas.

● Construir un enunciado simple y sencillo con los datos

considerados relevantes.

● Verificar la equivalencia entre la especificación inicial y

la obtenida.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 12

Construir la solución

● Sabemos que encontrar la solución a un problema

puede no ser una tarea sencilla.

● Para buscar una solución a un problema, lo que

hacemos es plantear un modelo.

● Un modelo es una versión simplificada de la realidad

que cuenta sólo con los datos relevantes del problema.

● Los modelos se construyen haciendo abstracciones.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 13

Abstracciones

● Las abstracciones tratan de

simplificar la realidad

● Un mapa es un ejemplo de

abstracción que usamos muy a

menudo

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 14

Formas de describir el problema

● Descripción verbal.

● Notación matemática: descripciones algebraicas, ecuaciones,

sistemas de ecuaciones.

● Gráficos.

● Representaciones geométricas.

● Diagramas: por ejemplo, de conjuntos.

● Notaciones lógicas.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 15

Ejemplo: reyes, caballos y sotas

Roberto y Lola estaban jugando al truco, y al finalizar el partido Lola le propuso a Roberto un desafío. Dispuso sobre la mesa seis cartas boca abajo como muestra la figura de la derecha, donde puede verse que cada carta está al menos junto a otra y a lo sumo junto a otras cuatro.

Roberto debía descubrir qué carta era cada una, sabiendo que Lola sólo puso Reyes, Caballos y Sotas.

Lola le dijo que había al menos dos Reyes, a lo sumo dos Caballos, tantas Sotas como Reyes, y por cada Sota un Caballo. Además ninguna carta está junto a otra de su misma figura y cada Sota estaba arriba de un Rey.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 16

Ejemplo: reyes, caballos y sotas (2)

Denotemos #R, #C, #S la cantidad de reyes, caballos y sotas (respect.) en la mesa.

#R + #C + #S = 6

#R ≥ 2

#C ≤ 2

#S = #R

#S ≤ #C

Entonces #S ≤ 2, y también #S ≥ 2.

Luego #R = 2, y finalmente #C = 2.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 17

Ejemplo: reyes, caballos y sotas (3)

Consideremos la carta en posición 1:

a) Si es S, viola la regla de estar arriba de un R

b) Si es C, consideremos la carta en 2:

i. Si es S, viola la regla de estar arriba de un R

ii. Si es R, entonces 3 debe ser S, pero también debe serlo una de las tres restantes a su lado.

iii. Obviamente no puede ser C.

Entonces 2 no puede ser C.

Entonces 1 solo puede ser R. Y 2 debe ahora ser S.

Consideremos la carta en posición 3… (completar)

3

2

1

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 18

Otra vez reyes, caballos y sotas

Roberto le propuso a Lola un nuevo desafío. Dispuso sobre la mesa seis cartas boca abajo como muestra la figura de la izquierda. Lola ahora debía descubrir cuántos Reyes había, sabiendo que Roberto sólo puso Reyes, Caballos y Sotas.

Roberto le dijo que había al menos dos Reyes, a lo sumo dos Caballos, más Reyes que Caballos y que de cada figura había un número distinto de cartas. Además la única Sota no estaba junto a un Rey, y cada caballo estaba arriba de un Rey.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 19

Clariobaldo y su sobrina

Clariobaldo es ahora tres veces más viejo de lo que lo

era su sobrina Anabela hace 10 años y Anabela tiene

ahora la mitad de la edad que tendrá su tío dentro de

5 años. ¿Cuánto más viejo es Clariobaldo que

Anabela?

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 20

Sobre resolución de problemas

Pueden leer el cuadernillo del curso de ingreso

“Resolución de Problemas” (ver en la página de esta

materia).

Cómo plantear y resolver problemas, George Polya,

Editorial Trillas, 1965. (Probablemente agotado, se

puede conseguir como e-libro buscando en Google…)

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 21

Problemas y computadoras Problemas

Modelos

Algoritmos

Programas

Lenguaje de

Programación

representables por

Problemas

solubles por

computadora

implementados

escritos en un

son

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 22

Abstracciones y modelos

● Las abstracciones nos permiten construir modelos.

● Ahora usaremos los algoritmos como un modelo.

● El objetivo es aprender a decirle a la computadora

cómo resolver un problema.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 23

Algoritmo

● Un algoritmo es una secuencia de pasos u

operaciones, que al ejecutarlo producirá resultados y

terminará luego de una cantidad finita de tiempo.

● Existen muchos ejemplos de algoritmos en nuestra

vida cotidiana, no relacionados con las computadoras.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 24

Ejemplos de algoritmos

Instrucciones impresas en una caja de mate cocido

Para preparar un buen mate cocido:

– Coloque en la taza un saquito de mate cocido.

– Caliente agua fresca hasta el primer hervor.

– Vierta el agua en la taza.

– Deje reposar 5 minutos.

– Si lo prefiere helado, déjelo enfriar y luego agregue hielo,

limón y azúcar.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 25

Ejemplos de algoritmos

Instrucciones impresas detrás de una tarjeta telefónica

prepaga

Para cargar el monto de su tarjeta a su cuenta:

– Raspe suavemente el código de seguridad.

– Marque el número de acceso y siga las instrucciones.

– Seleccione la opción de cara y cuando el sistema lo solicite

ingrese el código descubierto.

– A continuación escuchará el nuevo saldo de su cuenta y

podrá realizar llamadas.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 26

Ejercicios

● Pensar 3 ejemplos de algoritmos que usa en su vida

cotidiana y escribirlos.

● Pensar 3 ejemplos de algoritmos que haya aprendido

en la escuela primaria o secundaria.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 27

Algoritmos

Es importante que en los algoritmos:

– cada paso debe estar definido sin ambigüedad

– las operaciones deben ser comprensibles

– debe haber un único punto de comienzo y al

menos un punto final

Existe una visión estática y una visión dinámica

de un algoritmo.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 28

Ejemplo de un algoritmo

Queremos encontrar a Maradona, Diego en la

guía telefónica:

– comenzar con el primer nombre en la guía

– si el nombre es igual Maradona, Diego

entonces lo encontré (fin)

– si no es igual repetir el proceso con el próximo

nombre de la guía

No parece muy razonable, no?

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 29

Datos

● Los algoritmos tienen datos y acciones.

● Las acciones modifican los datos de entrada y

obtienen a partir de ellos a los datos de salida que son

la solución buscada.

Algoritmo Datos de Entrada Datos de Salida

Datos Auxiliares

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 30

Algoritmo con datos

ALGORITMO PromedioCuatro

DATOS DE ENTRADA: NUM1, NUM2, NUM3, NUM4

DATOS DE SALIDA : PROMEDIO

Promedio (num1 + num2 + num3 + num4) / 4

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 31

Acciones en un algoritmo

● Existe un orden secuencial en las acciones de

arriba hacia abajo.

● Existen operaciones de asignación de valores a

datos ().

● Existen operaciones condicionales (como en el

ejemplo de la guia telefónica).

● Existen operaciones de repetición que indican

que una acción se repita un número de veces.

Técnologías en la educación matemática – Dr. Carlos Gonzalía - 32

Ejemplo de condicional

Escribir un algoritmo que tome dos números num1 y

num2 y devuelva el mayor de ellos en el dato de salida

mayor. ALGORITMO MayordeDos

DATOS DE ENTRADA: NUM1, NUM2

DATOS DE SALIDA : MAYOR

COMIENZO

SI NUM1>NUM2

ENTONCES MAYOR ← NUM1

SINO MAYOR ← NUM2

FIN ALGORITMO

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 33

Uso de repetición

Supongamos ahora que queremos sumar los números

naturales entre 1 y un número dado como entrada…

¿Cómo podemos hacer?

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 34

Ejemplo de repetición

ALGORITMO SumadeN

DATOS DE ENTRADA: N

DATOS DE SALIDA : SUMA

COMIENZO

aux ← 1

SUMA ← 0

REPETIR MIENTRAS aux <= N

SUMA ← SUMA + aux

aux ← aux + 1

FIN ALGORITMO

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 35

Recomendaciones generales

● Recordar que todo dato en un algoritmo debe tener

un nombre significativo.

● Recordar que todo dato de entrada en un algoritmo

tiene asociado un valor y que todo dato de salida

debería devolver un valor.

● Los algoritmos se deben escribir en forma clara y

prolija.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 36

Ejercicios

Identificar en los siguientes enunciados cuáles serían

los datos de entrada y de salida de los siguientes

algoritmos:

– Obtener el cociente y el resto de dividir dos números

naturales entre sí.

– Calcular el divisor común mayor de dos números enteros.

– Determinar si una fecha es válida.

– Calcular la suma de todos los números menores que un tope

dado.

Técnologías en la educación matemática – Dr. Carlos Gonzalía – 37

Ejercicios

● Escribir un algoritmo para sumar tres números

naturales dados como entrada.

● Escribir un algoritmo para hallar el cuadrado de un

número dado como dato de entrada.

● Escribir un algoritmo para calcular el valor de la

función f(X)=X2+X3 para un X dado como dato de

entrada del algoritmo.

● Escribir un algoritmo para ver si un número es par.