Escolar Documentos
Profissional Documentos
Cultura Documentos
SUMÁRIO
1. Apresentação ................................................................................................................................. 2
5. Gabarito. ..................................................................................................................................... 91
07409679409
1. APRESENTAÇÃO
Olá, pessoal,
Boa aula,
Lênin e Júnior
ALGORITMOS
algoritmo deve ser facilmente entendido, sem que seja necessária uma
grande perda de tempo para a tradução da idéia contida no mesmo. Um
algoritmo lógico deve ser, também, formado apenas pelo número mínimo
de instruções necessárias para a resolução do problema referido.
FINITUDE
Identificador
identificador letra
letra
07409679409
dígito
Tipos de Dados
Constantes
Variável
07409679409
Atribuição
EXEMPLO:
X 30
Observações Importantes
Operadores
+ Adição
- Subtração binária
* Multiplicação
/ Divisão
** ou ^ Exponenciação
- Menos unário
DIV E MOD
Operadores Relacionais
São aqueles que realizam uma comparação entre duas expressões e geram resultados
lógicos, isto é Verdadeiro ou Falso, são eles:
= 07409679409
Igual
<> ou Diferente
> Maior que
< Menor que
>= ou Maior ou igual
<= ou Menor ou igual
Operadores Lógicos
OU V F E V F NÃO V F
V V V V V F F V
F V F F F F
Prioridades
PRIORIDADE COMANDO
1ª parêntesis
2ª funções
3ª menos unário
4ª ** ou ^
5ª *e/
6ª +e-
7ª relacionais
8ª lógicos NÃO
9ª E
10ª OU
ESTRUTURA DE UM ALGORITMO
algoritmo
início
<comandos>
fim.
SEQUÊNCIA SIMPLES
07409679409
Algoritmo
Declare
B, H, AREA : real
inicio
escreva(AREA)
fim.
07409679409
Entrada de dados:
Saída de dados:
"irei ao cinema"
fim-se
Veja que grifei três palavras: se, então e fim-se. Elas são muito
importantes na estrutura dos comandos de decisão. Como próximo passo,
vamos generalizar a estrutura que criamos acima:
se <condição> então
fim-se
Fim-se
07409679409
O exemplo acima poderia ser estendido para o caso do sujeito não ter
dinheiro sobrando: "se tiver R$ 10,00 sobrando irei ao cinema hoje à
noite, mas se não tiver ficarei vendo TV em casa". Neste caso, uma
codificação possível para esse algoritmo seria:
Fim-se
Fim-se
...
Fim-se
...
Fim-se
07409679409
...
Fim-se
...
Fim-se
Se <condição> então
<ação(ões)>
fim-se
Se <condição>
então <ação(ões)>
fim-se
07409679409
Se <condição>
fim-se
Exemplo:
DELTA 4 * A * C - B ** 2
se DELTA < 0
fim-se
ANINHAMENTO DE ESTRUTURAS
Os algoritmos podem ser formados por diversas estruturas, cada uma com
uma função específica. Existem casos em que uma estrutura poderá estar
dentro de outra, e a isto dá-se o nome de aninhamento. Nada impede que
exista uma condição dentro de outra, e isto também poderá ocorrer com
as próximas estruturas de comando.
Exemplo:
Se A <> 0 Se A <> 0
então B 0 então B 0
se C <> 0 se C <> 0
então D 0 então D 0
F3 F3
Fim-se; Fim-se
G 77 G 77
Fim-se; Fim-se
Uma regra importante, que deve ser sempre seguida, é a de que o início e
o final da estrutura mais interna devem ser sempre dentro da estrutura
imediata que a contém.
MÚLTIPLA ESCOLHA
caso <expressão>
valor1 : <comando1>
...
fim-caso
Semântica:
caso < exp 1 > , < exp 2 >, ... , < exp n >
caso < exp 1 > , < exp 2 >, ... , < exp n >
outrocaso
Fim-escolha
TESTE DE MESA
25 35
escreva (a) -15 25 35 -15
a <- 0 0 25 35
b <- 0 0 0 35
c <- 0 0 0 0
Fim
ESTRUTURAS DE REPETIÇÃO
<lista de comandos>
Fim-enquanto
Algoritmo
inicio
SOMA 0
NUM 0
NUM NUM + 1
Fim-enquanto
escreva(SOMA)
fim.
07409679409
REPITA...ATÉ
Sintaxe:
repita
<lista de comandos>
07409679409
para <variável de controle> de <valor inicial> até <valor final> [passo <incremento>] faça
<lista de comandos>
Fim-para
fim-para
Tamanho [VI..VF]
Exemplo
Exemplos:
1. nomes[1] <- J “
2. idades[1] <- 35
3. nomes[3] <- M A
5. i <- 5
6. idades[i] <- 45
informação.
Ex: PESSOAS[1,3]<- T
a) da linha 3 de Valores;
b) da coluna 2 de Valores;
c) da diagonal principal;
d) da diagonal secundária; e
07409679409
07409679409
MODULARIZAÇÃO
<declaração de variáveis>
Início
<comandos>
Fim
<declaração de variáveis>
Início
<comandos>
Fim.
Nos casos onde os parâmetros efetivos devem ser variáveis (quando são
usados como parâmetros de entrada e saída), dizemos que a passagem
do parâmetro ocorre por referência, enquanto nos casos da utilização do
Algoritmo "Exemplo"
07409679409
Independência Funcional
07409679409
RECURSÃO
problema. Esta ferramenta pode ser utilizada sempre que for possível
expressar a solução de um problema em função do próprio problema.
Sendo assim, um número infinito de cálculos pode ser definido por um
programa recursivo finito, ainda que este não contenha repetições
explícitas (como do, while, for, repeat etc).
S(N) = S(N – 1) + N
Como a solução para S(N) pode ser encontrada a partir da solução de S(N
– 1), que é uma simplificação do problema, podemos continuar a diminuir
o valor de N até chegarmos a uma solução trivial, isto é, se N = 1 então
S(N) = 1.
iterativa. Porém, apenas para fins didáticos, posto que ele facilita explicar
um tipo específico de recursão, sua solução é apresentada de maneira
recursiva. Para melhor entendimento, será apresentado o exemplo da
sequência de Fibonacci:
Assim, conclui-se que deve ser evitado o uso de recursão sempre que for
conhecida uma solução óbvia, que utilize a técnica de iteração.
Entretanto, isto não deverá levar a uma rejeição incondicional do uso da
07409679409
técnica de recursão. Vale lembrar que todo programa recursivo pode ser
transformado em outro equivalente, puramente iterativo.
Vantagens X Desvantagens
Um programa recursivo é mais elegante e menor que a sua versão
iterativa, além de exibir com maior clareza o processo utilizado, desde que
o problema ou os dados sejam naturalmente definidos através de
recorrência. Por outro lado, um programa recursivo exige mais espaço de
memória e é, na grande maioria dos casos, mais lento do que a versão
iterativa.
3. QUESTÕES COMENTADAS.
Comentários
GABARITO: D.
a) I e II.
b) II e III.
c) III e IV.
d) I e III.
e) II e IV.
Comentários
GABARITO: B.
como deve ser o programa principal que, por sua vez, controlará todas
as outras tarefas distribuídas em sub-rotinas, para as quais deverá
desenvolver os respectivos algoritmos. Este cenário exemplifica o
conceito de programação
a) estruturada.
b) orientada a objetos.
c) funcional.
d) numérica.
e) orientada a aspectos.
Comentários
GABARITO: A.
a) da recursividade.
b) da iteratividade.
c) da interatividade.
e) de DLLs.
Comentários
Exemplo:
se i ≤ 1 então
retorne 1;
senão
retorne Fatorial (i - 1) * i;
fim-se
Fim Função
GABARITO: A.
05. (FCC/2013/MPAMD/A.APOIO-PROGRAMADOR/Q.44)
Considere o programa em pseudocódigo abaixo:
07409679409
É correto afirmar:
Comentários
este cálculo está errado caso o valor esperado fosse 1% das vendas. Uma
forma de escrever esta linha seria: comissãovenda*0,01. Item B
errado.
GABARITO: D.
06. (FCC/2013/MPAMD/A.APOIO-PROGRAMADOR/Q.45)
Considere o vetor vet a seguir:
aux vet[8]
vet[4] vet[6]
vet[6] vet[3]
a) ZONAAMAS
b) AMASZONA
c) SMAZONAS
d) AMASSONA
e) AMAZONAS
Comentários
será?
[1]
vet[4] A S M N Z O Z A S
vet[6]
vet[6] A S M N Z O N A S
vet[3]
vet[1] A A M S Z O N A S
aux
vet[3] A A M A Z O N A S
vet[1]
GABARITO: E.
07409679409
07409679409
O pseudocódigo acima
a) está incorreto, pois a estrutura de seleção se necessita da cláusula
então para o caso da condição ser verdadeira e da cláusula senão
para caso da condição ser falsa.
Comentários
GABARITO: B. 07409679409
O pseudocódigo apresentado
a) calcula o fatorial de cada número lido e armazena em um vetor em
ordem decrescente.
b) está incorreto, pois qualquer vetor de inteiros em todas as
linguagens de programação começam pela posição (índice) 1.
c) está incorreto, pois se forem digitados para n os valores 3, 8, 1, 9 e
07409679409
Comentários
GABARITO: D.
início
leia(n1);
leia(n2);
se
então 07409679409
media (n1+n2)/2;
senão
fim se;
fim.
Comentários
GABARITO: D.
Comentários
07409679409
GABARITO: C.
Comentários
GABARITO: E.
e) nenhuma variável terá sido alterada, pois essa condição não está
prevista no algoritmo apresentado.
Comentários 07409679409
GABARITO: B.
07409679409
a) -1
b) 7
c) 15
d) 16
e) 56
Comentários
Esta questão pode ter pêgo diversas pessoas que não estão atentas ao
enunciado, então como dica importante! Leia com atenção toda a questão
antes de resolvê-la.
GABARITO: B.
07409679409
a) Repetição.
b) Sequencial.
c) Condicional.
d) Recursiva.
Comentários
GABARITO: C.
Comentários
6 Leia (c) 15 ?
7 F (9*c+160)/5 15 59
8 Escreva (“Resultado:” f) 15 59 Resultado: 59
GABARITO: C.
Comentários
Os dois trechos de código realizam a mesma funcionalidade, porém o
primeiro código tem um desempenho mais lento para chegar ao resultado,
pois ele precisa executar a terceira linha 1000 vezes, enquanto o 2º
código chega ao resultado executando apenas duas linhas.
GABARITO: B.
Comentários
comando 1 FIM-PARA
comando n REPITA
FIM-ENQUANTO comando 1
…
comando n
ATÉ <condição>
GABARITO: E.
Comentários
Exemplo:
GABARITO: E.
Comentários
Por Exemplo, caso você queira ler o terceiro elemento do vetor teremos:
v[3].
Obs.: A única maneira da troca de x=v[0] por x=0 não alterar o resultado
do algoritmo é se o elemento do vetor com índice 0 (v[0]) for igual a zero.
GABARITO: E.
07409679409
Comentários
para <variável de controle> de <valor inicial> até <valor final> [passo <incremento>] faça
<lista de comandos>
Fim-para
GABARITO: E.
07409679409
a) 342.
b) 6.
c) 22.
d) 86.
e) 0.
Comentários
13) 1
14) 2*2=4
15) 2
16) 4*2=8
17) 3
18) 8*2=1
6
19) 6+16=
22
GABARITO: C.
Comentários
GABARITO: E.
Comentários
07409679409
GABARITO: C.
Comentários
GABARITO: E.
Comentários
GABARITO: B.
Comentários
GABARITO: C.
Comentários
GABARITO: C.
07409679409
a) I e II.
b) II e III.
c) III e IV.
d) I e III.
e) II e IV.
a) estruturada.
b) orientada a objetos.
c) funcional.
d) numérica.
e) orientada a aspectos.
a) da recursividade.
b) da iteratividade. 07409679409
c) da interatividade.
e) de DLLs.
05. (FCC/2013/MPAMD/A.APOIO-PROGRAMADOR/Q.44)
Considere o programa em pseudocódigo abaixo:
É correto afirmar:
06. (FCC/2013/MPAMD/A.APOIO-PROGRAMADOR/Q.45)
Considere o vetor vet a seguir:
aux vet[8]
vet[4] vet[6]
vet[6] vet[3]
a) ZONAAMAS
b) AMASZONA
c) SMAZONAS
d) AMASSONA
e) AMAZONAS 07409679409
O pseudocódigo acima
O pseudocódigo apresentado
vetor.
e) armazena 5 valores em um vetor e, em seguida, procura pelo maior
valor armazenado.
início
leia(n1);
leia(n2);
se
então
media (n1+n2)/2;
senão
fim se;
fim.
e) nenhuma variável terá sido alterada, pois essa condição não está
prevista no algoritmo apresentado.
a) -1
b) 7
c) 15
07409679409
d) 16
e) 56
a) Repetição.
b) Sequencial.
c) Condicional.
d) Recursiva.
07409679409
07409679409
a) 342.
b) 6.
c) 22. 07409679409
d) 86.
e) 0.
07409679409
07409679409
5. GABARITO.
GABARITO
01 02 03 04 05 06 07 08 09 10
D B A A D E B D D C
11 12 13 14 15 16 17 18 19 20
E B B C C B E E E E
21 22 23 24 25 26 27 28 29 30
C E C E B C C
07409679409