Exercícios de lógica de programação para iniciantes

Objetivos:
Permitir ao aluno realizar exercícios de lógica de programação para iniciantes e dominar assuntos básicos como tipos de dados, variáveis, identificadores e operações aritméticas, relacionais e lógicas. .
Recursos e materiais:
Última atualização:
11/05/2020
Aulas do capítulo:

Nas primeiras aulas desse capítulo, ficamos conhecendo os tipos básicos de dados, o que são variáveis e como podemos declarar identificadores para elas. Em seguida, estudamos os operadores aritméticos, relacionais e lógicos e qual a prioridade de execução de cada uma deles. Para que possamos dominar esses conceitos, preparamos para você alguns exercícios de lógica de programação para iniciantes.

1 – Responda às questões apresentadas a seguir (Conteúdo abordado em Tipos de dados, variáveis e identificadores):

a) Quais os 4 tipos básicos de dados? Dê exemplos.
b) O que são identificadores e quais regras devemos seguir ao criá-los? Dê exemplos.

Respostas
a) Os quatro tipos de dados básicos são os números inteiros, reais, lógicos e os caracteres. O tipo inteiro representa informações numéricas que pertencem aos números inteiros, como 10, -6, 8, 1 etc. Os dados do tipo real são os números decimais, como por exemplo, 10.0, 3.14, 1E3, -5.5, etc. Já os tipos de dados lógicos representam informações que podem assumir apenas dois valores, como 0 e 1, verdadeiro ou falso, ligado ou desligado, aberto ou fechado, etc. Por fim, os caracteres representam as informações no formato de símbolos e letras, como “0”, “A”, “&”, “*”, etc.
b) De forma geral, os identificadores são os nomes que damos às variáveis dos nossos algoritmos. Eles devem sempre começar com um caracter alfabético, não podem conter caracteres especiais ou símbolos de operações aritméticas, como “*”, “&”, “>”, “/”, “*”,”+”,”-“, e nem podem utilizar palavras reservadas a outros comandos do algoritmo, como “pot”, “rad”, “sqrt” e outros comandos que veremos nas próximas aulas.

2 – Assinale quais os identificadores da lista abaixo podem e quais não podem ser utilizados em algoritmos, justificando sua resposta no caso do identificador ser inválido (Conteúdo abordado em Tipos de dados, variáveis e identificadores):

a) Km/h
b) Nota
c) 3×4
d) XYZ
e) NomeDoAluno
f) Salario-liquido
g) Salario_base
h) #23
i) A51
j) sqrt
k) div
Respostas
a) Identificador inválido por utilizar o símbolo reservado para a divisão: “/”
b) Identificador válido
c) Identificador inválido por iniciar com um caracter numérico
d) Identificador válido
e) Identificador válido
f) Identificador inválido por conter um hifen, mesmo caracter reservado para a subtração
g) Identificador válido
h) Identificador inválido, por conter um caractere especial: “#”
i) Identificador válido
j) Identificador inválido, por já estar reservado à função que tira a raiz quadrada de um número: sqrt(x)
k) Identificador inválido, por já estar reservado à função que obtém o quociente da divisão: x div y

3 – Identifique o tipo (inteiro, real, caracter ou lógico) de cada um dos dados abaixo (Conteúdo abordado em Tipos de dados, variáveis e identificadores):

a) 34.0
b) 34
c) 423
d) 1.6E25
e) “F”
f) 0.0
g) “C”
h) “Casa e comida”
i) “FALSO”
j) F (Falso)
k) “21”
Respostas
a) Real
b) Inteiro
c) Inteiro
d) Real
e) Caracter
f) Real
g) Caracter
h) Caracter (String)
i) Caracter (String)
j) Lógico
k) Caracter (String)

4 – Reescreveeva as expressões matemáticas abaixo, empregando os operadores utilizados em pseudolinguagem (Conteúdo abordado em “Operadores aritméticos, relacionais e lógicos”):

a) 4^2 + 8\div4 + \sqrt{5*2-1}
b) Delta = b^2 - 4ac
c) x = \frac{-b + \sqrt{b^2-4ac}}{2a}
d) D \geq \sqrt{(x2-x1)^2 + (y2-y1)^2}
e) d = v_0t+\frac{1}{2}at^2
f) y \leq x^4 + 4x^3 + 6x^2 + 4x + 1
Respostas
a) pot(4,2)+8/4+sqrt(5*2-1)
b) Delta = pot(b,2)-4*a*c
c) x = (-b + sqrt(pot(b,2)-4*a*c))/(2*a)
d) D >= sqrt(pot(x2-x1,2)+pot(y2-y1,2))
e) d = v0*t+a*pot(t,2)/2
f) y <= pot(x,4) + 4*pot(x,3) + 6*pot(x,2) + 4*x + 1

5 – Supondo que A, B e C são variáveis do tipo inteiro, com valores iguais a 5, 10 e -8, respectivamente, e D uma variável real com valor de 1.5, efetue as expressões aritméticas a seguir (Conteúdo abordado em “Operadores aritméticos, relacionais e lógicos”):

a) 2 * A mod 3 – C
b) sqrt(- 2 * C) div 4
c) ((20 div 3) div 3) + pot(2,8) / 2
d) (30 mod 4 * pot(3,3))*(-1)
e) Pot(C,2) + (D*10)/A
f) sqrt(pot(A,B/A)) + C * D
g) B div A + pot(C,1/(2*D))*((2*D) mod 3)
Respostas
a)
2 * A mod 3 – C
2 * 2 – C
4 – C
4 – (-8)
4 + 8
12
b)
sqrt(-2*C) div 4
sqrt(-2*(-8)) div 4
sqrt(16) div 4
4 div 4
1
c)
((20 div 3) div 3) + pot(2,8)/2
(6 div 3) + pot(2,8)/2
2 + pot(2,8)/2
2 + 256/2
2 + 128
130
d)
(30 mod 4 * pot(3,3))*(-1)
(30 mod 4 * 27)*(-1)
(2 * 27)*(-1)
54*(-1)
-54
e)
pot(C,2) + (D*10)/A
pot(C,2) + 15/A
pot((-8),2) + 15/A
64 + 15/A
64 + 3
67
f)
sqrt(pot(A,B/A))+C*D
sqrt(pot(5,2))+C*D
sqrt(25) + C*D
5 + C*D
5 – 12
-7
g)
g) B div A + pot(C,1/(2*D))*((2*D) mod 3)
B div A + pot(C,1/3.0)*(3.0 mod 3)
B div A + pot(C,0.33333)*(0)
B div A – 2 * 0
2 – 2 * 0
2

6 – Supondo que A, B, C são variáveis do tipo real, com valores iguais a 2.0, 7.0 e 3.5, respectivamente, e L uma variável do tipo lógica cujo valor é F (falso), determine o resultado das expressões lógicas abaixo (Conteúdo abordado em “Operadores aritméticos, relacionais e lógicos”):

a) B = A * C e (L ou V)
b) B > A ou B = pot(A,A)
c) L e B div A >= ou não A <= C
d) Não L ou V e sqrt(A+B) >= C
e) B/A = C ou B/A <> C
f) L ou pot(B,A) <= C * 10 + A*B
Respostas
a)
B = A * C e (L ou V)
B = A * C e V
7.0 = 7.0 e V
V e V
V
b)
B > A ou B = pot(A,A)
B > A ou B = 4.0
V ou F
V
c)
L e B div A >= C ou não A <= C
L e 3.0 >= C ou não A <= C
L e F ou não V
L e F ou F
F e F ou F
F ou F
F
d)
não L ou V e sqrt(A+B) >= C
não L ou V e 3.0 >= C
não L ou V e F
V ou V e F
V ou F
V
e)
B/A = C ou B/A <> C
3.5 = C ou 3.5 <> C
V ou F
V
f)
L ou pot(B,A) <= C*10 + A*B
L ou 49.0 <= C*10 + A*B
L ou 49.0 <= 35.0 + 14.0
L ou 49.0 <= 49.0
L ou V
F ou V
V

Deixe abaixo o seu comentário em caso de qualquer dúvida! Precisamos ter esses exercícios de lógica de programação para iniciantes bem compreendidos, para que possamos avançar no mundo da computação e nos tornarmos grandes programadores. Para não perder nenhum dos próximos materiais, acesse agora esse link e faça parte do nosso time. Estamos empolgados em ter você com a gente!

Deixe um comentário

%d blogueiros gostam disto: