Prévia do material em texto
das
A
Gabarito
utoatividades
ADS | 2015/1 | Módulo II
LÓGICA E TÉCNICAS DE
PROGRAMAÇÃO
Centro Universitário Leonardo da Vinci
Rodovia BR 470, Km 71, nº 1.040
Bairro Benedito - CEP 89130-000
Indaial - Santa Catarina - 47 3281-9000
Elaboração:
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci - UNIASSELVI
2015
Prof. Anderson Emídio De Macedo Gonçalves
Prof.ª Veronice De Freitas
3UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
GABARITO DAS AUTOATIVIDADES DE
LÓGICA E TÉCNICAS DE PROGRAMAÇÃO
Centro Universitário Leonardo da Vinci
Rodovia BR 470, Km 71, nº 1.040
Bairro Benedito - CEP 89130-000
Indaial - Santa Catarina - 47 3281-9000
Elaboração:
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci - UNIASSELVI
2015
UNIDADE 1
SEÇÃO 01
1 Quais das sentenças abaixo são proposições?
a) (x) A lua é feita de queijo verde.
b) (x) Dois é um número primo.
c) ( ) O jogo vai acabar logo?
d) (x) X2 - 4 = 0.
2 Determinar o valor lógico de cada uma das seguintes proposições:
a) (F) Tiradentes morreu afogado.
b) (V) As diagonais de um paralelogramo são iguais.
c) (V) O número 125 é cubo perfeito.
d) (V) O produto de dois números ímpares é um número ímpar.
3 Determinar o valor lógico (V ou F) de cada uma das seguintes
proposições.
a) (F) Goiânia é a capital de Tocantins.
b) (V) O número 25 é quadrado perfeito.
c) (F) Todo número divisível por 5 termina com 5.
4 Determine se as proposições são Simples (S) ou Compostas (C):
a) (c) Maria estuda e trabalha.
b) (s) Mário é feio.
c) (s) 3 é um número ímpar.
d) (c) Márcia é jogadora ou estudante.
e) (c) Paulo é rico e feliz.
f) (s) 32 é múltiplo de 4.
g) (s) Paris é a capital da França.
h) (c) Pedro é estudioso e Maria é bonita.
i) (c) Celso é pobre, então é infeliz.
j) (s) João é velho.
4 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
k) (c) Ou Carla vai à festa, ou fica em casa.
l) (s) 13 é número e primo.
5 Marque as sentenças abaixo que são proposições simples ou
compostas. Para as sentenças que não são proposições, explique
porque não são:
a) (s) João é alto.
b) (s) Ela é bonita.
c) (s) A casa é pequena.
d) ( ) Quem está batendo à porta? (Pergunta)
e) ( ) Talvez eu vá ao teatro. (Possibilidade)
f) (s) 2 + 2 = 4
g) (s) x + y = 8
h) (s) O planeta Marte é habitado.
i) ( ) Possivelmente choverá hoje. (Não é)
SEÇÃO 02
1 Dê a negação das seguintes proposições:
a) O processador é rápido, mas a impressora é lenta.
R.: O processador não é rápido, mas a impressora não é lenta.
b) O processador é rápido ou a impressora é lenta.
R.: Não é verdade que o processador é rápido ou a impressora é lenta
c) Pepinos são verdes e não têm sementes.
R.: Pepinos não são verdes e não é verdade que não têm sementes.
d) A comida é boa ou o serviço é excelente.
R.: Não é verdade que a comida é boa ou o serviço é excelente.
e) Nem a comida é boa, nem o serviço é excelente.
R.: Não é verdade que nem a comida é boa e nem o serviço é excelente.
5UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
2 Dê o valor verdade das proposições abaixo:
a) Se a Lua é um satélite, então a terra é um planeta. (V)
b) Um corpo celeste não é um satélite se gira em torno de um planeta. (F)
c) Se Lilo é um gato, então tem quatro patas. (Considere que existe um gato
chamado Lilo). (V)
d) Se a Terra é uma estrela, então a Lua é um planeta. (V)
3 Dê o valor verdade das seguintes proposições:
a) Amarelo será preto se, e somente se, vermelho for branco. (V)
b) 3 + 4 = 7 se, e somente se, 8 x 5 = 50. (V)
c) 1 + 1 = 4 se, e somente se, 7 + 3 = 10. (F)
d) Azul não é verde se, e somente se, preto for lilás. (F)
e) Não é verdade que 1 + 1 = 3 se, e somente se, 2 + 2 = 5. (F)
4 Sejam as proposições:
p: Marcos é alto e q: Marcos é elegante.
Traduzir para a linguagem simbólica as proposições abaixo:
a) Marcos é alto e elegante.
R.: p ^ q
b) Marcos é alto, mas não é elegante.
R.: p ^ ~q
c) Não é verdade que Marcos é baixo ou elegante.
R.: ~(p v q)
d) Marcos não é nem alto e nem elegante.
R.: ~p ^~q
e) Marcos é alto ou é baixo e elegante
R.: p v (~p ^ q)
5 Sejam as proposições p e q, traduzir para a linguagem simbólica as
seguintes proposições:
6 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
a) Carlos é alto e elegante.
R.: p ^ q
b) Carlos é alto, mas não é elegante.
R.: p ^ ~q
c) Não é verdade que Carlos é baixo ou elegante.
R.: ~(~p v q)
d) Carlos não é nem alto e nem elegante.
R.: ~(p v q)
e) Carlos é alto ou é baixo e elegante.
R.: p v (~p ^ q)
f) É falso que Carlos é baixo ou que não é elegante.
R.: ~(~p v ~q)
6 Sejam as proposições p e q, traduzir para a linguagem simbólica as
seguintes proposições:
p: Paula é rica e q: Paula é feliz.
a) Paula é pobre, mas feliz.
R.: ~q ^ q
b) Paula é rica ou infeliz.
R.: p v ~q
c) Paula é pobre e infeliz.
R.: ~q ^ ~q
d) Paulo é pobre ou rica, mas infeliz.
R.: ~p v (p ^ ~q)
7 Sejam as proposições p, q e r, traduzir para a linguagem simbólica
as seguintes proposições:
7UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
p: Felipe fala francês e q: Felipe fala inglês e r: Felipe fala alemão.
a) Felipe fala francês ou inglês, mas não fala alemão.
R.: p v (q ^ ~r)
b) Felipe fala francês e inglês, ou não fala francês e alemão.
R.: (p ^ q) v ~(p ^ q)
c) É falso que Felipe fala francês, mas que não fala alemão.
R.: ~(p ^ ~r)
d) É falso que Felipe fala inglês ou alemão, mas que não fala francês.
R.: ~(q v (r ^ ~p) )
8 Sejam as proposições p e q, traduzir para a linguagem corrente as
seguintes proposições:
p: Está frio e q: Está Chovendo.
a) ~p
R.: Não está frio.
b) p ^ q
R.: Está frio e está
chovendo.
c) p v q
R.: Está frio ou está
chovendo.
d) q ↔ p
R.: Está chovendo se e
somente se estiver frio.
e) p → ~q
R.: Se está frio então não
está chovendo.
f) p v ~q
R.: Está frio ou não está
chovendo.
g) ~p ^ ~q
R.: Não está frio e nem
chovendo.
h) p ↔ ~q
R.: Está frio se e somente
se não estiver chovendo.
i) p ^ ~q → p
R.: Se está frio e não está
chovendo, então está frio.
9) Sejam as proposições p e q, traduzir para a linguagem corrente as
seguintes proposições:
p: Eduardo é rico e q: Murilo é feliz.
8 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
10 Sejam as proposições p e q, traduzir para a linguagem corrente as
seguintes proposições:
p: Roberto fala inglês e q: Roberto fala alemão.
a) q v p
R.: Roberto fala inglês ou
alemão.
b) p ^ q
R.: Roberto fala alemão
e inglês.
c) p ^ ~q
R.: Roberto fala inglês e
não fala alemão.
d) ~p ^ ~q
R.: Roberto não fala
inglês nem alemão.
e) ~(~p ^ ~q)
R.: Não é verdade
que Roberto não fala
alemão ou inglês
11 Sejam as proposições p e q, traduzir para a linguagem corrente as
seguintes proposições:
p: Matheus é gaúcho e q: Thiago é paulista.
a) ~(~p ^ ~q)
R.: Não é verdade que Matheus não
é gaúcho e Thiago não é paulista.
b) ~(~p v ~q)
R.: Não é verdade que Matheus não
é gaúcho ou Thiago não é paulista.
c) p → ~q
R.: Se Matheus é gaúcho, então
Thiago não é paulista.
d) ~p → ~q ]
R.: Se Matheus não é gaúcho, então
Thiago não é paulista
12 Sejam as seguintes proposições simples:
p: “Tiradentes morreu afogado” e q: “Jaime é gaúcho”.
Traduzir para linguagem natural as seguintes proposições compostas:
a) p ∧ q
R.: Tiradentes morreu afogado e Jaime é gaúcho.
a) q → p
R.: Se Eduardo é rico,
então Murilo é feliz.
b) p v ~q
R.: Eduardo é rico ou
Murilo não é feliz
c) q ↔ ~p
R.: Murilo é feliz se e
somente se Eduardo não
é rico.
d) ~p → q
R.: Se Eduardo não é
rico, entao Murilo é feliz
e) ~p^ q → p
R.: Se Eduardo não
é rico e Murilo é feliz,
então Eduardo é rico.
9UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
b) p → q
R.: Se Tiradentes morreu afogado, então Jaime é gaúcho.
c) ~p ∧ q
R.: Tiradentes não morreu afogado ou Jaime é gaúcho.
13 Sejam as proposições:
p: João joga futebol. q: Pedro joga tênis.
Traduzir as fórmulas lógicas para o português.
a) p ∨ q
R.: João joga futebol
ou Pedro joga tênis.
b) p ∧ q
R.: João joga futebol
e Pedro joga tênis.
c) p ∧ ~q
R.: João joga futebol e
Pedro não joga tênis.
d) p → ~q
R.: Se João joga futebol,
então Pedro não joga
tênis.
e) ~p ∧ ~q
R.: João não joga futebol
e Pedro não joga tênis.
f) ~p ↔ ~q
R.: João não joga futebol
se e somente se Pedro
não joga tênis.
14 Sejam as proposições:
p: A bola é vermelha. q: O bambolê é amarelo.
Traduzir as fórmulas lógicas para o português.
a) p ∨ q
R.: A bola é vermelha
o u o b a m b o l ê é
amarelo.
b) p ∨ q
R.: A bola é vermelha e
o bambolê é amarelo.
c) p ∨ ~q
R.: A bola é vermelha
e o bambolê não é
amarelo.
d) ~p ∨ ~q
R. : A bo la não é
vermelha e o bambolê
não é amarelo.
e) ~p ↔ ~q
R. : A bo la não é
vermelha se e somente
se o bambolê não é
amarelo.
15 Considere as proposições:
p: Está frio e q: Está chovendo.
Traduza para a linguagem corrente as seguintes proposições
apresentadas na linguagem simbólica:
10 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
a) ~p
R.: Não está frio.
b) p Λ q
R.: Está frio ou está chovendo.
c) p v q
R.: Está frio ou está chovendo.
d) q p (sem resposta)
e ) p ~ q ( s e m
resposta)
f) p v ~q
R.: Está frio ou não
está chovendo.
g) ~p Λ ~q
R.: Não está frio e
não está chovendo.
h) p ~q (sem resposta)
16 Considere as proposições:
p: Está frio e q: Está chovendo.
Traduza para a linguagem corrente as seguintes proposições:
a) p v ~q
R.: Está frio ou não está
chovendo.
b) p → q
R.: Se está frio, então
está chovendo.
c) ~p ^ ~q
R.: Não está frio nem
chovendo.
d) p ↔ ~q
R.: Está frio se e somente
se não está chovendo.
e) (p v ~q) ↔ (q ^~p)
R.: Está frio ou não
está chovendo se e
s o m e n t e s e e s t á
chovendo e não está
frio.
SEÇÃO 03
1 Construa a tabela-verdade para as proposições abaixo:
a) p ↔ ~q
p q ~q p ↔ ~q
V V F F
V F V V
F V F V
F F V F
11UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
b) ~p v q
p q ~p ~p v q
V V F V
V F F F
F V V V
F F V V
c) (p ^ q) → ~(p v q)
p q p ^ q p v q ~(p v q) (p ^ q) → ~(p v q)
V V V V F F
V F F V F V
F V F V F V
F F F F V V
d) (p ^ q) ↔ (p v r)
p q r p ^ q p v r (p ^ q) ↔ (p v r)
V V V V V F
V V F V V V
V F V F V V
V F F F V F
F V V F V F
F V F F F V
F F V F V F
F F F F F V
2 Construa a tabela-verdade de cada uma das seguintes proposições:
a) p ∨ q ∨ p
b) p ∧ q ∨ p
f) p ∨ (~p ∧ ~q)
g) ~p ∧ q ↔ ~q → p
c) p ∧ ~q
d) ~p ∧ ~q
12 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
a)
p q ~q p ↔ ~q
V V F F
V F V V
F V F V
F F V F
b)
p q p ^ q p ∧ q ∨ p
V V V F
V F F F
F V F V
F F F F
c) p ∧ ~q
p q ~q p ∧ ~q
V V F F
V F V V
F V F F
F F V F
d) ~p ∧ ~q
p q ~q ~p ~p ∧ ~q
V V F F F
V F V F F
F V F V F
F F V V V
e) p ∨ (~p ∧ ~q)
p q ~p ~q ~p ∧ ~q p ∨ (~p ∧ ~q)
V V F F F V
V F F V F V
F V V F F F
F F V V V V
13UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
f) ~p ∧ q ↔ ~q → p
p q ∼p∧q↔∼q→p
V V F
V F F
F V V
F F V
3 Construir as tabelas-verdade das seguintes proposições:
a) ~ p ∧ r → q ∨ ~ r
b) p → (p → ~ r) ↔ q ∨ r
c) p → r ↔ q ∨ ~ r
d) (p ∧ q → r) ∨ (~ p ↔ q ∨ ~ r)
a)
p r q ∼p∧r→q∨∼r
V V V V
V V F V
V F V V
F V V V
F F V V
F V F F
V F F V
F F F V
b)
p q r p→(p→∼r)↔q∨r
V V V V
V V F V
V F V V
F V V V
F F V V
F V F V
V F F F
F F F F
14 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
c)
p q r p→r↔q∨∼r
V V V V
V V F F
V F V V
F V V V
F F V V
F V F F
V F F V
F F F V
d)
p q r (p∧q→r)∨(∼p↔q∨∼r)
V V V V
V V F V
V F V V
F V V V
F F V V
F V F V
V F F V
F F F V
15UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
SEÇÃO 04
1 Exercícios - Tautologia: Preencha as tabelas a seguir:
a) P(p) = ~(p ˄ ~p)
Tabela da Verdade:
p ~q p ˄ ~p ~(p ˄ ~p)
V V F V
F F F V
b) P(p, q) = p ˅ ~(p ˄ q)
Tabela da Verdade:
p q p ˄ q ~(p ˄ q) p ˅ ~(p ˄ q)
V V V F V
V F F V V
F V F V V
F F F V V
2 Exercícios - Contradição: Preencha as tabelas abaixo:
a) P(p) = p ˄ ~p
Tabela da Verdade:
p ~p p ˄ ~p
V F F
F V F
b) P(p, q) = ~p ˄ (p ˄ ~q)
Tabela da Verdade:
p q ~p ~q p ˄ ~q ~p ˄ (p ˄ ~q)
V V F F F F
V F F V V F
F V V F F F
F F V V F F
16 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
3 Exercícios - Contingência: Preencha as tabelas abaixo:
a) P(p) = p → ~p
Tabela da Verdade:
p ~p p → ~p
V F F
F V V
b) P(p, q) = p ˅ q → p
Tabela da Verdade:
p q p ˅ q p ˅ q → p
V V V V
V F V V
F V V F
F F F V
4 Definir as proposições abaixo como Tautologias, Contradições ou
Contingências:
a) (p → q) ˄ p → q
R.: Tautologia.
b) p ˅ q → p ˄ q
R.: Contingência.
c) (p → q) → (p ˄ r → q)
R.: Tautologia.
5 Mostre que as equivalências são verdadeiras.
17UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
a) (p ∧ q → r) (p → (q → r)) é: _____________________________
p q r p ∧ q p ∧ q → r q → r p→(q → r) (p ∧ q → r) ↔ (p → (q → r))
1 1 1
0 0 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
b) p ↔ q (p ∧ q) v (~ p∧ ~ q) é: ____________________________
p q p ↔ q p ∧ q ~ p ~ q ~ p∧ ~ q (p ∧ q) v (~ p∧ ~ q)
1 1
0 0
0 0
1 1
6 Quais das proposições abaixo são tautologias (verdadeiras), quais são
contradições (logicamente falsas) e quais não são nem tautologias
nem contradições?
a) (p ∧ q) v (~ p∧ ~ q)
R.: Contingência.
b) ~(p∧ ~ q)
R.: Contingência.
c) p → (p → q)
R.: Contingência.
d) (p v q) → ((p∧ ~q) v (~p ∧ q))
R.: Contingência.
18 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
ATIVIDADES DE APRENDIZAGEM DA UNIDADE 1
1) Sejam as proposições:
p: Marcos é alto e q: Marcos é elegante.
Traduzir para a linguagem simbólica as seguintes proposições:
a) Marcos é alto e elegante.
R.: p^q
b) Marcos é alto, mas não é elegante.
R.: p^~q
c) Não é verdade que Marcos é baixo e elegante.
R.: ~(~p^q)
d) Marcos é alto ou é baixo e elegante.
R.: p v(~p^q)
e) Marcos não é nem alto e nem elegante.
R.: ~p^~q
f) É falso que Marcos é baixo ou que não é elegante.
R.: ~(~pv~q)
2) Dadas as proposições:
p: Adriana é bonita. q: Adriana é inteligente.
Escrever na linguagem simbólica as seguintes proposições:
a) Adriana é bonita e inteligente. p^q
b) Adriana é bonita, mas não inteligente. p ^~q
c) Não é verdade que Adriana não é bonita ou inteligente.~(~pvq)
d) Adriana não é bonita nem inteligente.~p^~q
e) Adriana é bonita ou não é bonita e inteligente. pv(~p^q)
f) É falso que Adriana não é bonita ou que não é inteligente.~(~pv~q)
3) Sejam as proposições:
p: Está frio. q: Está chovendo.
19UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Traduzir para a linguagem corrente as seguintes proposições:
a) ~ p
R . : n ã o e s t á
chovendo.
b) p ∧ q
R.: está fr io e
chovendo.
c) p v q
R.: está frio ou
chovendo.
d) q ↔ p
R.: está chovendo se e
somente se estiver frio.
e) ~ p ∧ ~ q
R.: não está frio e nem
chovendo.
f) p → ~ q
R.: se está frio, então não
está chovendo.
g) p ↔ ~q
R.: está frio se e somente se
não estiver chovendo.
h) p v ~ q
R.: está frio ou não está
chovendo.
i) p ∧ ~ q → p
R.: está frio e, se nãoestiver
chovendo, então está frio.
4) Sejam as proposições:
p: Jorge é rico. q: Carlos é feliz.
Traduzir para linguagem corrente as seguintes proposições:
a) p v q
R.: Jorge é rico ou Carlos é feliz.
b) p ∧ q
R.: Jorge é rico e Carlos é feliz.
c) p ∧ ~ q
R.: Jorge é rico e Carlos não é feliz.
d) ~ p ∧ ~q
R.: Jorge não é rico e Carlos não é feliz.
5) Verificar se as proposições a seguir são tautologias:
a) p v ~(p ^ q)
R.: Tautologia.
b) p ^ q → (p ↔ q)
R.: Tautologia.
c) p v (q ^ ~q) ↔ p
R.: Tautologia.
d) p ^ r → ~q v r
R.: Tautologia.
6) Determine quais proposições são tautologias, contradições ou
contingências:
20 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
a) (p → p) v (p → ~p)
R.: Tautologia.
b) (p → q) ^ p → q
R.: Tautologia.
c) p → (q → (q → p))
R.: Tautologia.
d) ~p v q → (p → q)
R.: Tautologia.
e) p → (p → q ^ ~q)
R.: Contingência.
f) (p ^ q → r) ↔ (p → (q → r))
R.: Tautologia.
7) Determinar o valor lógico de P em cada um dos casos abaixo,
considerando a informação fornecida.
a) Q é falsa e P ̂ Q é falsa. (V ou F)
b) Q é falsa e P v Q é falsa. (F)
c) Q é falsa e P → Q é falsa. (V)
d) Q é falsa e P → Q é verdadeira. (F)
e) Q é falsa e P ↔ Q é verdadeira. (F)
f) Q é verdadeira e P ↔ Q é falsa. (F)
8) Construir a tabela da verdade para as seguintes proposições:
a) p ˄ q → p ˅ q
p q p∧q→p∨q
1 1 1
1 0 1
0 1 1
0 0 1
b) ~p → (q → p)
p q ∼p→(q→p)
1 1 1
1 0 1
0 1 0
0 0 1
d) (p ↔ ~q) ↔ q → p
p q (p↔∼q)↔p→q
1 1 0
1 0 0
0 1 1
21UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
p q (p↔∼q)↔p→q
0 0 0
9) Determinar P(VV, VF, FV, FF) em cada um dos seguintes casos:
a) P(p,q) = ~(~p ↔ q)
p q ∼(∼p↔q)
V V V
V F F
F V F
F F V
b) P(p,q) = (p ˅ q) ˄ ~(p ˄ q)
p q (p∨q)∧∼(p∧q)
V V F
V F V
F V V
F F F
d) P(p,q) = ~((p ˅ q) ˄ (~p ˅ ~q))
p q ∼((p∨q)∧(∼p∨∼q))
V V V
V F F
F V F
F F V
10) Determinar P(VFV) em cada um dos seguintes casos:
a) P(p,q,r) = p ˄ ~q → ~q
p q p∧∼q→∼q
V V V
V F V
F V V
F F V
22 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
b) P(p,q,r) = ~p ˄ (q ˄ ~r)
p q r ∼p∧(q∧∼r)
V V V F
V V F F
V F V F
F V V F
F F V F
F V F V
V F F F
F F F F
UNIDADE 2
SEÇÃO 1
1) Escreva um algoritmo na forma narrativa para fazer uma salada de
frutas.
Resposta:
1 – pegar um utensílio para colocar as frutas cortadas;
2 – coletar as frutas para a salada;
3 – lavar as frutas;
4 – descascar as frutas;
5 – cortar em tamanhos pequenos;
6 – colocar todas as frutas cortadas no utensílio;
7 – se desejar uma calda, faça um suco de três laranjas e acrescente na
salada.
Para esta resolução, foi abordado um algoritmo bastante superficial, que
possui apenas a síntese da resposta, isto é, o desenvolvedor do processo
pode escrever o algoritmo no nível que achar necessário, descrevendo ou
não os detalhes de acordo com o problema.
23UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
2) A tabela abaixo contém algumas instruções que tem por objetivo
calcular o total de uma venda. Na coluna tipo Identifique os dados
de entrada (E), processamento (P) e saída (S). Na coluna sequência
lógica estabeleça a sequência numérica das instruções (ordem para
serem executadas).
Resposta:
Algoritmo venda
Instrução (Identifique a ordem correta) Tipo Sequência lógica
Calcular o valor total da peça (Quantidade * Valor
da peça) P 3
Mostrar o código da peça e seu valor total S 4
Receber valor da peça E 1
Receber Quantidade de peças E 2
3) Crie o fluxograma do algoritmo abaixo:
algoritmo “exemplo”
var
PRECO_UNIT, PRECO_TOT : real
QUANT : inteiro
Início
escreva(“Digite o preço unitário: ”)
leia (PRECO_UNIT)
escreva (“Digite a quantidade: ”)
leia(QUANT)
PRECO_TOT PRECO_UNIT * QUANT
escreva(“Preço total: “, PRECO_TOT)
fimalgoritmo
24 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
4) Diferencie tipo de dados e variáveis.
R.: Tipo de dados: está relacionado ao tipo de informação que desejamos
armazenar na memória do computador (exemplo: se é um número inteiro,
um número com casas decimais (real), caracteres ou lógico).
Variáveis: quando nos referimos à variável, do ponto de vista da programação
de computadores, estamos tratando de uma “região de memória (do
computador) previamente identificada, cuja finalidade é armazenar os dados
ou informações de um programa por um determinado espaço de tempo”. A
Resposta:
25UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
memória do computador se organiza tal qual um armário com várias divisões,
sendo cada divisão identificada por um endereço. O computador armazena os
dados nessas divisões, sendo que, em cada divisão, só é possível armazenar
um dado e, toda vez que o computador armazenar um dado em uma dessas
divisões, o dado que antes estava armazenado é eliminado. O conteúdo
pode ser alterado, mas somente um dado por vez pode ser armazenado
naquela divisão. O computador identifica cada divisão por intermédio de um
endereço no formato hexadecimal, e as linguagens de programação permitem
nomear cada endereço ou posição de memória, facilitando a referência a um
endereço de memória. Uma variável é composta por dois elementos básicos:
o conteúdo, o valor da variável e identificador, um nome dado à variável para
possibilitar sua utilização.
5) Identifique o tipo dos dados:
(a) inteiro; (b) real; (c) lógico; (d) cadeia ou literal
Resposta:
(c) Verdadeiro (d) “Maria”
(d) “c*d” (a) -23
(c) Falso (b) 35.23
(d) “1 2 3 4” (b) -18.589
(d) “aula” (a) 345
(a) 897 (b) 0.342
6) Quais são as regras básicas para criar nomes (identificadores) das
variáveis?
R.: As variáveis e as constantes têm um nome (Rótulo) que as identificam
dentro do código/pseudocódigo. Esse nome deve ser criado conforme as
seguintes regras:
a) O primeiro caractere deve ser SEMPRE uma letra.
b) Os nomes devem ser formados por caracteres pertencentes às letras do
alfabeto e aos números. Se o identificador for mais de uma palavra, podemos
separá-los com o underline “_”.
c) Não pode haver espaços em branco entre os caracteres dos identificados.
d) Os nomes dos escolhidos devem ser explicativos do seu conteúdo.
e) Nomes de variáveis longos dificultarão a codificação (verificar tamanho
dependendo da linguagem que for programar).
f) Não deve utilizar acentuação ou cedilha.
g) Os nomes dados às variáveis não podem ser os mesmos nomes das
palavras reservadas da linguagem que será utilizada.
26 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
7) Marque com X os identificadores válidos:
(x) A ( ) 5B ( erro: iniciando com nº
(x) NOTA (x) DATA
(x) PROGRAMA ( ) PROGRAM erro: palavra reservada (dependendo da linguagem)
( ) NOTA[1] (erro: []) (x) A32B
(x) X5 ( ) E(13) erro: ()
(x) MATRICULA ( ) A:B erro: :
(x) F1GH78 ( ) B*D erro: *
(x) AX_DATA ( ) X – Y erro: -
(x) VALOR ( ) “NOTA” (erro: “)
( ) AH! erri (erro: !) ( ) KM/H (erro: /)
( ) NOTA*DO*ALUNO (erro: *) (x) NOMEDAEMPRESA
(x) ANO (x) MEDIA
(x) MEDIA SALARIAL ( ) AI! (erro: !)
(x) A15B34 ( ) “AULA” (erro: “)
(x) NOME_ALUNO ( ) 1DEPARTAMENTO (erro: iniciou com número)
8) Sendo SOMA, NUM e X variáveis numéricas (inteiro ou real); NOME,
COR e DIA variáveis literais (caractere); TESTE, COD e TUDO variáveis
lógicas, assinalar os comandos de atribuição considerados inválidos:
Resposta:
(x) NOME <- 5
( ) SOMA <- NUM + 2 * X
( ) TESTE <- COD
(x) TUDO <- SOMA
( ) COR <- “PRETO”
( ) X <- X + 1
(x) NUM <- “ABC”
( ) DIA <- “SEGUNDA”
( ) COD <- VERDADEIRO
27UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
RA
M
A
Ç
Ã
O
9) Encontre os erros dos comandos de atribuição a seguir:
Algoritmo “exercício 01”
var
logico: A
real: B, C
inteiro: D
inicio
A <- B + C
D <- B
C <- A + D
Fimalgoritmo
Resposta:
Algoritmo “exercício 01”
Var
real: A // Alterado para o tipo de dados Real
real: B, C
real: D // Alterado para o tipo de dados Real
inicio
B <- 10.50 // valor inicial para a variável B
C <- 20.40 // valor inicial para a variável C
A <- B + C
D <- B
C <- A + D
Fimalgoritmo
SEÇÃO 2
1) Analise os algoritmos abaixo e diga o que será impresso na tela ao
serem executados:
28 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo Simulação
a) algoritmo "teste01"
var
A , B: inteiro
inicio
A <-10
B <- 20
escreva(B)
B <- 5
Escreva( A, B)
fimalgoritmo
Memória
A <-10
B <- 20
B <- 5
Vídeo
20
10 5
b) algoritmo "teste02"
var
A , B,C: inteiro
Inicio
A <- 30
B <- 20
C <- A + B
escreva(C)
B <- 10
escreva( B, C)
C <- A + B
escreva(A, B, C)
fimalgoritmo
Memória
A <- 30
B <- 20
C <- 30 + 20 (50)
B <- 10
C <- 30 + 10(40)
Vídeo
50
10 50
30 10 40
29UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
c) algoritmo "teste03"
var
X: inteiro
Z, Y: real
inicio
X <- 30
Y <- 40
Z <- Y – X * 2
Escreva(Z)
X <- 10
Y <- X + Z /2
escreva(X, Y, Z)
fimalgoritmo
Memória
X <- 30
Y <- 40
Z <- 40 – 30 * 2
X <- 10
Y <- 10 + Z / 2
Vídeo
-20
0
2) Identifique ENTRADA(S), PROCESSAMENTO e SAÍDA(S) no algoritmo
abaixo:
algoritmo “exemplo02”
var
PRECO_UNIT, PRECO_TOT : real
QUANT : inteiro
Início
escreva(“Digite o preço unitário: ”)
leia (PRECO_UNIT)
escreva (“Digite a quantidade: ”)
leia(QUANT)
PRECO_TOT PRECO_UNIT * QUANT
escreva(“Preço total: “, PRECO_TOT)
fimalgoritmo
Resposta:
Entrada: PRECO_UNIT, QUANT.
Processamento: PRECO_TOT PRECO_UNIT * QUANT.
Saída: PRECO_TOT.
3) O que será atribuído às variáveis A, X e B?
30 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “exemplo03”
logico: A, B
inteiro: X
inicio
X 8 + 6 * 2
B 5 + 3
A B
fimalgoritmo
4) Dadas as declarações abaixo, assinale os comandos de atribuição
inválidos:
var
NUM: inteiro
SOMA, X: real
SIMBOLO, NOME, COR, DIA: caracter
COD, TESTE, TUDO: lógico
(x) SIMBOLO 8 ( ) SOMA NUM + 3 * X
(x) TESTE COR (x) TUDO SOMA
( ) COR “VERMELHO”; ( ) X X + 1
(x) NUM “1234” ( ) DIA “QUARTA”
Resposta:
X 20
B 8
A 8
SEÇÃO 3
1) Os pares de instruções abaixo produzem o mesmo resultado?
(4 / 2) + (2 / 4) e 4 / 2 + 2 / 4
4 / (2 + 2) / 4 e 4 / 2 + 2 / 4
( 4 + 2 ) * 2 - 4 e 4 + 2 * 2 - 4
Resposta:
Resposta:
(4 / 2) + (2 / 4) e 4 / 2 + 2 / 4 Sim
4 / (2 + 2) / 4 e 4 / 2 + 2 / 4 Não
( 4 + 2 ) * 2 - 4 e 4 + 2 * 2 - 4 Não
31UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
2) Dadas as informações abaixo, informe qual o valor das relações
(verdadeiro ou falso):
a) a = 9.0, b = 2.0, nome = ‘Beatriz’, profissao = ‘advogado’
a + b = 11 (verdadeiro)
nome <> “Carlos” (verdadeiro)
profissao = “professor” (falso)
b) a = 8 b = 12 nome = “Veronice”, profissao =”professor”
a + 5 = b - 3 (falso)
nome <> “ana” (verdadeiro)
profissao = “dentista” (falso)
c) x = 3, y = 4, z = 10, nome = “Carlos”, R = verdadeiro
( x + y > z ) e (nome = “Carlos”) (falso)
(R) ou ( y > = x ) (verdadeiro)
(not R) e ( z div y + 1 = x ) (falso)
(nome = “josé”) e ( x + y + z < ( y * y )) (falso)
3) Determine os valore finais de A, B e C após a execução do trecho do
algoritmo abaixo:
Atribuições Simulação
A <-0
B <- 1
C <- A + B
A <- A + 1
B <- A + B + C
Memória
A <-0
B <- 1
C <-0 + 1 (1)
A <- 0 + 1 (1)
B <- 1 + 1 + 1
A irá conter 1
C irá conter 1
B irá conter 3
Vídeo
32 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
4) Sabendo que A=3, B=8 e C=4, informe se as expressões abaixo são
verdadeiras ou falsas.
Expressão Verdadeiro Falso
a) (A+C) > B ( ) (x)
b) B >= (A + 3) (x) ( )
c) C = (B – A) (x) ( )
d) (B + A) >= C (x) ( )
e) (C+A) > B ( ) (x)
5) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo
são verdadeiras ou falsas.
Expressão Verdadeiro Falso
(A > C) .e. (C >= B) ( ) (x)
(A+B) > 10 .ou. (A+B) = (C+D) (x) ( )
(A>=C) .e. (D >= C) (x) ( )
nao (A < B) xou (D = C) (x) ( )
A < B xou B > D (x) ( )
6) Determine o resultado lógico das expressões abaixo, assinalando se
são verdadeiras ou falsas. Considere os seguintes valores para as
variáveis: X = 8, A=7 , B=5 , C=3 , D=6 , NOME=”MARIA”.
Expressão Verdadeiro falso
(X < 10) .e. (A = 3) ( ) (x)
(X=5) .ou. (B < 4) .ou. (C>6) ( ) (x)
(NOME=”MARIA”) .e. (A > 5) (x) ( )
(NOME<>”PEDRO”) .e. (D > B) (x) ( )
(A < B) .ou. (D > C) (x) ( )
(B >= A) .e. (D>C) ( ) (x)
(D<>C) .ou. (X > A) (x) ( )
(NOME=”PEDRO” ) .ou. (C <> 5) (x) ( )
(A = B) .e. (C < D) ( ) (x)
(B > 3 ) .e. (C < 8) (x) ( )
33UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
SEÇÃO 4
1) Analise os blocos de código dos algoritmos abaixo e represente o
que será impresso ao serem executados:
a)
A <- 15
B <- 30
escreva( B)
B <- 40
escreva (A, B)
Memória
A <- 15
B <- 30
B <- 40
Vídeo
30
15 40
b)
A <- 20
B <- 45
C <- A + B
escreva ( C )
B <- 30
escreva ( B, C)
C <- A + B
escreva (A, B, C)
Memória
A <- 20
B <- 45
C <- 20 + 45 (65)
B <- 30
C <- 20 + 30(50)
Vídeo
65
30 65
20 30 50
34 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
c)
A <- 15
B <- A + 1
A <- B + 2
B <- A + 1
escreva ( A )
A <- B + 1
B <- B - 2
escreva ( A )
Memória
A <- 15
B <- 15 + 1(16)
A <- 16 + 2(18)
B <- 18 + 1(19)
A <- 19 + 1(20)
B <- 19 – 2(17)
Vídeo
18
20
d)
A <- 40
B <- 30
C <- A + B
escreva (C)
B <- 10
escreva (B, C)
C <- A + B
B <- A - C
A <- (5 + B) * 2
escreva (A, B, C)
Memória
A <- 40
B <- 30
C <- 40 + 30
B <- 10
C <- 40 + 10(50)
B <- 40 - 50
A <- (5 + (-10)) * 2
Vídeo
70
10 70
-10 -10 50
2) Qual a função do algoritmo a seguir?
35UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “exercicio02”
Var
sal : real
inicio
escreva(“Digite o valor do salário: ”)
leia(sal)
escreva(“O salário com 37% é: ”, sal + (sal * 37 / 100))
fimalgoritmo
Resposta: O algoritmo tem por objetivo fazer a leitura de um salário e
apresentar o salário lido com aumento de 37%.
3) O algoritmo abaixo deverá ler um salário e calcular 10% de aumento
sobre o salário. Para que o algoritmo seja executado corretamente,
complete-o com os comandos que faltam:
Linha 1 - Algoritmo "ReajusteSalarial"
Linha 2 - inicio
Linha 3 - var
Linha 4 - SALARIO, SALARIO_NOVO ___________________
Linha 5 - ______________________ (“Digite o salário”)
Linha 6 - ______________________ (SALARIO)
Linha 7 - SALARIO_NOVO ← _________________* 1.10
Linha 8 - __________ (“O valor do novo salário é:”, _____________)
Linha 9 - fimalgoritmo
Resposta:
Algoritmo "ReajusteSalarial"
inicio
var
SALARIO, SALARIO_NOVO: real
Inicio
// ----------- ENTRADA -------------
escreval (“Digite o salário”)
leia(SALARIO)
// ----------- PROCESSAMENTO -------------
SALARIO_NOVO <- SALARIO * 1.10
36 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
// ----------- SAÍDA -------------
escreval (“O valor do novo salário é:”, SALARIO_NOVO)
fimalgoritmo
4 Identifique os dados de entrada, processamento e saída no algoritmo
abaixo:
− Receba código da peça.− Receba valor da peça.
− Receba Quantidade de peças.
− Calcule o valor total da peça. Quantidade * Valor da peça).
− Mostre o código da peça e seu valor total.
Resposta:
Algoritmo "ControlePeca"
inicio
var
CODIGO, QTDE: inteiro
VALOR, TOTAL: real
Inicio
// --------- ENTRADA ----------
escreval (“Entre com o código da peça”)
leia(CODIGO)
escreval (“Entre com a quantidade: ”)
leia(QTDE)
escreval (“Entre com o valor da peça: ”)
leia(VALOR)
// --------- PROCESSAMENTO ----------
TOTAL <- QTDE * VALOR
// --------- SAÍDA ----------
escreval(“O código da peça é: “,CODIGO)
escreval(“O valor total é: “,TOTAL)
fimalgoritmo
37UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
ATIVIDADES DE APRENDIZAGEM DA UNIDADE 2
OBS.: resolução – algoritmos no padrão do software VisuAlg
1) Faça um algoritmo que escreva a mensagem “Olá Mundo”.
algoritmo “exercicio01”
Inicio
escreva(“Olá Mundo”)
fimalgoritmo
2) Ler dois números inteiros e imprimir a soma deles.
algoritmo “exercicio02”
var
NUM1, NUM2, SOMA: inteiro //ou real (vai depender dos valores dos
números)
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o valor do primeiro número”)
leia(NUM1)
escreval(“Entre com o valor do segundo número”)
leia(NUM2)
// --------------- PROCESSAMENTO ------------
SOMA <- NUM1 + NUM2
// --------------- SAÍDA ------------
Escreval(“A soma dos dois números é: “, SOMA)
fimalgoritmo
3) Faça um programa que calcule e mostre a área de um triângulo. Sabe-
se que: Area = (base * altura) / 2.
algoritmo “exercicio03”
var
BASE, ALTURA, AREA: real
inicio
// --------------- DADOS DE ENTRADA ------------
escreval(“Entre a base:”)
38 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
leia(BASE)
escreval(“Entre com a altura:”)
leia(ALTURA)
// --------------- PROCESSAMENTO ------------
AREA = (BASE * ALTURA) / 2
// --------------- SAÍDA ------------
escreval(“A Área do triângulo é: “, AREA)
fimalgoritmo
4) Faça um algoritmo que leia quatro números informados
pelo usuário e que depois imprima a média ponderada, sabendo- se
que os pesos são respectivamente: 1, 2, 3 e 4:
algoritmo “exercicio04”
var
NUM1, NUM2, NUM3, NUM4: inteiro //ou real (vai depender dos
valores dos números)
MEDIA: real // defina como real devido ao cálculo da média
(pode conter casas decimais)
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o valor do primeiro número”)
leia(NUM1)
escreval(“Entre com o valor do segundo número”)
leia(NUM2)
escreva(“Entre com o valor do primeiro número”)
leia(NUM3)
escreval(“Entre com o valor do segundo número”)
leia(NUM4)
// --------------- PROCESSAMENTO ------------
MEDIA <- (NUM1 * 1 + NUM2 * 2 + NUM3 * 3 + NUM4 * 4) /
// --------------- SAÍDA ------------
Escreval(“A soma dos dois números é: “, SOMA)
fimalgoritmo
39UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
5) Faça um algoritmo para “Calcular o estoque médio de uma
peça”, sendo que ESTOQUEMEDIO = (QUANTIDADE_MINIMA +
QUANTIDADE_MAXIMA) / 2.
algoritmo “exercicio05”
var
ESTOQUEMEDIO, QUANTIDADE_MINIMA, QUANTIDADE_MAXIMA: real
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com a quantidade mínima em estoque:”)
leia(QUANTIDADE_MINIMA)
escreval(“Entre com a quantidade máxima em estoque:”)
leia(QUANTIDADE_MAXIMA)
// --------------- PROCESSAMENTO ------------
ESTOQUEMEDIO <- (QUANTIDADE_MINIMA + QUANTIDADE_MAXIMA)
/ 2
// --------------- SAÍDA ------------
Escreval(“O estoque médio é: “,ESTOQUEMEDIO)
Fimalgoritmo
6) Elabore um algoritmo que leia o tamanho do lado de um quadrado e
informe a área e o perímetro do quadrado. (Perímetro = 4 * LADO;
área = LADO ^ 2).
algoritmo “exercicio06”
var
PERIMETRO, LADO, AREA: real
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o valor correspondente ao lado do quadrado :”)
leia(LADO)
// --------------- PROCESSAMENTO ------------
AREA <- LADO ^ 2)
PERIMETRO <- 4 * LADO
// --------------- SAÍDA ------------
escreval(“A área é: ‘, AREA)
40 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
escreval(“O perímetro é: “, PERIMETRO
fimalgoritmo
7) Faça um programa que calcule e mostre a área de um círculo. Sabe-se que:
Area = π * r2.
algoritmo “exercicio07”
var
RAIO, AREA: real
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o raio :”)
leia(RAIO)
// --------------- PROCESSAMENTO ------------
AREA <- 3.1416 * RAIO ^ 2
// --------------- SAÍDA ------------
fimalgoritmo
8) Faça um programa que receba o salário de um funcionário, calcule e
mostre o novo salário, sabendo-se que este sofreu um aumento de
25%.
algoritmo “exercicio08”
var
SALARIO, SAL_AUMENTO: real
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o salário:”)
leia(SALARIO)
// --------------- PROCESSAMENTO ------------
SAL_AUMENTO <- SALARIO * 1.25
// --------------- SAÍDA ------------
escreval(“O salário é: “,SALARIO)
escreval(“O salário com aumento é: “,SAL_AUMENTO)
fimalgoritmo
41UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
9) Faça um programa que receba o salário base de um funcionário,
calcule e mostre o seu salário a receber, sabendo-se que o funcionário
tem gratificação de R$ 50 e paga imposto de 10% sobre o salário base.
algoritmo “exercicio9”
var
SALARIO_BASE, SAL_RECEBER, IMPOSTO: real
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o salário base:”)
leia(SALARIO_BASE)
// --------------- PROCESSAMENTO ------------
GRATIFICACAO <- 50
IMPOSTO <- SALARIO_BASE * 0.10
SAL_RECEBER <- SALARIO_BASE – IMPOSTO + GRATIFICACAO
// --------------- SAÍDA ------------
escreval(“O salário base é: “,SALARIO_BASE)
escreval(“A gratificação é: “,GRATIFICACAO)
escreval(“O valor do imposto é: “,IMPOSTO)
escreval(“O salário / receber é: “,SAL_RECEBER)
fimalgoritmo
10) Uma revendedora de carros usados paga a seus funcionários
vendedores, um salário fixo por mês, mais uma comissão também
fixa para cada carro vendido e mais 5 % do valor das vendas por ele
efetuadas. Escrever um algoritmo que leia o número de carros por
ele vendidos, o valor total de suas vendas, o salário fixo e o valor
que recebe por carro vendido. Calcule e escreva o salário mensal
do vendedor.
algoritmo “exercicio10”
var
NUM_CARROS: inteiro
SALARIO_FIXO, TOTAL_VENDA, SAL_MENSAL, COMISSAO_FIXA,
COMISSAO_VENDA : real
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o número de carros vendidos :”)
leia(NUM_CARROS)
42 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
escreva(“Valor total de vendas :”)
leia(TOTAL_VENDA)
escreva(“Salário fixo :”)
leia(SALARIO_FIXO)
// --------------- PROCESSAMENTO ------------
COMISSAO_FIXA <- NUM_CARROS * 100 // 100,00 de comissão por
carro vendido
COMISSAO_VENDA <- TOTAL_VENDA * 0.05
SAL_MENSAL <- SALARIO_FIXO + COMISSAO_FIXA + COMISSAO_
VENDA
// --------------- PROCESSAMENTO ------------
escreval(“A comissão fixa é: “,COMISSAO_FIXA)
escreval(“A comissão de 5% do total de venda é: “,COMISSAO_VENDA)
escreval(“O salário fixo é “,SALARIO_FIXO)
escreval(“O salário mensal é: “,SAL_MENSAL)
fimalgoritmo
11) A conta de água de uma residência e o resultado da soma da tarifa
de água com tarifa de esgoto. Faça um algoritmoque leia a tarifa de
água, calcule a tarifa de esgoto (80% da tarifa de água) e escreva o
valor da conta a ser paga.
algoritmo “exercicio11”
var
TARIFA_AGUA, TARIFA_ESGOTO, CONTA: real
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com a tarifa de água :”)
leia(TARIFA_AGUA)
// --------------- PROCESSAMENTO ------------
TARIFA_ESGOTO <- TARIFA_AGUA * 0.80
CONTA <- TARIFA_AGUA + TARIFA_ESGOTO
// --------------- SAÍDA ------------
escreval(“O valor da conta é : “,CONTA)
fimalgoritmo
43UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
12) José distribui sua renda mensal da seguinte forma: 10% saúde, 25%
educação, 30% alimentação, 10% vestuário; 5% lazer, 20% outros.
Faça um algoritmo que leia a renda mensal liquida de Luciana, calcule
e escreva o valor aplicado em cada item acima citado.
algoritmo “exercicio12”
var
RENDA_MENSAL, SAUDE, EDUCACAO, ALIMENTACAO, VESTUARIO,
LAZER, OUTROS: real
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“A renda mensal é :”)
leia(RENDA_MENSAL)
// --------------- PROCESSAMENTO ------------
SAUDE <- RENDA_MENSAL * 0.10
EDUCACAO <- RENDA_MENSAL * 0.25
ALIMENTACAO <- RENDA_MENSAL * 0.30
VESTUARIO <- RENDA_MENSAL * 0.10
LAZER <- RENDA_MENSAL * 0.05
OUTROS <- RENDA_MENSAL * 0.20
// --------------- SAÍDA ------------
escreval(“A renda mensal é: “, RENDA_MENSAL)
escreval(“10% saúde: “,SAUDE)
escreval(“25% educação: “,EDUCACAO)
escreval(“30% alimentação: “,ALIMENTACAO)
escreval(“10% vestuário “,VESTUARIO)
escreval(“5% lazer “,LAZER)
escreval(“20% outros “,OUTROS)
fimalgoritmo
13) Escreva um algoritmo para ler o número total de eleitores de um
município, o número de votos brancos, nulos e válidos. Calcular e
escrever o percentual que cada um representa em relação ao total
de eleitores.
algoritmo “exercicio13”
var
TOTAL_ELEITORES, NV_BRANCOS, NV_NULOS , NV_VALIDOS,
PER_BRANCO,
44 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
PER_NULO, PER_VALIDO: real
Inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o total de eleitores:”)
leia(TOTAL_ELEITORES)
escreva(“Entre com o número de votos brancos:”)
leia(NV_BRANCOS)
escreva(“Entre com o número de votos nulos:”)
leia(NV_NULOS)
escreva(“Entre com o número de votos válidos:”)
leia(NV_VALIDOS)
// --------------- PROCESSAMENTO ------------
PER_BRANCO <- (NV_BRANCOS / TOTAL_ELEITORES) * 100
PER_NULO <- (NV_NULOS / TOTAL_ELEITORES) * 100
PER_VALIDO <- (NV_VALIDO / TOTAL_ELEITORES) * 100
// --------------- SAÍDA ------------
escreval(“Percentual de votos brancos: “,PER_BRANCO, “%”)
escreval(“Percentual de votos nulos: “,NV_NULOS, “%”)
escreval(“Percentual de votos válidos: “,NV_VALIDO, “%”)
fimalgoritmo
14) Elabore um algoritmo que leia o número de horas trabalhadas e
o valor do salário mínimo. Calcule e escreva o salário a receber
seguindo as regras abaixo:
• A hora trabalhada vale a metade do salário mínimo;
• O salário bruto equivale ao número de horas trabalhadas multiplicado pelo
valor da hora trabalhada;
• O imposto equivale a 3% do salário bruto;
• O salário a receber equivale ao salário bruto menos o imposto.
algoritmo “exercicio14”
var
NUM_HORAS_TRAB, VAL_SALARIO_MIN, VAL_HORAS_TRAB, SAL_
BRUTO, IMPOSTO, SAL_RECEBER: real
Inicio
45UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
// --------------- DADOS DE ENTRADA ------------
escreval(“Entre com o número de horas trabalhadas:”)
leia(NUM_HORAS_TRAB)
escreva(“Valor do salário mínimo:”)
leia(VAL_SALARIO_MIN)
// --------------- PROCESSAMENTO ------------
VAL_HORAS_TRAB <- VAL_SALARIO_MIN / 2
SAL_BRUTO <- NUM_HORAS_TRAB * VAL_HORAS_TRAB
IMPOSTO <- SAL_BRUTO * 0.03
SAL_RECEBER <- SAL_BRUTO - IMPOSTO
// --------------- SAÍDA ------------
escreval(“Valor da hora trabalhada: “,VAL_HORAS_TRAB)
escreval(“Salário bruto: “,SAL_BRUTO)
escreval(“Valor do imposto: ”, IMPOSTO)
escreval(“Salário a receber: ”, SAL_RECEBER)
fimalgoritmo
15) Uma pessoa paga de impostos anuais, o seguinte:
• IPTU: 1% do valor do imóvel;
• PVA: 3% do valor do veículo.
OBS.: Faça um programa que leia o valor do imóvel e do veículo. Calcule o
IPTU e o IPVA, o total pago em impostos e mostre os resultados.
algoritmo “exercicio15”
var
VALOR_IMOVEL, IPTU, IPVA: real
Inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o valor do imóvel:”)
leia(VALOR_IMOVEL)
// --------------- PROCESSAMENTO ------------
IPTU <- VALOR_IMOVEL * 0.01
IPVA <- VALOR_IMOVEL * 0.03
// --------------- SAÍDA ------------
escreval(“O valor do imóvel é:”, VALOR_IMOVEL)
46 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
escreval(“O valor do IPTU (1%) será:”, IPTU)
escreval(“O valor do IPVA (3%) será:”, IPVA)
fimalgoritmo
16) Faça um algoritmo que receba o ano de nascimento de uma pessoa
e o ano atual, calcule e mostre:
• A idade dessa pessoa;
• Quantos anos ela terá em 2028.
algoritmo “exercicio16”
var
ANO_NASC, IDADE, IDADE_2028: real
Inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o ano de nascimento:”)
leia(ANO_NASC)
// --------------- PROCESSAMENTO ------------
IDADE <- 2014 - ANO_NASC
IDADE_2028 <- 2028 - ANO_NASC
// --------------- SAÍDA ------------
escreval(“A sua idade é:”, IDADE)
escreval(“Sua idade em 2028 será:”, IDADE_2028)
fimalgoritmo
17) Faça um algoritmo que receba o custo de um espetáculo teatral e
o preço do convite esse espetáculo. Esse programa deve calcular e
mostrar:
• A quantidade de convites que devem ser vendidos para que pelo menos
o custo do espetáculo seja alcançado.
• A quantidade de convites que devem ser vendidos para que se tenha
um lucro de 23%.
algoritmo “exercicio17”
var
CUSTO_ESP, PRECO_CONVITE, TOTAL_CUSTO: real
Inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o custo do espetáculo:”)
47UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
leia(CUSTO_ESP)
escreva(“Entre o preço do convite:”)
leia(PRECO_CONVITE)
// --------------- PROCESSAMENTO ------------
NUM_VENDA_CUSTO <- CUSTO_ESP / PRECO_CONVITE
NUM_VENDA_CUSTO <- NUM_VENDA_CUSTO + NUM_VENDA_CUSTO
* 0.23
// --------------- SAÍDA ------------
escreval(“A quantidade de convites que devem ser vendidos para que
pelo menos o custo do espetáculo seja alcançado: “,NUM_VENDA_CUSTO)
escreval(“A quantidade de convites que devem ser vendidos para que se
tenha um lucro de 23%”, NUM_VENDA_CUSTO)
fimalgoritmo
18) Considerando uma eleição de apenas 2 candidatos, elabore um
algoritmo que leia do teclado o número total de eleitores, o número
de votos do primeiro candidato e o número de votos do segundo
candidato. Em seguida, o algoritmo deverá apresentar o percentual
de votos de cada um dos candidatos e o percentual de votos nulos.
algoritmo “exercicio18”
var
TOTAL, NV_CAND01, NV_CAND02, PER_CAND01, PER_CAND02,
PER_NULO : real
Inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o total de eleitores:”)
leia(TOTAL)
escreva(“Entre com o número de votos do candidato 01:”)
leia(NV_CAND01)
escreva(“Entre com o número de votos do candidato 02:”)
leia(NV_CAND02)
// --------------- PROCESSAMENTO ------------
PER_CAND01 <- (NV_CAND01 / TOTAL) * 100
PER_CAND02 <- (NV_CAND02 / TOTAL) * 100
48 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
ÇÃ
O
TOTAL_NULO <- TOTAL – (NV_CAND01 + NV_CAND02)
PER_NULO <- (TOTAL_NULO / TOTAL) * 100
// --------------- SAÍDA ------------
escreval(“Total de votos: “,TOTAL)
escreval(“Percentual do candidato 01: “, PER_CAND01, “%”)
escreval(“Percentual do candidato 02: “, PER_CAND02, “%”)
escreval(“Percentual nulo (foi considerado a diferença dos 2 candidatos):
“, PER_NULO, “%”)
fimalgoritmo
19) Faça o algoritmo que calcule o valor em Reais, correspondente aos
dólares que um turista possui no cofre do hotel. O programa deve
solicitar os seguintes dados: Quantidade de dólares guardados no
cofre e cotação do dólar naquele dia.
algoritmo “exercicio9”
var
TOTAL_REAL, QTDE_DOLAR, VALOR_DOLAR: real
Inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com a quantidade em dolares:”)
leia(QTDE_DOLAR)
escreva(“Entre com o valor da cotação do dólar do dia:”)
leia(VALOR_DOLAR)
// --------------- PROCESSAMENTO ------------
TOTAL_REAL <- QTDE_DOLAR * VALOR_DOLAR
// --------------- SAÍDA ------------
escreval(“O total em reais é: “,TOTAL_REAL)
fimalgoritmo
20) Faça um algoritmo que receba o preço de custo de um produto e
mostre o valor de venda. O preço de custo receberá um acréscimo
de acordo com um percentual informado pelo usuário.
algoritmo “exercicio20”
var
49UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
PRECO_CUSTO,PRECO_VENDA: real
PERCENTUAL: inteiro
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o preço de custo do produto:”)
leia(PRECO_CUSTO)
escreva(“Entre com o preço de custo do produto (por exemplo: 10 para 10%”)
leia(PERCENTUAL)
// --------------- PROCESSAMENTO ------------
PRECO_VENDA <- PRECO_CUSTO + (PRECO_CUSTO * PERCENTUAL)
/100
// --------------- SAÍDA ------------
escreval(“O preço de venda é: “,PRECO_VENDA )
fimalgoritmo
21) Faça um programa que receba o salário-base de um funcionário,
calcule e mostre o seu salário a receber, sabendo-se que esse
funcionário tem gratificação de R$50,00 e paga imposto de 10% sobre
o salário-base.
algoritmo “exercicio21”
var
SALARIO_BASE, SAL_RECEBER, GRATIFICACAO, IMPOSTO: real
inicio
// --------------- DADOS DE ENTRADA ------------
escreva(“Entre com o salário base:”)
leia(SALARIO_BASE)
// --------------- PROCESSAMENTO ------------
GRATIFICACAO <- 50
IMPOSTO <- SALARIO_BASE * 0.10
SAL_RECEBER <- (SALARIO_BASE – IMPOSTO) + GRATIFICACAO
// --------------- SAÍDA ------------
escreval(“O salário é base é: “,SALARIO_BASE)
escreval(“A gratificação é: “,GRATIFICACAO)
escreval(“O valor do imposto é: “,IMPOSTO)
escreval(“O salário que você vai receber é:”, SAL_RECEBER)
fimalgoritmo
50 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
UNIDADE 3
SEÇÃO 1
1) Indique a saída dos trechos a seguir:
Pseudocódigo Simulação
X <- 10
se (X / 5 = 2) entao
X <- 0
fimse
escreva (X)
Memória
X <-10
X <-0
Vídeo
X: 0
X <- 10
Y <- 15
se ((X <= 10) e (Y > 13)) entao
X <- 3
fimse
escreva (X)
Memória
X <-10
Y <- 15
X <- 3
Vídeo
X: 3
X <- 10
Y <- 15
se ((X < 10) e (Y > 13)) entao
X <- 3
fimse
escreva (X)
Memória
X <-10
X <-15
Vídeo
X: 10
2) Indique a saída dos trechos abaixo, considerando:
A <- 2 B <- 3 C <- 5 D <- 9
51UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Pseudocódigo Simulação
a) se (nao (D > 5)) entao
X <- (A + B) * D
senao
X <- (A – B) / C
fimse
escreva (X)
Memória
D <-5
X <- (2 – 3) / 5
Vídeo
X: -0,2
b) se ((A > 2) e (B < 7)) entao
X <- (A + 2) * (B – 2)
senao
X <- (A + B) / D * (C + D)
fimse
escreva(X)
Memória
X <- (2 + 3) / 9 * (5 + 9)
Vídeo
X: 7,77
c) se ((A = 2) ou (B < 7)) entao
X <- (A + 2) * (B – 2)
senao
X <- (A + B) / D * (C + D)
fimse
escreva(X)
Memória
X <- (2 + 2) * (3 – 2)
Vídeo
X: 4
d) se ((A> 2)ou nao (B < 7))entao
X <- A + B – 2)
senao
X <- A – B
Fimse
escreva(X)
Memória
X <- 2 - 3
Vídeo
X: -1
e) se (nao (A > 2) ou nao (B <7))
entao
X <- A + B
senao
X <- A / B
Fimse
escreva (X)
Memória
X <- 2 + 3
Vídeo
X: 5
52 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
f)
se (nao (A > 3) e nao (B < 5))
entao
X <- A + D
senao
X <- D / B
fimse
escreva (X)
Memória
X <- 9 / 3
Vídeo
X: 3
g) se ((C >= 2) e (B <= 7)) entao
X <- (A + D) / 2
senao
X <- D * C
fimse
escreva (X)
Memória
X <- (2 + 9) / 2
Vídeo
X: 5,5
h) se ((A >= 2) ou (C <= 1)) entao
X <- (A + D) / 2
senao
X <- D * C
fimse
escreva (X)
Memória
X <- (2 + 9) / 2
Vídeo
X: 5,5
3) Qual será o valor final das variáveis A e B depois da execução do
seguinte algoritmo?
R.: Ao final da execução, a variável A será igual a 10 e a variável B igual a 2.
53UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Pseudocódigo Simulação
Algoritmo “exercicio02”
var
A, B: inteiro
inicio
A <- 1
B <- 2
se A > B entao
A <- 5
senao
A <-10
fimse
fimalgoritmo
Memória
A <- 1
B <- 2
A < 10
Vídeo
4) Qual a função do algoritmo abaixo?
R.: Ler duas notas, calcular a média do acadêmico e exibir ao final a
mensagem ao usuário de “aprovado”, caso a média seja igual ou superior a
6, e de “reprovado”, caso contrário.
54 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Pseudocódigo Simulação
algoritmo “calcularMedia”
var N1, N2, Media : real
inicio
// ----ENTRADA ----
escreva(“Nota 1:”)
leia(N1)
escreva(“Nota 2:”)
leia(N2)
// ----PROCESSAMENTO ----
Media <- (N1 + N2)/2
// ----SAÍDA ----
se media>=6 entao
escreva(“aprovado”)
senao
escreva(“reprovado”)
fimse
fimalgoritmo
Memória
N1 <- ___
N2 <- ___
Media <- (N1 + N2) / 2
Vídeo
Nota 1:
Nota 2:
5) Quais os valores das variáveis A, B, C ao executar o algoritmo a
seguir?
55UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Pseudocódigo Simulação
algoritmo “TesteCondicional”
Var
A,B,C : inteiro
inicio
A <- 5
B <- 20
C <- 10
Se (A < B) e (B < C) entao
C <- A
Senão
se (B <> C) entao
B <- C
Senao
A <- B
Fimse
Fimse
Fimalgoritmo
a) A = 5, B=10, C=10
b) A = 5, B=20, C=10
c) A = 20, B=5, C=10
d) A = 10, B=5, C=20
Memória
A<- 5
B<- 20
C<-10
B <- C
Vídeo
6) Qual o resultado das variáveis A, B e C, D, E ao executar o algoritmo
abaixo?
56 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Pseudocódigo Simulação
algoritmo “TesteLogico”
var
A, B, C, D, E: real
início
A <- 25
B <- 40
C <- 40
D <- 35
E <- 50
se (B > C) e (A < B) entao
B <- C - 1
E <- A
senão
se (D < E) ou (B <> C)
entao
B <- A + 10
D <- C
E <- D / 2
senão
D <- B
A <- E *4
fimse
fimse
escreva(A, B, C, D, E)
fimalgoritmo
Quais são os valores impressos
para as variáveis A, B, C, D, E ao
executar o algoritmo?
Variáveis
Valores
A
25
B
35
C
40
D
40
E
20
OBS.: dependendo do software
que for executar o algoritmo, é
necessário alterar a variável E
devido ao nome do operador
lógico E.
7) Forneça valores para as variáveis A, B, C e verifique se eles podem
ser valores dos lados de um triângulo (“triângulo qualquer”, “triângulo
equilátero” ou “triângulo” isósceles) ou se não são valores válidos
(“Não é triângulo”).
57UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “TiposTriangulo”
Var
A, B, C:inteiro
Inicio
Leia(A) 3
leia(B) 5
leia(C) 8
se (A < B + C) e (B < A + C) e (C < A + B) entao
se A = B e B = C então
escreva("TriânguloEqüilátero");
senao
se (A = B) ou (A = C) ou (C = B) entao
escreva ("Triângulo Isósceles")
senao
escreva("Triângulo Qualquer")
fimse
fimse
senão
escreva("Não é triângulo")
Fimse
Fim algoritmo
8) Dê exemplo de valores para A, B, C para que imprima a mensagem
“Triângulo Equilátero”.
Memória Vídeo
A<- 5
B<- 5
C<- 5
Triângulo Eqüilátero
9) Dê exemplo de valores para A, B, C para que imprima a mensagem
“Triângulo Isósceles”.
Memória Vídeo
A <- 8
B <- 8
C <- 10
Triângulo Isósceles
58 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
10) Dê exemplo de valores para A, B, C para que imprima a mensagem
“Triângulo Qualquer”.
Memória Vídeo
A <- 2
B <- 5
C <- 8
Triângulo Qualquer
11) Dê exemplo de valores para A, B, C para que imprima a mensagem
“Não é Triângulo”.
Memória Vídeo
A <- 3
B <- 5
C <- 8
Não é Triângulo
SEÇÃO 2
1) Escreva um algoritmo que receba o código correspondente ao cargo
de um funcionário de uma escola e seu salário atual e mostre o valor
do novo salário, com aumento, conforme tabela abaixo:
Código do Cargo Cargo Aumento
1 Secretário 45%
2 Professor 35%
3 Tesoureiro 25%
4 Coordenador 15%
5 Diretor Não tem aumento
59UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "ReajusteSalarial"
var
Cargo : Inteiro
Salario_atual, Novo_salario : real
inicio
escreval ("Cód - Cargo")
escreval (" 1 - Secretário")
escreval (" 2 - Professor")
escreval (" 3 - Tesoureiro")
escreval (" 4 - Coordenador")
escreval (" 5 - Diretor")
escreva ("Informe o salário atual do funcionário R$: ")
leia(Salario_atual)
escreva ("Informe o código do cargo do funcionário: ")
leia(Cargo)
Escolha Cargo
caso 1
Novo_salario := Salario_atual + (Salario_atual * 0.45)
caso 2
Novo_salario := Salario_atual + (Salario_atual * 0.35)
caso 3
Novo_salario := Salario_atual + (Salario_atual * 0.25)
caso 4
Novo_salario := Salario_atual + (Salario_atual * 0.15)
caso 5
Novo_salario := Salario_atual
outrocaso
escreva("Escolha uma opção válida entre 1 à 5")
fimescolha
escreva("O novo salário é de: R$", Novo_salario)
fimalgoritmo
2) Faça um algoritmo que receba o código correspondente ao cargo de
um funcionário e seu salário atual. Depois, mostre o cargo, o valor
do aumento e seu novo salário. Os cargos estão na tabela a seguir.
Código Cargo Percentual
1 Escriturário 50
2 Secretário 35
60 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
3 Caixa 25
4 Gerente 10
5 Diretor 3
61UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo "ReajusteSalarial_2"
var
Cargo : Inteiro
Salario_atual, Novo_salario, Valor_aumento : real
Descricao_cargo : caracter
inicio
escreval ("Cód - Cargo")
escreval (" 1 - Escriturário")
escreval (" 2 - Secretário")
escreval (" 3 - Caixa")
escreval (" 4 - Gerente")
escreval (" 5 - Diretor")
escreva ("Informe o salário atual do funcionário R$: ")
leia(Salario_atual)
escreva ("Informe o código do cargo do funcionário: ")
leia(Cargo)
Escolha Cargo
caso 1
Valor_aumento := (Salario_atual * 0.50)
Novo_salario := Salario_atual + Valor_aumento
Descricao_cargo := "Escriturário"
caso 2
Valor_aumento := (Salario_atual * 0.35)
Novo_salario := Salario_atual + Valor_aumento
Descricao_cargo := "Secretário"
caso 3
Valor_aumento := (Salario_atual * 0.25)
Novo_salario := Salario_atual + Valor_aumento
Descricao_cargo := "Caixa"
caso 4
Valor_aumento := (Salario_atual * 0.10)
Novo_salario := Salario_atual + Valor_aumento
Descricao_cargo := "Gerente"
caso 5
Valor_aumento := (Salario_atual * 0.03)
Novo_salario := Salario_atual + Valor_aumento
Descricao_cargo := "Diretor"
outrocaso
escreva("Escolha uma opção válida entre 1 à 5")
fimescolha
escreval("Para o cargo de ", Descricao_cargo, " o aumento foi de R$",
Valor_aumento)
escreval("Seu novo salário é de R$", Novo_salario)
fimalgoritmo
62 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
3) Faça um programa que receba dois números e execute as operações
listadas a seguir de acordo com a escolha do usuário.
Escolha do usuário Escolha do usuário
1 Média entre os números digitados
2 Diferença do maior pelo menor
3 Produto entre os números digitados
4 Divisão do primeiro pelo segundo
63UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "Operacoes"
var
N1, N2, Diferenca, opcao : Inteiro
Media, Produto, Divisao : real
inicio
escreva ("Informe o primeiro número inteiro: ")
leia(N1)
escreva ("Informe o segundo número inteiro: ")
leia(N2)
escreval ("Selecione uma das opções abaixo:")
escreval (" 1 - Média entre os números Digitados")
escreval (" 2 - Diferença do maior pelo menor")
escreval (" 3 - Produto entre os números digitados")
escreval (" 4 - Divisão do primeiro pelo segundo")
leia(opcao)
Escolha opcao
caso 1
Media := (N1 + N2)/2
escreva("A média dos valores informados é: ", Media)
caso 2
se (N1 > N2) entao
Diferenca := N1 - N2
senao
Diferenca := N2 - N1
fimse
escreva("A diferença entre os valores é: ", Diferenca)
caso 3
Produto := N1 * N2
escreva("O produto entre os valores é: ", Produto)
caso 4
se (N2 = 0) entao
escreva("Impossível a divisão por zero")
senao
Divisao := N1 / N2
escreva("A divisão do primeiro pelo segundo é: ", Divisao)
fimse
outrocaso
escreva("Escolha uma opção válida entre 1 à 4")
fimescolha
fimalgoritmo
64 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
SEÇÃO 3
1) Qual a função do algoritmo abaixo?
R.: Somar os valores informados pelo usuário na variável ‘num’ e armazenar
o total na variável ‘SOMA’, imprimindo, ao final, o resultado da soma.
Pseudocódigo Simulação
65UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “exercício02”
Var
NUM, SOMA, I : inteiro
inicio
SOMA <- 0
I <- 1
enquanto i <= 10 faca
leia(num)
SOMA <- SOMA + NUM
I <- I + 1
fimenquanto
escreva (SOMA)
fimalgoritmo
Memória
Soma <- 0
I <- 1
Num <- 1
Soma <- 0 + 1
I <- 1 + 1
Num <- 2
Soma <- 1 + 2
I <- 2 + 1
Num <- 3
Soma <- 3 + 3
I <- 3 + 1
Num <- 4
Soma <- 6 + 4
I <- 4 + 1
Num <- 5
Soma <- 10 + 5
I <- 5 + 1
Num <- 6
Soma <- 15 + 6
I <- 6 + 1
Num <- 7
Soma <- 21 + 7
I <- 7 + 1
Num <- 8
Soma <- 28 + 8
I <- 8 + 1
Num <- 9
Soma <- 36 + 9
I <- 9 + 1
Num <- 10
Soma <- 45 + 10
I <- 10 + 1
Vídeo
SOMA: 55
66 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
2) Qual a função do algoritmo abaixo?
R.: Calcular o fatorial de um número informado pelo usuário e exibir ao final
o resultado obtido.
Pseudocódigo Simulação
Algoritmo “exercicio04”
Var
n, fat, i : inteiro
início
fat <- 1
i <- 1
leia (n)
enquanto i <= n faca
fat <- fat * i
i <- i + 1
fimalgoritmo
escreva (fat)
fimalgoritmo
Memória
fat <- 1
I <- 1
n <- 5
fat <- 1 * 1
i <- 1 + 1
fat<- 1 * 2
i <- 2 + 1
fat <- 2 * 3
i <- 3 + 1
fat <- 6 * 4
i <- 4 + 1
fat <- 24 * 5
i <- 5 + 1
Vídeo
fat: 120
3) Faça a simulação do algoritmo abaixo e descreva sua função.
R.: Ter por objetivo ler o nome e a nota de três alunos, imprimindo ao final
o nome e a nota do aluno que obteve a maior nota e a média das notas
informadas.
67UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "Exercicio05"
var
nota, notaMaior, soma, conta: real
nome, nomeMaior: caracter
inicio
conta <- 1
notaMaior <- 0
enquanto (conta < 4) faca
escreva("Informe o nome ", conta, ": ")
leia(nome)
escreva("Informe a nota ", conta, ": ")
leia(nota)
soma <- soma + nota
se (nota > notaMaior) entao
notaMaior <- nota
nomeMaior <- nome
fimse
conta <- conta + 1
fimenquanto
escreva(nomeMaior, " teve a maior nota!")
escreva("A media da turma foi: ", soma / 3)
fimalgoritmo
68 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Memória Vídeo
conta <- 1
notaMaior <- 0
nome <- Leticia
nota <- 9
soma <- 0 + 9
notamaior <- 9
nomeMaior <- Leticia
conta <- 1 + 1
nome <- Guilherme
nota <- 9.5
soma <- 9 + 9.5
notamaior <- 9.5
nomeMaior <- Guilherme
conta <- 2 + 1
nome <- Elton
nota <- 10
soma <- 18.5 + 10
notamaior <- 10
nomeMaior <- Elton
conta <- 3 + 1
Elton teve a maior nota!
A média da turma foi 9.50.
SEÇÃO 4
1) Analise e teste o código de programa abaixo e identifique o problema
dele. (Faça a correção do algoritmo).
69UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "exercicio_01"
var
contador: inteiro
inicio
escreva("Digite um numero menor que dez: ")
leia(contador)
repita
escreva("Contador: ", contador)
ate contador > 10
fimalgoritmo
O algoritmo entrará em looping, já que a condição estabelecida para que ele
pare a execução é que a variável contador seja maior que dez. O que não irá
ocorrer, tendo em vista que o programa solicita ao usuário para que insira um
número menor que dez e a variável contador não é incrementada em cada
passagem no laço de repetição.
Resolução
algoritmo "exercicio_01"
var
contador: inteiro
inicio
escreva("Digite um numero menor que dez: ")
leia(contador)
repita
escreva("Contador: ", contador)
contador := contador + 1
ate contador > 10
fimalgoritmo
2) Qual a função do código abaixo?
70 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
R.: Irá executar no mínimo uma vez. Enquanto não for digitado o número 0,
irá somar todos os valores informados pelo usuário, exibindo o resultado da
soma a cada passagem.
algoritmo "exercicio_02"
var
opcao: inteiro
somador: inteiro
inicio
somador <- 0
repita
escreva("Digite um numero qualquer ou zero para sair: ")
leia(opcao)
somador <- somador + opcao
escreva("Somador: ", somador)
ate opcao = 0
fimalgoritmo
3) Qual a função do código abaixo?
R.: O algoritmo abaixo permite realizar as quatro operações matemáticas
(adição, subtração, multiplicação e divisão) com os dois valores armazenados
nas variáveis X e Y. O usuário deverá indicar qual operação deseja realizar,
a qual será armazenada na variável opção e será utilizada como condição
para executar os trechos de código estabelecidos na estrutura de seleção
Escolha-Caso.
71UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "exemplo_03"
var
R: real
X, Y: inteiro
opcao: caracter
inicio
repita
escreva("Digite o primeiro valor: ")
leia(X)
escreva("Digite o segundo valor: ")
leia(Y)
escreva("Digite um operador (+, -, * ou /) ou s para sair: ")
leia(opcao)
escolha opcao
caso "+"
R <- X + Y
escreva(X, " +", Y, " =", R)
caso "-"
R <- X - Y
escreva(X, " -", Y, " =", R)
caso "*"
R <- X * Y
escreva(X, " *", Y, " =", R)
caso "/"
R <- X / Y
escreva(X, " /", Y, " =", R)
fimescolha
ate (opcao = "s") ou (opcao = "S")
fimalgoritmo
4) Faça o fluxograma do algoritmo abaixo:
72 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “exercício_04”
var
X: inteiro
inicio
repita
escreva(“Digite um valor”)
leia (x)
Se (x > 0) entao
Escreva (“X > 0”)
Senão
Se (x < 0) Então
Escreva (“X < 0”)
ate (x = 0)
escreva (“X = 0”)
fimalgoritmo
73UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
SEÇÃO 5
1) Qual a função do algoritmo baixo?
R.: Tem por objetivo somar os valores ímpares entre 1 a 18, imprimindo ao
final o resultado da soma.
74 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Pseudocódigo Simulação
algoritmo “exercicio01”
Var
SOMA, IMPAR: inteiro
inicio
para IMPAR de 1 ate 18 passo 2 faca
SOMA <- SOMA + IMPAR
Fimpara
escreva(“a soma é:”, SOMA)
fimalgoritmo
Memória
Impar <- 1
Soma <- 0 + 1
Soma <- 1 + 3
Soma <- 4 + 5
Soma <- 9 + 7
Soma <- 16 + 9
Soma <- 25 + 11
Soma <- 36 + 13
Soma <- 49 + 15
Soma <- 64 + 17
Vídeo
A soma é: 81
2) Qual a função do algoritmo abaixo?
R.: Tem por objetivo imprimir a tabuada a partir do valor informado pelo usuário.
Algoritmo “exercicio_02”
var
r, n1, cont: inteiro
inicio
escreva(“Entre com um número de 1 até 20 : “
leia(n1)
Para cont de 1 ate 10 faca
r cont * n1;
escreva (n1,“ x ”,cont,“ = ”,r)
fimpara
fimalgoritmo
3) O algoritmo abaixo tem por função calcular a área de um retângulo.
Inclua a estrutura de repetição para/fim para permitir que o usuário
calcule a área de 10 retângulos.
75UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “exercicio_03”
var
Base, Altura, Area: real
inicio
//Obtendo os dados do usuário
Escreva('Digite o valor da base do retângulo: ')
Leia(Base)
Escreva('Digite o valor da altura do retângulo: ')
Leia(Altura)
//Calculando a área
Area <- Base * altura
Escreva('A área é: ',Area)
FimAlgoritmo
Resolução
Algoritmo "exercicio_03"
var
Base, Altura, Area: real
i : inteiro
inicio
para i:=1 ate 10 faca
//Obtendo os dados do usuário
Escreva("Digite o valor da base do retângulo: ")
Leia(Base)
Escreva("Digite o valor da altura do retângulo: ")
Leia(Altura)
//Calculando a área
Area <- Base * altura
Escreval("A área é: ",Area)
fimpara
FimAlgoritmo
4) Qual a função do algoritmo abaixo?
R.: Imprimir dez vezes o nome informado pelo usuário.
76 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “exercicio_03”
var
cont : Inteiro
NOME: caracter
inicio
escreva(“entre com um nome :”)
leia(NOME)
Para cont de 1 ate 10 faca
escreva(NOME)
fimpara
FimAlgoritmo
ATIVIDADES DE APRENDIZAGEM DA UNIDADE 3
Atividades – estrutura condicional
1) Faça um algoritmo para ler: a descrição do produto (nome), a
quantidade adquirida e o preço unitário. Calcular e escrever o total
(total = quantidade adquirida * preço unitário), o desconto e o total a
pagar (total a pagar = total - desconto), sabendo-se que:
• Se quantidade <= 5, o desconto será de 2%.
• Se quantidade > 5 e quantidade <=10, o desconto será de 3%.
• Se quantidade > 10, o desconto será de 5%.
77UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "produtos"
var
produto : caracter
qtde, preco_unit,total, desconto, total_pagar : real
inicio
escreva ("Informe o nome do produto: ")
leia(produto)
escreva ("Informe a quantidade desejada: ")
leia(qtde)
escreva ("Informe o preço unitário R$")
leia(preco_unit)
total := (qtde * preco_unit)
se (qtde <= 5) entao
desconto := total * 0.02
senao
se (qtde > 5) e (qtde <= 10) entao
desconto := total * 0.03
senao
desconto := total * 0.05
fimse
fimse
total_pagar := total - desconto
escreval ("O valor total é de R$", total)
escreval ("O desconto é de R$", desconto)
escreval ("O total a pagar é de R$", total_pagar)
fimalgoritmo
2) Um posto está vendendo combustíveis com a seguinte tabela de
descontos:
Álcool
até 20 litros, desconto de 3% por litro
acima de 20 litros, desconto de 5% por litro
Gasolina
até 20 litros, desconto de 4% por litro
acima de 20 litros, desconto de 6% por litro
Escreva um algoritmo que leia o número de litros vendidos e o tipo de
combustível (codificado da seguinte forma: A - álcool, G - gasolina),
calcule e imprima o valor a ser pago pelo cliente, sabendo-se que o
preço do litro da gasolina é R$ 3,30 e o preço do litro do álcool é R$ 2,90.
78 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "combustivel"
var
tipo : caracter
litros, totalpagar : real
inicio
escreva ("Digite A para Alcool ou G para Gasolina:")
leia(tipo)
// o comando abaixo (maiusc) converte a letra informada pelo usuário
para maiuscula
tipo := maiusc(tipo)
escreva ("Informe a quantidade vendida em litros:" )
leia(litros)
Escolha tipo
caso "A"
se (litros <= 20) entao
totalpagar := litros * (2.90 - (2.90 * 0.03))
senao
totalpagar := litros * (2.90 - (2.90 * 0.05))
fimse
caso "G"
se (litros <= 20) entao
totalpagar := litros * (3.30 - (3.30 * 0.04))
senao
totalpagar := litros * (3.30 - (3.30 * 0.06))
fimse
fimescolha
escreva("O valor total a ser pago é de R$", totalpagar)
fimalgoritmo
Atividades – estrutura de repetição – ENQUANTO/FAÇA
Observação: embora seja possível desenvolver as atividades a seguir usando
qualquer uma das estruturas de repetição apresentadas nessa unidade, os
exercícios foram agrupados para usar os três tipos de estruturas. Desenvolva,
inicialmente, usando a estrutura sugerida e depois tente adaptar para as
outras estruturas de repetição.
3) Faça um algoritmo que imprima os números de 1 até 10.
79UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Exemplo de saída: 1,2,3,4,5,6,7,8,9,10
algoritmo "exer03"
var
cont : inteiro
inicio
para cont:= 1 ate 10 faca
escreva(cont, ", ")
fimpara
fimalgoritmo
4) Faça um algoritmo que imprima os números pares de 20 até 30.
Exemplo de saída: 20,22,24,26,28,30
algoritmo "exer04"
var
cont : inteiro
inicio
para cont:= 20 ate 30 faca
se (cont mod 2) = 0 entao
escreva(cont, ", ")
fimse
fimpara
fimalgoritmo
5) Faça um programa que receba vários números positivos ou negativos,
terminada por zero. O programa deve fornecer como saída, a soma
dos números positivos. Exemplo:
Entre com um número: 26.
Entre com um número: 40.
Entre com um número: -5.
Entre com um número: 10.
Entre com um número: 0 (sai do laço).
80 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "exer05"
var
numero, soma : inteiro
inicio
numero := 1
enquanto (numero <> 0) faca
escreva("Digite um número: ")
leia(numero)
se (numero mod 2) = 0 entao
soma := soma + numero
fimse
fimenquanto
escreva("o valor total somado é de: ", soma)
fimalgoritmo
6) Ler um número não determinado de vezes um valor do teclado
e escrever o valor da soma de todos os números digitados até o
momento, até que seja digitado um número negativo. Exemplo:
Entre com um número: 10.
Entre com um número: 15.
Entre com um número: 5.
Entre com um número: -3.
A soma é: 30.
OBS.: não considere o valor negativo na soma.
81UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "exer06"
var
numero, soma : inteiro
inicio
numero := 1
enquanto (numero >= 0) faca
escreva("Digite um número: ")
leia(numero)
se (numero >= 0) entao
soma := soma + numero
fimse
fimenquanto
escreva("o valor total somado é de: ", soma)
fimalgoritmo
Atividades – estrutura de repetição – REPITA/ATÉ
Observação: analise as estruturas de repetição a seguir antes de desenvolver
as atividades.
Visualg C#
Repita
// bloco de comandos
Até condição (verdadeira)
do
// bloco de comandos
while condição (verdadeira)
Repete o bloco de comandos até que
a condição seja verdadeira.
Repete o bloco de comandos
enquanto a condição for verdadeira.
7) Uma empresa decidiu fazer um levantamento em relação aos
candidatos que se apresentarem para preenchimento de vagas no seu
quadro de funcionários. Supondo que você seja o programador dessa
empresa, faça um Programa que leia para cada candidato a idade,
o sexo (M ou F) e a experiência no serviço (S ou N). Para encerrar a
entrada de dados, digite zero para a idade. Calcule e escreva:
• Número de candidatos do sexo feminino.
• Número de candidatos do sexo masculino.
• A idade média dos homens que já têm experiência no serviço.
• A porcentagem dos homens com mais de 45 anos entre o total dos homens.
• Número de mulheres com idade inferior a 35 anos e com experiência no
serviço.
82 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
• A menor idade entre as mulheres que já têm experiência no serviço.
OBS.: para continuar o levantamento, solicite ao usuário se deseja continuar
(S – SIM ou N – NÃO).
O Algoritmo abaixo não pode ser feito utilizando a estrutura Repita-Até.
83UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "funcionarios"
var
idade, num_candidatas, num_candidatos, soma_idade, num_m_idade_experiencia,
menor_idade_m_experiencia, num_candidatos_experiencia, num_candidatos_idosos:
inteiro
idade_media_h_experiencia, porcentagem_h_idade : real
sexo, experiencia, continuar : caractere
inicio
num_candidatas := 0
num_candidatos := 0
num_m_idade_experiencia := 0
menor_idade_m_experiencia := 999
idade_media_h_experiencia := 0
porcentagem_h_idade := 0
soma_idade := 0
num_candidatos_experiencia := 0
num_candidatos_idosos := 0
continuar := "S"
Repita
escreva("Informe a idade do candidato: ")
leia(idade)
escreva("Informe o sexo 'M' - Masculino / 'F' - Feminino: ")
leia(sexo)
sexo := maiusc(sexo)
escreva("Possui experiência? 'S' Sim / 'N' Não ")
leia(experiencia)
experiencia := maiusc(experiencia)
//armazena a quantidade de pessoas do sexo feminino e masculino
se (sexo = "F") entao
num_candidatas := num_candidatas + 1
// armazena a menor idade da mulher com experiência.
se (idade < menor_idade_m_experiencia) e (experiencia = "S") entao
menor_idade_m_experiencia := idade
fimse
// armazena a qtde de mulheres com idade inferior a 35 anos e com experiência
se (idade < 35) e (experiencia = "S") entao
num_m_idade_experiencia := num_m_idade_experiencia + 1fimse
senao
num_candidatos := num_candidatos + 1
//calcula a idade média dos homens que já têm experiência no serviço
se (experiencia = "S") entao
num_candidatos_experiencia := num_candidatos_experiencia + 1
soma_idade := idade + soma_idade
84 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
idade_media_h_experiencia := soma_idade / num_candidatos_experiencia
fimse
se (idade > 45) entao
num_candidatos_idosos := num_candidatos_idosos + 1
porcentagem_h_idade := (num_candidatos_idosos / num_candidatos) * 100
fimse
fimse
escreva("Deseja continuar? S/N: ")
leia(continuar)
continuar := maiusc(continuar)
Ate (continuar = “N”)
escreval("Nº de candidatos do sexo feminino: ", num_candidatas)
escreval("Nº de candidatos do sexo masculino: ", num_candidatos)
escreval("Idade média dos homens que já têm experiência: ", idade_media_h_experiencia)
escreval("Porcentagem de homens com mais de 45 anos: ", porcentagem_h_idade)
escreval("Nº de mulheres com idade inferior a 35 anos e com experiência: ", num_m_
idade_experiencia)
escreval("Menor idade entre as mulheres com experiência: ", menor_idade_m_experiencia)
fimalgoritmo
Atividades – estrutura de repetição – PARA/FAÇA
8) Faça um algoritmo para imprimir 10 vezes o nome: Disciplina de
Introdução à Programação.
algoritmo "nomeDisciplina"
var
i : inteiro
inicio
Para i := 1 ate 10 faca
escreval("Disciplina de Introdução à Programação")
fimpara
fimalgoritmo
9) Faça um algoritmo que apresente o total da soma dos cem primeiros
números inteiros (1 + 2 + 3 + 4 + 5 + 6 + 7 + ... 97 + 98 + 99 + 100).
85UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "somaNumeros"
var
i, soma : inteiro
inicio
soma:= 0
Para i := 1 ate 100 faca
soma := soma + i
fimpara
escreva("A soma dos cem primeiros números inteiros é: ", soma)
fimalgoritmo
10) Leia 5 idades e calcule a média entre as idades.
algoritmo "mediaIdade"
var
i, idade, somaIdade : inteiro
mediaIdade : real
inicio
somaIdade := 0
mediaIdade := 0
Para i := 1 ate 5 faca
escreva("Informe a idade: ")
leia(idade)
somaIdade := somaIdade + idade
fimpara
mediaIdade := somaIdade / (i-1)
escreval("A média das idades informadas é: ", mediaIdade)
fimalgoritmo
11) Escreva um programa que receba a idade de 10 pessoas, calcule e
imprima a quantidade de pessoas maiores de idade (idade >= 18 anos).
86 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "Maiores_de_idade"
var
i, idade, maiores: inteiro
inicio
maiores := 0
Para i := 1 ate 10 faca
escreva("Informe a idade: ")
leia(idade)
se (idade >= 18) entao
maiores := maiores + 1
fimse
fimpara
escreval("Total de pessoas com idade igual ou superior a 18 anos: ",
maiores)
fimalgoritmo
12) Dados: sexo e idade dos alunos. Construa um algoritmo para
verificar em uma classe com 50 alunos quantos são do sexo feminino
e masculino e quantos da classe toda são maiores que 18 anos. Ao
final, apresente no vídeo os totais.
87UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "Classe"
var
i, idade, maiores, cont_masc, cont_fem: inteiro
sexo : caracter
inicio
maiores := 0
cont_masc := 0
cont_fem := 0
Para i := 1 ate 50 faca
escreva("Informe o sexo do aluno. F - Feminino / M - Masculino: ")
leia(sexo)
sexo := maiusc(sexo)
se (sexo = "M") entao
cont_masc := cont_masc + 1
senao
cont_fem := cont_fem + 1
fimse
escreva("Informe a idade do aluno: ")
leia(idade)
se (idade > 18) entao
maiores := maiores + 1
fimse
fimpara
escreval("Total de alunos do sexo Masculino: ", cont_masc)
escreval("Total de alunos do sexo Feminino: ", cont_fem)
escreval("Total de alunos maiores de 18 anos: ", maiores)
fimalgoritmo
13) Faça um algoritmo que calcule o fatorial de um número informado
pelo usuário.
88 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "Fatorial"
var
i, num, fatorial : inteiro
inicio
fatorial := 1
escreva("Informe um número inteiro para calcular o seu fatorial: ")
leia(num)
Para i := 1 ate num faca
fatorial := fatorial * i
fimpara
escreval(fatorial)
fimalgoritmo
14) Faça um programa para ler o código, número de horas trabalhadas e
número de dependentes de cada funcionário. Após a leitura, escreva
qual o código, os valores descontados para cada tipo de imposto e
finalmente o salário líquido de cada um dos funcionários.
R.: Faltam dados para resolução do problema.
15) Tem-se um conjunto de dados contendo a altura e o sexo (M ou F)
de 15 pessoas. Faça um Programa que calcule e escreva:
• A maior e a menor altura do grupo.
• A média de altura das mulheres.
• Número de homens.
89UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
algoritmo "altura"
var
altura, maioraltura, menoraltura, somaAltura, mediaAltura : real
i, cont_mulheres, cont_homens : inteiro
sexo : caractere
inicio
maioraltura := 0
menoraltura := 999
somaAltura:= 0
cont_mulheres := 0
cont_homens := 0
mediaAltura := 0
para i:= 1 ate 15 faca
escreva("Informe a altura: ")
leia(altura)
se (altura > maioraltura) entao
maioraltura := altura
fimse
se (altura < menoraltura) entao
menoraltura := altura
fimse
escreva("Informe o sexo, M - Masculino | F - Feminino: ")
leia(sexo)
sexo := maiusc(sexo)
se (sexo = "F") entao
somaAltura := somaAltura + altura
cont_mulheres := cont_mulheres + 1
senao
cont_homens := cont_homens + 1
fimse
fimpara
mediaAltura := SomaAltura / cont_mulheres
escreval("A maior altura do grupo é igual a: ", maioraltura)
escreval("A menor altura do grupo é igual a: ", menoraltura)
escreval("A média de altura entre as mulheres é: ", mediaAltura)
escreval("A quantidade de homens deste grupo é: ", cont_homens)
fimalgoritmo
90 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
UNIDADE 4
SEÇÃO 1
1. Qual o resultado da MEMÓRIA e do VÍDEO ao executar o
algoritmo abaixo (informe os valores: 10,5, 8, 20, 35 para efetuar a
simulação (complete o teste)).
Pseudocódigo Teste de mesa
algoritmo "EXEMPLO01"
var
NUMEROS: vetor [1..5] de inteiro
I : inteiro
Inicio
para I de 1 ate 5 faca
leia(NUMEROS[i])
fimpara
fimalgoritmo
Obs.: complete o teste informando
os demais valores.
Memória
I 1
NUMEROS[1] 10
I 2
NUMEROS[1] 5
I 3
NUMEROS[1] 8
I 4
NUMEROS[1] 20
I 5
NUMEROS[1] 35
Vídeo
? 10
5
8
20
35
2) Qual o resultado da MEMÓRIA e do VÍDEO ao executar o algoritmo
abaixo?
91UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Pseudocódigo
algoritmo "EXERCICIO02"
var
SALARIO : vetor [1..10] de REAL
SOMA, cont : inteiro
inicio
SOMA <- 0
para cont <- 1 ate 10 faca
escreva("Insira o ", cont, "elementodo vetor: ")
leia (SALARIO [cont])
SOMA <- SOMA + SALARIO[cont]
fimpara
escreva("A soma é dos elementos é : ", SOMA)
fimalgoritmo
92 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Memória Vídeo
SOMA <- 0
CONT 1
SALARIO[1] 1000
SOMA <- 1000
CONT 2
SALARIO[2] 1000
SOMA <- 2000
CONT 3
SALARIO[3] 1000
SOMA <- 3000
CONT 4
SALARIO[4] 1000
SOMA <- 4000
CONT 5
SALARIO[5] 1000
SOMA <- 5000
CONT 6
SALARIO[6] 1000
SOMA <- 6000
CONT 7
SALARIO[7] 1000
SOMA <- 7000
CONT 8
SALARIO[8] 1000
SOMA <- 8000
CONT 9
SALARIO[9] 1000
SOMA <- 9000
CONT 10
SALARIO[10] 1000
SOMA <- 10000
Insira o 1 elemento do vetor:
Insira o 2 elemento do vetor:
Insira o 3 elemento do vetor:
Insira o 4 elemento do vetor:
Insira o 5 elemento do vetor:
Insira o 6 elemento do vetor:
Insira o 7 elemento do vetor:
Insira o 8 elemento do vetor:
Insira o 9 elemento do vetor:
Insira o 10 elemento do vetor:
A soma é dos elementos é : 10000
3) Considerando o vetor V abaixo:
V 15 12 9 10 8 7 41 22 12 8
1 2 3 4 5 6 7 8 9 10
Quais seriam os valores impressos considerando que os valores das
variáveis para acesso aos índices tivessem os valores X=2 e Y=4?
Escreva o valor correspondente para cada exemplo:
93UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
a) escreva( V[X + 1] ) 9
b) escreva( V[X + 2] ) 10
c) escreva( V[Y + 5] ) 12
d) escreva( V[Y + 2] ) 7
e) escreva( V[X + Y] ) 7
f) escreva( V[X - Y] ) ?
g) escreva( V[X * 3] ) 7
h) escreva( V[ V[3] ] ) 12
i) escreva( V[X + 1 + Y * 2] ) ?
j) escreva( V[X + Y] ) 7
k) escreva( V[6 - V[10] ] ) 12
4) Considerando o algoritmo a seguir:
algoritmo "EXERCICIO04"
var
VET1 : vetor [1..20] de inteiro
VET2 : vetor [1..20] de inteiro
VET3 : vetor [1..20] de inteiro
I: inteiro
Inicio
para i de 1 ate 20 passo 1 faca
VET1[i] <- i
VET2[i] <- 20 – i
fim para
para i de 1 ate 20 passo 1 faca
VET3[i] <- VET1[i] + VET2[i]
Escreva(VET3[i])
Fimpara
fimalgoritmo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
5) Analise o programa abaixo e descreva sua função e preencha o texto
da lacuna:
a) Represente os valores gerados
para os vetores VET1 e VET2.
b) Qual será o valor armazenado em:
· Vet3[3]20
· Vet3[6]20
· Vet3[9]20
· Vet3[12]20
· Vet3[15]20
94 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo "matriz"
var
n: vetor [1..5] de inteiro
i,cont : inteiro
media : real
inicio
media <- 0
Para i de 1 ate 5 passo 1 faca
leia(n[i])
media <- media + n[i]
fimpara
media <- media/5
escreva(media)
cont <- 0
Para i de 1 ate 5 passo 1 faca
se (n[i] > media) entao
cont <- cont + 1
fimse
fimpara
escreval("O número de valores acima da média dos valores é: ", cont)
fimalgoritmo
6) Altere o programa a seguir para que ele faça a soma dos 10 números
lidos e ao final apresente a soma obtida.
LACUNA
95UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo "VetoresSoma"
Var
numeros: vetor[1..10] de inteiro
I, soma: inteiro
Inicio
soma <- 0
// ------ LEITURA 10 NÚMEROS -------------
para I de 1 ate 10 passo 1 faca
escreva("Valor: ")
leia(numeros[I])
fimpara
// -------- IMPRESSÃO 10 NÚMEROS----------
para I de 1 ate 10 passo 1 faca
escreva(numeros[I])
soma <- soma + numeros[I]
fimpara
escreva(“A soma dos numeros é igual a :”,soma)
fimalgoritmo
SEÇÃO 2
1) Considere a matriz M a seguir:
E as variáveis X=2 e Y=3, escreva o valor correspondente à solicitação
(se os valores de indicação de linha forem maiores que 5 (fora da faixa)
e o valor da coluna for maior que 6 (fora da faixa):
a) M[X, Y] 1
b) M[Y, X] 12
c) M[X + 1, Y – 1] 12
96 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
d) M[X + 1, Y – 1 * 2] 2
e) M[Y – X, Y + X] 4
f) M[Y + 1, X] 5
2) Considerando os valores da matriz M representada:
1 2 3 4 5
1 2 8 3 7 4
2 5 2 1 9 16
3 2 12 7 8 10
4 4 5 3 8 5
5 14 11 5 3 6
a) Identifique quais são os valores que estão na diagonal principal.
R.: 2, 2, 7, 8, 6
b) Identifique quais são os valores que estão na diagonal secundária.
R.: 4, 9, 7, 5, 14
3) Desenhe a matriz resultante do algoritmo abaixo (OBS.: valor atribuido
para a mesma posição irá substituir o valor anteiror):
Algoritmo “matriz”
Var
matriz: vetor [1..3, 1..3] de caracter;
inicio
mat[1,2] <- 'F';
mat[2,3] <- 'E';
mat[3,1] <- 'L';
mat[3,2] <- 'I';
mat[2,3] <- 'P';
mat[3,3] <- 'E';
fimalgoritmo
F
P
L I E
97UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
4) Quais são os valores impressos pelo algoritmo abaixo?
Considere que na leitura serão informados os valores abaixo para a
matriz.
Matriz MAT
5 4 3
8 7 8
9 3 6
Algoritmo "MatrizSoma"
Var
MAT : vetor[1..3, 1..3] de inteiro
L,C: inteiro
Inicio
// --------- LEITURA -----------
para L de 1 ate 3 passo 1 faca
para C de 1 ate 3 passo 1 faca
escreval(“digite uma valor”)
leia(MAT[L,C])
fimpara
fimpara
// --------- IMPRESSAO -----------
para L de 1 ate 3 passo 1 faca
para C de 1 ate 3 passo 1 faca
se L = C entao
escreval(MAT[L,C])
fimse
fimpara
fimpara
fimalgoritmo
5, 7, 6
98 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
SEÇÃO 3
1) Dados os seguintes campos de um registro: nome, telefone, dia de
aniversário e mês de aniversário, desenvolver um algoritmo que
mostre em um dado mês do ano, quem são as pessoas que fazem
aniversário, exibir também o dia. Considere um conjunto de 40
pessoas.
Algoritmo “Aniversario”
Tipo
PESSOA = Registro
Nome: caractere
Telefone: caractere
diaAniversario: inteiro
mesAniversario: inteiro
fim
Var
pessoa : PESSOA
vetor: vetor [1..40] de pessoa
mês, i : inteiro
Inicio
Para i de 1 ate 40 faça
escreva(“Digite o nome”)
leia (vetor[i].Nome)
escreva(“Digite o telefone”)
leia (vetor[i].Telefone)
escreva(“Digite o dia do aniversario”)
leia (vetor[i]. diaAniversario)
escreva(“Digite o mes do aniversario”)
leia (vetor[i]. mesAniversario)
FimPara
escreva(“Digite o mês para pesquisar”)
leia(mes)
Para i de 1 ate 40 faça
Se vetor[i].mesAniversario=mes entao
escreva(“Nome ”, vetor[i].Nome)
escreva(“Telefone ”, vetor[i].Telefone)
escreva(“Dia ”, vetor[i].diaAniversario)
FimSe
FimPara
FimAlgoritmo
99UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
2) Uma pessoa cadastrou um conjunto de 15 registros contendo o nome
da loja, telefone e preço de um eletrodoméstico. Desenvolver um
algoritmo que permita exibir qual foi a média dos preços cadastrados
e uma relação contendo o nome e o telefone das lojas cujo preço
estava abaixo da média.
Algoritmo “Loja”
Tipo
LOJA = Registro
Nome: caractere
Telefone: caractere
Preco: real
fim
Var
loja: LOJA
vetor: vetor [1..15] de loja
media, acumulador: real
i : inteiro
Inicio
Acumulador:=0
Para i de 1 ate 15 faça
escreva(“Digite o nome”)
leia (vetor[i].Nome)
escreva(“Digite o telefone”)
leia (vetor[i].Telefone)
escreva(“Digite o preco”)
leia (vetor[i]. Preco)
acumulador:= acumulador+ vetor[i].Preco
FimPara
media:= acumulador/15escreva(“A media dos precos é: “, media)
Para i de 1 ate 15 faça
Se vetor[i].Preco< media entao
escreva(“Nome ”, vetor[i].Nome)
escreva(“Telefone ”, vetor[i].Telefone)
FimSe
FimPara
FimAlgoritmo
100 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
3) O registro dos alunos é realizado através dos seguintes dados:
• Nome do aluno.
• Nota obtida ao longo do semestre.
• Nota obtida na avaliação especial.
Construir um programa que permita o registro de dois alunos. Em
seguida exibir na tela os seguintes dados de cada aluno:
• Nome do aluno.
• Nota obtida ao longo do semestre.
• Nota obtida na avaliação especial.
• Nota final, sabendo que ela corresponde à média entre as outras duas notas.
• Média das notas finais obtidas pelos dois alunos.
101UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “Alunos”
Tipo
ALUNO = Registro
Nome: caractere
NotaSemestre: real
NotaAvaliacao: real
fim
Var
aluno : ALUNO
vetor: vetor [1..2] de aluno
media, mediaFinal, acumuladorFinais : real
i : inteiro
Inicio
Media:=0
Para i de 1 ate 2 faça
escreva(“Digite o nome”)
leia (vetor[i].Nome)
escreva(“Digite a nota do semestre”)
leia (vetor[i].NotaSemestre)
escreva(“Digite a nota da avaliacao”)
leia (vetor[i].NotaAvaliacao)
FimPara
Para i de 1 ate 2 faça
escreva(“Nome ”, vetor[i].Nome)
escreva(“Nota Semestre ”, vetor[i].NotaSemestre)
escreva(“Nota Avaliacao ”, vetor[i].NotaAvaliacao)
media:= vetor[i].NotaSemestre + vetor[i].NotaAvaliacao/2
escreva(“ Media: “, media)
acumuladorFinais := acumuladorfinais + media
FimPara
Escreva(“ A media dos dois alunos foi: “, acumuladorFinais/2)
FimAlgoritmo
102 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
SEÇÃO 4
1) Criar um algoritmo que leia o nome de um cliente, código e o total
em débito deste cliente. Mostre os dados lidos.
Algoritmo “Cliente”
Tipo
CLIENTE = Registro
Nome: caractere
Codigo: inteiro
Debito: real
fim
Var
cliente : CLIENTE
vetor: vetor [1..2] de cliente
i : inteiro
Inicio
escreva(“Digite o nome: ”)
leia (vetor[i].Nome)
escreva(“Digite o codigo: ”)
leia (vetor[i].Codigo)
escreva(“Digite o total do débito: ”)
leia (vetor[i].Debito)
escreva(“Nome ”, vetor[i].Nome)
escreva(“Codigo ”, vetor[i].Codigo)
escreva(“Debito ”, vetor[i].Debito)
FimAlgoritmo
2) Analise a estrutura a seguir:
a) Crie um vetor para armazenar as informações dessa tabela.
b) Cadastre os produtos.
c) Imprima os produtos.
Código Produto Preço (R$)
A Refrigerante 0,60
B Casquinha simples 1,00
C Casquinha dupla 1,20
103UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
D Sundae 1,50
E Banana Split 2,00
Algoritmo “Produto”
Tipo
LISTA = Registro
Codigo: caractere
Produto: caractere
Preco: real
fim
Var
produto : LISTA
vetor: vetor [1..5] de produto
i : inteiro
Inicio
para i de 1 ate 5 faça
escreva(“Digite o codigo: ”)
leia (vetor[i].Codigo)
escreva(“Digite o produto: ”)
leia (vetor[i].Produto)
escreva(“Digite o preco: ”)
leia (vetor[i].Preco)
fimpara
para i de 1 ate 5 faça
escreva(“Produto ”, vetor[i].Produto)
escreva(“Codigo ”, vetor[i].Codigo)
escreva(“Preco ”, vetor[i].Debito)
fimpara
FimAlgoritmo
3) Uma pessoa cadastrou um conjunto de 15 registros contendo o nome
da loja, telefone e preço de um eletrodoméstico. Desenvolver um
algoritmo que permita exibir qual foi a média dos preços cadastrados
e uma relação contendo o nome e o telefone das lojas cujo preço
estava abaixo da média.
104 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
ATIVIDADES DE APRENDIZAGEM DA UNIDADE 4
VETORES
1) Faça um programa que leia um conjunto de 50 elementos inteiros e
os imprima em ordem contrária da que foi lida (DICA: use um vetor).
Ex. conjunto lido:
VET 55 80 45 38 13 24 ... 12
1 2 3 4 5 6 7 8
Impressão: 12, ... , 24, 13, 38, 45, 80, 55.
Algoritmo “OrdemContraria”
Var
vetor: vetor [1..50] de inteiro
i : inteiro
Inicio
para i de 1 ate 50 faça
escreva(“Digite o valor: ”)
leia (vetor[i])
fimpara
para i de 50 ate 1 passo -1 faça
escreva(“Produto ”, vetor[i].Produto)
fimpara
FimAlgoritmo
2) Faça um programa que leia um conjunto de 50 elementos inteiros e
os imprima em ordem contrária da que foi lida (DICA: use um vetor).
Ex. conjunto lido:
VET 55 80 45 38 13 24 ... 12
1 2 3 4 5 6 7 8
Impressão: 12, ... , 24, 13, 38, 45, 80, 55.
105UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
3) Faça um programa que calcule e escreva o somatório dos valores
armazenados numa variável unidimensional A de 100 elementos
numéricos a serem lidos do teclado.
VET 55 80 45 38 13 24 ... 12
1 2 3 4 5 6 7 8
EXEMPLO:
Algoritmo “Somatorio”
Var
vetor: vetor [1..100] de inteiro
soma: inteiro
i : inteiro
Inicio
soma:=0
para i de 1 ate 100 faça
escreva(“Digite o valor: ”)
leia (vetor[i])
fimpara
para i de 1 ate 100 faça
soma:= soma + vetor[i]
fimpara
escreva(“Soma = “, soma)
FimAlgoritmo
4) Faça um algoritmo que leia o vetor A e calcule o fatorial de cada valor
de A e armazene em outro vetor (B) de tamanho 10 de inteiros. Ao
final, imprima o vetor B.
A 4 1 0 3 ....
B 24 1 1 6 ...
SOMA = 55 + 80 + 45 + 38 + 13 + 24 ... + 12 = 75.5
106 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “Fatorial”
Var
vetorA: vetor [1..10] de inteiro
vetorB: vetor [1..10] de inteiro
i,j, fatorial, numero, contador: inteiro
Inicio
para i de 1 ate 10 faça
escreva(“Digite o numero: ”)
leia (vetorA[i])
fimpara
para i de 1 ate 10 faça
numero:=vetorA[i]
fatorial:= 1
j:=1
se (numero > 0) entao
repita
fatorial:=fatorial * j
j:=j+1
ate ( j > numero)
fimse
vetorB[i] :=fatorial
fimpara
para i de 1 ate 10 faça
escreva(“ O fatorial de “, vetorA[i], “é igual a ”,vetorB[i])
fimpara
FimAlgoritmo
5) Faça um programa que leia um vetor A de 15 valores do tipo inteiro
e calcule o somatório de cada valor de A e armazene no vetor B. Ao
final, imprima o vetor B.
A 4 1 0 5 ....
B 10 1 0 15 ...
107UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
R.: Não é possível compreender o enunciado. O que dá origem de B?
6) Faça um programa que leia e mostre um vetor de 20 números. A
seguir, conte quantos valores pares existem no vetor.
Algoritmo “Pares”
Var
vetor: vetor [1..20] de inteiro
soma: inteiro
i : inteiro
Inicio
soma->0
para i de 1 ate 20 faça
escreva(“Digite o valor: ”)
leia (vetor[i])
fimpara
para i de 1 ate 20 faça
escreva(vetor[i])
se vetor[i] MOD 2 = 0 entao
soma->soma+1
fimse
fimpara
escreva(“Total de numeros pares do vetor = “, soma)
FimAlgoritmo
7) Faça um programa contendo as especificações abaixo:
a) Ler um vetor de 14 elementos e armazenar no vetor V.
b) Ler o vetor DADOS contendo 5 elementos.
c) Para cada elemento do vetor dado, deverá verificar se ele existe no vetor V.
Caso existir,ao encontrar o primeiro elemento deverá armazenar sua posição
no vetor POSIÇÕES e cancelar a busca do elemento encontrado. (Note que
o elemento 3 que está na posição um do vetor DADOS não existe no vetor
V. Neste caso, a posição 1 do vetor POSIÇÕES irá conter zero).
d) Ao final do programa, deve-se mostrar os três vetores.
Observação: o programa deverá conter a lógica completa
108 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Exemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
V 2 6 8 8 9 9 15 21 56 101 125 125 125 200
Dados 3 8 10 21 125
Posições 0 3 0 8 12
109UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “VidaLoka”
Var
vetorV: vetor [1..14] de inteiro
DADOS: vetor [1..5] de inteiro
POSICOES: vetor [1..5] de inteiro
i, j, k, posicao, temporario: inteiro
Inicio
para i de 1 ate 14 faça
escreva(“Digite o numero: ”)
leia (vetorV[i])
fimpara
para i de 1 ate 5 faça
escreva(“Digite o numero: ”)
leia (DADOS[i])
fimpara
para i de 1 ate 5 faça
posicao:=0
temporario:=DADOS[i]
para j de 1 ate 14 faca
se temporario=vetorV[j]
posicao:= j
POSICOES[i]:=posicao
interrompa
fimse
fimpara
se posicao = 0 entao
POSICOES[i]:=posicao
fimse
fimpara
para i de 1 ate 14 faça
escreva(vetorV[i])
fimpara
para i de 1 ate 5 faça
escreva(DADOS[i])
fimpara
para i de 1 ate 5 faça
escreva(POSICOES[i])
fimpara
FimAlgoritmo
110 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
MATRIZES
1) Faça um programa para ler uma MATRIZ 5 x 5 e em seguida invertê-la
em relação à sua diagonal principal.
a) Leitura da matriz.
b) Inverter a matriz.
c) Imprimir a matriz invertida.
Exemplo: MATRIZ A Exemplo: MATRIZ A após a execução do
algoritmo.
1 2 3 4 5 1 6 11 16 21
6 7 8 9 10 2 7 12 17 22
11 12 13 14 15 3 8 13 18 23
16 17 18 19 20 4 9 14 19 24
21 22 23 24 25 5 10 15 20 25
Algoritmo “Matrizes”
Var
matriz: vetor [1:5, 1:5 ] de inteiro
inversa: vetor [1:5, 1:5 ] de inteiro
i,j : inteiro
Inicio
para i de 1 ate 5 faça
para j de 1 ate 5 faça
escreva(“Digite o valor: ”)
leia (matriz[i,j])
fimpara
fimpara
para i de 1 ate 5 faça
para j de 1 ate 5 faça
inversa[j,i]:= matriz[i,j]
fimpara
fimpara
para i de 1 ate 5 faça
para j de 1 ate 5 faça
escreva(matriz[i,j])
fimpara
fimpara
FimAlgoritmo
111UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
2) Faça um programa para transpor as matrizes abaixo.
1 2
1 2 3 1 1 4
1 1 2 3
2 4 5 6 = 2 2 5
3 3 6
Algoritmo “Transpostas”
Var
matriz: vetor [1:2, 1:3 ] de inteiro
inversa: vetor [1:3, 1:2 ] de inteiro
i,j : inteiro
Inicio
para i de 1 ate 2 faça
para j de 1 ate 3 faça
escreva(“Digite o valor: ”)
leia (matriz[i,j])
fimpara
fimpara
para i de 1 ate 2 faça
para j de 1 ate 3 faça
inversa[j,i]:= matriz[i,j]
fimpara
fimpara
FimAlgoritmo
3) Faça um programa para ler a matriz A abaixo e criar um vetor B
contendo a soma das colunas da matriz A.
Matriz A
112 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
1 2 3 4 5
1 1 0 2 -1 3
2 4 3 2 1 0
3 1 -2 3 4 5
4 8 5 1 3 2
1 14
2 6
3 8
4 7
5 10
Algoritmo “Soma”
Var
matriz: vetor [1:4, 1:5 ] de inteiro
vetor: vetor [1..5 ] de inteiro
i,j, soma : inteiro
Inicio
para i de 1 ate 5 faça
para j de 1 ate 4 faça
escreva(“Digite o valor: ”)
leia (matriz[j,i])
fimpara
fimpara
para i de 1 ate 4 faça
soma:=0
para j de 1 ate 5 faça
soma = soma + matriz[j,i]
fimpara
vetor[i]:=soma
fimpara
FimAlgoritmo
A
B
113UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
4) Faça um programa para ler uma matriz M(5 X 5) e gere três vetores
(A, B e C), onde o vetor:
A: irá armazenar os elementos acima da diagonal principal;
B: irá armazenar os elementos da diagonal principal;
C: irá armazenar os elementos abaixo da diagonal principal.
Exemplo:
1 2 3 4 5 Vetor A 2 3 4 5 8 9 10 14 15 20
6 7 8 9 10 Vetor B 1 7 13 19 25
11 12 13 14 15 Vetor C 6 11 12 16 17 18 21 22 23 24
16 17 18 19 20
21 22 23 24 25
114 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “TresVetores”
Var
matriz: vetor [1:5, 1:5 ] de inteiro
diagonal: vetor [1..5 ] de inteiro
acima: vetor [1..10] de inteiro
abaixo: vetor [1..10] de inteiro
i,j : inteiro
Inicio
para i de 1 ate 5 faça
para j de 1 ate 5 faça
escreva(“Digite o valor: ”)
leia (matriz[j,i])
fimpara
fimpara
para i de 1 ate 5 faça
para j de 1 ate 5 faça
se j > i então
acima[i]:=matriz[i,j]
senao se i = j entao
diagonal[i]:=matriz[i,j]
senao
abaixo[i]:=matriz[i,j]
fimse
fimpara
fimpara
FimAlgoritmo
115UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
5) Faça um programa que leia uma matriz M (5 X 10) e realize a seguinte
operação: Procure pelo Dado em cada linha da matriz M e para cada
linha armazene no Vetor Freq a quantidades de vezes que o dado
foi encontrado na respectiva linha. Observe que cada linha da matriz
está ordenada.
1 2 3 4 5 6 7 8 9 10
1 2 6 8 8 10 11 15 21 56 101
2 3 4 5 6 7 9 10 11 13 16
M 3 1 4 6 7 8 8 8 23 56 34
4 0 2 3 4 5 6 7 8 9 10
5 1 3 7 21 34 78 234 456 789 987
Dado 8
1 2 3 4 5
Freq 2 0 3 1 0
116 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEAD
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “Procura”
Var
matriz: vetor [1:5, 1:10 ] de inteiro
frequencia: vetor [1..5 ] de inteiro
i,j, dado, contador : inteiro
Inicio
para i de 1 ate 5 faça
para j de 1 ate 10 faça
escreva(“Digite o valor: ”)
leia (matriz[j,i])
fimpara
fimpara
escreva(“Digite o valor a ser buscado na matriz”)
leia(dado)
para i de 1 ate 5 faça
contador :=0
para j de 1 ate 10 faça
se (dado=matriz[i,j]) entao
contador:=contador+1
fimse
fimpara
frequencia[i]:=contador
fimpara
FimAlgoritmo
117UNIASSELVI
NEAD
GABARITO DAS AUTOATIVIDADES
L
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
REGISTROS
1) Criar um algoritmo para ler o código, o sexo (M – masculino; F –
feminino) e o número de horas/aula ministradas pelos professores
de uma escola durante um mês. Sabe-se que um professor ganha R$
20,50 hora/aula e que a escola possui 10 professores. Após a leitura,
o programa deverá mostrar:
• Uma listagem contendo o código, o salário bruto, o desconto e o salário
líquido de todos os professores.
• A média aritmética dos salários brutos dos professores do sexo feminino.
• A média aritmética dos salários brutos dos professores do sexo feminino.
Igual ao anterior
Os descontos devem ser assim calculados:
Sexo Até 70 horas/aula no mês Mais que 70 horas/aula no mês
Masculino 10% 8%
Feminino 7% 5%
118 GABARITO DAS AUTOATIVIDADES UNIASSELVI
NEADL
Ó
G
I
C
A
E
T
É
C
N
I
C
A
S
D
E
P
R
O
G
R
A
M
A
Ç
Ã
O
Algoritmo “Professores”
Tipo
PROFESSOR = Registro
Codigo: inteiro
Sexo: caractere
HorasAula: inteiro
fim
Var
professor : PROFESSOR
vetor: vetor [1..10] de PROFESSOR
i, contadorFeminino : inteiro
percentualDesconto , valorDesconto, valorHora, salarioBruto: real
acumuladorFeminino : real;
Inicio
valorHora := 20,5
acumuladorFeminino:=0
para i de 1 ate 10 faça
escreva(“Digite o codigo: ”)
leia (vetor[i].Codigo)
escreva(“Digite o sexo: ”)
leia (vetor[i].Sexo)
escreva(“Digite o numero de horas aula: ”)
leia (vetor[i]. HorasAula)
fimpara
para i de 1 ate 10 faça
escreva(“Codigo ”, vetor[i].Codigo)
salarioBruto:= vetor[i].HorasAula* valorHora;
se ( vetor[i].HorasAula <=70 ) entao
se(vetor[i].Sexo = “M” entao
percentualDesconto = 0.08
senao
acumuladorFeminino:=acumuladorFeminino+ salarioBruto
contFeminino:= contadorFeminino+1
percentualDesconto = 0.05
fimse
senao
se(vetor[i].Sexo = “M” entao
percentualDesconto = 0.1
senao
percentualDesconto = 0.07
acumuladorFeminino:=acumuladorFeminino+ salarioBruto
contFeminino:= contadorFeminino+1
fimse
escreva(“Salario Bruto: “, salarioBruto)
valorDesconto = salarioBruto * percentualDesconto
escreva(“Desconto igual a”, valorDesconto)
escreva(“Salario liquido”, salarioBruto – valorDesconto)
fimpara
escreva(“Média salarial bruta : “, acumuladorFeminino/contFeminino
FimAlgoritmo