PDF de programación - Funciones Intrínsecas

<<>>
Imágen de pdf Funciones Intrínsecas

Funciones Intrínsecasgráfica de visualizaciones

Publicado el 21 de Junio del 2019
626 visualizaciones desde el 21 de Junio del 2019
16,1 MB
21 paginas
1

Antes:
• Resolución del examen:

• Clase de hoy:

• Funciones intrínsecas



¡Aviso!
• Si estáis perdidos, el momento de ponerse al día es

ahora. A partir de la clase de la semana que viene todo se
complica.

• Próxima clase es el 8 de Noviembre. Tenéis casi 15 días.

2

Funciones intrínsecas.

• Son funciones predefinidas que se pueden utilizar sin declarar

previamente.

• Las funciones pueden tener argumentos de tipo:

• Númerico:

• Conversión de tipo
• Truncamiento
• Redondeo
• Matemáticas

• Array

• Matemáticas
• Búsqueda
• Dimensiones

• Character

3

Funciones intrínsecas.

• Funciones numéricas. Conversión de tipo

• Real(x[,k]) convierte x a

real(kind=k)
• Tipo del argumento (x): integer,

real o complex

• Tipo de la función: real

• dble(x) convierte x a real*8

• Tipo del argumento (x): integer,

real o complex

• Tipo de la función: real*8

(Los corchetes significan opcional)

4

Funciones intrínsecas.

• Funciones numéricas. Conversión de tipo

program prueba_intrinsecas

integer :: a
real(8) :: xd
real :: x

a = 2

x = real(a)

xd = real(a,KIND=8)

write(*,*) "a", a
write(*,*) "x", x
write(*,*) "xd", xd

end program

5

Funciones intrínsecas.

• Funciones numéricas. Conversión de tipo

cmplx(x[,y][,k])
Número complejo de parte real x e imaginaria y y kind=k

6

Funciones intrínsecas.

• Funciones numéricas. Conversión de tipo

program test_cmplx

integer :: i = 42
real :: x = 3.14
complex :: z

z = cmplx(i, x)
write(*,*) z, cmplx(x)

end program test_cmplx

7

Funciones intrínsecas.

• Funciones numéricas. Truncamiento y redondeo

8

Funciones intrínsecas.

• Funciones numéricas. Matemáticas

9

Funciones intrínsecas.

• Funciones numéricas. Matemáticas

• abs(x) x si x>=0

• Si x es real abs(x)=

-x si x<0

• Si x es complejo abs(x)=

2

x

r

2

x
i+

• mod(x,y)

• Ambos x e y pueden ser reales o enteros

mod(x,y) = x- int(x/y) y

10

Funciones intrínsecas.

• Funciones numéricas. Matemáticas.

• epsilon(x)

• Devuelve un número del mismo tipo y kind que

x, que es despreciable frente a la unidad.
1.d0 ~ 1.d0 ± epsilon(x)

11

Funciones intrínsecas.

• Funciones para arrays. Búsqueda

• size(A,[dim=i]) (Los corchetes significan

opcional)

• Devuelve el tamaño de la dimensión i del

array A

• Ej.- size(V) devuelve el numero de elementos

del vector V

• Ej.- size(Matriz,dim=1) devuelve el número

de filas del array Matriz

• Ej.- size(Matriz,dim=2) devuelve el número

de columnas del array Matriz

12

Funciones intrínsecas.

• Funciones para arrays. Búsqueda

• maxval(Array)/minval(Array)

• Devuelve el mayor/menor elemento del array.

• maxval(Matriz,dim = i)/minval(Matriz,dim = i)

• i=1 Devuelve un vector cuyos elementos son

el máximo de cada una de las columnas.

• i=2 Devuelve un vector cuyos elementos son

el máximo de cada una de las filas.

• Ej.-



A

æ
= ç
è

3
4

2
1
1 6
-

ö
÷
ø

maxval(A,dim = 2) ! (3,6)

13

Funciones intrínsecas.

• Funciones para arrays. Búsqueda

• maxloc(Array)/minloc(Array)

• Devuelve la posición (no el índice – empieza en

1) del mayor/menor elemento del array.

• Ej. minloc(V) ! 2

1 2
-

(
V 3

=

)

• Ej. maxloc(A) ! (2,3)

A

• Ej. minloc(A) ! (2,2)

A

3
æ
= ç
4
è
3
æ
= ç
4
è

2
1
ö
÷
1 6
-
ø
1
2
-
ö
÷
1
6
-
ø

14

Funciones intrínsecas.

• Funciones para arrays. Matemáticas

• transpose(A)

• Devuelve la matriz transpuesta.

• Ej.-

A

æ
= ç
è

3
4

1
2
1 6
-

ö
÷
ø

• B = transpose(A)

B

=

3
æ
ç
2
ç
ç
1


4
1
-
6

ö
÷
÷
÷
ø

15

Funciones intrínsecas.

• Funciones para arrays. Matemáticas

• dot_product(vector_1,vector_2)

• Devuelve el producto escalar de los dos vectores.

• matmul(A,B)

• Devuelve el producto de dos matrices(arrays) con

formas compatibles.

16

Funciones intrínsecas.

program producto

integer
integer
integer

:: V(3), U(3)
:: A(3,2), B(2,3), C(3,3)
:: i,j

A = 0
B = 0
do i = 1,2

A(i,i) = 1
do j = 1,3

B(i,j) = j

enddo

enddo

C = matmul(A,B)
do j = 1,3

write(*,*) C(j,:)

enddo

end program producto

17

Funciones intrínsecas.

program producto

integer
integer
integer

:: V(3), U(3)
:: A(3,2), B(2,3), C(3,3)
:: i,j

A = 0
B = 0
do i = 1,2

A(i,i) = 1
do j = 1,3

B(i,j) = j

enddo

enddo

C = matmul(A,B)
do j = 1,3

write(*,*) C(j,:)

enddo

end program producto

A

æ
ç
= ç
ç
è

1 0
0 1
0 0

ö
÷
÷
÷
ø

B

æ
= ç
è

1 2 3
1 2 3

ö
÷
ø

C

æ
ç
= ç
ç
è

1 2 3
1 2 3
0 0 0

ö
÷
÷
÷
ø

18

Funciones intrínsecas.

program producto

integer
integer
integer

:: V(2), U(3)
:: A(3,2)
:: i

do i =1,3
U(i) = i

enddo

A = 1
V = matmul(U,A)

write(*,*) V

end program producto

19

Funciones intrínsecas.

program producto

:: V(2), U(3)
:: A(3,2)
:: i

(

U 1 2 3

=

integer
integer
integer

do i =1,3
U(i) = i

enddo

)

1 1
A 1 1
1 1

æ
ç
= ç
ç
è

ö
÷
÷
÷
ø

A = 1
V = matmul(U,A)

write(*,*) V

end program producto

V 6 6

=

(

)

20

Funciones intrínsecas.

• Funciones para Character.

• len(string)

• Devuelve la longitud del string (cadena).

• Ej.- len(’ Fortran & magic ’) = 20

• trim(string)

• Devuelve el mismo string quitando los espacios en

blanco a la derecha del mismo.

• Ej.- trim (’ Fortran & magic ’) =

’ Fortran & magic’

21
  • Links de descarga
http://lwp-l.com/pdf16158

Comentarios de: Funciones Intrínsecas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad