150 likes | 227 Views
Programação de Computadores. Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/progIII. Estruturas de decisão. Executa o bloco de comandos somente se a condição for verdadeira. IF (condição) THEN bloco de commandos END IF
E N D
Programação de Computadores Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/progIII
Estruturas de decisão • Executa o bloco de comandos somente se a condição for verdadeira. IF (condição) THEN bloco de commandos END IF • Executa o bloco de comandos 1 se a condição for verdadeira, ou o bloco de comandos 2 se a condição for falsa. IF (condição) THEN bloco de comandos 1 ELSE bloco de comandos 2 END IF
Estruturas de decisão • As condições são comparações entre variáveis e valores. • Para que essas comparações possam ser feitas, são utilizados operadores relacionais. • As comparações podem ser combinadas utilizando operadores lógicos.
Exemplo program maior_menor integer x, y print *, 'entre com o x:‘ read *, x print *, 'entre com o y‘ read *, y IF ( x .LE. y ) THEN print *, 'x=', x, ' ‚ menor que ou igual a y=', y ELSE print *, 'y=', y, ' ‚ maior que x=', x END IF End
IF Aninhado: IF dentro de dentro do ELSE I/II program estado ambiente implicit none integer temperatura print *, 'entre com a temperatura hambiente:' read *, temperatura if (temperatura .LT. 15) then print *, 'está muito frio.' else if (temperatura .GE. 15 .AND. temperatura .LT. 23) then print *, 'está frio.' else if (temperatura .GE. 23 .AND. temperatura .LT. 27) then print *, 'está bom.' else if (temperatura .GE. 27) then print *, 'está calor.' end if end if end if end if end
Exemplo C Este programa compara um numero com zero program Comparador implicit none C Dados de entrada real numero C Le o numero print *, 'Informe um numero: ' read *, numero C Verifica o numero if (numero .EQ. 0) then print *, 'Numero igual a zero‘ else if (numero .GT. 0) then print *, 'Numero maior que zero‘ else print *, 'Numero menor que zero' end if end if end
IF Aninhado: utilizando ELSE IF II/II program estado ambiente implicit none integer temperatura print *, 'entre com a temperatura' read *, temperatura if (temperatura .LT. 15) then print *, 'está muito frio.' else if (temperatura .LT. 23) then print *, 'está frio.' else if (temperatura .LT. 27) then print *, 'está bom.' else if (.true.) then print *, 'está calor.' end if end program estado ambiente implicit none integer temperatura print *, 'entre com a temperatura' read *, temperatura if (temperatura .LT. 15) then print *, 'está muito frio.' else if (temperatura .GE. 15 .AND. temperatura .LT. 23) then print *, 'está frio.' else if (temperatura .GE. 23 .AND. temperatura .LT. 27) then print *, 'está bom.' else if (temperatura .GE. 27) then print *, 'está calor.' end if end
Prioridade entre os Operadores: • Operações aritméticas • Operações Relacionais • Operações lógicas (.NOT. depois .AND. depois .OR.) • Exemplo: REAL X, Y, Z X = 10.0 Y = -2.0 Z = 5.0 (X * Y .LT. Z/X .OR. X/Y .GT. Z * X .AND. Z * Y .LT. X) (-20.0 .LT. 0.5 .OR. -5.0 .GT. 50.0 .AND. -10.0 .LT. 10.0) (.true. .OR. .false. .AND. .true.) (.true. .OR. .false.) (.true.)
GO TO: uso para pular para um ponto no programa C Exemplo de pularlinha program pula linha implicit none integer x print *, 'entre com um valor:' read *, x x = x + 1 if (x .EQ. 1) then GO TO 1 else x = x -1 end if 1 print *, x read* end
GO TO: para repetir um conjunto de instruções program imprime todos os valores ate_10 implicit none integer x print *, 'entre com um valor menor que 10:' read *, x if ( x .GE. 10 ) then print *, 'numero eh igual ou maior que 10.' else 1 x = x + 1 print *, x if ( x .GE. 10 ) then GO TO 2 end if GO TO 1 2 print *, 'terminou.' end if end
Exercício 1 • Faça um programa que calcule a média de um aluno em uma disciplina e que informe se ele foi aprovado, reprovado ou deverá fazer VS. O usuário irá informar as notas nas provas 1 e 2 e nas listas 1, 2 e 3 assim como a taxa de presença. • Média = 0,4*(Prova 1 + Prova 2) + 0,2*Listas • Listas = (Lista 1 + Lista 2 + Lista 3) /3 • Aprovado: Presença ≥ 75% e Média ≥ 6 • Reprovado: Presença < 75% ou Média < 4 • VS: Presença ≥ 75% e (4 ≤ Média < 6 ou faltou na Prova1 ou na Prova2)
Exercício 2: Jogo de batalha nataval: Parte I • Imagine um tabuleiro 4x4 onde podem ser colocadas as seguintes peças (na horizontal): • 1 barco (ocupa 1 posição no tabuleiro) • 1 submarino (ocupa 2 posições no tabuleiro) • 1 navio (ocupa 3 posições no tabuleiro) • Faça um programa que posicione as 3 peças de um usuário. O usuário irá informar o tipo de peça que deseja posicionar e o ponto X,Y que indica a posição inicial da peça. • Ex: barco, X=1, Y=3; navio X=2, Y=2; submarino, X=4, Y=1 • Dica: não esqueça de verificar antes de posicionar as peças se já existe uma no lugar.