Академический Документы
Профессиональный Документы
Культура Документы
Algorítmica
CARRERAS:
ALGORÍTMOS CUANTITATIVOS:
ALGORITMOS Y PROGRAMAS
3. Planificación de la Solución:
En esta actividad es donde radica la mayor parte de la dificultad para solucionar
un problema, el resto de las etapas básicamente se circunscriben a la adaptación para
que un computador ejecute lo ordenado. Implica diseñar la lógica general y detallada del
programa, y el uso de una técnica como herramienta, es fundamental. Dos de las
técnicas más comunes son las de elaborar un proceso en seudocódigo (ALGORITMO)
y la elaboración de un diagrama estructurado o de flujo.
El seudocódigo representa la lógica en instrucciones, en nuestro lenguaje,
semejantes a las del programa, sólo que éste no tiene principios de sintaxis o reglas
para formular instrucciones. El uso de enunciados o formas permitirán describir las
actividades de procesamiento y sus relaciones, cálculos, manipulación de datos,
operaciones lógicas, entradas y salidas. Esta técnica también se conoce como
“DISEÑO DE ALGORITMOS”.
Los diagramas de flujo o los estructurados se usan para ilustrar gráficamente,
mediante símbolos que representan estructuras preestablecidas, la lógica del programa.
Con esta técnica se logra una mejor visualización de los procesos y de la secuencia de
los pasos a seguir.
4. Prueba de Escritorio:
Llamada también “corrida en frío “ o “traza”, consiste en hacer un seguimiento
manual, utilizando lápiz y papel, de los pasos que se definieron en el seudocódigo o en
el diagrama estructurado y comprobar, con unos pocos datos, si el resultado que se
obtiene es el esperado.
ALGORITMOS CUANTITATIVOS
Los algoritmos cuantitativos son aquellos en los que se utilizan cálculos numéricos para
definir los pasos del proceso.
Es decir, que para poder definir bien un problema es conveniente responder a las siguientes
preguntas:
ESTRUCTURAS ALGORÍTMICAS
Secuenciales
• Asignación
• Entrada
• Salida
Estructuras Algorítmicas
• Simples
• Condicionales
• Múltiples
Cíclicas
• Hacer para
• Hacer mientras
• Repetir hasta
PSEUDOCÓDIGO:
INICIO
Declaración (variables y constantes)
Entrada (datos)
Proceso (transformación de datos en información útil)
Salida (datos e información)
FIN
ESTRUCTURAS SECUENCIALES
INICIO
Accion1
Accion2
.
.
AccionN
FIN
VARIABLES
Es un grupo de datos cuyo valor puede variar o alterarse durante la ejecución del algoritmo.
Principalmente, existen dos maneras de otorgar valores iniciales a variables:
1. Mediante una sentencia de asignación.
2. Mediante un procedimiento de entrada de datos (por ejemplo: “leer”).
CONSTANTES
Es un grupo de datos cuyo valor permanece sin cambio durante la ejecución del algoritmo.
Declaración de variables
La declaración de variables es un proceso que consiste en listar al principio del algoritmo
todas las variables que se usarán, además de colocar el nombre de la variable se debe decir
qué tipo de variable es.
ASIGNACIÓN:
La asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha
zona será reconocida con el nombre de la variable que recibe el valor. La asignación se
puede clasificar de la siguiente forma:
Leer(MesNac); Leer(Sumando)
Donde “MesNac” y “Sumando” son las variables que recibirán los valores
Ejemplo: Algoritmo para hallar el producto de tres números enteros introducidos por
teclado.
Inicio
mult_1, mult_2, mult_3, Producto: entero
escribir “Ingrese valor del primer multiplicando: “
leer(mult_1)
escribir “Ingrese valor del segundo multiplicando: “
leer(mult_2)
escribir “Ingrese valor del tercer multiplicando: “
leer(mult_3)
Producto ← (mult_1 * mult_2 * mult_3)
Escribir “El resultado de la multiplicación es: “, Producto
Fin
Ejercicio resuelto
1) Una tienda ofrece un 15% de descuento por cada compra. Un cliente desea saber
cuánto deberá pagar por su compra.
Entrada
Aquí van sólo los datos de entrada: Variables y constantes
monto, desc (variables de entrada)
CONST tasa_desc ← 0.15 (constante)
Proceso
Lugar para establecer variables de trabajo y auxiliares que
permitirán alcanzar el objetivo del algoritmo.
Salida
En la salida indicamos la(s) variable(s) que contienen
el(los) resultado(s) que deseamos obtener mediante el
proceso del algoritmo.
Pago_total (variable que indica el pago que deberá
realizar el cliente)
Teniendo el análisis hecho, nos resultará más sencillo realizar el algoritmo, ya que en el
mismo también se establece secuencialmente y en ese orden la entrada, el proceso y la
salida, de la misma manera como se encuentra en el análisis, es decir, después de la
palabra Inicio declaramos constantes y variables (aquí tanto de entrada como de salida), e
inmediatamente viene la entrada por teclado. Luego se presenta el proceso, representado
por variables auxiliares y de trabajo para finalmente mostrar al usuario la información
solicitada.
Algoritmo en pseudocódigo
Inicio
CONST tasa-desc ← 0.15 /* constante, asignado en forma de tanto por uno */
monto, desc, pago_total: real /* declaración de variables */
escribir “Indique el monto de la compra” /* mensaje visto por el usuario */
leer (monto) /* entrada de datos por el teclado */
desc ← monto * tasa_desc /* variable auxiliar para conocer el descuento */
pago_total ← monto – desc /* variable de trabajo */
Escribir “El monto a pagar por el cliente es: “, pago_total /* Visualizamos el resultado */
Fin
NOTAS:
• Los comentarios se representan con los símbolos /* y */
• El porcentaje (tanto por ciento) se trabaja mejor (con más sencillez) en forma de tanto
por uno:
Por ejemplo:
El 30% = 30/100 = 0.3
El 3% = 3/100 = 0.03
SECUENCIA DE INSTRUCCIONES
1) A←5
2) B←7
3) C←2
4) A←A+B+C
5) B ← C/2
6) A ← A/B + A*C
7) Escribir (A)
𝐴 = 𝜋. 𝑟 2 Expresión matemática
Ejercicio propuesto:
Para: X← 6; Y← 9; Z ←12
Solución:
Secuencia de instrucciones:
Qué valores toman las variables a, b y c luego de ejecutarse la última instrucción
a←8
b ← 3+a Solución
a←8
c←5*2 b ← 3+(8) = 3+8 = 11
a←a+5 c ← 5 * 2 = 10
b←b+a–3 a ← (8) + 5 = 8+5 = 13
b ← (11) + (13) – 3 = 11 + 13 = 24
c←b–8 c ← (24) – 8 = 24 – 8 = 16
a ← a + b / 2+7 a ← a + b / 2+7= (13) + (24) / 2 +7 = 13 + 24 / 2 +7 =
b←5*c/2–b 13 + 24 / 2 +7 = 13 + 12 +7 = 25 + 7 =32
b ← 5 * (16) / 2 – (24) = 5 * 16 / 2 – 24 = 5 * 8 – 24
c←c-b/2*3 = 40 – 24 = 16
c ← (16) – (16) / 2 * 3 = 16 - 16 / 2 * 3 = 16 – 8 * 3
Aquí colocamos los resultados 16 – 24 = – 8
de la tabla
a b c
a 32 b 16 c – 8 8 11 10
13 24 16
32 16 –8