Documentos de Académico
Documentos de Profesional
Documentos de Cultura
entradas y a los datos que representan la o las respuestas los llamaremos salidas. Al proceso de
identificación de estos elementos lo llamaremos modelado.
Sobre los tipos de datos: al definir las entradas y salidas de un problema es necesario definir de
qué
tipo son estos datos. Los tipos usados en el proceso de construcción de algoritmos serán los
mismos que se
Carácter Símbolos del lenguaje definidos entre comillas: ‘a’, ‘b’, ‘Q’, ‘T’
Sin embargo, es necesario especificar las características o las condiciones que deben cumplir los
datos de un problema para contar con una solución que responda a situaciones excepcionales. A
estas condiciones las llamaremos precondiciones. Veamos cuáles podrían ser las precondiciones
aplicadas a las variables de entrada del problema. Se le asigna un nombre a cada variable: V1, V2 y
V3 para la velocidad alcanzada en cada tramo y D1,D2 y D3 para las distancias de cada tramo.
Entonces:
Con este nivel de detalle será sencillo formular una solución y contaremos con un resultado
generalizado, dado que nos permite calcular el tiempo total de carrera para cualquier conjunto de
variables de entrada que cumpla con las anteriores precondiciones.
Por otro lado, con el objetivo de contar con respuestas válidas y acertadas, podemos definir
condiciones sobre las salidas del problema. A estas salidas las llamaremos poscondiciones. Estas
condiciones definen todas las características que conocemos de una salida válida. Para el caso del
ejemplo, definamos que T1, T2 y T3 son los tiempos de gastados por un deportista en cada tramo
y T es el tiempo total. Entonces:
Ahora, como sabemos, uno de los asuntos que motiva la necesidad de aprender programación de
computadores es el hecho de tener que comunicarnos con un computador lo cual implica
aprender a hablar su idioma, o por lo menos, un idioma que éste pueda entender más fácilmente.
Pensando en lograr esa comunicación, debemos formalizar las restricciones y definiciones hechas
para el problema; para ello, usaremos expresiones booleanas. Las expresiones, ya lo hemos
mencionado, son agrupaciones de operadores y operandos que deben cumplir reglas de sintaxis y
precedencia.
Precondiciones: • V1>0 Y V2>0 Y V3>0 Cada pre o poscondición debe usar los
operadores definidos y estar bien formada.
En resumen Para resolver un problema debemos identificar correctamente cuáles son las entradas
requeridas y las salidas esperadas; a este proceso lo llamamos modelado. Además, debemos
definir las pre y las poscondiciones que estos datos deben cumplir a través del proceso de
especificación, usando expresiones. Todo esto con el objetivo de contar con información que
cualquier persona pueda entender y que podamos validar fácilmente de forma ordenada. En la
siguiente lectura definiremos el proceso de construcción de la solución de problemas de manera
algorítmica.
Para tener en cuenta: • Verifique que los datos proporcionados en el ejemplo cumplan las
precondiciones definidas; luego resuelva el problema y compruebe que las salidas del problema
cumplan las poscondiciones.
Formalmente,
a
un
conjunto
ordenado
y
finito
de
instrucciones
que
permiten
obtener,
con
base
en
un
conjunto
de
entradas,
un
conjunto
de
salidas
que
representan
la
solución
al
problema,
lo
llamaremos
algoritmo.
Ahora
sabemos
lo
que
requerimos
para
solucionar
un
problema
de
forma
organizada:
sus
entradas
y
salidas,
las
precondiciones
y
pos
condiciones
definidas
para
esos
datos
y
un
algoritmo
que
describa,
a
partir
de
instrucciones
claras
y
precisas,
paso
a
paso
lo
que
se
debe
hacer
para
llegar
a
una
solución.
definiremos
para
una
instrucción
es
la
asignación,
que
se
basa
en
asignar,
como
su
nombre
lo
dice,
un
valor
específico
a
una
variable.
Este
valor
puede
ser
una
variable,
una
constante,
o
en
general,
una
expresión.
Con
la
asignación
lo
que
se
pretende
es
almacenar
un
resultado
en
una
variable.
Cuando
definamos
asignaciones,
lo
haremos
de
la
siguiente
manera,
<Variable>
←
<Expresión>
Veamos algunos ejemplos de asignaciones:
Tabla 1. Ejemplos de asignaciones
Asignación ¿Qué puede representar?
V ← 15 / 2 El cálculo de una velocidad, basada en valores dados de distancia y tiempo
A ← π*R*R El área de un círculo
P ← 2*π*R La longitud de una circunferencia
V ← π*R*R * h El volumen de un cilindro
Un
algoritmo
bien
definido
permite
que,
dado
un
conjunto
de
datos
de
entrada
que
cumple
las
precondiciones,
se
siguen
instrucciones
que
permiten
hallar
un
conjunto
de
salidas
que
deben
cumplir
las
poscondiciones
definidas.
Tabla 2. Estructura de un algoritmo
con este algoritmo
Entradas Variables de entrada
Inicio Inicio del algoritmo
Paso 1
Paso 2
Paso n
Cada paso o instrucción involucrada en la solución
del problema
Fin Fin del algoritmo
Salidas Variables de salidas
Inicio
Variables v: Real
v ← π*radio*radio*altura
volumen ← 18 * v
Fin
Salidas
volumen: Real
Cuando
definimos
algoritmos
de
esta
forma,
obtenemos
lo
que
llamaremos
pseudocódigo,
lenguaje
que
no
es
demasiado
formal
y
está
definido
para
describir
de
forma
sencilla,
clara
e
independiente
de
un
lenguaje
de
programación,
instrucciones
que
se
deben
realizar
para
obtener
el
resultado
de
un
problema.
Más
adelante
veremos
que
es
sencillo
pasar
de
este
pseudocódigo
al
lenguaje
de
programación
en
el
que
trabajaremos.