Difference between revisions of "F90: Tabela verdade do OU Exclusivo"
From AdonaiMedrado.Pro.Br
Line 14: | Line 14: | ||
l1=.TRUE. | l1=.TRUE. | ||
l2=.TRUE. | l2=.TRUE. | ||
− | WRITE (*,*) "T | + | WRITE (*,*) "T ou exclusivo T =", (l1 .AND. .NOT. l2) .OR. (.NOT. l1 .AND. l2) |
− | WRITE (*,*) "T | + | WRITE (*,*) "T ou exclusivo F =", (l1 .AND. l2) .OR. (.NOT. l1 .AND. .NOT. l2) |
− | WRITE (*,*) "F | + | WRITE (*,*) "F ou exclusivo T =", (.NOT. l1 .AND. .NOT. l2) .OR. (l1 .AND. l2) |
− | WRITE (*,*) "F | + | WRITE (*,*) "F ou exclusivo F =", (.NOT. l1 .AND. l2) .OR. (l1 .AND. .NOT. l2) |
END PROGRAM aula</code> | END PROGRAM aula</code> | ||
== Versão com FUNCTION == | == Versão com FUNCTION == | ||
Line 25: | Line 25: | ||
l1=.TRUE. | l1=.TRUE. | ||
l2=.TRUE. | l2=.TRUE. | ||
− | WRITE (*,*) "T | + | WRITE (*,*) "T ou exclusivo T =", ExecutarOUExclusivo(l1,l2) |
− | WRITE (*,*) "T | + | WRITE (*,*) "T ou exclusivo F =", ExecutarOUExclusivo(l1,.NOT. l2) |
− | WRITE (*,*) "F | + | WRITE (*,*) "F ou exclusivo T =", ExecutarOUExclusivo(.NOT. l1, l2) |
− | WRITE (*,*) "F | + | WRITE (*,*) "F ou exclusivo F =", ExecutarOUExclusivo(.NOT. l1,.NOT. l2) |
CONTAINS | CONTAINS | ||
LOGICAL FUNCTION ExecutarOUExclusivo(x,y) | LOGICAL FUNCTION ExecutarOUExclusivo(x,y) |
Latest revision as of 12:28, 7 October 2008
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