Você está na página 1de 10

Cap.

4- Exercícios
I.Determine o resultado lógico das expressões mencionadas, assinalando se são
verdadeiras ou falsas. Considere para as respostas os seguintes valores:
X = 1, A = 3, B = 5, C = 8 e D = 7.

a) .não. (X > 3) = Verdadeiro


b) (X < 1) .e. .não. (B > D) = Verdadeiro
c) .não. (D < 0) .e. (C > 5) = Verdadeiro
d) .não. (X > 3) .ou. (C < 7) = Verdadeiro
e) (A > B) .ou. (C > B) = Verdadeiro
f) (C > = 2) = Falso
g) (X < 1) .e. (B > = D) =Falso
h) (D < 0) .ou. (C < 5) = Falso
i) .não. (D > 3) .ou..não. (B < 7) = Falso
j) (A > B) .ou..não. (C > B) = Falso

II.Indique na linha de resposta a expressão aritmética a ser calculada a partir da tomada de


decisão composta em análise. Considere os seguintes valores:
A = 2, B = 3, C = 5 e D = 9. Não é necessário calcular os valores da variável X.

a) Resposta:X = (A - B) / C
se .não. (D > 5) então
X ← (A + B) * D
senão X ← (A – B) / C
fim_se
escreva X
b)
Resposta: X = (A + B) / D * (C + D)
se (A > 2) .e. (B < 7) então
X ← (A + 2) * (B – 2)
senão X ← (A + B) / D * (C + D)
fim_se
escreva X

c) Resposta: X = (A + 2) * (B - 2)
se (A = 2) .ou. (B < 7) então
X ← (A + 2) * (B – 2)
senão X ← (A + B) / D * (C + D)
fim_se
escreva X

d) Resposta: X = A - B
se (A > 2) .ou. .não. (B < 7) então
X←A+B–2
senão X ← A – B
fim_se
escreva X
e) Resposta: _ X = A+B
se .não. (A > 2) .ou. .não. (B < 7)
então X ← A + B
senão X ← A / B
fim_se
escreva X
f) Resposta: X = D/B
se .não. (A > 3) .e. .não. (B < 5)
então X ← A + D
senão X ← D / B
fim_se
escreva X

g) Resposta: X = D*C
se (C >= 2) .e. (B <= 7)
então X ← (A + D) / 2
senão X ← D * C
fim_se
escreva X

h) Resposta: X = (A+D)/2
se (A >= 2) .ou. (C <= 1) então X ← (A + D) / 2
senão X ← D * C
fim_se
escreva X

III.Desenvolva os entendimentos, o diagrama de blocos e o código em português


estruturado dos seguintes problemas computacionais:

a) Efetuar a leitura de dois valores numéricos inteiros representados pelas variáveis


A e B e apresentar o resultado da diferença do maior valor pelo menor valor.

Var
A, B, C, Maior, Menor: real

Inicio
Escreval(“Digite um número”)
Leia(A)
Escreval(“Digite outro número”)
Leia(B)
Se A>B então
Maior<-A
Menor<- B
Senão
Menor<-A
Maior<-B
Fimse
C<- Maior-Menor
Escreval(“O resultado da diferença do maior valor pelo menor valor é:”, C)
b) Efetuar a leitura de um valor numérico inteiro positivo ou negativo representado
pela variável N e apresentar o valor lido como sendo positivo. Dica: se o valor lido for
menor que zero, ele deve ser multiplicado por –1.
Var
N: real

Inicio
Escreval("Digite um número")
Leia (N)
Se N < 0 entao
N<- N*(-1)
Escreval("O positivo do número digitado é:", N)
Senao
N<- N
Escreval("O número", N, " já é positivo")
fimse
Fimalgoritmo

c) Realizar a leitura dos valores de quatro notas escolares bimestrais de um aluno


representadas pelas variáveis N1, N2, N3 e N4. Calcular a média aritmética
(variável MD) desse aluno e apresentar a mensagem “Aprovado” se a média
obtida for maior ou igual a 5; caso contrário, apresentar a mensagem
“Reprovado”. Informar também, após a apresentação das mensagens, o valor da
média obtida pelo aluno.

Var

NP1, NP2, NP3, NP4, Media: real

Inicio

Escreval("Qual é a sua média?")


Escreval("Qual a nota da sua primeira prova?")
Leia(NP1)
Escreval("Qual a nota da sua segunda prova?")
Leia(NP2)
Escreval("Qual a nota da sua terceira prova?")
Leia(NP3)
Escreval("Qual a nota da sua quarta prova?")
Leia(NP4)
Media<-(NP1+NP2+NP3+NP4)/4
Se Media>=5 entao
Escreval(“Você está aprovado”)
Escreval("Sua média é de:", Media)
Senao
Escreval(“Você está reprovado”)
Escreval("Sua média é de:", Media)

Fimse
Fimalgoritmo
d) Ler os valores de quatro notas escolares bimestrais de um aluno representadas
pelas variáveis N1, N2, N3 e N4. Calcular a média aritmética (variável MD1) desse
aluno e apresentar a mensagem “Aprovado” se a média obtida for maior ou igual a 7;
caso contrário, o programa deve solicitar a quinta nota (nota de exame, representada
pela variável NE) do aluno e calcular uma nova média aritmética (variável MD2) entre a
nota de exame e a primeira média aritmética. Se o valor da nova média for maior ou
igual a cinco, apresentar a mensagem “Aprovado em exame”; caso contrário, apresentar
a mensagem “Reprovado”. Informar também, após a apresentação das mensagens, o
valor da média obtida pelo aluno.

Var
NP1, NP2, NP3, NP4, Media: real

Inicio
Escreval("Qual é a sua média?")
Escreval("Qual a nota da sua primeira prova?")
Leia(NP1)
Escreval("Qual a nota da sua segunda prova?")
Leia(NP2)
Escreval("Qual a nota da sua terceira prova?")
Leia(NP3)
Escreval("Qual a nota da sua quarta prova?")
Leia(NP4)
Media<-(NP1+NP2+NP3+NP4)/4
Se Media>=7 entao
Escreval("Você está aprovado")
Escreval("Sua média é de:", Media)
Senao
Se (Media<7) e (Media >=5) então
Escreval("Você está aprovado em exame")
Escreval("Sua média é de:", Media)
senão
Se (Media<5) então
escreval ("Você está reprovado")
Escreval("Sua média é de:", Media)
fimse
fimse
fimse
Fimalgoritmo

e) Efetuar a leitura de três valores numéricos (representados pelas variáveis A, B e


C) e processar o cálculo da equação completa de segundo grau, utilizando a fórmula de
Bhaskara (considerar para a solução do problema todas as possíveis condições para
delta: delta < 0 – não há solução real, delta > 0 – há duas soluções reais e diferentes e
delta = 0 – há apenas uma solução real). Lembre-se de que é completa a equação de
segundo grau que possui todos os coeficientes A, B e C diferentes de zero. O programa
deve apresentar respostas para todas as condições estabelecidas para delta.

Var
a, b, c, x1, x2, d: real
Inicio
Escreval("Para realizar o cálculo da equação de segundo grau, digite o valor real de
a:")
leia(a)
Escreval("Digite o valor real de b")
leia(b)
Escreval("Digite o valor real de c")
Leia(c)
d<- (b*b)-4*(a*c)
se d>=0 entao
x1<- (-b+raizq(d))/(2*a)
Escreval("O valor de X1 é de:",x1)
x2<- (-b-raizq(d))/(2*a)
Escreval("O valor de X2 é de:",x2)
senao (d<0)
Escreval("A equação não possui raízes reais")
fimse
fimalgoritmo

f) Ler três valores inteiros representados pelas variáveis A, B e C e apresentar os


valores lidos dispostos em ordem crescente. Dica: utilizar tomada de decisão sequencial
e as ideias trabalhadas nos exercícios “g” (propriedade distributiva) e “f” (troca de
valores) do Capítulo 3.
Var
a, b, c, maior, menor, medio: real

Inicio
Escreval("Qual é o maior?")
Escreval("Entre com um número")
Leia(a)
Escreval("Entre com um número")
Leia(b)
Escreval("Entre com um número")
Leia(c)
Se (a>b)e(a>c) e(b>c) entao
maior<-a
medio<-b
menor<-c
fimse
Se (a>c)e(a>c) e(c>b) entao
maior<-a
medio<-c
menor<-b
fimse
Se (b>a)e(b>c)e (c>a)entao
maior<-b
medio<-c
menor<-a
fimse
Se (b>a)e(b>c) e(a>c) entao
maior<-b
medio<-a
menor<-c
fimse
Se (c>a)e(c>b) e(a>b) entao
maior<-c
medio<-a
menor<-b
fimse
Se (c>a)e(c>b) e(b>a) entao
maior<-c
medio<-b
menor<-a
fimse
Escreval("A ordem crescente dos números é:", menor, medio , maior)
fimalgoritmo

g) Fazer a leitura de quatro valores numéricos inteiros representados pelas variáveis


A, B, C e D. Apresentar apenas os valores que sejam divisíveis por 2 e 3.

Var
a, b, c, d: real

Inicio
Escreval("Digite um número")
leia (a)
Escreval("Digite um número")
leia (b)
Escreval("Digite um número")
leia (c)
Escreval("Digite um número")
leia (d)
se (a % 2 = 0) e (a % 3 = 0) entao
Escreval(a," é divísel por 2 e 3.")
fimse
se(b % 2 = 0) e (b % 3 = 0) entao
escreval(b, " é divísel por 2 e 3.")
fimse
se(c % 2 = 0) e (c % 3 = 0) entao
escreval (c, " é divísel por 2 e 3.")
fimse
se(d% 2 = 0) e (d % 3 = 0) entao
escreval(d," é divísel por 2 e 3.")
fimse

Fimalgoritmo
h) Efetuar a leitura de quatro valores numéricos inteiros representados pelas
variáveis A, B, C e D. Apresentar apenas os valores que sejam divisíveis por 2 ou 3.

Var
a, b, c, d: real

Inicio
Escreval("Digite um número")
leia (a)
Escreval("Digite um número")
leia (b)
Escreval("Digite um número")
leia (c)
Escreval("Digite um número")
leia (d)
se (a % 2 = 0) e (a % 3 = 0) entao
Escreval(a," é divísel por 2 e 3.")
fimse
se(b % 2 = 0) e (b % 3 = 0) entao
escreval(b, " é divísel por 2 e 3.")
fimse
se(c % 2 = 0) e (c % 3 = 0) entao
escreval (c, " é divísel por 2 e 3.")
fimse
se(d% 2 = 0) e (d % 3 = 0) entao
escreval(d," é divísel por 2 e 3.")
fimse

Fimalgoritmo

i) Ler cinco valores numéricos inteiros (variáveis A, B, C, D e E), identificar e


apresentar o maior e o menor valores informados.

Var
a, b, c, d: real

Inicio
Escreval("Digite um número")
leia (a)
Escreval("Digite um número")
leia (b)
Escreval("Digite um número")
leia (c)
Escreval("Digite um número")
leia (d)
se (a < b)e(a < c)e(a < d)então
escreval("Menor valor:", a)
fimse
se (b < a)e(b < c)e(b < d)então
Escreval("Menor valor:", b)
fimse
se (c < a)e(c < b)e(c < d)então
Escreval("Menor valor:", c)
fimse
se (d < a)e(d < b)e(d < c)então
Escreval("Menor valor:", d)
fimse
se (a > b)e(a > c)e(a > d)então
escreval("Maior valor:", a)
fimse
se (b > a)e(b > c)e(b > d)então
Escreval("Maior valor:", b)
fimse
se (c > a)e(c > b)e(c > d)entao
Escreval("Maior valor:", c)
fimse
se (d > a)e(d > b)e(d > c)então
Escreval("Menor valor:", d)
fimse
Fimalgoritmo

j) Ler um valor numérico inteiro e apresentar uma mensagem informando se o


valor fornecido é par ou ímpar.

Var
N: real

Inicio
Escreval("Digite um número")
leia (N)
se N % 2 = 0 entao
Escreval(N, " é par")
Senao
Escreval(N, " é ímpar")
fimse
Fimalgoritmo

k) Efetuar a leitura de um valor numérico inteiro que esteja na faixa de valores de


1 até 9. O programa deve apresentar a mensagem “O valor está na faixa permitida”,
caso o valor informado esteja entre 1 e 9. Se o valor estiver fora da faixa, o programa
deve apresentar a mensagem “O valor está fora da faixa permitida”

Var
N: real
Inicio
Escreval("Digite um número")
leia (N)
Se (n >= 1)e (n <= 9) então
Escreval("O valor está na faixa permitida!")
senão
Escreval("O valor está fora da faixa permitida!")
fimse
Fimalgoritmo

l) Fazer a leitura de um valor numérico inteiro qualquer e apresentá-lo caso não


seja maior que 3. Dica: para a solução deste problem, utilize apenas o operador lógico
de negação.

Var
N: real
Inicio
Escreval("Digite um número")
leia (N)
se (n < 3) então
Escreval(N)
fimse
Fimalgoritmo

m) Efetuar a leitura de um nome (variável NOME) e o sexo (variável SEXO) de


uma pessoa e apresentar como saída uma das seguintes mensagens: “Ilmo. Sr.”, caso
seja informado o sexo masculino (utilizar como valor o caractere “M”), ou “Ilma. Sra.”,
caso seja informado o sexo feminino (utilizar como valor o caractere “F”). Após a
mensagem de saudação, apresentar o nome informado. O programa deve, após a entrada
do sexo, verificar primeiramente se o sexo fornecido é realmente válido, ou seja, se é
igual a “M” ou a “F”. Não sendo essa condição verdadeira, o programa deve apresentar
a mensagem “Sexo informado inválido”

Var
opcao, nome: caractere

Inicio
Escreval("Qual é o seu sexo, digite F- Feminino ou M- Masculino?")
leia (opcao)
opcao<- Maiusc (opcao)
se (opcao="M") ou (opcao="F") então
se opcao="F" então
Escreval("Qual é o seu nome?")
leia (nome)
Escreval("Ilma. Sra.", nome)
fimse
se opcao="M" então
Escreval("Qual é o seu nome?")
leia (nome)
Escreval("Ilmo. Sr.", nome)
fimse
senão
Escreval("Sexo informado inválido!")
fimse
Fimalgoritmo

n) Efetuar a leitura de três valores inteiros desconhecidos representados pelas


variáveis A, B e C. Somar os valores fornecidos e apresentar o resultado somente se for
maior ou igual a 100.
Var
a, b, c, soma: real
Inicio
Escreval("Digite um número")
leia (a)
Escreval("Digite um número")
leia (b)
Escreval("Digite um número")
leia (c)
soma<- a + b + c
se (soma >= 100)então
Escreval("SOMA= ", soma)
fimse
Fimalgoritmo

o) Ler um número inteiro qualquer e multiplicá-lo por dois. Apresentar o resultado


da multiplicação somente se o resultado for maior que 30

Var
a, b, c: real

Inicio
Escreval("Digite um número")
leia (a)
c <- a * 2
se (c > 30) então
Escreval("CONTA= ", c)
fimse
Fimalgoritmo

Você também pode gostar