72
Técnologías en la educación matemática Dr. Carlos Gonzalía 1 de Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Módulo 3: Algoritmos y expresiones

Módulo 3: Algoritmos y expresiones - cs.uns.edu.arcs.uns.edu.ar/~cjg/tem12/downloads/Modulo 3 - Algoritmos y Expr.pdf · Pseudocódigo es la descripción de un algoritmo que

  • Upload
    vothien

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

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

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

DCIC - UNS

Módulo 3: Algoritmos y

expresiones

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

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 – 4

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 – 5

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 – 6

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 – 7

¿De donde viene la palabra

algoritmo?

Abu Abdallah Muḥammad ibn Mūsā al-Jwārizmī

(Abu Yā'far), conocido generalmente como al-

Juarismi, 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 – 8

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 – 9

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 – 10

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 – 11

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 – 12

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 – 13

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 – 14

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 – 15

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

ERROR

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

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 – 17

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 – 18

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 – 19

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 – 20

Asignación

● Pensar ejemplos de asignaciones

● Diseñar secuencias de asignaciones

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

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 – 22

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 – 23

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 – 24

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 – 25

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 – 26

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 – 27

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 – 28

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 – 29

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 – 30

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 – 31

Condicionales anidados

SI <condicion>

ENTONCES

< secuencia de

acciones 1>

SI NO

< secuencia de

acciones 2>

SI <condicion 1>

ENTONCES

SINO

SI < condicion 2 >

ENTONCES <acción 1>

SINO <acción 2>

SI < condicion 3 >

ENTONCES <acción 4>

SINO <acción 5>

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

Condicionales anidados

● ¿Son equivalentes los siguientes algoritmos?

CONDICIONALES

SI ( A > 10 )

ENTONCES <ACCION 1 >

SI ( B = 0 )

ENTONCES <ACCION 2>

SI ( C > 20 )

ENTONCES <ACCION 3>

CONDICIONALES ANIDADOS

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 – 33

Condicionales anidados

● Cada SINO corresponde siempre al SI-

ENTONCES 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 – 34

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 – 35

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 – 36

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 – 37

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 – 38

Lógica proposicional:

repaso

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

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 – 40

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 – 41

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 A

verdadero

verdadero

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 conjunción es:

A B A y B

verdadero verdadero

verdadero falso

falso

falso falso

verdadero

verdadero

falso

falso

falso

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

Tablas de verdad •La tabla de verdad para la disjunción es:

A B A o B

verdadero verdadero

verdadero falso

falso

falso falso

verdadero

verdadero

falso

verdadero

verdadero

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

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 AB, 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 – 45

Implicación lógica ●La implicación lógica también tiene tabla de verdad

verdadero falso falso

verdadero verdadero falso

falso falso verdadero

verdadero verdadero verdadero

AB B A

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

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 – 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

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 – 49

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 – 50

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 (AoB)yC (AyC) (ByC) (AyC)o(ByC)‏

v v v v v f v f v

v f f f v v

f v f f f v

f f f

v v v v v

v

f

f

v f v f v

f

f

f

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 – 51

Implicación lógica ●La implicación en realidad es el “resumen” de otra expresión lógica:

AB 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 – 52

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 – 53

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

–(A (B A))‏

●EJERCICIO: Hacer la tabla de verdad de la última proposición.

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

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 – 55

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 – 56

Continuamos con los

algoritmos...

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

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 – 58

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 – 59

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 – 60

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 – 61

Repetición

REPETIR

Acción 1

Acción 2

...

Acción n

HASTA <condición>

REPETIR MIENTRAS <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 – 62

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 – 63

Contar múltiplos ALGORITMO ContarMúltiplos

DE: K y N

DS: Cantidad

Candidato ← 1

Cantidad ← 0

REPETIR MIENTRAS Candidato <= N

SI Candidato // K = 0

ENTONCES

Cantidad ← Cantidad + 1

Candidato ← Candidato + 1

Ahora con

repetir

mientras

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

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 – 65

Contar múltiplos ALGORITMO ContarMúltiplos

DE: K y N

DS: Cantidad

Candidato ← 1

Cantidad ← 0

REPETIR N VECES

SI Candidato // K = 0

ENTONCES

Cantidad ← Cantidad + 1

Candidato ← Candidato + 1

Con repetir n

veces

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

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 – 67

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 – 68

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 – 69

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 – 70

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 – 71

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 – 72

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?