Está en la página 1de 8

2

Es preciso servirse de todas las ayudas del entendimiento, de la imaginacin, de los sentidos y de la memoria, bien sea
para tener una intuicin distinta de las proposiciones simples, bien sea para establecer entre las cosas que uno busca y las
que uno sabe una vinculacin adecuada que permita reconocerlas, bien sea para encontrar las cosas que deben ser
comparadas entre s, sin descuidar ningn recurso del ingenio o industria humanos.

Ren Descartes Reglas para la direccin de la mente Regla XII - 1628.

2.1 Concepto de Variable este inconveniente, las calculadoras poseen una memoria
donde se pueden almacenar estos resultados parciales
Imagine una calculadora que slo es capaz de realizar las para disponer de ellos cuando sean necesarios y as poder
cuatro operaciones aritmticas, nada ms. Cuando se calcular frmulas ms complejas sin hacer uso de otro
utiliza una calculadora como sta para calcular una instrumento adicional. Por supuesto, en la medida que las
expresin como 256-24+169, no hay problema alguno en calculadoras proveen un nmero cada vez mayor de
llevar a cabo este clculo, pero si se pretende calcular una operaciones, tambin lo hacen en una mayor cantidad de
1 59 4 memorias; ahora bien, si se considera un computador
expresin como la siguiente: + + , entonces se
3 14 3 como una calculadora muy compleja, es razonable
hace necesario utilizar adicionalmente papel y lpiz para suponer entonces que ste tendr un nmero elevado de
almacenar temporalmente los resultados parciales ya que, estas memorias. En un contexto de programacin, estas
1 memorias reciben el nombre de variables, y son los
por ejemplo, el resultado de la operacin se pierde en elementos fundamentales de operacin de un programa
3
el momento de calcular la operacin 5-9. Para solucionar
Pag. 2-2 Cap.2: El Mtodo Algortmico

ya que ellas albergan los datos para los cuales el produce un resultado o, lo que es lo mismo, resuelve un
programa est elaborado. problema. Segn esta definicin se puede afirmar que
En computacin, el concepto de variable es similar al cosas como las recetas de cocina, los manuales de
mismo concepto en lgebra: un nombre que representa un operaciones, las normas de clculo y las instrucciones
valor que puede cambiar en el tiempo. En computacin, para manejo de aparatos son procedimientos. Pues bien,
sin embargo, el concepto va ms all para incluir un algoritmo es un procedimiento que rene las
entonces la idea expresada en el prrafo anterior acerca siguientes caractersticas:
de una localidad de memoria que se utiliza para el debe ser definido: es decir, sin importar el nmero de
almacenamiento temporal de valores. Sabiendo esto, se veces que se aplique en las mismas condiciones,
puede definir una variable como una localidad especfica siempre se obtendr el mismo resultado;
de la memoria del computador, identificada con un debe ser preciso: es decir, no deber sembrar duda
nombre y que almacena un dato. alguna sobre el orden de ejecucin de cada uno de
Una vez que se hayan diseado algunos programas, se los pasos y sobre la naturaleza y el propsito de cada
podr observar claramente que stos operan sobre un uno de ellos;
grupo de datos para producir un grupo de resultados y
debe ser finito: es decir, el algoritmo deber producir
que todos ellos estarn ubicados en variables, incluso se
un resultado en un nmero finito de pasos.
podr afirmar que programar no es otra cosa que
manipular variables. Si la afirmacin anterior es cierta, Y por qu estas caractersticas? Pues precisamente
entonces es razonable concluir que el desarrollo de un porque los pasos de un algoritmo deben ser susceptibles
programa debe comenzar con la representacin de los de ser traducidos a un lenguaje creado para hacer trabajar
elementos del problema como variables. Esta idea, as un computador y ste, dada su naturaleza lgico-
como otras relativas a los distintos tipos de datos a electrnica, no acepta ambigedades en ninguna de las
manipular, sern desarrolladas en los prximos captulos. instrucciones que se le dan ni en su orden.
A PROPSITO Existen excepciones aparentes a estas
reglas: una de ellas ocurre cuando un
2.2 Resolucin de problemas. algoritmo lleva a cabo operaciones que involucran nmeros
aleatorios. Otra ocurre cuando es imposible en trminos prcticos
Debido a que un estudiante ha resuelto una gran cantidad obtener una solucin exacta a un problema a partir de un
de problemas, sera razonable plantearle las siguientes algoritmo, obligando al programador a utilizar soluciones
preguntas: Cmo los resolvi? Utiliz algn mtodo aproximadas.
general para resolverlos? El mtodo utilizado presenta
esquemas que siempre estn en su mente cuando resuelve 2.4 Mtodo Algortmico.
los problemas? Utiliz el mismo mtodo para resolver
problemas de distintas asignaturas o de distinta El mtodo algortmico est concebido para resolver no
naturaleza? Probablemente haya utilizado un mtodo slo un problema particular sino para proporcionar un
cuyo nombre no conoce o probablemente haya utilizado instrumento que permita resolver variaciones del
elementos de varios mtodos para resolver un solo problema original, del mismo modo que una frmula no
problema. En el presente captulo se presenta el Mtodo slo devuelve un valor para un grupo de variables sino
Algortmico cuyo nombre responde al hecho de que tambin para todos los valores que puedan tomar esas
precisamente est enfocado en producir un Algoritmo. variables. Este mtodo consiste en la aplicacin de los
Por ello, para entender el mtodo hay que entender qu es siguientes pasos:
un algoritmo.
Anlisis del problema.
Diseo del algoritmo.
2.3 Algoritmos. Codificacin.
Es bueno aclarar primero que un algoritmo es importante 2.4.1 Anlisis del problema.
en el estudio de la programacin porque, si bien el
mtodo algortmico produce algoritmos, el presente curso Este paso consiste en identificar muy claramente los
pretende, entre otras cosas, que el estudiante produzca elementos que componen el problema, es decir:
programas de computacin. Y un programa de Las incgnitas, porque son precisamente, el
computacin no es otra cosa que la expresin en lenguaje propsito del problema. En ocasiones no son
de programacin de un algoritmo, por lo que el proceso fcilmente identificables; en estos casos, no se debe
de resolucin de problemas con el computador comienza seguir adelante hasta haber resuelto con toda claridad
con el desarrollo de algoritmos. este paso.
Tambin es bueno definir primero lo que es un Los datos, porque son los elementos que se deben
procedimiento o una receta: un conjunto de instrucciones manipular para hallar respuesta a las incgnitas.
o de tareas que ejecutados siguiendo un orden
preestablecido o establecido por el mismo procedimiento,

Programacin con Delphi Ing. Jos Ricardo Vargas


Cap.2: El Mtodo Algortmico Pag. 2-3

Las restricciones, porque indicando lo que no se un estado de nimo adecuado y el disfrute de


debe hacer o lo que no se debe aceptar, limitan el una buena salud facilita enormemente el
conjunto de caminos para resolver el problema, desarrollo de los procesos mentales.
representando con ms fiabilidad el universo, Cuando se presenta el caso de un problema
ayudando a su solucin y complicado, entonces el individuo debe echar mano
Las frmulas, porque siendo las expresiones con los de recursos que despejen el camino entre las ideas en
que se manipulan los datos para resolver las su forma mental y su expresin, con miras a construir
incgnitas, indican el rumbo que debe tomar el el algoritmo. Para ello se aconseja el uso de dibujos,
desarrollo del algoritmo. La determinacin de las diagramas, grficos y frmulas as como de tcnicas,
mismas puede requerir de deduccin o de individuales o colectivas, para el desarrollo de ideas,
investigacin extra de informacin, lo cual se traduce tales como el brainstorming y los mapas mentales,
en el gasto de un porcentaje, a veces alto, del tiempo con el propsito de ir y volver de la parte anterior
de resolucin del problema. para producir ideas cada vez ms claras y desarrollar
En otras palabras, se puede decir que en esta etapa se cada uno de los pasos que componen el algoritmo.
determina qu es lo que debe hacer el algoritmo, a partir A PROPSITO Durante el desarrollo del algoritmo, el
de qu datos y bajo qu condiciones. programador debe pensar tambin en el
modo ms conveniente de organizar variables ya que, como se
2.4.2 Diseo del algoritmo ver ms adelante, la mayora de los problemas exige la
manipulacin de una gran variedad y una gran cantidad de stas.
Este gran paso se ejecuta a travs de las siguientes etapas: Para facilitar esta tarea, los lenguajes ofrecen estructuras de
datos que permiten agrupar variables segn su naturaleza o
Una primera etapa se lleva a cabo a un nivel segn la conveniencia que stos brinden en cada problema. Por
puramente mental, ya que de la mente nacer un ello, el diseo de un buen algoritmo implica la creacin de un
bosquejo general del conjunto de pasos que buen conjunto de instrucciones y un buen conjunto de
resolvern el problema o del rumbo que debern estructuras de datos.
tomar las siguientes acciones, todo ello como
resultado de una serie de fenmenos en los que
intervienen la memoria, las capacidades creativas y Una tercera etapa es necesaria cuando la
las asociaciones mentales que cada individuo haya complejidad del problema es tal que para resolverlo,
construido entre los elementos del problema y el ste debe ser dividido en mdulos de complejidad
resto del universo. El individuo le ordena o le pide a menor que el problema original. Entonces cada
la mente ayuda para resolver un problema y sta mdulo se transforma en un nuevo problema cuya
responde en la medida de sus posibilidades y de un solucin se encontrara por la aplicacin del mismo
modo sorprendentemente mgico con una idea. mtodo aplicado al problema original anlisis del
problema, procesos mentales, etc. Cabe hacer notar
Una segunda etapa consiste en hacer esa idea lo
que cada mdulo sera tambin susceptible de ser
suficientemente clara y definida para formar un
subdividido en mdulos ms simples. Este proceso
primer conjunto de pasos de tal manera que stos
se conoce como proceso de descomposiciones
puedan ser expresados, bien sea con palabras,
sucesivas, refinamientos sucesivos, diseo
dibujos, smbolos, etc. y, como se ver ms adelante,
descendente, diseo top-down o diseo modular y
mediante pseudocdigo o mediante diagramas de
sus nombres derivan del hecho de que en cada
flujo. Esta tarea puede ser complicada si se torna
refinamiento, el problema original quedar dividido
difcil transformar la idea en algo suficientemente
en un nmero cada vez mayor de mdulos de
claro y preciso o si el problema a resolver tambin es
solucin ms sencilla. Y hasta cundo se realizan
complicado. Si se presenta el primer caso, recuerde
esos refinamientos? Hasta que se cuenta con un
que la claridad de esa idea depende de muchos
algoritmo cuyos pasos son fcilmente
factores, entre los que se mencionan:
transformables en instrucciones de un lenguaje de
a) la cantidad y calidad de informacin que sobre computacin, sin perder de vista las caractersticas
ese problema o problemas similares y sus de un algoritmo: definicin, precisin y finitud.
componentes hayan en su mente y lo accesible
que sta sea en un momento dado, Ejemplo 2-1
b) el entrenamiento recibido y realizado por el Examnese el siguiente problema: Dadas dos rectas por las
individuo, ya que ste hace que se desarrolle un coordenadas de dos de sus puntos, ambas rectas inclinadas,
mayor nmero de asociaciones recurrentes, elabore un algoritmo para determinar si esas rectas se
facilitando a la mente la formacin de la idea al interceptan y, si lo hacen, determine las coordenadas del punto
tener mayor intuicin sobre los elementos del de interseccin.
problema, Primera parte: Anlisis del problema.
c) el estado de salud y nimo del individuo, ya que
est demostrado que una actitud mental positiva, DATOS ........ Las dos rectas dados por las
coordenadas de dos de sus

Programacin con Delphi Ing. Jos Ricardo Vargas


Pag. 2-4 Cap.2: El Mtodo Algortmico

puntos. Llmense A y B a las dos Observe ahora la particularidad de algunos pasos como si se
rectas, (x1,y1) y (x2,y2) las cumple que ... entonces... o imprima... o vaya al paso... .
coordenadas de los puntos de la Ms adelante se ver que existen tipos de pasos o
recta A y (x3,y3) y (x4,y4) las instrucciones con caractersticas propias que permiten
coordenadas de los puntos de la
clasificarlos segn la tarea que ejecutan. Tambin cabe
recta B.
INCGNITAS ... Las coordenadas llamadas
destacar en este ejemplo, que el mismo no es lo
(xint,yint) del punto de suficientemente complejo como para que el algoritmo sea
interseccin de las dos rectas subdividido en mdulos, pero ste no ser siempre el caso.
si stas se interceptan o un
mensaje que indique que no se A PROPSITO Recuerde que se pretende que al final, el
interceptan si no lo hacen. problema sea resuelto por un computador.
RESTRICCIONES Dado que el enunciado establece De ah la existencia de instrucciones como lea, imprima, etc.
que las rectas deben ser
inclinadas, entonces los datos
deben cumplir con las siguientes 2.4.3 Codificacin
condiciones: x1<>x2, y1<>y2,
Consiste en escribir el algoritmo desarrollado utilizando
x3<>x4 y y3<>y4. Aunque no se
especifica en el enunciado, es los elementos de un lenguaje de programacin, con la
obviamente necesario verificar finalidad de transformarlo en un programa. Este tema
tambin que las rectas no sean ser cubierto extensamente en los prximos captulos.
paralelas.
FRMULAS ..... Si se denota a la pendiente del Durante el desarrollo del algoritmo, es conveniente
segmento A como PA y a la representarlo mediante alguna herramienta independiente
pendiente del segmento B como del lenguaje de programacin que se planee utilizar; esto
PB, entonces se tiene que: le brinda al programador una serie de ventajas, como son
Abscisa del punto de
interseccin:
las siguientes: primero, el algoritmo puede ser escrito
posteriormente en varios lenguajes de programacin;
y3 y1 + PAx1 PBx3
xint = segundo, el algoritmo puede ser codificado por una
(PA PB)
persona o un equipo diferentes al que lo dise, y tercero,
Ordenada del punto de se desarrolla en el programador el hbito de trabajar
interseccin:
ordenadamente. A continuacin se presentan algunas de
yint = PA(xint-x1)+y1
ellas.
Observe que durante el anlisis no solo se identifican los 2.5 Pseudocdigo.
elementos del problema sino que tambin se les asigna un
nombre a cada uno de ellos, es decir, son representados como Expresar un algoritmo mediante pseudocdigo consiste
variables. Esto es sumamente importante debido a que, como
en expresar cada uno de los pasos con palabras y
se mencion anteriormente, ayuda a la manipulacin de los
mismos. smbolos escritos del lenguaje comn, como se mostr en
el ejemplo anterior, de tal manera que el mismo pueda ser
Segunda parte: Desarrollo del algoritmo. reproducido por cualquier persona que conozca por lo
menos dichas palabras y el significado de los smbolos.
IDEA: Verificar los datos de entrada, calcular
las pendientes y verificarlas y calcular luego
An cuando estos pasos sern luego ejecutados
las coordenadas del punto de interseccin. secuencialmente, se recomienda enumerarlos ya que el
orden de ejecucin de los mismos puede alterarse por
PASO 1 . Designar las coordenadas de los puntos instruccin de alguno de ellos.
extremos de los segmentos como x1, x2,
x3, x4, y1, y2, y3 y y4. Ejemplo 2-2
PASO 2 . Si se cumple que x1=x2 x3=x4 y1=y2 Examnese el siguiente problema: Dado un nmero entero
y3=y4, entonces imprima el mensaje positivo, elaborar un algoritmo para determinar si el nmero
Datos incorrectos y vuelva al paso dado es primo.
1.
PASO 3 . Calcular las pendientes de las rectas
A y B mediante las frmulas PA=(y2- Primera parte: Anlisis del problema.
y1)/(x2-x1) y PB=(y4-y3)/(x4-x3).
PASO 4 . Si se cumple que |PA|=|PB|, entonces DATOS ...........El nmero dado, que se llamar
imprima el mensaje Rectas paralelas N
y vaya al paso 7. INCGNITAS ......Una caracterstica del nmero:
PASO 5 . Calcular las coordenadas del punto de si es primo o no.
interseccin de las rectas mediante RESTRICCIONES ...El nmero N deber cumplir con
las frmulas: la condicin de ser entero ya
xint = (y3-y1+PAx1-PBx3)/(PA-PB) que el concepto de nmero
yint = PA(xint-x1)+y1 primo se aplica slo a los
PASO 6 . Imprima xint y yint. nmeros enteros.
PASO 7 . Fin. FRMULAS ........El concepto de nmero primo es
un concepto relativo a
divisibilidad de nmeros. Un

Programacin con Delphi Ing. Jos Ricardo Vargas


Cap.2: El Mtodo Algortmico Pag. 2-5

nmero N es divisible entre instrucciones. Esta representacin permite al


otro nmero B si la divisin programador reconocer rpidamente y manipular
N/B produce un cociente
entero. grficamente tanto esquemas de instrucciones como la
secuencia de ejecucin de estas, de modo que la
Segunda parte: Desarrollo del algoritmo. concepcin o la modificacin de un grupo de ellas se
IDEA: Un numero ser primo slo si es divisible hace ms fcil. Tambin adapta al programador novato al
entre si mismo y la unidad. Entonces, para modo de desarrollar los algoritmos tomando en
verificar si el nmero N es primo, bastar consideracin el uso de pasos fcilmente adaptables a
comprobar que no es divisible entre algn
nmero situado entre 2 y N-1.
instrucciones en lenguaje de computacin.
PASO 1.. Designar el nmero como N.
Cuando se trabaja con diagramas de flujo y con lenguajes
PASO 2.. Si el nmero N no es entero o es de programacin, se acostumbra utilizar el trmino
negativo, repetir el paso 1. instruccin en lugar del trmino paso debido a que una
PASO 3.. Llame B a una variable y asgnele el instruccin conlleva la idea de una orden dada al
valor 2. computador para que ste ejecute una tarea. Como se
PASO 4.. Compruebe si N es divisible entre B.
Si lo es, entonces imprima el mensaje mencion al final del ejemplo 2.1, existen tipos de
NO es primo y vaya al paso 8. instrucciones, cada uno de estos con caractersticas que
PASO 5.. Incremente el valor de B en uno. permiten clasificarlos segn la labor realizan. En la
PASO 6.. Si B es menor que N, vaya al paso 4; siguiente tabla se puede observar no slo algunos de estos
si no, siga con el siguiente paso.
PASO 7.. Imprima el mensaje SI es primo.
tipos, sino tambin del smbolo correspondiente.
PASO 8.. Fin.

2.6 Comprobacin manual de Terminal. Indica el inicio,


algoritmos: Corrida en fro. el fin o una parada del
programa.

Esta tarea consiste en representar por escrito el Instruccin simple.


Usualmente usado para
comportamiento de los elementos involucrados en el representar clculos.
algoritmo durante una ejecucin del mismo con valores
de entrada cuyo resultado se conozca de antemano, con el Operacin general de
entrada/salida de datos y
propsito de verificar si el algoritmo funciona, y si no resultados.
funciona, entonces como una forma de ubicar los pasos
del mismo que contengan errores. Una prctica comn de
Invocacin de un subprograma.
realizar una corrida en fro utiliza una tabla donde se
escriben todos los valores tomados por estos elementos y
donde se escriben los resultados finales del algoritmo. Instruccin de seleccin.
Bifurca la secuencia de
Ejemplo 2-3 instrucciones segn el
resultado de una seleccin.
Examine los valores que toma la variable B en las siguientes
tablas que representan las corridas en fro del algoritmo del Instruccin de Iteracin.
ejemplo 2-2: la primera con un nmero primo y la segunda Permite la repeticin
con un nmero que no lo es, y observe en la segunda tabla controlada de un grupo de
que, apenas se verifica que el nmero es divisible entre 2, se instrucciones.
imprime el mensaje NO ES PRIMO y termina la ejecucin Lneas de flujo. Indican la
del algoritmo. secuencia de ejecucin de las
instrucciones.
N B Salida N B Salida
7 2 SI es primo 9 2 NO es primo Conectores de secuencia.
Permiten seguir la secuencia
3 3 de instrucciones entre puntos
4 distantes sin el uso de
5 flechas.
6
7 Tabla 2-1. Simbologa bsica de los diagramas de flujo.
Por supuesto, los smbolos mostrados en la tabla anterior
2.7 Diagrama de Flujo. no son todos los smbolos utilizados para elaborar
diagramas de flujo, pero son suficientes para los
Un diagrama de flujo (flowchart) es la expresin de un
propsitos de un curso bsico de programacin. Existen
algoritmo en la que se utiliza un conjunto de smbolos
normas como la norma ISO 1028-1973 y versiones en
universalmente reconocidos y aceptados, cuya forma se
distintos pases de la simbologa general que incluyen
corresponde con tipos de pasos algortmicos o

Programacin con Delphi Ing. Jos Ricardo Vargas


Pag. 2-6 Cap.2: El Mtodo Algortmico

smbolos especficos para manejo de accesorios o para Todo smbolo tiene al menos una flecha de llegada y
operaciones que estn implementadas slo en algunos al menos una flecha de salida, con excepcin de los
lenguajes de programacin e incluso en algunos sistemas bloques terminales y los conectores de flujo.
operativos. Estas normas no slo especifican la El flujo de ejecucin de instrucciones ser
simbologa sino tambin la gramtica de los diagramas de preferiblemente de arriba abajo y de izquierda a
flujo, la cual tambin sufre de variaciones menores segn derecha.
el lugar donde se apliquen, pero cuyo resumen, que se
muestra a continuacin, ha sido aceptado por la mayora Slo habr un smbolo de inicio y un smbolo de fin
de los organismos y las empresas involucradas en el uso de programa, pudiendo haber varios de parada del
de estos: programa.
El flujo de ejecucin de instrucciones estar Slo los bloques de seleccin podrn tener varias
indicado nicamente por flechas y conectores de flechas de salida.
flujo.

Ejemplo 2-4
Observe a continuacin el diagrama de flujo correspondiente al problema del ejemplo 2.2, el cual muestra adems, las instrucciones
correspondientes a los pasos desarrollados en el mencionado ejemplo.

INICIO

Leer N PASO 1: Designar el nmero como N.

no N>0 y N
entero? PASO 2: Si el nmero N no es entero o es negativo,
repetir el paso 1.
si

B2 PASO 3: Llame B a una variable y asgnele el valor 2.

N es divisible si
entre B? PASO 4: Compruebe si N es divisible entre B. Si lo es,
entonces imprima el mensaje NO es primo y
no vaya al paso 8.

B  B +1 Imprimir "No
es primo"
PASO 5: Incremente el valor de B en uno.
si
B < N? PASO 6: Si B es menor que N, vaya al paso 4.

no

Imprimir "Si
PASO 7: Imprima el mensaje SI es primo.
es primo"

FIN PASO 8: Fin.

De nuevo, este resumen es suficiente para un curso captulos. An cuando existen varias formas de
bsico de programacin. Observe que tanto los smbolos representacin de algoritmos, el diagrama de flujo se ha
como las normas son pocas y sencillas, razn que hace a destacado como una herramienta conveniente para
los diagramas de flujo una herramienta sumamente fcil facilitar el proceso de transformacin de ideas en
de aprender y de gran ayuda para comprender los instrucciones debido a la facilidad con que el cerebro
conceptos de programacin que se vern en los prximos manipula objetos grficos en lugar de palabras.

Programacin con Delphi Ing. Jos Ricardo Vargas


Cap. 2: El Mtodo Algortmico Pag. 2-7

Igualmente se ha destacado como un mtodo importante ubican errores en un algoritmo mediante la corrida en
para documentar procesos y para transmitir instrucciones fro?
entre programadores debido a su independencia de los 16. Qu es un diagrama de flujo? De qu est formado?
lenguajes de programacin. Describa brevemente cmo se construye un diagrama
En los prximos captulos se expondrn los elementos de de flujo.
construccin de programas y se utilizar el diagrama de 17. Por qu hay smbolos distintos en un diagrama de
flujo como herramienta til en el inicio del proceso de flujo? Describa brevemente el significado de cada
desarrollo de habilidades para construir algoritmos y para smbolo.
sembrar en la mente del estudiante los procesos bsicos 18. De qu maneras se representa el flujo de ejecucin
de programacin. de instrucciones en un diagrama de flujo?
Preguntas de repaso 19. Cree usted que una corrida en fro tambin sirve para
comprobar un diagrama de flujo?
1. Qu es, en programacin, una variable? Tiene sta 20. Cules son las cualidades que hacen til a un
el mismo significado que en lgebra? diagrama de flujo?
2. Cree usted que un programa puede procesar un valor Problemas propuestos
que no est almacenado en una variable?
3. Qu es un procedimiento? Qu es una receta? Qu 1. Escribir procedimientos o algoritmos para llevar a
es un algoritmo? Puede considerarse el conjunto de cabo las siguientes tareas. Diga en cada caso si se
los algoritmos como un subconjunto de los trata de un algoritmo o de un procedimiento:
procedimientos?
Sacar la cdula de identidad
4. Cules son las caractersticas de un algoritmo? Cree
usted que un algoritmo sea slo para construir Organizar una fiesta de cumpleaos
programas de computacin? Pintar su casa o apartamento
5. Cuntos y cules son los pasos del Mtodo Construir una casa
Algortmico? Describa brevemente cada uno de ellos. Calcular el punto medio de un segmento de recta
6. Puede afirmarse que el anlisis de un problema se conociendo las coordenadas de los extremos.
reduce a un proceso de identificacin de elementos? Graficar una funcin
Por qu?
Preparar una pizza
7. En qu consiste el diseo de un algoritmo? En
cuntas etapas se lleva a cabo? Una vez diseado, Reparar la grifera de un lavamanos
qu paso sigue? Redactar una carta de presentacin comercial.
8. Cmo cree usted que influye el entrenamiento del Redactar el Curriculum Vitae.
programador en su habilidad para disear algoritmos?
Cambiar un caucho.
9. Qu es brainstorming? Qu son los mapas
mentales? Qu otras tcnicas de ayuda para Elaborar un informe de inventario.
resolucin de problemas conoce usted? Cree usted Jugar a la vieja.
que todas estas tcnicas son individuales o de grupo? Jugar al billar.
10. Qu son las estructuras de datos? Cmo influyen en Jugar ajedrez.
el diseo de un algoritmo?
Jugar Pker.
11. En qu consiste el proceso de descomposiciones
sucesivas? Es siempre necesario aplicarlo al diseo 2. Dado un tringulo por las coordenadas de sus
de un algoritmo? vrtices, cmo se averigua si en su interior existen
12. Cree usted que, una vez codificado un algoritmo, ha puntos con coordenadas enteras?
terminado el proceso de resolucin de un problema? 3. Dados dos puntos en el plano por sus coordenadas
Explique. (x1, y1) y (x2, y2), cmo se escribe la ecuacin de la
13. Qu es pseudocdigo? Por qu es til recta que pasa por ellos, cul es la longitud del
representando algoritmos? segmento que determinan y cules son las
coordenadas del punto medio de dicho segmento.
14. Es obligatoria la numeracin de los pasos en un
pseudocdigo? Si no, cmo se garantiza la ejecucin 4. Escriba un algoritmo para calcular el monto a pagar a
secuencial de los pasos? un trabajador en una semana si se conocen los
siguientes datos:
15. Qu es corrida en fro? Por qu se dice que sta es
una comprobacin manual? Cmo cree usted que se las horas normales de trabajo se pagan a 2000 Bs
la hora

Programacin con Delphi Ing. Jos Ricardo Vargas


Pag. 2-8 Cap. 2: El Mtodo Algortmico

las horas de sobretiempo de lunes a viernes se sbito los dos pjaros descubren un pez que aparece
pagan a 3500 Bs/h en la superficie del agua, entre las palmeras. Los
las horas trabajadas en fin de semana se pagan a pjaros se lanzan y alcanzan el pez al mismo tiempo.
5000 Bs/h Escriba un algoritmo para averiguar a qu distancia
de la palmera mayor apareci el pez.
5. Escriba un algoritmo para calcular la nota de un
estudiante de programacin, conociendo las notas y 15. En una plaza hay instalados 5 altavoces distribuidos
los pesos de los exmenes parciales, los qices y los en dos grupos: uno de ellos consta de dos aparatos y
trabajos prcticos, segn las normas del el otro, de tres. La distancia que separa los dos grupos
Departamento. es de X m. Dnde habr que colocarse para que el
sonido de ambos grupos se oiga con igual intensidad?
6. El Domingo de Pascua es el primer domingo despus
de la primera luna llena posterior al equinoccio de 16. Dados tres puntos no colineales en el plano y por sus
primavera. Cree usted que esta regla es coordenadas x y y, encontrar las coordenadas del
suficientemente precisa para clasificarla como un punto que hace que los cuatro formen el cuadriltero
algoritmo? menos agudo.
7. Desarrolle un algoritmo que, dados tres nmeros 17. Dados tres puntos no colineales en el plano y un
enteros que indiquen mes, da y ao de una fecha nmero real n, encontrar la cantidad mxima de
dada, determine el da de la semana y el da del mes a crculos de radio n que caben en el tringulo formado
que corresponde esa fecha. por los puntos dados.
8. Desarrolle un algoritmo que, dados los componentes 18. Dado un polgono de n lados, encontrar las reas de
de un vector de N dimensiones, encuentre aquel de los cuadrados ms grande y ms pequeo que
mayor valor absoluto. envuelven al polgono.
9. Ample el algoritmo anterior para que ordene de 19. Dados tres puntos en el espacio por las coordenadas
mayor a menor los componentes del vector. de sus vrtices, encontrar el vector normal a la cara
que forman los vrtices.
10. Escriba un algoritmo para determinar qu es ms
conveniente para el comprador de un automvil: 20. Para graficar una funcin en la pantalla de un
4000$ de inicial y 6000$ luego de transcurridos 6 computador, se deben convertir las coordenadas
meses o 6000$ de inicial y 4000$ luego de reales de los puntos de la grfica en coordenadas de la
transcurrido un ao. Suponga un inters simple de 6% pantalla. Para ello se deben conocer los valores
anual. mximo y mnimo de las abscisas y de las ordenadas
de la funcin, as como los valores mximo y mnimo
11. Escriba un algoritmo para convertir un nmero de las coordenadas de los puntos de la pantalla. Una
representado en una base cualquiera a otra base vez conocidos estos datos, se puede llevar a cabo un
cualquiera convirtiendo de una base a base diez y de "mapeo" de los puntos reales de tal modo que el
esta a la otra base. Desarrolle primero el algoritmo punto con la menor abscisa quede representada en el
para nmeros enteros y luego para nmeros reales. punto con la menor coordenada de pantalla,
12. Desarrolle un algoritmo para hallar la representacin igualmente se aplica al punto con mayor abscisa y a
binaria de un nmero real cualquiera, almacenado los puntos con mayor y menor ordenada. Escriba un
como un nmero de tipo Single de la Norma IEEE algoritmo para implementar este mapeo con el fin de
754. representar en pantalla una funcin matemtica.
13. Dado un sistema triangular de ecuaciones lineales de 21. Escriba un algoritmo para averiguar los movimientos
orden N, desarrolle un algoritmo para resolverlo. Un que debe hacer un caballo de ajedrez para recorrer
sistema triangular de ecuaciones es aquel en el que todo un tablero del mismo juego, comenzando en
los coeficientes ubicados por debajo de la diagonal cualquier posicin y sin repetir su ubicacin en
principal, son nulos. Como ejemplo, observe el alguna casilla.
siguiente sistema de orden 4: 22. Un tringulo equiltero de lado L se divide mediante
la eliminacin de una porcin de su rea igual a tres
a1,1x1 + a1,2x2 + a1,3x3 + a1,4x4 = b1 tringulos equilteros, como se muestra en la
a2,2x2 + a2,3x3 + a2,4x4 = b2 siguiente figura, proceso que puede repetirse
a3,3x3 + a3,4x4 = b3 indefinidamente.
a4,4x4 = b4 Escriba un algoritmo
para determinar el rea
14. A ambas orillas de un ro crecen dos palmeras, una sombreada luego de N
frente a la otra. La altura de una es de X m, y la de la divisiones y estime el
otra, de Y m. La distancia entre sus troncos es de D rea cuando N tienda a
m. En la copa de cada palmera hay un pjaro. De infinito.

Programacin con Delphi Ing. Jos Ricardo Vargas