Академический Документы
Профессиональный Документы
Культура Документы
1. Crie um algoritmo que leia um número informado pelo usuário, em seguida deverá ser
calculado se o valor é menor ou igual a 30, caso seja menor ou igual deverá ser apresentado
na tela a mensagem: Menor que 30 .
PROGRAM MAIOR_DE_30
! AUTOR: MAJENDA
! DATA: 30/10/2015
IMPLICIT NONE
INTEGER::N
PRINT*,"INFORME O NUMERO"
READ*,N
IF (N<30) THEN
ELSE
PRINT*,"IGUAL A TRINTA"
END IF
PROGRAM MEDIA
! AUTOR: MAJENDA
! DATA: 30/10/2015
IMPLICIT NONE
REAL::M,S,N
INTEGER::C
S=0 ; C=0
DO ; C=C+1
IF(C>4)EXIT
S=S+N ; M=S/4
END DO
IF(M>=7)THEN
PRINT*,"APROVADO MEDIA",M
ELSE
PRINT*,"REPROVADO MEDIA",M
ENDIF
4a. Crie um algoritmo que peça a idade do eleitor e o mesmo informe se o eleitor é
facultativo (entre 16 e 17 anos) ou obrigatório (entre 18 a 65) ou dispensado (acima de 65).
Use ( if...then )
! AUTOR: MAJENDA
! DATA: 30/10/2015
IMPLICIT NONE
INTEGER::IDADE
READ*,IDADE
PRINT*,"FACULTATIVO"
PRINT*,"OBRIGATORIO"
ELSE
PRINT*,"DISPENSADO"
END IF
4b. Crie um algoritmo que peça a idade do eleitor e o mesmo informe se o eleitor é
facultativo (entre 16 e 17 anos) ou obrigatório (entre 18 a 65) ou dispensado (acima de 65).
Use (select case)
PROGRAM ELEICAO
! AUTOR: MAJENDA
IMPLICIT NONE
INTEGER::IDADE
END SELECT
5. Crie um algoritmo que exiba o nome do mês do ano ao seleccionar entre os números 1 até
12.
program MES
! AUTOR: MAJENDA
! DATA: 30/10/2015
implicit none
integer::op
READ*,OP
END SELECT
PROGRAM CARDAPIO
! AUTOR: MAJENDA
! DATA: 30/10/2015
IMPLICIT NONE
READ*,PRATO
END SELECT
7. Construa um algoritmo que: a. Leia o nome de três pessoas (dado do tipo caractere). b.
Escreva os nomes na ordem inversa da que foram informados.
program inversa
implicit none
!Autor: Majenda
!Data: 30/10/2015
character(20)::a,b,c
print*,'--------------------------------------'
print*,c
print*,b
print*,a
PROGRAM PERCENTAGEM
! AUTOR: MAJENDA
! DATA: 30/10/2015
IMPLICIT NONE
real::b,c,d
CHARACTER(10)::A
d = c + b ! novo salario
ELSE
ENDIF
program posit_negat
! AUTOR: MAJENDA
! DATA: 30/10/2015
implicit none
integer::n
print*,'Digite o numero'
read*,n
PROGRAM MAIOR_MENOR
! AUTOR: MAJENDA
! DATA: 30/10/2015
IMPLICIT NONE
INTEGER::num,Maior,menor
Do while (NUM/=0)
PRINT*,"digite o numero"
READ*,num
IF (num > 0 .and. num > maior) THEN; maior = num; ENDIF
ENDDO
PRINT*,"Menor e ",menor
PRINT*,"Maior e ",maior
PROGRAM MEDIA_DE_500
! AUTOR: MAJENDA
! DATA: 30/10/2015
IMPLICIT NONE
INTEGER::i,nma,nme,soma
real::media;
i=0
PRINT*,I
soma=soma+i; media=soma/500
ENDDO
PROGRAM MEDIA_DE_500
! AUTOR: MAJENDA
! DATA: 30/10/2015
IMPLICIT NONE
INTEGER::i,nma,nme,soma
real::media
nme = 99999
nma = 0
soma=0
i=0
PRINT*,I
nma = i
ENDIF
nme = i
ENDIF
media=soma/500
ENDDO
14. Utilizando a estrutura PARA... ATÉ... REPETIR..., construa um algoritmo que exiba os
números ímpares entre 100 e 200. Dica: a função mod(X,Y) retorna o resto da divisão de X
por Y.
program impar
implicit none
!AUTOR: MAJENDA
!DATA: 07/11/2015
integer::i
do i=100,200
! mesma funcao com (para...faca...) Ex: para i de 100 ate 200 faca
print*,i ! impessao de numeros impares, e imprime se o resto da divisao for diferrente de zero
endif
enddo
15. Construa um algoritmo que calcule a média de N números reais informados pelo usuário,
onde o valor de N também é informado no início da execução. Utilize a estrutura
PARA...ATÉ... REPETIR... Antes do término da execução do algoritmo, mostre a média
calculada.
program media_de_n_numeros
! AUTOR: MAJENDA
! DATA: 30/10/2015
implicit none
integer::n,i
real::media,soma,nota
read*,n
i=0 ! contador
soma=0
do; i=i+1; if(i>n)exit ! se o contador (i) for maior que a quantidade (n), sai do laço
print*,"Digite o numero",i
soma=soma+nota
end do
16. Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um algoritmo
(pseudocódigo ) que calcule seu peso ideal, utilizando as seguintes fórmulas: Para homens:
(72,7 * altura) – 58. Para mulheres: (62,1 * altura) – 44,7
Ao perguntar o sexo, o algoritmo deverá garantir que as únicas entradas aceitas sejam „M‟
para homens e „F‟ para mulheres. Ou seja, caso um valor diferente de „M‟ ou „F‟ seja
informado, o programa deverá requisitar ao usuário que informe o sexo novamente até a
entrada ser válida. Dica: utilize a estrutura de repetição mais adequada dentre as três vistas
em aula.
program peso_ideal
!Autor: Majenda
!Data: 07/11/2015
implicit none
real::altura,peso
character(15)::gen,nome
read(*,*)nome
read(*,*)altura
read(*,*)gen
case ("m")
case ("f")
end select
end do
17. Escreva um algoritmo que leia três valores inteiros e mostre-os em ordem decrescente.
Dica: utilize estruturas de decisão encadeadas.
program ordem_decrescente
implicit none
! AUTOR: MAJENDA
! DATA: 30/10/2015
read*,a,b,c
if(a==b.and.b==c) then
print*,a,b,c
elseif(a<b.and.b<c) then
print*,c,b,a
elseif (a>b.and.b>c)then
print*,a,b,c
elseif (a<b.and.b==c)then
print*,b,c,a
elseif (a>b.and.b==c)then
print*,a,b,c
elseif (a==b.and.b<c)then
print*,c,a,b
elseif (a==b.and.b>c)then
print*,a,b,c
elseif (a==c.and.b>c)then
print*,b,a,c
elseif (a==c.and.b<c)then
print*,a,c,b
elseif (a>b.and.b<c.and.c<a)then
print*,a,c,b
print*,c,a,b
elseif(a<b.and.b>c.and.c<a) then
print*,b,a,c
endif
18. Construa um algoritmo que escreva uma contagem de 10 (dez) minutos, ou seja, mostre 0:00, e
então 0:01, 0:02, ..., 0:58, 0:59, 1:00, 1:01, 1:02,...,até 10:00. Dica: utilize a estrutura de repetição
mais adequada dentre as três vistas em aula.
program cronometro
! Autor: MAJENDA
! Data: 02/11/2015
implicit none
integer::hora,minuto,segundo
hora = 0
minuto = 0
segundo = 0
segundo = 0
!-------------------------------
minuto = minuto + 1
minuto = 0
!-------------------------------
hora = hora + 1
endif
endif
endif
print*,hora,"h:",minuto,"m:",segundo,"s"
enddo
19. Construa três algoritmos que imprimam a tabuada do 5 (cinco). Em cada um deles utilize
uma das estruturas de repetição vistas em aula. Dica: verifique se o resultado está correcto
fazendo um teste de mesa para cada uma das soluções apresentadas.
program tab_Do
integer::i
do i=1,5
enddo
program tab_Do_While
implicit none
integer::i
i=0
enddo
program tab_Do_Exit
implicit none
integer::i
i=0
20. Escreva um algoritmo que leia 20 valores inteiros e ao final exiba: a) a soma dos
números positivos; b) a quantidade de valores negativos
program somaposi
! AUTOR: MAJENDA
! DATA: 30/10/2015
implicit none
real::soma,negativo
integer::n,i
if (n>=0) then ! se o numero digitado for maior ou igual a zero, o numero vai ser somado
soma=soma+n
negativo=negativo+1
end if
if(i==20)exit
end do
21. Faça um algoritmo que escreva na tela os números de um número inicial a um número
final. Os números inicial e final devem ser informados pelo usuário;
program inicial_final
! AUTOR: MAJENDA
! DATA: 30/10/2015
implicit none
integer::i,f,p,c
read*,i
read*,f
print*,"Digite o passo"
read*,p
22. Escrever um algoritmo que imprima a tabuada de um número informado pelo usuário;
PROGRAM TABUADA
! DATA: 30/10/2015
implicit none
INTEGER::N,I,L
READ*,N
READ*,L
I=0
END DO
23. Escrever um algoritmo que gera e escreve os números ímpares entre 100 e 200;
PROGRAM IMPARES_100_a_200
! AUTOR: MAJENDA
! DATA: 30/10/2015
implicit none
INTEGER::I
IF (MOD(I,2)/=0)THEN
PRINT*,I
ENDIF
END DO
24. Em uma turma há 10 alunos. Cada aluno tem 2 notas. Um professor precisa calcular a
média das duas notas de cada aluno. Crie um programa que resolve este problema.
program Exer_24
! AUTOR: MAJENDA
! DATA: 31/10/2015
implicit none
real::n1,n2,media
character(20)::nome
integer::i
i=1
read*,nome
read*,n1
read*,n2
media = (n1+n2)/2
i=i+1
end do
25. Escrever um programa de computador que leia 10 números inteiros e, ao final, apresente a
soma de todos os números lidos
PROGRAM SOMA_10
implicit none
!Autor: Majnda
!Data: 07/11/2015
real::n,s
integer::i
s=0
do i=1,10
read*,n
s=s+n
end do
26. Faça um programa que deve ler e somando números até que o valor digitado seja zero
(0 ).
PROGRAM Exer_26
! AUTOR: MAJENDA
! DATA: 31/10/2015
implicit none
integer::soma,n1,n2
PRINT*,"Introduza o 1o numero"
READ*,n1
soma=n1
READ*,n2
soma=soma+n2
ENDIF
DO WHILE (n2 /= 0)
READ*,n2
soma=soma+n2
ENDIF
ENDDO
27. Escreva um algoritmo que calcule a média dos números digitados pelo usuário, se eles
forem pares. Termine a leitura se o usuário digitar zero (0).
PROGRAM MEDIA_PARES
! AUTOR: MAJENDA
! DATA: 1/11/2015
implicit none
REAL::SOMA,MEDIA
INTEGER::C,N
C=0
SOMA = 0
N=1
DO WHILE (N/=0)
PRINT*,"DIGITE O NUMERO"
READ*,N
IF(MOD(N,2)==0)THEN
C=C+1
C=C-1 ! QUANDO N=0 TIRAMOS 1 PORQUE ZERO VAI SER CALCULADO COMO UM NUMERO
PAR
ENDIF
SOMA=SOMA+N
MEDIA=SOMA/C
ENDIF
END DO
28. Escreva um algoritmo que leia valores inteiros e encontre o maior e o menor deles.
Termine a leitura se o usuário digitar zero (0)
PROGRAM Exer_28_Maior_d_varios
! AUTOR: MAJENDA
! DATA: 1/11/2015
implicit none
INTEGER::nrs,nma,nme
DO WHILE (nrs /= 0)
READ*,nrs
nma = nrs
ENDIF
nme = nrs
ENDIF
ENDDO
29. Escreva uma programa que lê o sexo de uma pessoa. O sexo deverá ser com o tipo de
dado caractere e o programa deverá aceitar apenas os valores “M” ou “F”.
PROGRAM SEXO
implicit none
!Autor: Majenda
!Data: 07/11/2015
do while (s/="m".and.s/="f")
read(*,*)s
case("m"); print*,'MSCULINO'
case("f"); print*,'FEMININO'
END SELECT
END DO
30. Escreva um programa que leia dois valores reais. Ambos valores deverão ser lidos até que
o usuário digite um número no intervalo de 1 a 100. Apresentar a soma dos dois valores lidos.
program soma
implicit none
!Autor: Majenda
!Data: 07/11/2015
real::a,b,s,n
read*,n
if(n>0.and.n<=100)then
S=A+B
end if
31.Escreva um programa que lido um número, calcule e informe o seu fatorial. Ex.: 5! = 5 * 4
* 3 * 2 * 1 = 120.
program fatorial
! AUTOR: MAJENDA
! DATA: 1/11/2015
Implicit none
integer :: n, r, i
read *,n
r=1
do i=n,1,-1
r=r*i
end do
PROGRAM soma_primo
! AUTOR: MAJENDA
! DATA: 1/11/2015
IMPLICIT NONE
INTEGER::re,divi,primo,S,resto
PRINT*," 2"
Primo=3
S=0
DO
divi = 2
re = 9
resto= mod(primo,divi)
divi=divi+1
IF (resto==0)THEN
re=0
ENDIF
ENDDO
PRINT*,Primo
s=s+primo
ENDIF
Primo=primo+1
IF(PRIMO>100)EXIT
END DO
34. Faça o mesmo que em 2, mas usando apenas somas; Informe se um número digitado é
primo. Caso não for, informe por quais números ele é divisível
PROGRAM PRIMO
!AUTOR: MAJENDA
!DATA: 07/11/2015
IMPLICIT NONE
INTEGER::I,DIVI,D,N
N=1
DO WHILE(N/=0) ! O programa vai mostrando se o numero digitado é primo ou não até que a entrada seja zero
READ*,N
DIVI=0
IF(MOD(N,I)==0)THEN
DIVI=DIVI+1
D=I
END IF
END DO
IF (DIVI==2)THEN
PRINT*,N,' EH PRIMO'
ELSE
ENDIF
35. Digitados dois números (base e expoente b), calcule o resultado utilizando apenas
multiplicações.
PROGRAM Expoente
! AUTOR: MAJENDA
! DATA: 1/11/2015
IMPLICIT NONE
real::a,res
INTEGER::i,b
READ*,a
PRINT*,"Digite expoente"
READ*,b
RES=1
DO i = 1,b
res = res * a
ENDDO