1 / 19

Programação de Computadores

Programação de Computadores. Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/progIII. Estruturas de repetição. DO <variável>=<valor inicial>,<valor final>,<incremento> <bloco de comandos> END DO

irving
Download Presentation

Programação de Computadores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programação de Computadores Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/progIII

  2. Estruturas de repetição DO <variável>=<valor inicial>,<valor final>,<incremento><bloco de comandos> END DO • A <variável> inicia com <valor inicial>e a cada repetição é incrementada de <incremento>. • Para cada repetição o <bloco de comandos>é executado, enquanto a <variável> for menor ou igual que <valor final>. • O incremento é opcional. A sua ausência significa incremento = 1. O incremento pode ser negativo. Valor inicial Valor final incremento processamento

  3. Exemplo program impares implicit none integer impar do impar = 1, 100, 2 print *, impar end do end

  4. Exercício 1 • Faça um programa que soma todos os números em um intervalo informado pelo usuário. • Ex: intervalo de 2 a 6 soma=2+3+4+5+6=20 program somar dentro de um intervalo implicit none integer soma, x, y, i print *, 'entre com o intervalo:' read *, x, y soma = 0 do i = x, y, 1 soma = soma + i end do print *, soma end

  5. Exercício 2 • Faça um programa que informe todos os números divisíveis por 2 entre um intervalo dado pelo usuário. • Ex: intervalo: 2 a 11 • Resultado: 2, 4, 6, 8, 10

  6. Exercício 3 • Faça um programa que calcule o fatorial de um número (lembrete: 0! = 1 e n! = n * (n-1)!) program somar dentro de um intervalo implicit none integer fatorial, x, i print *, 'entre com o número:' read *, x fatorial = 1 if (x .EQ. 0) then print *, 'fatorial de ', x, ' ‚ ', fatorial else do i = 1, x, 1 fatorial = fatorial * i end do print *, 'fatorial de ', x, ' ‚ ', fatorial end if end

  7. Exercício 4 • Faça um programa que some a idade de todos os alunos de uma turma. O usuário deve informar o número de alunos da turma e em seguida a idade de todos estes alunos.

  8. Parte II

  9. Repetição condicional I DO WHILE (<condição>)<bloco de comandos> END DO • Testa se a <condição> é verdadeira • Se for verdadeira, executa<bloco de comandos> • Se for falsa, termina verdade falso condição bloco de comando

  10. Exemplo • Soma de números inseridospelo usuário enquanto ele não digitar 0.

  11. Exemplo program somador implicit none integer n, soma soma = 0 print *, 'Informe um número (zero para sair):' read *, n do while (n .NE. 0) soma = soma + n   print *, 'Informe um número (zero para sair):' read *, n end do print *, 'Soma: ', soma end

  12. Repetição condicional II • Às vezes se deseja fazer a verificação no final do processamento. Ou seja, o bloco de comandos é sempre executado ao menos 1 vez. LOGICAL repete repete = .TRUE. DO WHILE (repete) <bloco de comandos> repete = <condição>END DO bloco de comando verdade falso condição

  13. Exercício 1 (repetição condicional) • Faça um programa que: • some a idade de todos os alunos de uma turma. • informe a média das idades. Dica: Quando não existirem mais alunos o usuário deve informar idade = 0.

  14. Exercício 2 (repetição contável) program imprimePrimo implicit none integer i, j logical primo primo = .true. print *, "insira um numero:" read *, j do i=2,j-1,1 if (mod(j,i) .eq. 0) then primo = .false. endif enddo if (primo) then print*, j ," eh primo" endif end • Faça um programa que informe se um determinado número fornecido pelo usuário é primo.

  15. Exercício 3 (repetição contável) program imprimePrimo implicit none integer i, j logical primo primo = .true. do j= 1, 20, 1 do i=2,j-1,1 if (mod(j,i) .eq. 0) then primo = .false. endif enddo if (primo) then print*, j ," eh primo" endif primo = .true. enddo read* end • Faça um programa que calcule todos os números primos entre 1 e 20.

  16. Exercício 4 (repetição contável) • Faça um programa que calcule todos os números primos entre um intervalo dado pelo usuário. Exemplo: primos entre 10 e 20 11, 13, 17, 19

  17. Exercício 5 (repetição contável) program imprimePrimo implicit none integer x, y, i, j logical primo primo = .true. print *, "insira dois numeros:" read *, x, y do j= x, y, 1 do i=2,j-1,1 if (mod(j,i) .eq. 0) then primo = .false. endif enddo if (primo) then print*, j ," eh primo" endif primo = .true. enddo end

  18. Exercício 6 (repetição contável + condicional) • Faça um programa que calcule todos os números primos de 10 em 10 até o usuário informar que deseja parar digitando 0. Ao final o programa deve imprimir qual foi o intervalo observado. Exemplo de saída 1, 2, 3, 5, 7 “Se desejar parar digite 0”. 11, 13, 17, 19 “Se desejar parar digite 0”. (imagine que o usuário digitou 0) “Foram calculados os primos de 1 a 20.

  19. Exercício 3 (repetição contável + condicional) program imprimePrimo implicit none integer x, y, i, j, s logical primo, repetir primo = .true. repetir = .true. x=1 y=10 do while (repetir) do j=x,y,1 do i=2,j-1,1 if (mod(j,i) .eq. 0) then primo = .false. endif enddo if (primo) then print*, j endif primo = .true. enddo print *, "deseja continuar?" read *, s if (s .eq. 0) then repetir = .false. print*, 'terminou' else x=x+10 y=y+10 endif enddo print *, "foram calculados os primos de 1 a ", y read* end

More Related