Sunteți pe pagina 1din 7

CLASE #2

Fecha: 25/10/18
Tema: Algoritmos
1. Un modelo par a resolver problemas con el computador

El siguiente gráfico describe los pasos típicos en la solución computacional de un problema

En la etapa de Análisis se estudia el problema en forma detallada: sus características, las variables y los procesos
que intervienen. Asimismo, se deben definir los datos que se requieren y cuál es el objetivo esperado. El
resultado de esta etapa son las especificaciones detalladas de los requerimientos que en algunos casos se pueden
expresar en forma matemática.

Algoritmos

 Un algoritmo es una descripción ordenada de las instrucciones que deben realizarse para resolver un
problema en un tiempo finito
 Es necesario conocer en forma detalla da el problema, las variables, los datos que se necesitan, los
procesos involucrados, las restricciones, y los resultados esperados.
 Una variable es un contenedor de datos.
 Se define la variable en los cálculos que usamos, números enteros.
 Matlab necesita que declare variables al menos que se vaya hacer calculo simbólico.

Estructuras de un algoritmo

Lenguajes para escribir un algoritmo

a. Las instrucciones deben ser simples para facilitar su uso.


b. Las instrucciones deben ser claras y precisas para evitar ambigüedades.
c. Debe incluir suficientes instrucciones para describir la solución de problemas simples y complejos.
d. Preferentemente, las instrucciones deben tener orientación computacional.

Componentes de una variable

Nombre: Identificación de cada variable


Dominio: Tipo de datos asociado a una variable
Contenido: Valor asignado a una variable
Celda: Dispositivo que almacena el valor asignado a una variable
Introducción a algoritmos

Es una forma de resolver un problema, es una secuencia de pasos para poder resolver un problema. Un
problema tiene diferentes maneras de ser resueltos.
En la segunda etapa es la optimización de procesos, quiere decir que es la mejor manera de llegar a resolver
dicho problema.

Seudocódigos
Notación para construir algoritmos computacionales

Diagramas de flujo

Son bloques o figuras geométricas se utilizan para representar algoritmos, la punta de las flechas me
direcciona a donde está recorriendo el flujo.
El conjunto de figuras geométricas hace el flujograma

Ejemplo

Describa un algoritmo para calcular el área de un triángulo dados sus 3 lados, suponer que son 5-6-8

Algoritmo: Área de un triángulo


Variables Datos: a, b, c: Lados del triángulo
Resultado: s: Área del triángulo
Fórmula geométrica: s = t (t a) (t b) (t c) siendo t = (a + b + c)/2

Prueba de un algoritmo
Para probar un algoritmo, se recorren las instrucciones y se registran los valores que toman las variables.

Ejemplo. Probar el algoritmo anterior

Para mejorar la claridad del algoritmo se puede separar el bloque en varios bloques. Esto permite identificar y
agrupar las acciones que se realizan
Algunas instrucciones típicas de asignación en notación algorítmica
Los siguientes ejemplos se proponen para explicar la notación y algunos aspectos del uso de las instrucciones
de asignación en los algoritmos

a) Asigne a la variable en la raíz cuadrada de 5.


n ←5
b) Asigne a la variable el valor 0.
s ←0
Normalmente se inician variables con cero para luego agregar valores. Es costumbre denominar a estas
variables con el nombre de ''acumulador'' o ‘'sumador''.
c) Modifique el valor actual de la variable s incrementándolo con el valor de u.
s ←s + u
 Si las variables u o s no tuviesen asignadas algún valor previo, será un error.
 Es importante distinguir la asignación algorítmica de la igualdad que se usa en el lenguaje
matemático en el cual sería incorrecto escribir: s = s + u
d) Modifique el valor actual de la variable k incrementándolo en 1.
k ←k + 1
 Si k no ha sido asignada previamente, será un error.
e) Modifique el valor de la variable r reduciendo su valor actual en 2
r ←r –2
f) Modifique el valor de la variable n duplicando su valor actual
n ←2n
g) Modifique el valor de la variable x incrementando su valor actual en 20%
x ←1.2 x
h) Modifique el valor de la variable t reduciendo su valor actualen5%
t ←0.95 t
i) Intercambie el contenido de las variables a y b
v ←a
a ←b
b ←v
 Se requiere usar una variable adicional para no perder uno de los valores.
 Es un error realizar la asignación de la siguiente manera
a ←b
b ←a
Se perdería el valor que contenía la variable a

Decisiones

Describen la ejecución selectiva de bloques usando como criterio el resultado


de una condición.
 Ejecución condicionada de un bloque
Al entrar a esta estructura, se evalúa la condición. Si el resultado es verdadero (V) se ejecutarán las
instrucciones en el bloque P caso contrario, si el resultado es falso (F) el bloque no será ejecutarlo. En
ambos casos el algoritmo continuo debajo del bloque.

Ejemplo.
Describa en notación algorítmica como reducir en 10%el valor que contiene la variable p, en caso de que
su valor actual sea mayor a 40. Después obtenga el resultado de la multiplicación de n por el valor de p
(con su valor inicial o con su valor corregido).

Ejecución selectiva de uno entre dos bloques

Al entrar a esta estructura, se evalúa la condición. Si el resultado es verdadero (V) se ejecutará el bloque
P asociado al valor verdadero, caso contrario, si el resultado es falso (F) se ejecutará el bloque Q. El
algoritmo continuo abajo, después de ejecutar alguno de los dos bloques.

Ejemplo.
Describa en notación algorítmica una solución al siguiente problema.
Para el pago semanal a un obrero se consideran los siguientes datos: horas trabajadas, tarifa por hora y
descuentos. Si la cantidad de horas trabajadas en la semana es mayor a 40, se le debe pagar las horas en
exceso con una bonificación de 50% adicional a la tarifa normal.

Algoritmo: Pago semanal a un obrero Variables


c: Cantidad de horas trabajadas en la semana
t: Tarifa por hora d: Descuentos que se aplican al pago semanal
p: Pago que recibe el obrero

Diagrama de flujo

Prueba.
Realice algunas pruebas del algoritmo anterior. En cada una ingrese los datos
necesarios desde fuera del bloque

S-ar putea să vă placă și