Você está na página 1de 8

Exercício de Revisão

Lógica de Programação

1. Defina algoritmos e cite suas principais características.


É uma sequência finita de passos ou instruções, ordenadas de forma lógica, que levam a
execução de uma tarefa ou solução de um problema.

2. Descreva as formas pelas quais podemos representar um algoritmo


● Rigidez sintática - o computador só consegue fazer interpretações sobre um idioma
limitado.
● Rigidez semântica - O computador não lida com ambigüidades, se houver indecisão
ele não saberá o que fazer.

3. O que é um tipo de dado primitivo, cite quais são eles.


São os tipos de dados básicos usados na construção de algoritmos. São eles:
- Inteiro - números positivos e negativos;
- Real - todo tipo de número. Podem ser negativos, decimais, etc;
- Lógico - dado que representa valores verdadeiros ou falsos.
- Caractere - representa uma sequência de um ou mais caracteres,
colocamos os valores do tipo caractere entre "" (aspas duplas).

4. Quando construímos algoritmos utilizamos constantemente variáveis e constantes. Nesse


sentido defina o que são variáveis e constantes, descrevendo as formas pelas quais
podemos representá-los na construção de algoritmos.

● Variáveis - é um espaço na memória,é tudo que está sujeito a variações, que é


incerto instável ou inconstante.VAR num1: inteiro
● Constantes - não sofre nenhuma variação no decorrer do tempo, é estável,
inalterável,um valor fixo. Ex.: CONST PI = 3.14

5. Você poderia dar a uma variável o nome *Nome, Venda? Justifique sua resposta.
● Nome - Não, pois há uso de caracteres especiais.
● Venda - Sim

6. Suponha duas variáveis do tipo TEXTO, de nome ValorTexto1 e ValorTexto2, que


contenham os seguintes valores: “88” e “22”. Se no algoritmo você possuir a instrução
ValorFinal = ValorTexto1 + ValorTexto2, qual deve ser o resultado esperado a ser
armazenado na variável ValorFinal.
Valor Final = 110

7. Como podemos definir operadores em lógica de programação? Descreva os tipos básicos


de operadores.
São responsáveis pelas operações matemáticas a serem realizadas em um computador.
São eles:
- Aritméticos
- Racionais
- Lógicos
8. Sabendo que A=10, B=3 e C=8, informe se as expressões abaixo são verdadeiras ou
falsas.
A. (A+C) > B (verdadeiro)
B. B >= (A + 2) (falso)
C. C = (B –A) (falso)
D. (B + A) <= C (falso)
E. (C+A) > B (verdadeiro)

9. Considerando os operadores lógicos AND (e) e OR (ou), e os operandos lógicos true


(verdadeiro) e false (falso), é CORRETO afirmar que o valor lógico da expressão ((((true
AND true) AND (false OR true) OR (true AND (true OR false))) , é:
Verdadeiro

10. Sabendo que A=8, B=3 e C=8 e D=8, informe se as expressões a seguir são verdadeiras
ou falsas.
A. (falso) (A > C) E (C <= D)
B. (verdadeiro) (((A+B) > 10) OU( (A+B) = (C+D) ))
C. (verdadeiro) (A>=C) E (D >= C)
D. (verdadeiro) ((B-D) > 5) XOU ((A+B) >3)

11. Dado o algoritmo abaixo,


ALGORITMO_EX11
VAR
n1, n2, n3: INTEIRO
INICIO
| LEIA (n1,n2, n3)
| SE(n1< n2 + n3) E (n2 < n1 + n3) E (n3 < n1 + n3) ENTÃO
| | SE(n1 = n2) E (n2 = n3) ENTÃO
| | | ESCREVA("MENSAGEM 1")
| | SENÃO
| | | SE(n1 = n2) OU (n1 = n3) OU (n3 = n2) ENTÃO
| | | | ESCREVA("MENSAGEM 2")
| | | SENÃO
| | | | ESCREVA("MENSAGEM 3")
| | | FIMSE
| | FIMSE
| SENÃO
| | ESCREVA("MENSAGEM 4")
| FIM_SE
FIM

Faça um teste de mesa e complete o quadro a seguir para os seguintes valores das
variáveis:
Variáveis

N1 N2 N3 Mensagem

2 2 4 Mensagem 4

3 4 5 Mensagem 1

5 5 5 Mensagem 2

1 9 8 Mensagem 3

12. Aplicada em: 2016 Banca: CESPE Órgão: TRE-PI Prova: Técnico Judiciário -
Programação de Sistemas. Considerando A = 8, B = 9 e C = 10, assinale a opção correta
relacionada à lógica de programação.
A. ((B * 4) >= (A + A * 2) E (5 + 5) >= (A)) = Verdadeiro
B. (A + 3) > (B + C) = falso
C. ((B + A) > (C + C) E (A - C) < (B - A)) = falso
D. ((A + C) < (B * 2) OU (C + B * 3) < (A * 3)) = falso
E. (C * 3) <= (3 + C * 2) = falso

13. Para A = V, B = V e C = F, qual o resultado da avaliação das seguintes expressões:


A. (A e B) ou (A xou B) = verdadeiro
B. (A ou B) e (A e C) = falso
C. (A ou C) e (B xou A) e não B = falso

14. Defina linguagem de programação e cite pelo menos 3 exemplos.

É uma linguagem formal que, através de uma série de instruções, permite que um
programador escreva um conjunto de ordens, ações consecutivas, dados e algoritmos para
criar programas que controlam o comportamento físico e lógico de uma máquina. Java, C#,
Python.

15. Por que devemos estudar Linguagens de Programação?


Para ter conhecimento sobre quais linguagens existem e quais são as melhores, para obter
crescimento profissional e resolver problemas e encontrar soluções mais rapidamente.
16. Descreva quais são os critérios de avaliação de uma linguagem de programação.
● Facilidade com que os programas são lidos e entendidos.
● Legibilidade
● Capacidade de Escrita
● Confiabilidade
● Custo

17. As linguagens de programação podem ser classificadas quanto ao tipo. Nesse sentido
descreva o que são linguagens de alto nível, Linguagem Assembly e linguagens de
máquina.
● Linguagem de alto nível - Essas linguagens são independentes do processador em
que serão executadas. Seu código é mais elaborado, contemplando operações mais
complexas e próximas da “lógica humana”.
● Linguagem Assembly - Surgiram para minimizar as dificuldades da programação em
notação binária;
● Linguagem de máquina - Possuía uma notação binária (zeros e uns), a qual tornava
a programação trabalhosa, cansativa e fortemente sujeita a erros;

18. O que são tradutores?


Programas que recebem como entrada um programa em linguagem assembly ou de alto
nível (dita linguagem fonte) e produzem como saída as instruções deste programa
traduzidas para linguagem de máquina;

19. Defina os três tipos de tradutores abaixo:


● Compilador: é um programa (ou um conjunto deles) como qualquer outro, porém seu
objetivo principal é o de traduzir todas as suas linhas de código para outra linguagem
● Interpretador: é um programa, mas, ao contrário do compilador, ele não traduz o
código todo para linguagem de máquina de uma vez. Ele executa diretamente cada
instrução, passo a passo.
● Montadores: faz a tradução direta das instruções Assembly para um programa
equivalente escrito em linguagem de máquina.

20. Descreva a linguagem C#, definido o que ela é, suas características e principais
vantagens.
O C# é uma linguagem de programação multiparadigma criada pela Microsoft, sendo a
principal da plataforma .NET. É uma junção das principais vantagens de linguagens como
java e c++, melhorando suas implementações e adicionando novos recursos. Algumas
vantagens são:
● Orientada a Objetos;
● Linguagem acessível para iniciantes;
● Linguagem multiplataforma;
● Mercado ativo para quem programa em C#;
● Simplicidade;
● Fortemente tipada.

21. Faça um resumo dos comandos de entrada, saídas, principais operadores estruturas de
decisão em C# comparando ao final com as estruturas em português estruturado.
● Entrada - Console.ReadLine
● Saída - Console.WriteLine
● Principais Operadores - double, float, int
● Estruturas de decisão - if, else, else if, switch

22. Uma empresa quer verificar se um empregado está qualificado para a aposentadoria ou
não. Para estar em condições, um dos seguintes requisitos deve ser satisfeito:
- Ter no mínimo 70 anos de idade.
- Ter trabalhado no mínimo 30 anos.
- Ter no mínimo 65 anos e ter trabalhado no mínimo 30 anos.

Com base nas informações acima, faça um algoritmo em C# e em portugol que leia: o
número do empregado (código), o ano de seu nascimento e o ano de seu ingresso na
empresa. O programa deverá escrever a idade e o tempo de trabalho do empregado e a
mensagem 'Requerer aposentadoria' ou 'Não requerer'.

Portugol
Algoritmo Requisitos
Var codigo, anoN, anoI, idade, tempoT : inteiro
Inicio
Escreva(“Informe o número do empregado”)
Leia(codigo)
Escreva(“Informe o ano de nascimento”)
Leia(anoN)
Escreva(“Informe o ano de ingresso na empresa”)
Leia(anoI)
idade = 2020 - anoN
tempoT = 2020 - anoI
Se (idade >= 70) entao
Escreva(“O empregado possui” +idade “anos. Requerer aposentadoria”)
Se (tempoT >= 30) entao
Escreva(“O empregado possui” +tempoT “anos de empresa. Requerer aposentadoria”)
Se (idade >= 65) && (tempoT >= 30)
Escreva(“O empregado possui” +idade “anos de idade e ” +tempoT “anos de empresa.
Requerer aposentadoria”)
Senao
Escreva(O empregado possui” +idade “anos de idade e ” +tempoT “anos de empresa. Não
requerer aposentadoria”)

C#
//professor não consegui executar em csharp

23. Faça uma algoritmo em C# e em Portugol que leia o nome de 2 times e o número de
gols marcados na partida (para cada time). Escrever o nome do vencedor. Caso não haja
vencedor deverá ser impressa a palavra EMPATE.

Portugol
Algoritmo Gols
Var time1, time2 : caractere
gol1, gol2 : inteiro
Escreva(“Informe o nome do primeiro time”)
Leia(time1)
Escreva(“Informe o nome do segundo time”)
Leia(time2)
Escreva(“Informe quantos gols”, +time1 “marcou”)
Leia(gol1)
Escreva(“Informe quantos gols”, +time2 “marcou”)
Leia(gol2)
Se (gol1>gol2) entao
Escreva(“O vencedor foi o”, +time1)
Se (gol2>gol1) entao
Escreva(“O vencedor foi o”, +time2)
Senao
Escreva(“O resultado foi empate”)
Fim-se
Fim

C#
int gol1, gol2;
string time1, time2;
Console.WriteLine("Informe o nome do primeiro time");
time1 = string.Format(Console.ReadLine());
Console.WriteLine("Informe o nome do segundo time");
time2 = string.Format(Console.ReadLine());
Console.WriteLine("Informe quantos gols {0} marcou", time1);
gol1 = int.Parse(Console.ReadLine());
Console.WriteLine("Informe quantos gols {0} marcou", time2);
gol2 = int.Parse(Console.ReadLine());
if (gol1 > gol2)
{
Console.WriteLine("O vencedor foi o "+ time1);
}
if (gol2 > gol1)
{
Console.WriteLine("O vencedor foi o "+ time2);
}
else
{
Console.WriteLine("O resultado foi empate");
}

24. Faça um algoritmo em C# e e PORTUGOL que leia três notas de


um aluno, calcule e escreva a média final deste aluno. Considerar que a média é ponderada
e que o peso das notas é 2, 3 e 5.
Fórmula para o cálculo da média final é:
mediafinal = (n1 * 2 + n2 * 3 + n3 * 5) /10

Portugol
Algoritmo Media
Var nota1,nota2, nota3, mediafinal: real
Início
Escreva(“Informe a primeira nota”)
Leia(nota1)
Escreva(“Informe a segunda nota”)
Leia(nota2)
Escreva(“Informe a terceira nota”)
Leia(nota3)
mediafinal = (n1 * 2 + n2 * 3 + n3 * 5) /10
Escreva(“A média final do aluno foi”, +mediafinal”)

C#
double n1, n2, n3, soma, mediafinal;
Console.WriteLine("Informe a primeira nota");
n1 = double.Parse(Console.ReadLine());
Console.WriteLine("Informe a segunda nota");
n2 = double.Parse(Console.ReadLine());
Console.WriteLine("Informe a terceira nota");
n3 = double.Parse(Console.ReadLine());
soma = (n1*2)+(n2*3)+(n3*5);
mediafinal = (soma/10);
Console.WriteLine("A média final do aluno é {0}", mediafinal);

25. Faça um algoritmo em C# e em português estruturado para ler: número da conta do


cliente, saldo, débito e crédito. Após, calcular e escrever o saldo atual (saldo atual = saldo -
débito + crédito). Também testar se saldo atual for maior ou igual a zero escrever a
mensagem 'Saldo Positivo', senão escrever a mensagem 'Saldo Negativo'.

Portugol
Algoritmo Saldo
Var conta: inteiro
saldo, saldo_atual, debito, credito: real
Início
Escreva(“Informe o número da conta”)
Leia(conta)
Escreva(“Informe o número do saldo”)
Leia(saldo)
Escreva(“Informe o número do débito”)
Leia(debito)
Escreva(“Informe o número do crédito”)
Leia(credito)
saldo_atual = (saldo - débito + crédito)
Se saldo_atual >= 0
Escreva(“Saldo positivo”)
Senao
Escreva(“Saldo negativo”)
Fim-se
Fim

C#
int conta;
double saldo, saldo_atual, debito, credito;
Console.WriteLine("Informe o número da conta");
conta = int.Parse(Console.ReadLine());
Console.WriteLine("Informe o valor do saldo");
saldo = double.Parse(Console.ReadLine());
Console.WriteLine("Informe o valor do debito");
debito = double.Parse(Console.ReadLine());
Console.WriteLine("Informe o valor do credito");
credito = double.Parse(Console.ReadLine());
saldo_atual = (saldo - (debito + credito));
if (saldo_atual >= 0)
{
Console.WriteLine("Saldo positivo");
}
else
{
Console.WriteLine("Saldo negativo");
}

Você também pode gostar