Mudanças entre as edições de "Usuário:Dago"

De WikiLICC
Ir para: navegação, pesquisa
m (Grupo de Pesquisa em Análise Numérica)
m (Grupo de Pesquisa em Análise Numérica)
Linha 26: Linha 26:
 
: [[Usuário:elispf|Elisângela]]
 
: [[Usuário:elispf|Elisângela]]
  
 
<source lang="fortran">
 
module m_strategy_pattern
 
implicit none
 
 
abstract interface
 
    !! A generic interface to a subroutine accepting array of integers
 
    subroutine generic_function(numbers)
 
        integer, dimension(:), intent(in) :: numbers
 
    end subroutine
 
end interface
 
 
type :: Button
 
    character(len=20) :: label
 
    procedure(generic_function), pointer, nopass :: on_submit
 
contains
 
    procedure :: init
 
end type Button
 
 
contains
 
 
    subroutine init(self, func, label)
 
        class(Button), intent(inout) :: self
 
        procedure(generic_function) :: func
 
        character(len=*) :: label
 
        self%on_submit => func      !! Procedure pointer
 
        self%label = label
 
    end subroutine init
 
 
    subroutine summation(array)
 
        integer, dimension(:), intent(in) :: array
 
        integer :: total
 
        total = sum(array)
 
        write(*,*) total
 
    end subroutine summation
 
 
    subroutine join(array)
 
        integer, dimension(:), intent(in) :: array
 
        write(*,*) array        !! Just write out the whole array
 
    end subroutine join
 
 
end module m_strategy_pattern
 
 
!! The following program demonstrates the usage of the module
 
program test_strategy
 
use m_strategy_pattern
 
implicit none
 
 
    type(Button) :: button1, button2
 
    integer :: i
 
 
    call button1%init(summation, "Add them")
 
    call button2%init(join, "Join them")
 
 
    call button1%on_submit([(i, i=1,10)])  !! Displays 55
 
    call button2%on_submit([(i, i=1,10)])  !! Prints out the array
 
 
end program test_strategy
 
</source>
 
  
 
== Referências ==
 
== Referências ==

Edição das 01h41min de 22 de maio de 2011

Dagoberto Adriano Rizzotto Justo, Prof.

Esta é a página Wiki do Dago.

Disciplinas

Grupo de Pesquisa em Análise Numérica

Linha de Pesquisa
Análise Numérica
Pesquisa em Análise Numérica
Alunos
Análise espectral e estabilidade
Manoel
Elisângela


Referências

Ver também

Ligações externas