F90: Tabela verdade do OU Exclusivo
From AdonaiMedrado.Pro.Br
Revision as of 12:28, 7 October 2008 by Adonaimedrado (Talk | contribs)
Versão sem FUNCTION
PROGRAM aula !Formas de se escrever um OU El1clusivo: !(l1 .AND. .NOT. l2) .OR. (.NOT. l1 .AND. l2) !ou !(l1 .OR. l2) .AND. (.NOT. l1 .OR. .NOT. l2) !ou !(l1 .OR. l2) .AND. .NOT. (l1 .AND. l2) !ou !.NOT. ((l1 .OR. .NOT. l2) .AND. (.NOT. l1 .OR. l2)) !Usarei aqui a primeira forma. LOGICAL :: l1, l2 l1=.TRUE. l2=.TRUE. WRITE (*,*) "T ou exclusivo T =", (l1 .AND. .NOT. l2) .OR. (.NOT. l1 .AND. l2) WRITE (*,*) "T ou exclusivo F =", (l1 .AND. l2) .OR. (.NOT. l1 .AND. .NOT. l2) WRITE (*,*) "F ou exclusivo T =", (.NOT. l1 .AND. .NOT. l2) .OR. (l1 .AND. l2) WRITE (*,*) "F ou exclusivo F =", (.NOT. l1 .AND. l2) .OR. (l1 .AND. .NOT. l2) END PROGRAM aula
Versão com FUNCTION
PROGRAM aula LOGICAL :: l1, l2 l1=.TRUE. l2=.TRUE. WRITE (*,*) "T ou exclusivo T =", ExecutarOUExclusivo(l1,l2) WRITE (*,*) "T ou exclusivo F =", ExecutarOUExclusivo(l1,.NOT. l2) WRITE (*,*) "F ou exclusivo T =", ExecutarOUExclusivo(.NOT. l1, l2) WRITE (*,*) "F ou exclusivo F =", ExecutarOUExclusivo(.NOT. l1,.NOT. l2) CONTAINS LOGICAL FUNCTION ExecutarOUExclusivo(x,y) LOGICAL, INTENT(IN) :: x,y !Formas de se escrever um OU Exclusivo: !(x .AND. .NOT. y) .OR. (.NOT x .AND. y) !ou !(x .OR. y) .AND. (.NOT. x .OR. .NOT. y) !ou !(x .OR. y) .AND. .NOT. (x .AND. y) !ou !.NOT. ((x .OR. .NOT. y) .AND. (.NOT. x .OR. y)) !Usarei aqui a primeira forma. ExecutarOUExclusivo = (x .AND. .NOT. y) .OR. (.NOT x .AND. y) END FUNCTION ExecutarOUExclusivo END PROGRAM aula