Modulo 3 - Algoritmos y Expr

Anuncio
Módulo 3: Algoritmos y
expresiones
Tecnologías en la Educación Matemática
Dr. Carlos Gonzalía
DCIC - UNS
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 1 de
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 – 2
Qué queremos aprender
Debemos aprender a decirle a la computadora cómo resolver
un problema
●
Problema
Solución
Implementación
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 3
Qué queremos aprender
●
●
Un lenguaje más flexible para especificar como
resolver un problema: lenguaje de diseño de
algoritmos
Un lenguaje de programación para implementar
esta especificación en la computadora: lenguaje
Pascal
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 4
Algoritmos
●
●
●
Definición: un algoritmo es una secuencia finita
de pasos u operaciones, que cuando se los ejecuta,
producirá resultados.
Visión estática: es la especificación de la solución
Visión dinámica: es la ejecución de la solución, al
realizar los pasos alcanzamos la solución
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 5
Algoritmos
●
●
Un número finito de pasos convierten los datos de
un problema (entrada) en una solución (salida)
Un algoritmo es tal que funciona paso a paso,
donde cada paso se pueda describir sin
ambigüedad y sin hacer referencia a una
computadora en particular.
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 6
¿De donde viene la palabra
algoritmo?
Abu Abdallah Muḥammad ibn Mūsā al-Jwārizmī
(Abu Yā'far), conocido generalmente como alJuarismi, fue un matemático, astrónomo y
geógrafo persa musulmán chií, que vivió
aproximadamente entre 780 y 850.
Debemos a su nombre y al de su obra principal,
"Hisāb al-ŷabr wa'l muqābala", nuestras palabras
álgebra, guarismo y algoritmo.
Es considerado como el padre del álgebra.
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 7
Métodos para expresar un
algoritmo
●
Lenguaje natural
●
Diagramas de Flujo
●
Pseudo código
●
Sistemas Formales
●
Lenguajes de programación
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 8
Lenguaje Natural
●
●
●
Las descripciones en lenguaje natural tienden a ser
ambiguas y extensas
No son recomendables
Los diagramas de flujo y el pseudo código evitan
las ambigüedades
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 9
Diagramas de flujo
●
●
●
Los diagramas de flujo son
descripciones gráficas de
algoritmos
Usan símbolos conectados
con flechas para indicar la
secuencia de instrucciones
Sólo usados para algoritmos
simples porque abarcan
mucho espacio y son
engorrosos de construir
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 10
Pseudo código
●
●
Pseudocódigo es la descripción de un algoritmo que
asemeja a un lenguaje de programación pero con algunas
convenciones del lenguaje natural
Posee varias ventajas con respecto a los diagramas de
flujo, entre las que se destaca el poco espacio que se
requiere para representar instrucciones complejas.
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 11
Lenguajes de programación
●
●
La mayoría de los algoritmos se crean para luego
implementarse en un lenguaje de programación
Un lenguaje de programación es un idioma
artificial diseñado para expresar computaciones
que pueden ser llevadas a cabo por las
computadoras
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 12
Pasos para construir un
programa
●
Metodología que usaremos:
–
Descripción de alto nivel
–
Descripción más estructurada con un algoritmo en
pseudo código
–
Implementación en un lenguaje de programación (en
nuestro caso Pascal)
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 13
Pseudo código (LDA)
●
●
El lenguaje de diseño de algoritmos que usaremos
sigue una serie de pautas
A continuación resumiremos como debemos
construir nuestros algoritmos
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 14
Datos en los algoritmos
●
●
●
Al resolver el problema se deben identificar los
diferentes datos que usará el algoritmo:
–
Datos de entrada
–
Datos de salida
–
Datos auxiliares
Todo dato deberá estar identificado en el
algoritmo
Un dato no identificado será considerado un
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 15
ERROR
Datos en los algoritmos
●
●
●
●
Un dato en un algoritmo tiene un nombre fijo que
lo identifica unívocamente
El nombre de un dato debe ser claro y
representativo de cuál es la finalidad del dato
dentro del algoritmo
Todo dato en un algoritmo tiene un valor, que
puede ser modificado
Hay distintos tipos de datos (numéricos, lógicos,
etc)
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 16
Expresiones con datos
●
Operadores matemáticos: * / /e + -
●
raíz cuadrada
●
Paréntesis ( )
●
Operadores lógicos : y , o , no
●
Los operadores = > <
●
//
Ejemplos: (num1 + 3) > (num2+num3) (resto=0)
y (divisor > 3)
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 17
Acciones en un algoritmo
1)Secuencia de acciones: impone implícitamente un
orden de arriba hacia abajo y de izq. a derecha
2)Asignación de valores a datos (←)
3)Condiciones
4)Repeticiones
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 18
Asignación
●
<nombre de dato> ← <expresión>
●
La flecha indica el orden de la evaluación
●
●
Se evalúa la expresión, se obtiene un valor y luego
se modifica el valor del dato a la izquierda del
símbolo ←
El tipo de la expresión tiene que ser compatible
con el del dato a modificar
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 19
Asignación
●
Pensar ejemplos de asignaciones
●
Diseñar secuencias de asignaciones
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 20
Ejemplos
●
AñoNacimiento ← 1980
●
AñoCorriente ← 2010
●
Edad ← AñoCorriente – AñoNacimiento
●
Existe ← falso
●
Positivos ← ( A> 0 ) y ( B >0)
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 21
Intercambiar dos datos
●
●
Dados dos datos A y B que tienen valores, intercambiar
los valores de A y B
Ejemplo: A tiene 3 y B tiene 10, al intercambiar queda A
con 10 y B con 3
¿Qué ocurre si tiene dos vasos, uno con te y otro con café?
¿cómo intercambia el contenido?
Auxiliar ← A
A←B
B ← Auxiliar
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 22
Ejercicios
●
●
Hacer un algoritmo para determinar si un número
es par
Hacer un algoritmo para determinar si un año es
bisiesto
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 23
Condiciones
●
Si el día está soleado vamos al parque
●
Si el día está lluvioso vamos al cine
●
Si apruebo ambos parciales curso la materia, sino
debo rendir recuperatorio
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 24
Condiciones (I)
●
Si <condición> entonces <acción>.
–
●
Si la expresión <condición> da un resultado de valor
verdadero entonces se ejecuta la <acción> si da falso
no hace nada
Ejemplo:
–
Si A // 2 = 0
entonces es_par ← verdadero
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 25
Condiciones (II)
●
●
Si <condición>
entonces <acción 1>
sino <acción 2>
Ejemplo:
–
Si A // 2 = 0
entonces es_par ← verdadero
sino es_par ← falso
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 26
Correctitud
●
●
●
¿Qué significa que un algoritmo sea correcto?
Para cualquier valor de datos de entrada
dentro del dominio, el algoritmo deberá
“devolver” los datos de salida esperados, de
acuerdo con la finalidad de nuestro algoritmo.
¿Cómo podemos comprobar si un algoritmo es
correcto?
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 27
Comprobación
●
●
●
Debemos probar el comportamiento del algoritmo
con distintos datos de entrada
Esta tarea se llama comprobar o testear un
algoritmo
Es importante tener claro cual es el dominio de los
datos de entrada y los de salida
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 28
Comprobación
●
●
●
●
Una TRAZA de un algoritmo nos permitirá ver el
comportamiento de los datos
Para ello ejecutamos el algoritmo para ciertos datos de
entrada, y llevamos cuenta de los cambios efectuados en
los datos cuando se ejecuta el algoritmo.
En forma gráfica podemos utilizar una tabla que tenga a
cada dato en una columna y las modificaciones de sus
valores en las filas
El último valor del dato es el único que vale
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 29
Comprobación
●
●
Importante: probar un algoritmo con distintos
datos de entrada, representativos para nuestro
problema, que permitan verificar que el algoritmo
es correcto.
Cuidado: una traza no demuestra que un algoritmo
es correcto, sólo puede mostrar su correctitud para
los valores elegidos
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 30
Condicionales anidados
SI <condicion>
SI <condicion 1>
ENTONCES
ENTONCES
SI < condicion 2 >
ENTONCES <acción 1>
SINO <acción 2>
< secuencia de
acciones 1>
SI NO
< secuencia de
SINO
SI < condicion 3 >
ENTONCES <acción 4>
SINO <acción 5>
acciones 2>
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 31
Condicionales anidados
●
¿Son equivalentes los siguientes algoritmos?
CONDICIONALES
CONDICIONALES ANIDADOS
SI ( A > 10 )
ENTONCES <ACCION 1 >
SI ( B = 0 )
ENTONCES <ACCION 2>
SI ( C > 20 )
ENTONCES <ACCION 3>
SI ( A > 10 )
ENTONCES <ACCION 1>
SINO SI ( B = 0 )
ENTONCES <ACCION 2>
SINO SI ( C > 20 )
ENTONCES <ACCION 3>
REALIZAR UNA TRAZA CON
A = 20, B = 10, C = 100
A = 1, B = 0, C = 100
A = 1, B = 0, C = 1
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 32
Condicionales anidados
●
●
Cada SINO corresponde siempre al SIENTONCES más cercano
Es muy importante usar la indentación adecuada.
Facilita la lectura y comprensión del algoritmo
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 33
Para resolver
●
Ejercicio: escribir un algoritmo que nos devuelva
el mayor de tres números enteros. Luego de
escribirlo comprobar el algoritmo con el conjunto
de datos de entrada que le parezca más adecuado
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 34
ALGORITMO Máximo entre tres números
DE: A, B, C {natural}
DS: máximo {natural}
DA:
COMIENZO
SI (A > B)
ENTONCES SI (A > C)
ENTONCES máximo ← A
SINO máximo ← C
SINO SI (B > C)
ENTONCES máximo ← B
SINO máximo ← C
FIN ALGORITMO
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 35
Ejercicio
●
Hacer un algoritmo para determinar si dos fechas
son iguales. Cada fecha se representa mediantes
tres datos, día, mes y año.
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 36
Algoritmos claros
●
●
Es muy importante que un algoritmo sea claro, y que no
presente ambigüedades para quien lo lea.
Para lograr esto hay que tener en cuenta una serie de
pautas de “buen estilo” para la confección de algoritmos:
–
Indentación
–
Líneas para agrupar en bloques
–
Uso de “Fin”
–
Uso de nombres representativos
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 37
Lógica proposicional:
repaso
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 38
Proposiciones
Una proposición es una afirmación que puede ser verdadera o
falsa. Ejemplos:
–Proposición A = “Hoy es lunes”
–Proposición B = “Todas las aves vuelan”
–Proposición C = “La luz está apagada o la bombilla no
funciona”.
–Proposición D = “Si hoy está nublado, entonces el el dólar se
mantendrá estable”.
●
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 39
Lógica
En lógica proposicional hay sólo dos valores lógicos: verdadero y falso
●
Las expresiones lógicas se construyen con los siguientes tres operadores
básicos:
–Y (and) conjunción, también denotada 
–O (or) disyunción, también denotada 
–NO (not) negación, también denotada 
Se puede determinar una tabla para mostrar todos los
posibles valores que estas operaciones definen.
Pueden usarse los dos tipos de notaciones.
●
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 40
Tablas de verdad
Una tabla de verdad para un operador lógico, muestra el
resultado de todas las posibilidades.
●La tabla de verdad para la negación ( es:
●
A
verdadero
falso
A
falso
verdadero
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 41
Tablas de verdad
•La tabla de verdad para la conjunción es:
A
B
AyB
verdadero verdadero
verdadero
falso
verdadero
falso
verdadero
falso
falso
falso
falso
falso
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 42
Tablas de verdad
•La tabla de verdad para la disjunción es:
A
B
AoB
verdadero verdadero
falso
verdadero
falso
verdadero
falso
falso
verdadero
verdadero
verdadero
falso
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 43
Implicación lógica
Otro operador lógico importante es la implicación,
denotada 
●Es interpretado como indicativo de
consecuencia lógica:
●
jugar y hacer más goles que el rival  ganar.
arrojar un vaso de cristal  el vaso se rompe.
Si AB, entonces A es el antecedente de la
implicación, y B es el consecuente
●
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 44
Implicación lógica
●
La implicación lógica también tiene tabla de verdad
A
B
AB
verdadero
verdadero
verdadero
verdadero
falso
falso
falso
verdadero
verdadero
falso
falso
verdadero
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 45
Expresiones lógicas
Una expresión lógica es una proposición cuyo valor
es llamado valor de verdad.
●Por ejemplo
No hay conexion a Internet si
el cable está desenchufado o
el cable está enchufado y el modem apagado o
nos cortaron el servicio por falta de pago
●
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 46
Expresiones lógicas
El uso de paréntesis es importante para el significado de
la expresión...
●Por ejemplo
No hay conexion a Internet si
el cable está desenchufado o
(el cable está enchufado y el módem apagado) o
nos cortaron el servicio por falta de pago
●
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 47
Expresiones lógicas
•El uso de paréntesis es importante para el
significado de la expresión...
•Por ejemplo
No hay conexion a Internet si
(el cable está desenchufado o
el cable está enchufado) y (el módem apagado o
nos cortaron el servicio por falta de pago)
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 48
Ejercicios
Dibuje la tabla de verdad para las siguientes expresiones lógicas
–(A y B) o C
–A y (no A)‫‏‬
–A o (no A)‫‏‬
●
Dibuje la tabla de verdad para la siguiente expresión lógica:
–tiene_auto y tiene_dinero y saldrá_de_viaje
●
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 49
Equivalencia lógica
Dos expresiones lógicas son equivalentes si una es
verdadera si y sólo sí la otra también lo es.
(A o B) y C es equivalente a (A y C) o (B y C)‫‏‬
●
A
B
C
AoB
v
v
v
v
f
f
f
f
v
v
f
f
v
v
f
f
v
f
v
f
v
f
v
f
v
v
v
v
v
v
f
f
(AoB)yC
v
f
v
f
v
f
f
f
(AyC)
(ByC)
(AyC)o(ByC)‫‏‬
v
f
v
f
f
f
f
f
v
f
f
f
v
f
f
f
v
f
v
f
v
f
f
f
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 50
Implicación lógica
La implicación en realidad es el “resumen” de otra
expresión lógica:
●
AB es equivalente a A ∨ B
•Ejercicio: hacer la tabla de verdad de las dos
expresiones y verificar la equivalencia.
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 51
Ejercicios
¿Es equivalente la expresión (A o B) a la
expresión (A y B)?
●¿Es equivalente la expresión (A y B) a la
expresión (A o B)?
●¿Es equivalente la expresión (A o B) y C a la
expresión A o (B y C)?
●
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 52
Tautologías
Una tautología es una expresión lógica que siempre
es verdadera.
●Es decir, al hacer la tabla de verdad, todos los casos
dan verdadero.
●Ejemplos:
–A∨A
●
(B  A))‫‏‬
●EJERCICIO: Hacer la tabla de verdad de la última
proposición.
–(A
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 53
Ejercicios
¿Cuáles de las siguientes expresiones denota una tautología?
●
–(tengo
dinero y veré el partido) o (no tengo dinero y veré el partido)‫‏‬
–(estoy en Buenos Aires) o (no estoy en Buenos Aires)‫‏‬
La negación de una tautología...¿es siempre falsa?
●
¿Puede una expresión de la forma (A y B), donde A y B son
expresiones lógicas, ser una tautología?
●
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 54
Resumen de operadores
“” Negación:
P es verdadera si P es falsa, y falsa si P es verdadera.
“” Implicación:
P  Q es verdadera si P es falsa o Q es verdadera.
“” Conjunción:
P ∧ Q es verdadera si P y Q son verdaderas.
“” Disyunción:
P ∨ Q es verdadera si P o Q son verdaderas.
“”Equivalencia:
P  Q es verdadera si P y Q tienen el mismo valor de verdad, i.e.,
son ambas verdaderas o ambas falsas.
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 55
Continuamos con los
algoritmos...
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 56
Repetición
●
●
●
●
Problema: calcular cuantos múltiplos de un
número natural K hay entre 1 un y tope dado
¿Qué significa que un número N sea múltiplo de
K?
Expresión: N//K=0
¿Cómo calculamos cuántos múltiplos de K hay
entre 1 y un tope dado?
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 57
Estrategia
●
El primer candidato a considerar es 1.
●
Voy incrementando el candidato de uno en uno,
●
Si es múltiplo, incremento la cantidad en uno.
●
Termino cuando el candidato es mayor al tope
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 58
Entonces...
candidato ← 1
SI candidato // K = 0
ENTONCES cantidad ← cantidad + 1
candidato ← candidato + 1
SI candidato // K = 0
ENTONCES cantidad ← cantidad + 1
candidato ← candidato + 1
SI candidato // K = 0
ENTONCES cantidad ← cantidad + 1
........
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 59
Repetir
●
Claramente hay un bloque que se repite varias
veces
●
¿Hasta cuando deben repetirse estas acciones?
●
Hasta que candidato > tope
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 60
Repetición
REPETIR MIENTRAS <condición>
REPETIR
Acción 1
Acción 2
...
Acción n
HASTA <condición>
Acción 1
Acción 2
...
Acción n
REPETIR <cantidad> VECES
Acción 1
Acción 2
...
Acción n
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 61
Contar múltiplos
ALGORITMO ContarMúltiplos
DE: K y N
DS: Cantidad
Candidato ← 1
Cantidad ← 0
REPETIR
SI Candidato // K = 0
ENTONCES
Cantidad ← Cantidad + 1
Candidato ← Candidato + 1
HASTA Candidato > N
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 62
Contar múltiplos
ALGORITMO ContarMúltiplos
DE: K y N
Ahora con
DS: Cantidad
repetir
Candidato ← 1
mientras
Cantidad ← 0
REPETIR MIENTRAS Candidato <= N
SI Candidato // K = 0
ENTONCES
Cantidad ← Cantidad + 1
Candidato ← Candidato + 1
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 63
Repetir n veces
●
●
Las acciones dentro de un ciclo REPETIR
<cantidad> VECES se ejecutan exactamente el
número de veces que indica la expresión
<cantidad>
¿Cómo quedaría el algoritmo ContarMúltiplos con
esta estructura?
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 64
Contar múltiplos
ALGORITMO ContarMúltiplos
DE: K y N
Con repetir n
DS: Cantidad
veces
Candidato ← 1
Cantidad ← 0
REPETIR N VECES
SI Candidato // K = 0
ENTONCES
Cantidad ← Cantidad + 1
Candidato ← Candidato + 1
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 65
Formas de repetición
●
●
●
Las formas de repetición REPETIR MIENTRAS y
REPETIR HASTA son repeticiones condicionales
(dependen de una condición lógica o booleana)
La forma de repetición REPETIR n VECES es
una repetición incondicional (no depende de
ninguna condición)
La estructura REPETIR n VECES es menos
expresiva
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 66
Ciclos infinitos
S ←0
I ← 1
REPETIR MIENTRAS I>0
S ← S + 1
I ← I + 1
S ← 0
I ← 1
REPETIR MIENTRAS I>0
S ← S + I
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 67
Ciclos infinitos
●
●
●
Una repetición que se realiza infinitas veces se
denomina ciclo infinito
Puede haber ciclos infinitos si:
–
el dato de control no tiene valor inicial
–
el dato de control no se modifica
–
la condición de corte es errónea
Son siempre incorrectos!
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 68
Dígitos de un número
●
●
●
Escriba un algoritmo para contar cuántas veces
aparece un dígito D en un número natural N.
Ejemplo: si D = 3 y N=123, entonces D aparece 1
vez.
Ejemplo: si D = 6 y N=6226, entonces D aparece
2 veces.
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 69
Estrategia
●
●
Debemos examinar dígito por dígito.
Tenemos dos operaciones que podemos usar para
“desarmar” un número:
–
Obtener el último dígito: N // 10
–
“Podar” el último dígito de N: N /e 10
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 70
Algoritmo
ALGORITMO CuantasVeces
DE: Número, dígito {natural}
DS: Cantidad {natural}
DA:
COMIENZO
Cantidad ← 0 {inicializo acumulador}
REPETIR
SI (Número // 10) = dígito
ENTONCES Cantidad ← Cantidad + 1
Número ← Número / 10 {“podo” el último dígito}
HASTA Número = 0
{hasta que no haya más
digitos}
FIN
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 71
Ejercicio
●
●
Escribir un algoritmo para ver si un número N
puede expresarse como la suma de números
naturales consecutivos a partir del 1
(1+2+3.. + ... K)
¿Con que estructura repetir puede realizarse?
Técnologías en la educación matemática – Dr. Carlos Gonzalía – 72
Descargar