Você está na página 1de 26

 

 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Lógica e Programação Professor:

Lista de Exercícios

Instruções:
• Correções dos exercícios estão disponíveis no canal do youtube no link:
https://www.youtube.com/channel/UCR2X7U1xLPgE9Ve5gVsXGxA

 
Estrutura Sequencial

Questão 1:
Denomina-se equação do 2° grau a qualquer sentença matemática que possa ser reduzida à forma
2
ax +bx+c=0, onde x é a incógnita e a, b e c, denominados coeficientes da equação, são números reais,
com a diferente de zero.
A resolução de uma equação do 2° grau consiste em obtermos os possíveis valores reais para a
incógnita, que torne a sentença matemática uma equação verdadeira. Tais valores são as raízes da
equação. A fórmula geral de resolução da equação do 2° grau, de onde extraímos as duas raízes x1 e
x2 da equação, é:

(Disponível em http://formatematica.blogspot.com.br, acesso em 12/09/15)


2
onde Δ = b - 4ac.

Sabendo que o software Scilab possui a função sqrt(num), que retorna a raiz quadrada de num, qual
expressão aritmética calcula o valor da raiz x2?

A. -b - sqrt(b*b - 4*a*c) / 2*a


B. -b + sqrt(b*b - 4*a*c) / 2*a
C. (-b + sqrt(b2 - 4ac)) / 2a
D. (-b - sqrt(b*b - 4*a*c)) / (2*a)
E. (-b + sqrt(b*b - 4*a*c)) / (2*a)

Questão 2:
Daniel ganhou seu primeiro computador pessoal e está aprendendo a trabalhar com ele. Seu
computador possui uma tela de exibição de resultados e um peculiar teclado composto de cinco teclas
nomeadas “A”,“B”,“C”,“D” e “E”. Existe ainda uma memória interna, chamada “NUM”, que armazena
apenas um número inteiro e possui inicialmente o valor 0 (zero). Pode ser pressionada qualquer
combinação de teclas e o efeito resultante dependerá da sequencia digitada. As ações associadas a
cada uma são:

• Se “A” é pressionada: “NUM" é inicializado com o valor dez.


• Se “B” é pressionada: É armazenado em “NUM” o valor que ele possuía subtraído um.
• Se “C” é pressionada: É armazenado em “NUM” o valor que ele possuía subtraído dois.
• Se “D" é pressionada: É armazenado em “NUM” o valor que ele possuía somado um.
• Se “E” é pressionada: É impresso na tela o valor contido em “NUM”.

Qual ordem de digitação exibe na tela a sequencia “10 9 8 7”?


 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
(A) “E-B-E-B-E-B-E”.
(B) “A-E-B-E-B-E-B-E”.
(C) “A-E-B-E-B-E”.
(D) “A-E-C-E-C-E”.
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
Questão 3:
o
Faça um algoritmo que solicite como entrada um valor de temperatura em graus Celsius ( C). Faça a
conversão da temperatura em graus Celsius para Kelvin e graus Celsius para grau Fahrenheit e
escreva os resultados no final. Para realizar a conversão utilize a relação: K = °C + 273,15; °F = °C ×
1,8 + 32.

Questão 4:
(Proposto por Holloway e Holloway, 2006) Para o problema abaixo temos uma equação que descreve a
altura e outra equação que descreve a velocidade após o lançamento.
Suponha que uma bola de massa qualquer seja arremessada para cima numa velocidade v0 . Qual é a
velocidade v(t) e sua altura acima do lançamento h(t) no instante t? A resposta, se desprezarmos a
resistência do ar e um conjunto de outras pequenas influências, é

Onde g = 9,81 m/s2 é a aceleração da gravidade na superfície da terra. Crie um algoritmo que solicita
V0 e t ao usuário e então informa as particularidades da bola (velocidade e altura).

Questão 5:
Faça um algoritmo que receba o salário-base de um funcionário, calcule e mostre o salário a receber,
sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7%
sobre o total.

Questão 6:
Dado o algoritmo abaixo, considerando os valores de entrada sequencialmente 5 e 2, faça o passo a
passo do algoritmo.

Algoritmo
Declare A, B, C, T Numérico
Escreva “Informe o valor de A:”
Leia A
Escreva “Informe o valor de B:”
Leia B
T = A + B * B
C = T + B
B = Resto(T, B)
C = A / T
Escreva A, B, C, T
Fim_Algoritmo

Passo a passo:

Memória Processamento Entrada Saída


 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 

Questão 7:
Faça um algoritmo para calcular a área de uma circunferência, considerando a fórmula
2
ÁREA = π * RAIO
Utilize as variáveis AREA e RAIO, a constante π (pi = 3,14159) e os operadores aritméticos de
multiplicação.

Questão 8
Para calcularmos o tempo T gasto para que um carro percorra uma determinada distância D em uma
𝑫
determinada velocidade V, utilizamos a seguinte fórmula: 𝑻 =  
𝑽
O algoritmo em Pseudocódigo abaixo implementa este cálculo.

1: ALGORITMO
2: DECLARE D, V, T LITERAL
3: LEIA D, V
4: T = D + V
5: ESCREVA "Tempo gasto: ", T
6: FIM_ALGORTIMO

Quais linhas deste código possuem erros e, por isso, devem ser alteradas para que este código
funcione corretamente?
A. 2 e 3
B. 2, 3 e 5
C. 2 e 4
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
D. 4 e 5
E. 2, 4 e 5

Questão 9
Considere o algoritmo em Scilab abaixo que calcula o percentual de suco de frutas está contido em
uma jarra:
1: clear;
2: clc;
3: suco=input("Informe a quantidade de suco de frutas:");
4: H2O=input("Informe a quantidade de água:");
5: percentual=(suco * 100 / (suco + H2O));
6: mprintf("O percentual de suco ao final = %.2f", percentual);

Avalie as afirmativas abaixo:


I. Os comandos input e mprintf são usados para entrada e saída de dados, respectivamente.
II. Os comandos mprintf e disp são usados para saída de dados e, portanto, na linha 6 do
algoritmo poderia ser usado um ou outro que a saída seria idêntica.
III. O algoritmo não funcionará visto que as variáveis não foram declaradas.
IV. A vairável H2O está correta, pois o nome de uma variável pode conter números, desde que
esse não esteja no início do nome da variável.
V. O algoritmo não funcionará, pois deveria conter uma estrutura condicional if.
É correto afirmar que:
A. Somente a alternativa I é verdadeira
B. As alternativas I e II são verdadeiras
C. As alternativas I e IV são verdadeiras
D. As alterantivas II, IV e V são faltas
E. Somente a alternativa IV é verdadeira.

Questão 10
( Proposto por Holloway e Holloway (2006)). Consideremos um problema da eletrônica. Suponha que
nós tenhamos três resistores elétricos montados em paralelos, como mostrado na figura abaixo, e
gostaríamos de tratá-lo como um simples resistor. Criemos um algoritmo para calcular a resistência
equivalente dos três resistores paralelos, mas tratado como um.

Figura 1 Holloway e Holloway (2006).

A lei de Ohm diz que a corrente I i através do i-ésimo resistor é proporcional à queda da tensão V
sobre o resistor, assim estas quantidades são associadas por V = Ri I i onde Ri é chamada a
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
resistência do resistor. A corrente total passando pelos três resistores é justamente a soma das três
correntes e a queda da tensão é a mesma para todos os três, assim:

V V V !1 1 1$
I total = + + =V# + + &
R1 R2 R3 " R1 R2 R3 %
Consequentemente, a lei de Ohm se aplica ao grupo completo de três resistores, com a resistência
Rparalela dada por:
1 1 1 1
= + +
Rparalela R1 R2 R3
Observe que tivemos que analisar o problema antes que pudéssemos escrever qualquer código;
frequentemente este é o caso, e a análise do problema e a confecção da solução são usualmente mais
difíceis do que a implementação.
Escrevamos um código em SCILAB que solicita ao usuário os valores das três resistências (R 1 , R2 , R3)
e retorna a resistência dos três em paralelo (Rparalela).

Estrutura de Seleção

Questão 11:

Considere a seguinte atribuição de valores para as variáveis:


A = 3; B = 4, C = 8, X = V e Y = F
Avalie as expressões a seguir indicando seu valor lógico. Faça o passo a passo.

a. A > 3 e C = 8 b. A <> 2 ou B <= 5

c. A = 3 ou B >= 2 e C = 8 d. A = 3 e nao B <= 4 e C = 8

e. não(V ou Y) e (A * B – C > 5 ou nãoY) f. não(não(não X ou não Y e V))

Questão 12:
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
O fluxograma a seguir foi construido para representar a lógica de um programa que funcionará em uma
escola. A regra de classificação dos alunos é feita por meio do cálculo da média das notas de três
disciplinas. O aluno será aprovado quando a média das notas for igual ou superior a 70 pontos. Notas
inferiores a 70 pontos e não menores que 40 pontos classificarão o aluno como em "exame especial".
Notas inferiores a 40 pontos classificarão o aluno como "reprovado". Veja o fluxograma.

Após interpretar o fluxograma acima, marque a opção abaixo que contém as condições corretas para
representar as perguntas A e B tornando a lógica do fluxograma válida para qualquer classificação do
aluno:

A. Pergunta A nf >= 70 ; Pergunta B nf > 40


B. Pergunta A nf >= 70 ; Pergunta B nf <= 40
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
C. Pergunta A nf > 70 ; Pergunta B nf >= 40 e nf <= 70
D. Pergunta A nf > 70 ; Pergunta B nf >= 40 ou nf <= 70
E. Pergunta A nf >= 70 ; Pergunta B nf < 40

Questão 13:
Adaptado de: Concurso do TST - 2012 - Técnico e Analista, realizado pelo Tribunal Superior do
Trabalho.

Considere o trecho de um algoritmo em pseudocódigo que mostra comandos condicionais aninhados


com início e fim:

SE (B1)
ENTÃO INICIO
Comando1
Comando2
FIM
SE (B2)
ENTÃO Comando3
SENÃO Comando4
FIM
Comando5
 

Marque a alternativa verdadeira diante das opções a seguir:


A) Se B2 for verdadeiro, somente o Comando3 será executado.
B) O Comando5 sempre será executado.
C) O Comando5 poderá ser o único comando a ser executado.
D) O Comando4 sempre será executado, uma vez que o comando B2 é sempre falso.
E) O Comando5 nunca será executado.

Questão 14:
Analise o algoritmo abaixo:
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
ALGORITMO
DECLARE A NUMÉRICO
C LITERAL
L LÓGICO
SE ((A<10) e (C=’a’) e (L=0))
ENTÃO ESCREVA (“X1”);
SENÃO INICIO
SE ((A=10) ou (C=’a’) ou (L=0) )
ENTÃO ESCREVA (“X2”);
SENÃO INICIO
SE ((A>10) ou ((C=’a’) e (L=0)))
ENTÃO ESCREVA(“X3”);
FIM
FIM
FIM
FIM_ALGORITMO

Determine a veracidade das afirmativas que se sequem:


I – Para que a informação X1 seja escrita, é possível que A assuma o valor 5, C a variável “a” e L o
valor lógico 1.
II - Para que a informação X2 seja escrita, é possível que A assuma o valor 11, C a variável “a” e L o
valor lógico 1.
III - Para que a informação X3 seja escrita, é possível que A assuma o valor 11, C a variável “a” e L o
valor lógico 1.

É possível AFIRMAR que:

A) I e II são corretas
B) II e III são corretas
C) Apenas a afirmação II é correta
D) Apenas a afirmação III é correta

Questão 15:
Estufas climatizadas são utilizadas para produzir vegetais com alto grau de rendimento, mesmo quando
as condições ambientais externas são desfavoráveis. A climatização efetua o controle dos níveis de
variáveis que afetam diretamente o desenvolvimento dos vegetais, como temperatura, humidade,
concentração de oxigênio, dentre outras.
Considere uma estufa climatizada que produz ervilhas, cuja faixa de temperatura ótima para produção é
o o o
de 16 C a 20 C. A estufa encontra-se numa localização onde a temperatura externa é de 10 C e
dispõe de um aquecedor para controlar a temperatura interna da estrutura. O pseudocódigo abaixo
mostra um trecho do algoritmo de controle de temperatura da estufa, que é executado a cada 10
segundos. No algoritmo, LIGA_AQUECEDOR e DESLIGA_AQUECEDOR correspondem às operações
o
de ligar e desligar o aquecedor da estufa, respectivamente. A temperatura é lida em graus Celsius ( C).

Considere que o tempo de execução do trecho de pseudocódigo a seguir é de aproximadamente 1


segundo.

ESCREVA “Informe a temperatura:”


LEIA temp
SE (temp >= 20)
ENTÃO DESLIGA_AQUECEDOR
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
SE (temp <= 10)
ENTÃO LIGA_AQUECEDOR
ESCREVA temp

Diante do exposto, é correto afirmar que:


A) A temperatura da estufa é lida a cada 1 segundo.
o
B) O aquecedor é desligado quando a temperatura da estufa for igual ou superior a 20 C e ligado
o
quando a temperatura da estufa for igual ou inferior a 16 C.
C) O algoritmo necessita ser corrigido para que as ervilhas sejam produzidas de forma ótima.
D) No decorrer do tempo, dependendo da situação, o aquecedor pode ser desligado 5 segundos após
ter sido ligado.

Questão 16:
Os novos preços de combustível trazem de volta uma velha dúvida para quem tem carro flex: devemos
abastecer com gasolina ou etanol? Quando um sai mais em conta que o outro?
Um cálculo simples pode trazer a resposta na hora de escolher a melhor opção. De acordo com a
Agencia Nacional de Petróleo, só vale a pena você abastecer com etanol se o valor for até 70% do
valor da gasolina, caso contrário, é melhor abastecer com gasolina.
Para realizar o cálculo, divida o preço do litro do álcool pelo preço do litro da gasolina. Se o resultado
for menor ou igual a 0,7 o carro deve ser abastecido com álcool. Caso contrário é melhor abastecer
com gasolina.

Diante deste problema, marque a opção com o programa que recebe os preços dos combustíveis e
informa a melhor opção de abastecimento ao usuário.

a)
gasolina=input("Digite o preço da gasolina:");
etanol=input("Digite o preço do etanol:");
result=etanol/gasolina;
if (result<0.7) then
mprintf("Abasteça com etanol");
else
mprintf("Abasteça com gasolina");
end

b)
combustivel=input("Digite o preço do combustível:");
if (combustivel<0.7) then
mprintf("Abasteça com etanol");
else
mprintf("Abasteça com gasolina");
end

c)
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
gasolina=input("Digite o preço da gasolina:");
etanol=input("Digite o preço do etanol:");
result=etanol/gasolina;
if (result>=0.7) then
mprintf("Abasteça com etanol");
else
mprintf("Abasteça com gasolina");
end

d)
gasolina=input("Digite o preço da gasolina:");
etanol=input("Digite o preço do etanol:");
result=etanol/gasolina;
if (result<=0.7) then
mprintf("Abasteça com etanol");
else
mprintf("Abasteça com gasolina");
end

e)
combustivel=input("Digite o preço do combustível:");
if (combustivel<0.7) then
mprintf("Abasteça com gasolina");
else
mprintf("Abasteça com etanol");
end

Questão 17:

Dados três valores X, Y e Z, crie um algoritmo que verifique se eles podem ser os comprimentos dos
lados de um triângulo, e se forem, verificar se é um triângulo equilátero, isóscele ou escaleno. Se eles
não formarem um triângulo, escrever uma mensagem. Antes da elaboração do algoritmo, torna-se
necessário a revisão de algumas propriedades e definições.
Propriedade – o comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos
dos outros dois lados.
Definição 1 - chama-se de triângulo equilátero o que tem os comprimentos dos três lados
iguais;
Definição 2 - chama-se de triângulo isóscele o triângulo que tem os comprimentos de dois
lados iguais;
Definição 3 - chama-se triângulo escaleno o triângulo que tem os comprimentos dos três lados
diferentes.

Desenvolva o algoritmo em Fluxograma, Pseudocódigo e Scilab.

Questão 18:
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
Adaptado de Raymond e Kapuno Jr (2008). O número de Reynolds pode ser utilizado para
caracterizar diferentes regimes de escoamento, tais como laminar, transição ou turbulento. O
escoamento laminar ocorre para baixos números de Reynolds ( Re ≤ 2100 ), onde as forças viscosas
são dominantes, e é caracterizado por suave movimento do fluido. O fluxo turbulento ocorre em um
elevado número de Reynolds ( Re > 4000 ) e é dominado por forças de inércia, que tendem a produzir
redemoinhos aleatórios, vórtices e instabilidades. Para valores entre 2100 e 4000, classificamos o
escoamento como escoamento em transição.
Diante das informações sobre o número de Reynolds desenvolva um algoritmo que classifique um
escoamento dado o número de Reynolds.

Desenvolva o algoritmo em Fluxograma, Pseudocódigo e Scilab.

Questão 19:
Suponha que uma bola de massa qualquer seja arremessada para cima numa velocidade v0 . Qual é a
velocidade v(t) e sua altura acima do lançamento h(t) no instante t? A resposta, se desprezamos a
resistência do ar e um conjunto de outras pequenas influências, é
v(t) = v0 − gt
gt 2
h(t) = v0 t −
2
2
Onde = 9,81 m/s é a aceleração da gravidade na superfície da terra.
O que aconteceria se jogássemos esta bola em outro planeta? Como poderíamos fazer este tipo de
estudo?
Que tal implementarmos um menu de opções e deixarmos que o usuário escolha o planeta em que esta
bola será jogada!?
Escrevamos um código em SCILAB que permita que o usuário escolha um planeta em que quer jogar a
bola e solicita v0 e t e então informa as particularidades da bola (velocidade e altura). Aproveite o seu
programa para verificar qual a relação existente entre a gravidade, altura da bola e velocidade da bola.
Utilize a tabela a seguir para a sua implementação.
Tabela 1 Gravidade dos planetas do sistema solar.

2
Planeta Gravidade (m/s )
Mercúrio 3,7
Vênus 8,8
Terra 9,8
Marte 3,8
Júpter 26,4
Saturno 11,5
Urano 9,3
Netuno 12,2
Plutão 0,6

Questão 20:
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
Desenvolva um algoritmo que receba como entrada a temperatura do fluido e mostre na saída a
viscosidade do fluido. Utilize a tabela 1 abaixo Você deverá fazer a leitura da temperatura do fluido em
o
graus Celsius na entrada ( C ).

Dica: Tenha cuidado com as unidades. Observe que a tabela que você vai utilizar está em graus
o o
Fahrenheit ( F) mas você deverá fazer a entrada em graus Celsius ( C).
o
Temperatura ( F) Viscosidade (lb/ft/hr)
0 ≤ Temperatura < 50 242
50 ≤ Temperatura < 100 82,1
100 ≤ Temperatura <150 30,5
150 ≤ Temperatura < 200 12,6
Temperatura ≥ 200 5,7

Tabela 1: Variação da viscosidade com a temperatura (Apostila Aulas Práticas Scilab).

Desenvolva o algoritmo em Fluxograma, Pseudocódigo e Scilab.)

Estrutura de Repetição

Questão 21:
Considere o algoritmo abaixo:

Inicio
Inteiro: aux, lim1, lim2, soma, cont;
soma ß 0;
Escreva “Informe o primeiro limite:”
Leia(lim1
Escreva “Informe o Segundo limite:”
Leia lim2
Se ( lim2 < lim1)
Então início
aux = lim2
lim2 = lim1
lim1 = aux
fim
Para (cont ß lim1 até lim2) faça
soma ß soma + cont
Escreva(“O valor da soma é :”, soma)
Fim_algoritmo

Os números informados pelo usuário para lim1 e lim2 são respectivamente 7 e 3. Sobre a saída do
algoritmo é CORRETO afirmar que:
A. O valor da variável soma ao final da execução do programa é 4.
B. Não é necessária a utilização de variável aux neste programa.
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
C. Se o usuário tivesse informado para lim1, o valor 3 e para lim2, o valor 7, a variável soma ao
final da execução armazenaria o mesmo resultado se lim1 e lim2 recebessem respectivamente
7 e 3.
D. A estrutura de decisão deveria estar dentro do laço for para validar as variáveis lim1 e lim2
informadas pelo usuário.

Questão 22:

Adaptação de FUMARC – ALMG 2014


Em relação aos comandos em pseudocódigo correspondentes às estruturas de decisão e repetição dos
algoritmos, correlacione as colunas a seguir:

Comando (Pseudocódigo) Estrutura de decisão/repetição


I. Se... ( ) Estrutura de seleção composta
então
II. Enquanto ... faça ( ) Estrutura de seleção simples
III. Se.. ( ) Estrutura de repetição com variável de
então controle
Senão ..
IV. Para..até..faça ( ) Estrutura de repetição com condição no início

Assinale abaixo qual opção representa a ordem das respostas da tabela acima:
A. I, III, II, IV.
B. II, I, III, IV.
C. III, II, IV, I.
D. III, I, IV, II.
E. IV, I, III, II.

Questão 23:
Na matemática, o fatorial de um número natural n, representado por n!, é o produto de todos os inteiros
positivos menores ou iguais a n. A notação n! foi introduzida por Christian Kramp em 1808.
Exemplo: 5! = 1 x 2 x 3 x 4 x 5 = 120.

A partir dos conceitos acima, marque qual programa em Scilab apresentado abaixo, NÃO calcula
corretamente o fatorial de um número:

A) B)
n = input("Informe um numero inteiro positivo: "); n = input("Informe um numero inteiro positivo: ");
fat = 1; fat = 1;
mult = 2; mult = 1;
while mult <= n, while mult <= n,
fat = fat * mult; fat = fat * mult;
mult = mult + 1; mult = mult + 1;
end end
mprintf("%d! = %d", n, fat); mprintf("%d! = %d", n, fat);

C) D)
n = input("Informe um numero inteiro positivo: "); n = input("Informe um numero inteiro positivo: ");
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
fat = 1; fat = 1;
for mult = 2 : n, mult = 2;
fat = fat * mult; while mult <= n,
end fat = fat * mult;
mprintf("%d! = %d", n, fat); end
mprintf("%d! = %d", n, fat);

Questão 24:
Com base no programa abaixo:

resp=0;
num1=input("Digite um número: ");
num2=input("Digite outro número: ");
for i=1:num1
mprintf("Somando...");
resp=resp+num2;
end
mprintf("%d",resp);

Analise as sentenças:

I - O programa realiza a impressão da palavra "Somando..." o número de vezes correspondente ao


valor da variável num1.
II - O programa realiza a impressão da palavra "Somando..." o número de vezes correspondente ao
valor da variável num2.
III - O programa realiza a multiplicação do valor inserido na variável num1 pelo valor da variável num2,
através de somas sucessivas.
IV - O programa eleva o valor da variável num1 pelo valor da variável num2, através de somas
sucessivas.

Marque a alternativa CORRETA:

A) As sentenças I e II estão corretas


B) As sentenças I e III estão corretas
C) As sentenças II e III estão corretas
D) As sentenças II e IV estão corretas

Questão 25:
Observe o trecho de pseudocódigo, que mostra o emprego da estrutura de controle enquanto ... faça
...
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
n ß 0
ENQUANTO n < 7 FAÇA
INÍCIO
Escreva n
n ß n + 1
FIM

A opção que utiliza a estrutura Para ... faça ... correspondente, que gera o mesmo resultado é:

A) PARA n ß 0 ATÉ 7 FAÇA B) PARA n ß 0 ATÉ 6 FAÇA


INÍCIO INÍCIO
ESCREVA n ESCREVA n
n ß n + 1 FIM
FIM

C) PARA n ß 0 ATÉ 7 FAÇA D) PARA n ß 1 ATÉ 6 FAÇA


INÍCIO INÍCIO
ESCREVA n ESCREVA n
FIM FIM

Questão 26:

Filtros de médias móveis (no inglês Moving Average Filters) são extremamente comuns em
processamento digital de sinais, pois são bastante intuitivos, de fácil implementação e ótimos para a
redução de ruído. Além disso, podem ser implementados recursivamente, exigindo um mínimo de
cálculos, o que resulta também em filtros bastante rápidos, podendo ser utilizados em sistemas pouco
poderosos.
A figura a seguir ilustra uma aplicação de filtros de médias móveis, mostrando em (a) uma série
distorcida pela presença de ruído e em (b) o resultado processado pelo filtro

[Fonte: Nalon, J. A. Introdução ao Processamento Digital de Sinais. LTC, 2013]

Um exemplo do algoritmo em Pseudocódigo de um filtro de médias móveis de 2 amostras é


apresentado a seguir.
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 

Para o algoritmo apresentado, suponha que os valores lidos na entrada de dados foram, nesta ordem:
10, 1, -3, 5, 2, 6, 8, -3. Nessas condições, os primeiros 3 valores impressos pelo algoritmo são:

A. 11,0 -2,0 -2,0


B. 10,0 1,0 -3,0
C. 5,5 -1,0 -1,0
D. 5,0 5,5 -1,0
E. 5,0 0,5 -1,5

Questão 27:
Uma universidade atribui conceitos aos alunos com base na nota obtida em cada disciplina,
segundo a tabela abaixo. Escreva um algoritmo que:
a. Lê a nota de 30 alunos;
b. Informe o conceito obtido por cada aluno;
c. Informe a distribuição do percentual em cada conceito (A,B,C,D,E) obtido em relação a
todos os alunos.
NOTA CONCEITO
-------- ---------------
90..100 A
75..89 B
50..74 C
40..49 D
0..39 E

Você deve escolher qual estrutura de repetição melhor se enquadra para resolver o problema
acima.

Questão 28:
Escreva um algoritmo em Scilab e Pseudocódigo (portugol) que, dado um limite inferior x e superior n
informado pelo usuário, calcule as séries abaixo:

S1 = x + (x-1) + (x – 2) + ... + (x – n)
! ! ! !
S2 =   +   +   +   …
! !!! !!! !
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
Utilize estrutura de repetição Para (for) para calcular as séries. Os valores de x e y a serem fornecidos
devem ser números inteiros e positivos. Faça a validação desses valores utilizando Enquanto (while).
Caso o usuário informe um valor inválido, o algoritmo deve informar uma mensagem e solicitar que
informe o valor novamente. O algoritmo deve deixar prosseguir o processamento somente quando o
usuário informar um valor válido.
Você deve escolher qual estrutura de repetição melhor se enquadra para resolver o problema
acima.

Questão 29:
Devido ao uso frequente, a descarga da bateria de equipamentos eletrônicos pode se comportar de
acordo com a função proposta a seguir;
y (t ) = y0 ⋅ 2(−0,1)t
em que;
y0 é a carga inicial da bateria;
y(t)é a quantidade de carga após t horas de uso.

a) Desenvolva um programa em SCILAB, que tenha como entrada a carga inicial da bateria e
mostre como saída a carga da bateria a cada horaenquanto a carga fique maior ou igual a 1%.
b) Acrescente ao programa feito na letra a) um sistema de aviso que obedeça a seguinte tabela:

Carga (%) Aviso


10% < carga ≤ 20% Bateria fraca !
1% ≤ carga ≤ 10% Conecte ao carregador

Você deve escolher qual estrutura de repetição melhor se enquadra para resolver o problema acima.

Questão 30:
Faça um programa que receba dez números e mostre a quantidade de números primos dentre os
números que foram digitados.

Estrutura de Dados – Vetor e Matriz

Questão 31:
Suponha que, na solução do problema a seguir, um programador tenha escrito um algoritmo em alto
nível, no qual VET é um vetor de inteiro com 50 posições indexadas de 1 a 50, e as demais variáveis
são inteiras. Avalie o trecho do algoritmo abaixo:
// a função modulo(x,y) retorna o resto da divisão entre x e y

for x=1:50
if ((modulo(VET(x),2) == 0) & ((modulo(VET(x),3) == 0)) then

SOLUCAO = SOLUCAO + VET(x);


end
end

Sobre esse trecho do algoritmo acima, avalie as seguintes afirmativas:


I. O algoritmo soma todos os elementos ímpares armazenados no vetor VET.
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
II. O algoritmo soma todos os elementos armazenados no vetor que possuem o resto da divisão igual a
zero quando são divididos por 2 ou 3.
III. O algoritmo imprime a soma de todos os elementos divisíveis por 2 e 3 concomitantemente.
Assinale abaixo a opção que contém as afirmativas corretas:
A. I apenas.
B. III apenas.
C. I e III, apenas.
D. II e III, apenas.
E. I, II e III.

Questão 32:

A tabela abaixo identifica as temperaturas máximas, médias e mínimas registradas em cada estação do
ano de 2014.

Estação Máxima Média Mínima


Primavera 27 25 22
Verão 31 26 23
Outono 25 24 19
Inverno 24 22 16

Identifique o objetivo e qual informação será retornada para o usuário conforme o algoritmo em SCILAB
abaixo:

temp = [27 25 22; 31 26 23; 25 23 19; 24 22 16]


estacao = [“primavera”,”verão”,”outono”,”inverno”]
m = temp(1,2)
posicao = 1;
for L = 1:4
if temp(L,2) > m then
m = temp(L,2)
posicao = L
end
end
mprintf(“%s”,estacao(posicao))

A. A estação com a menor temperatura máxima: outono


B. A estação com a maior temperatura média: verão
C. A estação com a maior temperatura mínima: verão
D. A estação com a menor temperatura mínima: primavera
E. A estação com a maior temperatura máxima: verão

Questão 33:

Analise o algoritmo abaixo:


 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 

vetor= [1 2 3 4 5 6 7 8 9 10];
for i=1:10
for j=1:10
if (i==j) then
vetor(i)=vetor(i)+1;
end
if(i<j)then
vetor(i)=vetor(i)-1;
end
if (i>j) then
vetor(i)=vetor(i)+2;
end

end
end

Após o fim da execução do algoritmo acima, as seguintes afirmativas sobre o conteúdo do vetor são
feitas:
I – A posição 1 vetor é igual a -7.
II – A posição 6 do vetor é igual a 13.
III – A posição 10 do vetor é igual a 29.

Abaixo determine a afirmativa verdadeira:


A) I e II são Verdadeiras
B) II e III são Verdadeiras
C) I e III são Verdadeiras
D) I, II e III são Verdadeiras

Questão 34:

Um Analista recebeu a tarefa de implementar uma rotina que, a partir de uma matriz de entrada "A",
gerasse uma outra matriz de saída "B".
Um pedaço desta rotina, implementada em SCILAB está apresentado abaixo.

matrizA=[3 2 ; -4 6];
for i=1:2
for j=1:2
matrizB(i,j)=matrizA(j,i);
end
end

Considere a matriz "A" de entrada abaixo.


 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
Assinale a alternativa correta que corresponde à matriz de saída "B".

" 3 2 % " 6 2 %
A. B = $ ' B. B = $ '
# −4 6 & # −4 3 &

" −4 6 % " 3 −4 %
C. B = $ ' D. B = $ '
# 3 2 & # 2 6 &

⎡3 2⎤
E. B = ⎢
⎣2 3⎥⎦

Questão 35:

Uma loja fez um levantamento completo de suas vendas mês a mês e quanto cada um dos seus 5
vendedores vendeu em cada mês. O resultado deste levantamento foi armazenado em uma matriz
onde cada linha representa um mês de vendas e cada coluna representa as vendas de um vendedor
em cada mês. Exemplo da matriz é mostrado abaixo:

VENDEDORES
1 2 3 4 5

...
MESES

11

12

Agora o dono da loja deseja saber qual foi o vendedor que mais vendeu no ano todo. Para isso foi feito
um trecho de algoritmo mostrado abaixo:
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
maior = 999; (1)
vendedor = -1;
for I=1:5
soma_mes = 0;
for J=1:12
soma_mes=soma_mes + Vendas(I,J)
end
if (soma_mes < maior) then (2)
maior= soma_mes;
vendedor = J ; (3)
end
end
mprintf (“\n O vendedor %d foi quem vendeu mais no ano “,
vendedor);

Porém o algoritmo ficou com alguns erros de lógica nas linhas indicadas com (1), (2) e (3), e precisa ser
corrigido. Assinale a seguir quais as correções que devem ser aplicadas a esse algoritmo.

A. B.
(1) maior = -1; (1) maior = 5*12;
(2) if( maior > soma_mes) (2) if (maior > soma_mes)
(3) vendedor = J; (3) vendedor = I;

C. D.
(1) maior = 5*12; (1) maior = -1;
(2) if( soma_mes > maior) (2) if(soma_mes > maior)
(3) vendedor = J; (3) vendedor = I;

E.
(1) maior = 0;
(2) if(soma_mes > maior)
(3) vendedor = I;

Questão 36:

Um engenheiro realiza medições diárias em um equipamento. O valor da medição de cada dia da


semana é armazenado em um vetor. Após armazenar os valores é necessário realizar um ajuste nos
valores do segundo e quarto dias da semana. Para resolver o problema foi desenvolvido um programa
em Scilab.
clear;
clc;
vet = [2 3 4 5 6];
vet(2) = vet(2) * 3;
vet(4) = vet(4) + 3;
disp(vet);

Analise o código e identifique o conteúdo do vetor após execução do programa.


A. vet = [6 3 7 5 6]
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
B. vet = [3 3 7 5 6]
C. vet = [2 3 3 5 6]
D. vet = [2 9 4 8 6]
E. vet = [2 6 4 3 6]

Questão 37:

(Ascencio, 2012) Faça um programa que preencha dois vetores de dez elementos numéricos cada um
e mostre o vetor resultante da intercalação deles.
Exemplo:

Questão 38:

(Ascencio, 2012) Na teoria dos sistemas, define-se o elemento MINMAX de uma matriz como o maior
elemento da linha em que se encontra o menor elemento da matriz. Elabora um programa que carregue
uma matriz 4 x 7 com números reais, calcule e mostre seu MINMAX e sua posição (linha e coluna).

Questão 39:

A temperatura ambiente de uma região pode ser obtida a partir de um ajuste de dados experimentais
por uma série de Fourier. A função a seguir foi obtida a partir dos dados experimentais de temperatura
da cidade de Belo Horizonte no mês de agosto de 2013.
T (t) = 19, 06 + 0, 211cos ( 0, 08721⋅ t ) +[−5.51sen(0, 08721⋅ t)]
em que:
o
T = Temperatura ambiente ( C );
t = tempo em horas.

Utilizando o modelo proposto para estimar a temperatura a partir da hora fornecida desenvolva um
programa em SCILAB que calcule e mostre as seguintes informações sobre a temperatura em Belo
Horizonte nas primeiras 48 horas de agosto:

a. A temperatura média do período


 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
b. A maior temperatura registrada no período
c. A menor temperatura registrada no período
o
d. Quantas horas a temperatura ficou acima de 19 C.
o
e. Quantas horas a temperatura ficou abaixo de 16 C.

Questão 40:

(Olimpíadas Nacionais de Informática ; Portugal – 2008)


Finalmente, o local do novo aeroporto de Lisboa está escolhido: Alcochete. O aeroporto terá um imenso
volume de aviões sempre a decolar e a aterrissar. Gerir todo este tráfego aéreo não é nada fácil. A
missão dos controladores de tráfego aéreo é precisamente garantir um fluxo de aviões seguro. São eles
que, a partir da torre de controle, fornecem indicações e autorizações de vôo, de acordo com as
características da aeronave e do contexto do momento. Podem pedir aos pilotos para alterar fatores
como a rota, a altitude ou a velocidade. Programas de computador muito elaborados auxiliam os
controladores e garantem a eficácia do sistema.
Uma empresa que faz software de controle aéreo te contratou. Um dos muitos sistemas instalados
avisa do perigo de colisão entre dois aviões. Se dois aviões estiverem próximos, um alarme dispara
imediatamente. Basicamente, a empresa quer que você programe uma maneira eficiente de detectar
isto, descobrindo no meio de todo o tráfego aéreo quais são os dois aviões mais próximos um do outro.
Como simplificação, as posições dos aviões são dadas como em coordenadas (X,Y), em relação a uma
determinada origem. A altitude, direção e velocidade do avião podem ser ignoradas. Se dois aviões
2 2
tiverem posições (X1,Y1) e (X2,Y2), a distância entre eles é dada pela fórmula ( X1 − X2 ) + (Y1 − Y2 ) .
O trecho de código a seguir gera uma matriz com as coordenadas (x,y) para a posição de 4 aviões no
espaço aéreo.
for i=1:4
for j=1:2
coordenadas(i,j)=rand()*10;
end
mprintf("\n Coordenadas do avião %d ( %2.2f , %2.2f
)",i,coordenadas(i,1),coordenadas(i,2));
end

A matriz foi organizada de modo que a linhas se referem ao avião e as colunas se referem às suas
coordenadas x e y.
Escreva um programa em SCILAB que dadas as localizações (X,Y) de um conjunto de aviões, calcula
qual o par de aviões que está mais perto um do outro. Utilize o trecho de código disponibilizado acima
para gerar a matriz que contém as coordenadas dos quatro aviões.

Veja a seguir uma sugestão para a tela de saída.


 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
 
 
INSTITUTO DE ENGENHARIA E TECNOLOGIA - IET
Curso: Engenharias
Disciplina: Algoritmo e Estruturas de Dados (AEDs) Professor: Jaqueline Faria de Oliveira

Apostila Exercícios
 
REFERÊNCIAS BIBLIOGRÁFICAS

ASCENCIO, Ana Fernanda Gomes.; CAMPOS, Edilene Aparecida Veneruchi de . Fundamentos da


programação de computadores: algoritmos, Pascal e C/C++ e Java. 3.ed. São Paulo: Pearson Prentice
Hall, 2012.

HOLLOWAY, J. P.; HOLLOWAY, J. P. Introdução À Programação para Engenharia - Resolvendo


Problemas com Algoritmos. Editora Ltc, 2006.

Você também pode gostar