Anda di halaman 1dari 10

AUTOR: Juan Carlos Lpez Garcia

Fundacin Gabriel Piedrahita Uribe (www.eduteca.org)

ALGORITMOS Y PROGRAMACIN
QU ES UN ALGORITMO?

Luego de analizar detalladamente el problema hasta entenderlo completamente, se procede a disear


un algoritmo (trazar un plan) que lo resuelva por medio de pasos sucesivos y organizados en secuencia
lgica. El concepto intuitivo de algoritmo (procedimientos y reglas) se puede encontrar en procesos
naturales de los cuales muchas veces no se es consciente. Por ejemplo, el proceso digestivo es un
concepto intuitivo de algoritmo con el que se convive a diario sin que haga falta una definicin
matemtica del mismo. Tener claro el proceso digestivo, no implica que los alimentos consumidos
nutran ms.
La familiaridad de lo cotidiano impide a las personas ver muchos algoritmos que se suceden a su
alrededor. Procesos, rutinas o biorritmos naturales como la gestacin, las estaciones, la circulacin
sangunea, los ciclos csmicos, etc, son algoritmos naturales que generalmente pasan desapercibidos.

Dato Curioso
La palabra Algoritmo tiene su origen en el nombre del matemticoPersa "Mohamed ibn Musa al
Khwarizmi" (825 d.C.). Su apellido fuetraducido al latn como Algorismus y posteriormente paso al
espaolcomo Algoritmo. Khwarizmi fue bibliotecario en la corte del califa al-Mamun y astrnomo en el
observatorio de Bagdad. Sus trabajos delgebra, aritmtica y tablas astronmicas adelantaron
enormementeel pensamiento matemtico y fue el primero en utilizar la expresinal-yabr (de la que
procede la palabra lgebra). Su trabajo con losalgoritmos introdujo el mtodo de clculo utilizando la
numeracinarbiga y la notacin decimal.
En el mbito de la computacin, los Algoritmos son unaherramienta que permite describir claramente
unconjunto finito de instrucciones, ordenadassecuencialmente y libres de ambigedad, que debellevar a
cabo un computador para lograr un resultadoprevisible. Vale la pena recordar que un programa
decomputador consiste de una serie de instrucciones muyprecisas y escritas en un lenguaje de
programacin queel computador entiende (Logo, Java, Pascal, etc).
En resumen, un Algoritmo es una secuencia ordenada de instrucciones, pasos o procesos que llevan a
lasolucin de un determinado problema. Los hay tansencillos y cotidianos como seguir la receta del
mdico,abrir una puerta, lavarse las manos, etc; hasta los queconducen a la solucin de problemas muy
complejos.
EJEMPLO
Un procedimiento que realizamos varias veces al daconsiste en lavarnos los dientes. Veamos la forma
deexpresar este procedimiento como un Algoritmo:
1. Tomar la crema dental
2. Destapar la crema dental

AUTOR: Juan Carlos Lpez Garcia


Fundacin Gabriel Piedrahita Uribe (www.eduteca.org)
3. Tomar el cepillo de dientes
4. Aplicar crema dental al cepillo
5. Tapar la crema dental
6. Abrir la llave del lavamanos
7. Remojar el cepillo con la crema dental
8. Cerrar la llave del lavamanos
9. Frotar los dientes con el cepillo
10. Abrir la llave del lavamanos
11. Enjuagarse la boca
12. Enjuagar el cepillo
13. Cerrar la llave del lavamanos
14. Secarse la cara y las manos con una toalla
EJEMPLO
El ejemplo de cambiar una bombilla (foco) fundida es uno de los msutilizados por su sencillez para
mostrar los pasos de un Algoritmo:
1. Ubicar una escalera debajo de la bombilla fundida
2. Tomar una bombilla nueva
3. Subir por la escalera
4. Girar la bombilla fundida hacia la izquierda hasta soltarla
5. Enroscar la bombilla nueva en el plafn hasta apretarla
6. Bajar de la escalera
7. Fin
En trminos generales, un Algoritmo debe ser:
Realizable: El proceso algortmico debe terminardespus de una cantidad finita de pasos. Se
diceque un algoritmo es inaplicable cuando se ejecutacon un conjunto de datos iniciales y el
procesoresulta infinito o durante la ejecucin se encuentracon un obstculo insuperable sin
arrojar unresultado.
Comprensible: Debe ser claro lo que hace, deforma que quien ejecute los pasos (ser humano
omquina) sepa qu, cmo y cundo hacerlo. Debeexistir un procedimiento que determine el
procesode ejecucin.
Preciso: El orden de ejecucin de las instruccionesdebe estar perfectamente indicado. Cuando
seejecuta varias veces, con los mismos datos iniciales,el resultado debe ser el mismo siempre.
La precisinimplica determinismo.
Un aspecto muy importante sobre el cual los estudiantesdeben reflexionar es la ambigedad del
lenguaje naturalque utilizan para comunicarse diariamente con sussemejantes. La informalidad o
formalidad en lacomunicacin depende de elementos como vocabulario,uso de comodines en lugar de
vocablos precisos, uso deadverbios coloquiales en lugar de adverbios formales,etc. Es fundamental que
los estudiantes aprendan adiferenciar entre comunicacin informal y comunicacinformal, cuya principal
caracterstica es la precisin. Losalgoritmos no admiten ningn tipo de ambigedad yaque los lenguajes
de programacin tienen unvocabulario restringido y preciso. Esto exige lautilizacin de un conjunto
determinado de palabras,mandos o primitivas en cualquiera de los procedimientosque se elaboren.

Pensamiento Algortmico
Cuando se habla de algoritmos, con frecuenciaaparecen tres tipos de pensamiento, que generalmentese
relacionan con ellos y que se utilizanindiscriminadamente como sinnimos: PensamientoComputacional,
Pensamiento Algortmico y PensamientoProcedimental. Por lo tanto es importante puntualizar aqu se
refiere cada uno de estos pensamientos.
Segn Moursund (2006), el pensamiento computacionalhace referencia a la representacin y solucin
deproblemas utilizando inteligencia humana, de mquinaso de otras formas que ayuden a resolver el
problema. Elpensamiento algortmico se refiere al desarrollo y uso dealgoritmos que puedan ayudar a
resolver un tipoespecfico de problema o a realizar un tipo especfico detarea. Por su parte, el
pensamiento procedimental seocupa del desarrollo y utilizacin de procedimientosdiseados para

AUTOR: Juan Carlos Lpez Garcia


Fundacin Gabriel Piedrahita Uribe (www.eduteca.org)
resolver un tipo especfico de problemao para realizar un tipo especfico de tarea, pero que
nonecesariamente, siempre resulta exitoso.
Por otra parte y de acuerdo con un reporte del ConsejoNacional de Investigacin de Estados Unidos
(NationalResearch Council, NRC, 2004), conocido como BeingFluentwithInformationTechnology, el
PensamientoAlgortmico incluye elementos tales como:descomposicin funcional, repeticin (iteracin
y/orecursin), organizacin de datos (registro, campo,arreglo, lista, etc), generalizacin y
parametrizacin,diseo por descomposicin de un problema en partesms pequeas y manejables (topdown) y refinamiento.
El Pensamiento Algortmico est fuertemente ligado alpensamiento procedimental requerido en
laprogramacin de computadores; sin embargo, sudesarrollo puede conducir a los estudiantes
aaproximarse guiada y disciplinadamente a los problemasde forma que este pueda transferirse a otros
ambientesdiferentes a los de la programacin. En pocas palabras,la programacin de computadores
aporta al mbitoescolar un laboratorio para desarrollar habilidades indispensables en la vida real del
Siglo XXI.
Una diferencia notoria entre un algoritmo y un programaes que el algoritmo incorpora las caractersticas
estructurales bsicas de la computacin,independientemente de los detalles de suimplementacin;
mientras que un programa tiene unconjunto especfico de detalles para resolver unproblema. Se puede
observar que una tcnica desolucin (correspondiente al algoritmo) se puede utilizaren diferentes
situaciones problemticas(correspondiente a los programas). De manera inversa,se espera que una
solucin exitosa de problemasincorpore procesos generales que son independientesde las situaciones
especficas (NRC, 2004). Esto seconoce como experiencias de vida y los estudiantesdeben adquirirlas
en su paso por la educacin bsica ymedia para desempearse adecuadamente en su vidadiaria.
Los Algoritmos se puede expresar de muchas maneras,pero en esta gua se tratarn solo dos formas:
Seudocdigo y Diagrama de Flujo. En Seudocdigo lasecuencia de instrucciones se representa por
medio defrases o proposiciones, mientras que en un Diagramade Flujo se representa por medio de
grficos.
EJEMPLO
Elaborar un Algoritmo para calcular el rea de cualquier tringulorectngulo y presentar el resultado en
pantalla.
SEUDOCDIGO
Paso 1: Inicio
Paso 2: Asignar el nmero 2 a la constante "Div"
Paso 3: Conocer la base del tringulo y guardarla en la variable"Base"
Paso 4: Conocer la altura del tringulo y guardarla en la variable"Altura"
Paso 5: Guardar en la variable "Area" el valor de multiplicar "Base"por "Altura"
Paso 6: Guardar en la variable "Area" el valor de dividir "Area"entre "Div"
Paso 7: Reportar el valor de la variable "Area"
Paso 8: Final
DIAGRAMA DE FLUJO

AUTOR: Juan Carlos Lpez Garcia


Fundacin Gabriel Piedrahita Uribe (www.eduteca.org)

Algoritmo para calcular el rea de cualquiertringulo rectngulo


El seudocdigo est compuesto por proposicionesinformales en espaol que permiten
expresardetalladamente las instrucciones que llevan desde unestado inicial (problema) hasta un
resultado deseado(solucin). Por lo regular, los algoritmos se escriben porrefinamiento: se escribe una
primera versin que luego se descompone en varios subproblemas (el nmerodepende de la
complejidad del problema)independientes entre s. Si es necesario se va refinandocada vez las
instrucciones hasta que las proposicionesgenerales en espaol como las del ejemplo anterior sepuedan
codificar en el lenguaje seleccionado para hacerla programacin.
La utilizacin de Diagramas ayuda a los estudiantes a:
Clarificar el pensamiento: Ellos pueden ver cmo seconectan los procesos y se dan cuenta de
cmoestos se pueden organizar o agrupar para darles elorden lgico correcto.
Identificar pasos errneos: Sobre un diagrama esms fcil identificar los cambios que se
requierenpara el correcto funcionamiento de un programa decomputador que hacerlo sobre el
cdigo.
Los Diagramas de Flujo son una de las tcnicas msutilizadas para representar grficamente la
secuencia deinstrucciones de un Algoritmo. Estas instrucciones estncompuestas por operaciones,
decisiones lgicas y ciclosrepetitivos, entre otros. La solucin de un problemapuede contener varios
conjuntos de instrucciones(procedimientos o mtodos) que tienen como finalidadejecutar cada uno de
los procesos necesarios parallegar a la solucin de un problema a partir de los datosdisponibles (estado
inicial).
Las ventajas de disear un Diagrama de Flujo antes deempezar a generar el cdigo de un programa
(Rojas &acato, 1980) son, entre otras:

Forzar la identificacin de todos los pasos de unasolucin de forma clara y lgica.


Establecer una visin amplia y objetiva de lasolucin.
Verificar si se han tenido en cuenta todas lasposibilidades.
Comprobar si hay procedimientos duplicados.
Representar grficamente una solucin (es mssimple hacerlo con grficas que mediante
palabras).
Facilitar a otras personas la comprensin de lasecuencia lgica de la solucin planteada.

AUTOR: Juan Carlos Lpez Garcia


Fundacin Gabriel Piedrahita Uribe (www.eduteca.org)

Posibilitar acuerdos con base en la aproximacincomn a una solucin de un problema,


resolverambigedades o realizar mejoras.
Establecer posibles modificaciones (resulta ms fcildepurar un programa con el diagrama que
con el listado del cdigo).
Agilizar la codificacin (traduccin) del algoritmo enun lenguaje de programacin.
Servir como elemento de documentacin de lasolucin del problema.

SIMBOLOGA DE LOS DIAGRAMAS DE FLUJO


La estandarizacin de los smbolos para la elaboracin de Diagramas de Flujo tard varios aos. Con el
fin de evitar lautilizacin de smbolos diferentes para representar procesos iguales, la Organizacin
Internacional para laEstandarizacin (ISO, por su sigla en ingls) y el Instituto Nacional Americano de
Estandarizacin (ANSI, por su sigla eningls), estandarizaron los smbolos que mayor aceptacin tenan
en 1985. Los siguientes son los principales smbolospara elaborar Diagramas de Flujo:

Inicio/Final
Se utiliza para indicar el inicio y el final de un diagrama; del Inicio slo
puede salir una lnea de flujo y al Final slo debe llegar una lnea.

Decisin
Indica la comparacin de dos datos y dependiendo del resultado lgico
(falso o verdadero) se toma la decisin de seguir un camino del
diagrama u otro.

Entrada General
Entrada/Salida de datos en General (en esta gua, solo la usaremos
para la Entrada).

Iteracin
Indica que una instruccin o grupo de instrucciones deben ejecutarse
varias veces.

Entrada por teclado


Instruccin de entrada de datos por teclado. Indica que el computador
debe esperar a que el usuario teclee un dato que se guardar en una
variable o constante.

Salida Impresa
Indica la presentacin de uno o varios resultados en forma impresa.

Llamada a subrutina
Indica la llamada a una subrutina o procedimiento determinado.

Salida en Pantalla
Instruccin de presentacin de mensajes o resultados en pantalla.

Accin/Proceso General
Indica una accin o instruccin general que debe realizar el
computador (cambios de valores de variables, asignaciones,
operaciones aritmticas, etc).

AUTOR: Juan Carlos Lpez Garcia


Fundacin Gabriel Piedrahita Uribe (www.eduteca.org)
Conector
Indica el enlace de dos partes de un diagrama dentro de la misma
pgina.

Flujo
Indica el seguimiento lgico del diagrama. Tambin indica el sentido
de ejecucin de las operaciones.

Conector
Indica el enlace de dos partes de un diagrama en pginas diferentes.

REGLAS PARA LA ELABORACIN DE DIAGRAMAS DE FLUJO


Cuando el algoritmo se desea expresar en forma dediagrama de flujo, se deben tener en cuenta
algunasreglas o principios bsicos para su elaboracin (Rojas &acato, 1980):

Poner un encabezado que incluya un ttulo queidentifique la funcin del algoritmo; el nombre
delautor; y la fecha de elaboracin.
Slo se pueden utilizar smbolos estndar (ISO5807).
Los diagramas se deben dibujar de arriba haciaabajo y de izquierda a derecha.
La ejecucin del programa siempre empieza en laparte superior del diagrama.
Los smbolos de Inicio y Final deben aparecersolo una vez.
La direccin del flujo se debe representar por mediode flechas (lneas de flujo).
Todas las lneas de flujo deben llegar a un smbolo oa otra lnea.
Una lnea de flujo recta nunca debe cruzar a otra.Cuando dos lneas de flujo se crucen, una de
ellasdebe incluir una lnea arqueada en el sitio dondecruza a la otra.
Se deben inicializar las variables que se utilicen opermitir la asignacin de valores mediante
consulta alusuario.
Las bifurcaciones y ciclos se deben dibujarprocurando una cierta simetra.
Cada rombo de decisin debe tener al menos doslneas de salida (una para SI y otra para NO).
Las acciones y decisiones se deben describirutilizando el menor nmero de palabras posible,
sinque resulten confusas o poco claras.
Si el Diagrama se vuelve complejo y confuso, esmejor utilizar smbolos conectores para reducir
laslneas de flujo.
Todo el Diagrama debe ser claro, ordenado y fcil derecorrer.
El Diagrama se debe probar recorrindolo con datosiniciales simples (prueba de escritorio).

Plantilla StandardGraph ISO 5807 para la elaboracinmanual de Diagramas de Flujo.

AUTOR: Juan Carlos Lpez Garcia


Fundacin Gabriel Piedrahita Uribe (www.eduteca.org)
Tambin existe software especial para elaborarDiagramas de Flujo en forma rpida y fcil.
Losprogramas para esta tarea permiten a los estudiantes:
Almacenar digitalmente los diagramas construidos.
Introducirles modificaciones fcilmente.
Imprimir copias de los diagramas para compartirloscon compaeros o documentar sus trabajos.
Exportarlos en varios formatos grficos parautilizarlos en otros programas.
Alinear y organizar los smbolos automticamente.
Agregar colores, tamao de letra y sombreados paralograr una apariencia profesional.
Ahorrar tiempo en la modificacin de un diagrama yaque no es necesario hacer todo el
dibujonuevamente.

Dato Curioso
En el ao 1986, se introdujo en el supercomputador CRAY-2 la cifra2^220+1, o nmero de Fermat 20
(que debe su nombre almatemtico Pierre Fermat, 1601-1665), para averiguar si se tratabade un
nmero primo. Al cabo de 10 das, el resultado fue "NO". Estees el clculo realizado por un computador
en el que se ha tardadoms en dar una respuesta de "s" o "no". (Libro Gunness de losRecords 2002).
Para avanzar en el tema de los Algoritmos resultaindispensable que los estudiantes comprendan
algunosconceptos bsicos (variables, constantes,identificadores, funciones, operadores, etc), los
cualessern indispensables tanto para disear algoritmoscomo para traducirlos a un lenguaje de
programacin,cualquiera que este sea (C, Java, Visual Basic, etc).

CONCEPTOS BSICOS DE PROGRAMACIN


Variables
Para poder utilizar algoritmos con diferentes conjuntosde datos iniciales, se debe establecer
unaindependencia clara entre los datos iniciales de unproblema y la estructura de su solucin. Esto se
logramediante la utilizacin de Variables (cantidades que sesuelen denotar con letras identificadores- y
que puedentomar cualquier valor de un intervalo de valoresposibles).
En programacin, las Variables son espacios de trabajo(contenedores) reservados para guardar datos
(valores).
El valor de una Variable puede cambiar en algn pasodel Algoritmo o permanecer invariable; por lo
tanto, elvalor que contiene una variable es el del ltimo datoasignado a esta. En el Algoritmo,"rea" es
un ejemplo de Variable; en el paso 5 seguard en ella el resultado de multiplicar "base" por"altura" y en
el paso 6 se utiliz nuevamente paraguardar el valor de dividir su propio contenido ("rea")entre la
Constante "div".

Constantes
Las Constantes se crean en de la misma formaque las variables y consisten en datos que, luego de
serasignados, no cambian en ninguna instruccin delAlgoritmo. Pueden contener constantes
matemticas (pi)o generadas para guardar valores fijos (3.8, "Jorge",etc).
EJEMPLO
Las variables y constantes adems de tener un Nombre(identificador) para poder referirnos a ellas en
los procedimientos,guardan un Valor en su interior.
Nombre (identificador)
apellido
saldo
tamao
esTringulo

Valor
Lpez
20000
8.5
SI

AUTOR: Juan Carlos Lpez Garcia


Fundacin Gabriel Piedrahita Uribe (www.eduteca.org)
Contadores
Los contadores en se implementan comouna estructura de programacin (A = A + 1) queconsiste en
almacenar en una variable (A) el valorde ella misma (A) ms un valor constante (1). Es muytil para
controlar el nmero de veces que debeejecutarse un grupo de instrucciones.

Acumuladores
Estructura muy utilizada en programacin (A = A + B)y que consiste en almacenar en una variable (A)
elvalor de ella misma (A) ms otro valor variable (B). Esmuy til para calcular sumatorias.

Identificadores
Los identificadores son nombres que se dan a loselementos utilizados para resolver un problema y
poderdiferenciar unos de otros. Al asignar nombres(identificadores) a variables, constantes
yprocedimientos se deben tener en cuenta algunasreglas:

Los nombres pueden estar formados por unacombinacin de letras y nmeros (saldoMes,
salario,fecha2, baseTringulo, etc).
El primer carcter de un nombre debe ser una letra.
La mayora de los lenguajes de programacindiferencian las maysculas de las minsculas.
Los nombres deben ser nemotcnicos, con sololeerlos se puede entender lo que contienen.
Debenser muy descriptivos, no utilizar abreviaturas, amenos que se justifique plenamente.
Es conveniente utilizar una sola palabra paranombrar pginas, controles, variables, etc.
No utilizar caracteres reservados (%, +, /, >, etc).
Se debe tener en cuenta que algunos lenguajes deprogramacin no admiten las tildes.
No utilizar palabras reservadas por los lenguajes deprogramacin.
Para cumplir con convenciones ampliamenteutilizadas (Jimnez, 2002), los nombres
deprocedimientos, variables y constantes debenempezar con minscula. Ejemplo, fecha, suma,
etc.
Si es un nombre compuesto por varias palabras,cada una de las palabras (con excepcin de
laprimera) deben empezar con mayscula. Ejemplo:fechaInicial, baseTringulo, etc.

El tipo de nombre identificadores- que se asigne avariables, constantes y procedimientos es


muyimportante. Cuando los estudiantes dejan de trabajar enun proyecto por varios das, es ms fcil
para ellosretomar la actividad si los identificadores describen muybien el contenido de variables,
constantes yprocedimientos. Adems, el docente podr ayudarles arevisar y depurar sus programas en
forma ms eficientesi estos son fciles de leer (Feicht, 2000).

Palabras reservadas (primitivas)


Todos los lenguajes de programacin definen unaspalabras para nombrar sus comandos, instrucciones
yfunciones. Un identificador definido por el usuario nopuede tener el nombre de una palabra reservada.
TIP
Es buena idea asignar, a Variables y Constantes, nombres queindiquen cul puede ser su contenido.
Por ejemplo, a una Variableque contendr el valor de la base de un tringulo debe asignrsele elnombre
"baseTriangulo"; "areaCuadrado" a una que guardar el reade un cuadrado; y "radio" a una que
contendr el valor del radio deuna circunferencia.

OPERADORES
Son smbolos que sirven para manipular datos. Los operadores y lasoperaciones que se pueden realizar
con ellos seclasifican en:
Aritmticos: Posibilitan las operaciones entre datosde tipo numrico y dan como resultado otro
valor detipo numrico. Ejemplo: producto (*); divisin (/); suma (+); resta (-);asignacin (=).
Alfanumricos: Permiten operar con datos de tipocarcter o cadenas. La mayora de los
lenguajes deprogramacin admiten el operador + para realizar laconcatenacin (unin) de
caracteres o cadenas.
Relacinales: Permiten la comparacin entre datosdel mismo tipo y dan como resultado dos
valoresposibles: Verdadero o Falso. Ejemplo: igual a (=);menor que (<); mayor que (>).

AUTOR: Juan Carlos Lpez Garcia


Fundacin Gabriel Piedrahita Uribe (www.eduteca.org)

Lgicos: Posibilitan la evaluacin lgica de dosexpresiones de tipo lgico. Dan como resultado
unode dos valores posibles: Verdadero o Falso.Ejemplo: negacin (no); conjuncin (y);
disyuncin(o).

EXPRESIONES
Una Expresin est compuesta por valores, funciones,primitivas, constantes y/o variables, o por
unacombinacin de los anteriores mediante operadores.
Las Expresiones pueden ser:
Aritmticas: Dan como resultado un valornumrico. Contienen nicamente operadoresaritmticos y
datos numricos (pi * 20 - X)
Alfanumricas: Dan como resultado una serie ocadena de caracteres.
Lgicas: Dan como resultado un valor "Verdadero"o "Falso". Contienen variables y/o
constantesenlazadas con operadores lgicos (A>0 y B<=5).
De Asignacin: Estas Expresiones asignan elresultado de una Expresin a una Variable o a
unaConstante. La Expresin de Asignacin: area =(base * altura) / 2asigna el valor resultante dela
Expresin Aritmtica (base * altura) / 2a lavariable area.

LAS ESTRUCTURAS

Un Algoritmo est compuesto por instrucciones dediferentes tipos, organizadas secuencialmente, en


formade estructuras de control. De estas estructuras, las mscomunes y que se cubren en esta gua son
lassiguientes:
Secuencial.
Iterativa (repeticin).
Condicional (decisin, seleccin).
Una estructura de control se define como un esquemaque permite representar ideas de manera
simplificada yque bajo condiciones normales, es constante (Trejos,1999).
El uso del diseo descendente en los programas, laejecucin de operaciones secuenciales, la utilizacin
deciclos repetitivos y, la toma de decisiones y alternativasde proceso, ofrecen amplias posibilidades
para resolverproblemas mediante la construccin de procedimientos(Castellanos &Ferreyra, 2000b).
Un famoso teorema de los aos sesenta, formulado porEdsgerWybeDijkstra, demostraba que se
puedeescribir cualquier programa utilizando nicamente la tresestructuras de control mencionadas.
Actualmente, laprogramacin orientada a objetos (POO) busca reduciral mximo la cantidad de
estructuras de controlmediante el uso de polimorfismo; pero an as, todavase vale de estas estructuras
para construir mtodos, loscuales podra decirse que son equivalentes a losprocedimientos.
EJEMPLO

AUTOR: Juan Carlos Lpez Garcia


Fundacin Gabriel Piedrahita Uribe (www.eduteca.org)
Escribir un procedimiento que se llame triangulo para hallar el reade un tringulo rectngulo cuya Base
mide 3 cm, la Altura 4 cm y laHipotenusa 5 cm. Introducir en el cdigo comentarios que aclaren loque
est sucediendo en cada uno de los pasos importantes.
ANLISIS DEL PROBLEMA
Formular el problema: Ya se encuentra claramente planteado.
Resultados esperados:
El rea de un tringulo rectngulo.
Datos disponibles:
Base
Altura
Hipotenusa
Tipo de tringulo.
Laincgnita es el rea y todos los valores son constantes.
El valor de lahipotenusa se puede omitir.
El estudiante debe preguntarse si susconocimientos actuales de matemticas le permiten resolver
esteproblema; de no ser as, debe plantear una estrategia para obtenerlos conocimientos requeridos.
Restricciones: Utilizar las medidas dadas.
Procesos necesarios:
Guardar en dos variables (BASE y ALTURA)los valores de Base y Altura.
Guardar en una constante (DIV) eldivisor 2.
Aplicar la frmula BASE*ALTURA/DIV y guardar elresultado en la variable AREA.
Comunicar el resultado (AREA).
DISEO DEL ALGORITMO