28
Departamento de Matemática Aplicada y Métodos Informáticos 1 Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos FUNDAMENTOS DE PROGRAMACIÓN: Estructuras condicionales y bucles. Arturo Hidalgo López Ángel Fidalgo Blanco Alfredo López Benito Septiembre, 2013

FUNDAMENTOS DE PROGRAMACIÓN: Estructuras …agronomaps.wdfiles.com/local--files/apuntes-algoritmia/Algoritmia2.pdf · Estructuras repetitivas: Bucles Un cálculo que se repite varias

  • Upload
    vanphuc

  • View
    260

  • Download
    1

Embed Size (px)

Citation preview

Departamento de Matemática Aplicada y Métodos Informáticos 1

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

FUNDAMENTOS DE PROGRAMACIÓN: Estructuras condicionales y bucles.

Arturo Hidalgo López Ángel Fidalgo Blanco Alfredo López Benito Septiembre, 2013

Departamento de Matemática Aplicada y Métodos Informáticos 2

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

ESTRUCTURAS CONDICIONALES

Son estructuras del tipo: Si (Condición 1) entonces Sentencias 1 Si no, si (Condición 2) entonces Sentencias 2 Si no, si (Condición 3) entonces Sentencias 3 ….. ….. Si no Sentencias 4 Fin condición

Departamento de Matemática Aplicada y Métodos Informáticos 3

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Dados dos números a, b, obtener un número c tal que: •Si a>b : c = a-b •En caso contrario: c = b-a

EJERCICIO: Realizar un organigrama que represente el siguiente proceso:

Departamento de Matemática Aplicada y Métodos Informáticos 4

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

a>b

c=a-b

Sí No

c=b-a

C

F

a, b

c

Departamento de Matemática Aplicada y Métodos Informáticos 5

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

EJERCICIO: Realizar un organigrama que para obtener las soluciones de la ecuación de segundo grado: ax2+bx+c=0 Distinguiendo los casos en que se tengan raíces reales simples, raíz real doble o raíces complejas.

Departamento de Matemática Aplicada y Métodos Informáticos 6

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

a, b, c

D=b2-4ac

1

2

b Dx

2a

b Dx

2a

D=0

1

2

bx

2a

bx

2a

1

2

b I Dx

2a

b I Dx

2a

D>0

1 2x , x

C

F

Sí No

No Sí

Departamento de Matemática Aplicada y Métodos Informáticos 7

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Departamento de Matemática Aplicada y Métodos Informáticos 8

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Departamento de Matemática Aplicada y Métodos Informáticos 9

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Departamento de Matemática Aplicada y Métodos Informáticos 10

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Departamento de Matemática Aplicada y Métodos Informáticos 11

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Departamento de Matemática Aplicada y Métodos Informáticos 12

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Estructuras repetitivas: Bucles

Un cálculo que se repite varias veces, se programa

mediante una estructura denominada: BUCLE

Para vc desde vinic hasta vfin con incremento incr hacer

Fin del bucle

Sentencias que se repiten

vc: variable de control

vinic: valor inicial de la variable vc

vfin: valor final de la variable vc

incr: incremento con el que se pasa desde vinic hasta vfin

Departamento de Matemática Aplicada y Métodos Informáticos 13

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Proceso seguido en un bucle

vc vinic

vc vinic + incr

vc vinic + 2.incr

...

hasta que vc salga del rango [vinic .. vfin]

sentencias

sentencias

sentencias

Departamento de Matemática Aplicada y Métodos Informáticos 14

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Programación en MATLAB

for vc = vinic:incr:vfin

end

NOTA: :incr es opcional cuando incr = 1

Sentencias de MATLAB que se repiten

Departamento de Matemática Aplicada y Métodos Informáticos 15

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Diseñar un algoritmo que permita escribir los N primeros números naturales

Departamento de Matemática Aplicada y Métodos Informáticos 16

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Realizar un algorimo para obtener la expresión del sumatorio

Departamento de Matemática Aplicada y Métodos Informáticos 17

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

En forma de organigrama

Departamento de Matemática Aplicada y Métodos Informáticos 18

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

1. Leer N, a 2. s=0 3. Para i desde 1 hasta N hacer s = s + a(i) Fin del bucle 4.Escribir s

En forma de pseudo-código

Departamento de Matemática Aplicada y Métodos Informáticos 19

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Realizar un algorimo para obtener la expresión del producto

Departamento de Matemática Aplicada y Métodos Informáticos 20

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

En forma de organigrama

Departamento de Matemática Aplicada y Métodos Informáticos 21

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

1. Leer N, a 2. s=1 3. Para i desde 1 hasta N hacer s = s*a(i) Fin del bucle 4.Escribir s

En forma de pseudo-código

Departamento de Matemática Aplicada y Métodos Informáticos 22

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Cálculo del factorial de un número

Departamento de Matemática Aplicada y Métodos Informáticos 23

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Cálculo del factorial de un número

Departamento de Matemática Aplicada y Métodos Informáticos 24

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Producto escalar de dos vectores

Realizar un algoritmo para obtener el producto escalar de dos vectores: u=(u1, u2, …, uN) ; v=(v1, v2, …, vN)

1. Leer N, u, v 2. pesc=0 3. Para i desde 1 hasta N hacer pesc = pesc+u(i)*v(i) Fin condición

Departamento de Matemática Aplicada y Métodos Informáticos 25

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Bucles anidados

Los bucles pueden anidarse siempre que se cumpla:

Departamento de Matemática Aplicada y Métodos Informáticos 26

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

Departamento de Matemática Aplicada y Métodos Informáticos 27

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos

EJERCICIO PROPUESTO: Realizar un organigrama y un pseudo-código para multiplicar dos matrices: A (m,n) y B (n,p)

Departamento de Matemática Aplicada y Métodos Informáticos 28

Universidad Politécnica de Madrid Grado en Biotecnología- ETSI Agrónomos