Escolar Documentos
Profissional Documentos
Cultura Documentos
Profile
http://www.itnerante.com.br/profiles/AlexandreLeninCarneiro
1
03/04/2013
Conceitos Preliminares
◦ Teoria da Computação e Algoritmos
◦ Processo de Programação
◦ Algoritmos x Linguagens de Programação
Prof. Alexandre Lênin
Máquina Hipotética
2
03/04/2013
◦ Software Básico
PROCESSAMENTO
DADOS DE ◦ Sistema Operacional
DE DADOS DE
ENTRADA DADOS SAÍDA ◦ Linguagem de Programação
◦ Software Aplicativo
Pacote de Software
Sistemas Especialistas
DADOS x PROGRAMA Inteligência Artificial
Homem
Homem Homem
Homem Homem
3
03/04/2013
Homem Homem
Categorias de Software
Computador Um algoritmo é formalmente uma sequência
finita de passos que levam a execução de
◦ Software Básico
uma tarefa.
◦ Sistema Operacional
◦ Linguagem de Programação
◦ Software Aplicativo
Pacote de Software
Sistemas Especialistas
Inteligência Artificial
Homem
4
03/04/2013
Um algoritmo que comumente é apresentado como Um algoritmo que comumente é apresentado como
solução é: solução é:
5
03/04/2013
6
03/04/2013
Resumo
◦ Gráfico
◦ Fase I: Qual é o problema ? Fluxogramas
◦ Fase II: Como se resolve o problema ? Diagramas hierárquicos de fluxo
◦ Fase III: Qual a solução mais adequada ? Gráficos de estrutra
◦ Fase IV: Como viabilizar a solução no ambiente ?
◦ Fase V: A solução contempla integralmente a ◦ Textual
especificação do problema ? Descrição Narrativa
Português Estruturado
Portugol (pseudocódigo)
7
03/04/2013
8
03/04/2013
E3 : multiplique E10 com E11 (usando a máquina de E3 : multiplique E10 com E11 (usando a máquina de
calcular) e armazene o resultado em E10 calcular) e armazene o resultado em E10
E4 : subtraia o valor 1 de E11 E4 : subtraia o valor 1 de E11
E5 : se o valor de E11 > 0, volte para E3 E5 : se o valor de E11 > 0, volte para E3
9
03/04/2013
E3 : multiplique E10 com E11 (usando a máquina de E3 : multiplique E10 com E11 (usando a máquina de
calcular) e armazene o resultado em E10 calcular) e armazene o resultado em E10
E4 : subtraia o valor 1 de E11 E4 : subtraia o valor 1 de E11
E5 : se o valor de E11 > 0, volte para E3 E5 : se o valor de E11 > 0, volte para E3
E3 : multiplique E10 com E11 (usando a máquina de E3 : multiplique E10 com E11 (usando a máquina de
calcular) e armazene o resultado em E10 calcular) e armazene o resultado em E10
E4 : subtraia o valor 1 de E11 E4 : subtraia o valor 1 de E11
E5 : se o valor de E11 > 0, volte para E3 E5 : se o valor de E11 > 0, volte para E3
10
03/04/2013
Algoritmo
<declaração de variáveis>
"O problema dos computadores é que eles fazem
exatamente aquilo que você os instruiu a fazer e não
Início
aquilo que você realmente queria que eles fizessem.“ <comandos>
- Um programador frustrado
Fim.
11
03/04/2013
12
03/04/2013
13
03/04/2013
Tabela verdade
◦ Os operadores aritméticos são os utilizados para ◦ = , <>, <=, <, >, >= 0 0 0 0 1
obter resultados numéricos
0 1 0 1 1
Operadores Lógicos
Símbolo Operação Tipo Resultado ◦ e - conjunção 1 0 0 1 0
Precedência
◦ X=Y
1ª parênteses
Atribuição
◦ X <> Y Armazena um valor em uma variável.
2ª funções
◦ X+K>Y+2
3ª + - (unário )
◦ (A mod B) = 0 <identificador> <- <expressão | identificador>
◦ (5 < Z) e (3 > 5 + 6 * 31) 4ª ** (potência ^)
◦ 4 + ( (3 + 2) * 7) 5ª * / mod div
◦ ex:
◦ (4.5 mod 5) -->> inválido 6ª + e - X5
◦ X e 5 --> inválido 7ª NÃO Nome ‘fulano’
8ª E Z X + 9 * 15
9ª OU
10ª relacionais
14
03/04/2013
São espaços utilizados nas linhas de ◦ Os comandos são executados na ordem em que
comandos de forma a refletir o alinhamento aparecem, de cima para baixo.
dos mesmos;
◦ Facilita a identificação das estruturas;
◦ Facilita a identificação dos comandos que Algoritmo SEQUÊNCIA;
“pertencem” a uma estrutura; declare <lista de variáveis>;
início
<nivel 1> <comando 1>; Os comandos serão executados
na ordem em que aparecem.
◦ <nível 2>; <comando 2>;
Comandos do nível 2; ...
◦ <fim - nível 2>; <comando n>;
<fim - nível 1>. fim.
15
03/04/2013
(FCC - 2008 - METRÔ-SP - Analista Treinee - Ciências da (FCC - 2008 - METRÔ-SP - Analista Treinee - Ciências da
Computação) Em relação à lógica de programação, considere Computação) Em relação à lógica de programação, considere
os pseudocódigos: os pseudocódigos:
(FCC - 2008 - METRÔ-SP - Analista Treinee - Ciências da (FCC - 2008 - METRÔ-SP - Analista Treinee - Ciências da
Computação) Em relação à lógica de programação, considere Computação) Em relação à lógica de programação, considere
os pseudocódigos: os pseudocódigos:
16
03/04/2013
(CESGRANRIO - 2004 - Prefeitura de Manaus - Analista de Sistemas) (CESGRANRIO - 2004 - Prefeitura de Manaus - Analista de Sistemas)
Considere a sub-rotina abaixo para responder Considere a sub-rotina abaixo para responder
às questões XX e XX. às questões XX e XX.
a) 24 a) 24
b) 28 b) 28
c) 32 c) 32
d) 34 d) 34
e) 43 e) 43
Algoritmo Números;
declare A, B, C, D, E, F, G, H, J : real; Algoritmo Media;
início declare NotaB1, NotaB2, Media : real;
escreva( ‘Digite o valor de A e B:’ ); início
leia(A, B); escreva( ‘Digite a primeira nota:’ );
C A+B+7; leia(NotaB1);
D A*B-A;
escreva( ‘Digite a segunda nota:’ );
E A*A;
F 2 * A-5*B; leia(NotaB2);
G 5*A/B-7*A; Media (NotaB1 + NotaB2)/2;
H 5*A/(B-7*A); escreva(“A Média é =“, Media);
J (A*A*A-sen(B))/7; fim.
fim.
17
03/04/2013
18
03/04/2013
Algoritmo DesvioSimples
... declare N1, N2, Media : real
se <condição> então início
<instrução para condição verdadeira>; escreva( ‘Digite duas notas:’ )
fimse
leia(N1, N2)
...
Media <- (N1 + N2)/2
◦ Condição é uma expressão lógica. se Media < 7.0 então
◦ Se o resultado da condição for verdadeiro, será escreva(‘Deve fazer o Exame Final’)
executado o comando após a palavra então. fimse
◦ Caso a condição resulte em falso, ou após a escreva(‘Média = ’, Media)
execução da instrução, o programa continua... fimalgoritmo
19
03/04/2013
20
03/04/2013
Considerando os seguintes valores: A=3, B=2, C=5 Considerando os seguintes valores: A=3, B=2, C=5
e D=7, indique o resultado da variável X, dos e D=7, indique o resultado da variável X, dos
trechos abaixo: trechos abaixo:
◦ c) se (A = 2) ou (B < 7) ◦ c) se (A = 2) ou (B < 7)
então X <- (A + 2) * (B - 2) então X <- (A + 2) * (B - 2)
senão X <- (A + B) / D * (C + D); senão X <- (A + B) / D * (C + D); X=0
21
03/04/2013
Efetuar a leitura de três valores inteiros e Efetuar a leitura de três valores inteiros e
distintos (A, B e C) e apresentar o maior valor. distintos (A, B e C) e apresentar o maior valor.
Algoritmo Um;
declare A, B, C : inteiro;
início
escreva( ‘Digite três valores inteiros: ’ );
leia(A, B, C);
se A > B
então se A > C
então escreva(A)
senão escreva(C)
fim-se
senão se B > C
então escreva(B)
senão escreva(C);
fim-se
fim-se
fim.
22
03/04/2013
Suponha que os dados de entrada SALARIO e TITULO sejam, Suponha que os dados de entrada SALARIO e TITULO sejam,
respectivamente, "1000,00" e "Doutor". Qual o valor do respectivamente, "1000,00" e "Doutor". Qual o valor do
salário com a gratificação, em reais, que será apresentado na salário com a gratificação, em reais, que será apresentado na
saída do algoritmo? saída do algoritmo?
a) 1000,00 a) 1000,00
b) 2000,00 b) 2000,00
c) 3000,00 c) 3000,00
d) 5000,00 d) 5000,00
e) 6000,00 e) 6000,00
23
03/04/2013
Exemplo
enquanto <condição> faca
<ação 1> ...
<ação 2> soma ← 0
... i ←1
<ação n> enquanto (i ≤ N) faca
fimenquanto soma ← soma + i
i ←i + 1
Os comandos do bloco de ações são fimenquanto
executados enquanto uma condição é escreval(“a soma é:”, soma)
atendida (verdadeira)
(FUMARC/2007/PREF.MUN.BETIM/Analista de (FUMARC/2007/PREF.MUN.BETIM/Analista de
Sistemas da Saúde) Considere que, no algoritmo em Sistemas da Saúde) Considere que, no algoritmo em
alto nível a seguir, todas as variáveis sejam inteiras: alto nível a seguir, todas as variáveis sejam inteiras:
Na execução desse algoritmo, o valor impresso na Na execução desse algoritmo, o valor impresso na
linha 7 é: linha 7 é:
a) 55 a) 55
b) 89 b) 89
c) 144 c) 144
d) 233 d) 233
24
03/04/2013
(FUMARC/2007/PREF.MUN.BETIM/Analista de (FUMARC/2007/PREF.MUN.BETIM/Analista de
Sistemas da Saúde) Considere que, no algoritmo em Sistemas da Saúde) Considere que, no algoritmo em
alto nível a seguir, todas as variáveis sejam inteiras: alto nível a seguir, todas as variáveis sejam inteiras:
Na execução desse algoritmo, o valor impresso na Na execução desse algoritmo, o valor impresso na
linha 7 é: linha 7 é:
a) 55 a) 55
b) 89 b) 89
c) 144 c) 144
d) 233 d) 233
X Y Z X Y Z
1 1 2 1 1 2
1 2 3
(FUMARC/2007/PREF.MUN.BETIM/Analista de (FUMARC/2007/PREF.MUN.BETIM/Analista de
Sistemas da Saúde) Considere que, no algoritmo em Sistemas da Saúde) Considere que, no algoritmo em
alto nível a seguir, todas as variáveis sejam inteiras: alto nível a seguir, todas as variáveis sejam inteiras:
Na execução desse algoritmo, o valor impresso na Na execução desse algoritmo, o valor impresso na
linha 7 é: linha 7 é:
a) 55 a) 55
b) 89 b) 89
c) 144 c) 144
d) 233 d) 233
X Y Z X Y Z
1 1 2 1 1 2
1 2 3 1 2 3
2 3 5 2 3 5
3 5 8
(FUMARC/2007/PREF.MUN.BETIM/Analista de (FUMARC/2007/PREF.MUN.BETIM/Analista de
Sistemas da Saúde) Considere que, no algoritmo em Sistemas da Saúde) Considere que, no algoritmo em
alto nível a seguir, todas as variáveis sejam inteiras: alto nível a seguir, todas as variáveis sejam inteiras:
Na execução desse algoritmo, o valor impresso na Na execução desse algoritmo, o valor impresso na
linha 7 é: linha 7 é:
a) 55 a) 55
b) 89 b) 89
c) 144 c) 144
d) 233 d) 233
X Y Z X Y Z
1 1 2 1 1 2
1 2 3 1 2 3
2 3 5 2 3 5
3 5 8 3 5 8
5 8 13 5 8 13
8 13 21
25
03/04/2013
(FUMARC/2007/PREF.MUN.BETIM/Analista de (FUMARC/2007/PREF.MUN.BETIM/Analista de
Sistemas da Saúde) Considere que, no algoritmo em Sistemas da Saúde) Considere que, no algoritmo em
alto nível a seguir, todas as variáveis sejam inteiras: alto nível a seguir, todas as variáveis sejam inteiras:
Na execução desse algoritmo, o valor impresso na Na execução desse algoritmo, o valor impresso na
linha 7 é: linha 7 é:
a) 55 a) 55
b) 89 b) 89
c) 144 c) 144
d) 233 d) 233
X Y Z X Y Z
1 1 2 1 1 2
1 2 3 1 2 3
2 3 5 2 3 5
3 5 8 3 5 8
5 8 13 5 8 13
8 13 21 8 13 21
13 21 34 13 21 34
21 34 55
(FUMARC/2007/PREF.MUN.BETIM/Analista de (FUMARC/2007/PREF.MUN.BETIM/Analista de
Sistemas da Saúde) Considere que, no algoritmo em Sistemas da Saúde) Considere que, no algoritmo em
alto nível a seguir, todas as variáveis sejam inteiras: alto nível a seguir, todas as variáveis sejam inteiras:
Na execução desse algoritmo, o valor impresso na Na execução desse algoritmo, o valor impresso na
linha 7 é: linha 7 é:
a) 55 a) 55
b) 89 b) 89
c) 144 c) 144
d) 233 d) 233
X Y Z X Y Z
1 1 2 1 1 2
1 2 3 1 2 3
2 3 5 2 3 5
3 5 8 3 5 8
5 8 13 5 8 13
8 13 21 8 13 21
13 21 34 13 21 34
21 34 55 21 34 55
34 55 89
(FUMARC/2007/PREF.MUN.BETIM/Analista de (FUMARC/2007/PREF.MUN.BETIM/Analista de
Sistemas da Saúde) Considere que, no algoritmo em Sistemas da Saúde) Considere que, no algoritmo em
alto nível a seguir, todas as variáveis sejam inteiras: alto nível a seguir, todas as variáveis sejam inteiras:
Na execução desse algoritmo, o valor impresso na Na execução desse algoritmo, o valor impresso na
linha 7 é: linha 7 é:
a) 55 a) 55
b) 89 b) 89
c) 144 c) 144
d) 233 d) 233
X Y Z X Y Z
1 1 2 1 1 2
1 2 3 1 2 3
2 3 5 2 3 5
3 5 8 3 5 8
5 8 13 5 8 13
8 13 21 8 13 21
13 21 34 13 21 34
21 34 55 21 34 55
34 55 89 34 55 89
55 89 144 55 89 144
26
03/04/2013
Algoritmo Exerc_Um;
Escrever um programa que lê dois números var inicial, final, aux, cont : inteiro;
inteiros, inicial e final, e mostra na tela os números início
inteiros do inicial até o final (inclusive). Critica: o escreva( ‘Digite dois números inteiros:’ );
leia( inicial, final );
número final deve ser maior do que o inicial.
se inicial > final
então troca(inicial, final);
Implemente um programa que calcula a soma dos fim-se; início
cont <- inicial; Aux <- inicial;
números pares entre dois números lidos (inclusive). inicial <- final;
enquanto (cont <= final) faça
final <- Aux;
início
fim;
Escrever programa para calcular, para N (inteiro) escreva( cont );
lido, o valor de S, dado por cont <- cont + 1;
1 2 3 N 1 N fim;
S ... fim.
N N 1 N 2 2 1
repita
comandos O bloco de comandos é
<ação 1>
executado uma vez.
<ação 2>
Se a condição for falsa, os
comandos serão
...
cond Falso
executados novamente; <ação n>
caso contrário, a repetição ate <condição>
Verdadeiro
não acontecerá e o
Os comandos do bloco de ações são executados até
programa continua.
27
03/04/2013
Dado o valor de N, calcular a soma dos Exemplo 2 Este exemplo calcula a média de
uma quantidade variável de notas.
leia(Nota);
números inteiros de 1 a N repita
Quando o operador digitar o valor
-1 (FLAG), será calculada a média.
Total <- Total + Nota;
... N <- N + 1; O exemplo funciona
soma ← 0 leia(Nota); corretamente? Por quê?
até (Nota = -1);
i ← 1
Media <- Total / N;
repita escreva( Media );
soma ← soma + i
i ← i + 1
ate (i > N)
escreval(“a soma é:”, soma)
(CESGRANRIO - 2004 -
Prefeitura de Manaus -
Analista de Sistemas) Com
base no algoritmo acima, e
supondo que o valor
fornecido para "B" na linha
"leia B" seja 5, pode-se
afirmar que o valor da
variável "A" na linha "escreva
A" é:
a) 7
b) 9
c) 12
d) 16
e) 21
28
03/04/2013
29
03/04/2013
(FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere: (FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere:
Dado o algoritmo representado na forma de português Dado o algoritmo representado na forma de português
estruturado, o valor de saída contido na variável RESP será estruturado, o valor de saída contido na variável RESP será
a) 342. a) 342.
ContaA ContB EXP RESP
(FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere: (FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere:
Dado o algoritmo representado na forma de português Dado o algoritmo representado na forma de português
estruturado, o valor de saída contido na variável RESP será estruturado, o valor de saída contido na variável RESP será
a) 342.
ContA ContB EXP RESP
a) 342.
ContaA ContB EXP RESP
b)
2 6. 2 algoritmo PROVA b)
2 6. 1 2 2 algoritmo PROVA
var N, X, CONTA, CONTB, EXP, RESP: inteiro var N, X, CONTA, CONTB, EXP, RESP: inteiro
c) 22. inicio c) 22. inicio
d) 86. N←4 d) 86. N←4
X←2 X←2
e) 0. RESP ← X
e) 0. RESP ← X
para CONTA ← 2 até N passo 2 faça para CONTA ← 2 até N passo 2 faça
EXP ← X EXP ← X
CONTB ← 1 CONTB ← 1
para CONTB ← 1 até CONTA-1 passo 1 faça para CONTB ← 1 até CONTA-1 passo 1 faça
EXP ← EXP * X EXP ← EXP * X
fim-para fim-para
RESP ← RESP + EXP RESP ← RESP + EXP
fim-para fim-para
fim fim
(FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere: (FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere:
Dado o algoritmo representado na forma de português Dado o algoritmo representado na forma de português
estruturado, o valor de saída contido na variável RESP será estruturado, o valor de saída contido na variável RESP será
a) 342.
ContaA ContB EXP RESP
a) 342.
ContaA ContB EXP RESP
b)
2 6. 1 2 2 algoritmo PROVA b)
2 6. 1 2 2 algoritmo PROVA
var N, X, CONTA, CONTB, EXP, RESP: inteiro var N, X, CONTA, CONTB, EXP, RESP: inteiro
c) 22. 1 4
inicio c) 22. 1 4
inicio
d) 86. N←4 d) 86. 6 N←4
X←2 X←2
e) 0. RESP ← X
e) 0. RESP ← X
para CONTA ← 2 até N passo 2 faça para CONTA ← 2 até N passo 2 faça
EXP ← X EXP ← X
CONTB ← 1 CONTB ← 1
para CONTB ← 1 até CONTA-1 passo 1 faça para CONTB ← 1 até CONTA-1 passo 1 faça
EXP ← EXP * X EXP ← EXP * X
fim-para fim-para
RESP ← RESP + EXP RESP ← RESP + EXP
fim-para fim-para
fim fim
30
03/04/2013
(FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere: (FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere:
Dado o algoritmo representado na forma de português Dado o algoritmo representado na forma de português
estruturado, o valor de saída contido na variável RESP será estruturado, o valor de saída contido na variável RESP será
a) 342.
ContaA ContB EXP RESP
a) 342.
ContaA ContB EXP RESP
b)
2 6. 1 2 2 algoritmo PROVA b)
2 6. 1 2 2 algoritmo PROVA
var N, X, CONTA, CONTB, EXP, RESP: inteiro var N, X, CONTA, CONTB, EXP, RESP: inteiro
c) 22. 1 4
inicio c) 22. 1 4
inicio
d) 86. 6 N←4 d) 86. 6 N←4
X←2 X←2
e)
4 0.
RESP ← X
e)
4 0. 1 2
RESP ← X
para CONTA ← 2 até N passo 2 faça para CONTA ← 2 até N passo 2 faça
EXP ← X EXP ← X
CONTB ← 1 CONTB ← 1
para CONTB ← 1 até CONTA-1 passo 1 faça para CONTB ← 1 até CONTA-1 passo 1 faça
EXP ← EXP * X EXP ← EXP * X
fim-para fim-para
RESP ← RESP + EXP RESP ← RESP + EXP
fim-para fim-para
fim fim
(FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere: (FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere:
Dado o algoritmo representado na forma de português Dado o algoritmo representado na forma de português
estruturado, o valor de saída contido na variável RESP será estruturado, o valor de saída contido na variável RESP será
a) 342.
ContaA ContB EXP RESP
a) 342.
ContaA ContB EXP RESP
b)
2 6. 1 2 2 algoritmo PROVA b)
2 6. 1 2 2 algoritmo PROVA
var N, X, CONTA, CONTB, EXP, RESP: inteiro var N, X, CONTA, CONTB, EXP, RESP: inteiro
c) 22. 1 4
inicio c) 22. 1 4
inicio
d) 86. 6 N←4 d) 86. 6 N←4
X←2 X←2
e)
4 0. 1 2
RESP ← X
e)
4 0. 1 2
RESP ← X
1 4 para CONTA ← 2 até N passo 2 faça 1 4 para CONTA ← 2 até N passo 2 faça
EXP ← X EXP ← X
2
CONTB ← 1 CONTB ← 1
para CONTB ← 1 até CONTA-1 passo 1 faça para CONTB ← 1 até CONTA-1 passo 1 faça
EXP ← EXP * X EXP ← EXP * X
fim-para fim-para
RESP ← RESP + EXP RESP ← RESP + EXP
fim-para fim-para
fim fim
(FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere: (FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere:
Dado o algoritmo representado na forma de português Dado o algoritmo representado na forma de português
estruturado, o valor de saída contido na variável RESP será estruturado, o valor de saída contido na variável RESP será
a) 342.
ContaA ContB EXP RESP
a) 342.
ContaA ContB EXP RESP
b)
2 6. 1 2 2 algoritmo PROVA b)
2 6. 1 2 2 algoritmo PROVA
var N, X, CONTA, CONTB, EXP, RESP: inteiro var N, X, CONTA, CONTB, EXP, RESP: inteiro
c) 22. 1 4
inicio c) 22. 1 4
inicio
d) 86. 6 N←4 d) 86. 6 N←4
X←2 X←2
e)
4 0. 1 2
RESP ← X
e)
4 0. 1 2
RESP ← X
1 4 para CONTA ← 2 até N passo 2 faça 1 4 para CONTA ← 2 até N passo 2 faça
EXP ← X EXP ← X
2 8 2 8
CONTB ← 1 CONTB ← 1
para CONTB ← 1 até CONTA-1 passo 1 faça 3 para CONTB ← 1 até CONTA-1 passo 1 faça
EXP ← EXP * X EXP ← EXP * X
fim-para fim-para
RESP ← RESP + EXP RESP ← RESP + EXP
fim-para fim-para
fim fim
31
03/04/2013
(FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere: (FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere:
Dado o algoritmo representado na forma de português Dado o algoritmo representado na forma de português
estruturado, o valor de saída contido na variável RESP será estruturado, o valor de saída contido na variável RESP será
a) 342.
ContaA ContB EXP RESP
a) 342.
ContaA ContB EXP RESP
b)
2 6. 1 2 2 algoritmo PROVA b)
2 6. 1 2 2 algoritmo PROVA
var N, X, CONTA, CONTB, EXP, RESP: inteiro var N, X, CONTA, CONTB, EXP, RESP: inteiro
c) 22. 1 4
inicio c) 22. 1 4
inicio
d) 86. 6 N←4 d) 86. 6 N←4
X←2 X←2
e)
4 0. 1 2
RESP ← X
e)
4 0. 1 2
RESP ← X
1 4 para CONTA ← 2 até N passo 2 faça 1 4 para CONTA ← 2 até N passo 2 faça
EXP ← X EXP ← X
2 8 2 8
CONTB ← 1 CONTB ← 1
3 16 para CONTB ← 1 até CONTA-1 passo 1 faça 3 16 para CONTB = 1 até CONTA-1 passo 1 faça
EXP ← EXP * X EXP ← EXP * X
fim-para 22 fim-para
RESP ← RESP + EXP RESP ← RESP + EXP
fim-para fim-para
fim fim
(FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere: (FCC - 2010 - TRF - 4ª REGIÃO - Analista Judiciário) Considere:
Dado o algoritmo representado na forma de português Dado o algoritmo representado na forma de português
estruturado, o valor de saída contido na variável RESP será estruturado, o valor de saída contido na variável RESP será
a) 342.
ContaA ContB EXP RESP
a) 342.
b)
2 6. 1 2 2 algoritmo PROVA b) 6. algoritmo PROVA
var N, X, CONTA, CONTB, EXP, RESP: inteiro var N, X, CONTA, CONTB, EXP, RESP: inteiro
c) 22. 1 4
inicio c) 22. inicio
d) 86. 6 N←4 d) 86. N←4
X←2 X←2
e)
4 0. 1 2
RESP ← X
e) 0. RESP ← X
1 4 para CONTA ← 2 até N passo 2 faça para CONTA ← 2 até N passo 2 faça
EXP ← X EXP ← X
8
CONTB ← 1 CONTB ← 1
16 para CONTB = 1 até CONTA-1 passo 1 faça para CONTB = 1 até CONTA-1 passo 1 faça
EXP ← EXP * X EXP ← EXP * X
22 fim-para fim-para
RESP ← RESP + EXP RESP ← RESP + EXP
fim-para fim-para
fim fim
INTERROMPA;
se (<condição>)
então interrompa;
fim-se;
32
03/04/2013
ERRADO
CERTO
33
03/04/2013
34
03/04/2013
35
03/04/2013
(FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja (FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja
dado
0 2
o 1programa: 0
dado2
o 1programa:
1 -1 -1
Marque a alternativa que representa o valor Marque a alternativa que representa o valor
da variável soma a ser impresso por esse da variável soma a ser impresso por esse
programa. programa.
a) 20 a) 20
b) 60 b) 60
c) 40 c) 40
d) 34 d) 34
(FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja (FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja
dado
0 2
o 1programa: 0
dado2
o 1programa:
1 -1 -1 1 -1 -1
Marque a alternativa que representa o valor Marque a alternativa que representa o valor
3 0 3 0
da variável soma a ser impresso por esse da variável soma
6 1
a ser impresso por esse
programa. programa.
a) 20 a) 20
b) 60 b) 60
c) 40 c) 40
d) 34 d) 34
(FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja (FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja
dado
0 2
o 1programa: 0
dado 2
o 1programa:
1 -1 -1 1 -1 -1
Marque a alternativa que representa o valor Marque a alternativa que representa o valor
3 0 3 0
da variável soma
6 1
a ser impresso por esse da variável soma
6 1
a ser impresso por esse
programa.0 -1
11 programa.0 -1
11
a) 20 17a) 20 0
b) 60 b) 60
c) 40 c) 40
d) 34 d) 34
36
03/04/2013
(FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja (FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja
0
dado 2
o 1programa: dado
0 2
o 1programa:
1 -1 -1 1 -1 -1
Marque a alternativa que representa o valor Marque a alternativa que representa o valor
3 0 3 0
da
6
variável soma
1
a ser impresso por esse da
6
variável soma
1
a ser impresso por esse
programa.0 -1
11 programa.0 -1
11
17a) 20 0 17a) 20 0
b) 60 b) 60
24 1 24 1
33 1 -1
c) 40 c) 40
d) 34 d) 34
(FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja (FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja
0
dado 2
o 1programa: dado
0 2
o 1programa:
1 -1 -1 1 -1 -1
Marque a alternativa que representa o valor Marque a alternativa que representa o valor
3 0 3 0
da variável soma
6 1
a ser impresso por esse da variável soma
6 1
a ser impresso por esse
programa.0 -1
11 programa.0 -1
11
17a) 20 0 17a) 20 0
b) 60 b) 60
24 1 24 1
33 1 -1 33 1 -1
c) 40 c) 40
33 0 33 0
d) 34 34d) 34 1
(FUMARC/2004/Analista
soma ix iy dy dx
de Sistemas) Seja (FUMARC/2004/Analista de Sistemas) Seja
0
dado 2
o 1programa: dado o programa:
1 -1 -1
Marque a alternativa que representa o valor Marque a alternativa que representa o valor
3 0
da variável soma
6 1
a ser impresso por esse da variável soma a ser impresso por esse
programa.0 -1
11 programa.
17a) 20 0 a) 20
b) 60 b) 60
24 1
33 1 -1
c) 40 c) 40
33 0
34d) 34 1 d) 34
37
03/04/2013
A matriz "B" resultante da execução do algoritmo A matriz "B" resultante da execução do algoritmo
acima, tendo a matriz "A" como entrada, é: acima, tendo a matriz "A" como entrada, é:
a) d) a) d)
b) b)
e) e)
c) c)
38
03/04/2013
(FUMARC/2007/PREF.MUN.BETIM/Analista (FUMARC/2007/PREF.MUN.BETIM/Analista
de Sistemas da Saúde) Considere que no de Sistemas da Saúde) Considere que no
algoritmo em alto nível a seguir, M seja algoritmo em alto nível a seguir, M seja
uma matriz de booleanos contendo 8 uma matriz de booleanos contendo 8
linhas, indexadas de 0 a 7, e 3 colunas, linhas, indexadas de 0 a 7, e 3 colunas,
indexadas de 0 a 2; X, Y e Z sejam indexadas de 0 a 2; X, Y e Z sejam
variáveis inteiras; e todas as demais variáveis inteiras; e todas as demais
variáveis sejam booleanas. variáveis sejam booleanas.
Considere ainda que M seja a seguinte Considere ainda que M seja a seguinte
matriz: matriz:
Os valores impressos no fim da execução Os valores impressos no fim da execução
do algoritmo são: do algoritmo são:
a) 0 e 5 a) 0 e 5
b) 4 e 4 b) 4 e 4
c) 7 e 3 c) 7 e 3
d) 8 e 8 d) 8 e 8
Confiabilidade instrução 1
instrução 2
Legibilidade instrução n
Flexibilidade. instrução 1
instrução 2
ativa bloco A
instrução m
Programa Programa
Bloco A Bloco A
instrução 1 instrução 1
instrução 2 instrução 2
instrução n instrução n
instrução 1 instrução 1
instrução 2 instrução 2
ativa bloco A ativa bloco A
instrução m instrução m
39
03/04/2013
Programa Programa
Bloco A Bloco A
instrução 1 instrução 1
instrução 2 instrução 2
instrução n instrução n
instrução 1 instrução 1
instrução 2 instrução 2
ativa bloco A ativa bloco A
instrução m instrução m
Programa Programa
Bloco A Bloco A
instrução 1 instrução 1
instrução 2 instrução 2
instrução n instrução n
instrução 1 instrução 1
instrução 2 instrução 2
ativa bloco A ativa bloco A
instrução m instrução m
Programa Programa
Bloco A Bloco A
instrução 1 instrução 1
instrução 2 instrução 2
instrução n instrução n
instrução 1 instrução 1
instrução 2 instrução 2
ativa bloco A ativa bloco A
instrução m instrução m
40
03/04/2013
41
03/04/2013
42
03/04/2013
Estrutura do VisuALG
http://www.apoioinformatica.inf.br/o-visualg
“Algoritmo 1”
Converter reais em dólar
Prof Lênin
Declaração
Linhas dedas variáveis
Comandos:
2013
Ex:
Ex:
Qtd_reais : real
Escreva
Cotacao : real
Escreval
Leia
43
03/04/2013
com timer.
var
VAR n1, n2, d: inteiro
declaração de variáveis
Passo (F8): Inicia (ou continua) a execução .
inicio
linha por linha do pseudocódigo .
. escreval("Digite dois numeros")
INICIO DO ALGORITMO
Parar (Ctrl-F2): Termina imediatamente a bloco de comandos
leia(n1)
leia(n2)
execução do pseudocódigo. .
.
d<-n1+n2
44
03/04/2013
Exemplos:
a b aEb a OU b NAO a NAO b
◦ cond1 ← verdadeiro E falso // (falso)
◦ cond2 ← falso OU falso //(falso) V V V V F F
◦ cond3 ← NAO cond1 // (verdadeiro) V F F V F V
◦ cond4 ← (verdadeiro E falso) OU (5 > 3)
// (verdadeiro)
F V F V V F
F F F F V V
45
03/04/2013
Função Descrição
Abs (valor : real) : real Valor absoluto Pressonando Utilizados para descrever texto
Asc (s : caracter) : inteiro Retorna o código ASCII (CTRL+J) o
visualg esclarecendo trechos do código
Compr (c : caracter) : inteiro Retorna o tamanho da cadeia de
caracteres
mostra uma
Lista de ◦ {} (Farrer) ou
Cos (valor : real) : real Cosseno funções
predefinidas
◦ // (C++, Visualg) ou
Exp (<base>,<expoente>) Exponenciação
Int (valor : real) : inteiro Converte o valor em
inteiro
leia (n1) - O valor digitado será armazenado na variável n1. Obs: escreval imprime a variável na tela e o cursor vai
leia (k) - Um ou vários caracteres digitados serão armazenados para uma nova linha.
na variável k (Definida como caractere).
Exemplos:
No caso de utilizar leia (<lista de variáveis>), será
respeitada a ordem da lista de variáveis, da esquerda para escreva (n1) - Será mostrado na tela o conteúdo da variável n1.
direita.
escreva (“O texto digitado foi ”, k) - Será mostrado o texto entre
◦ Exemplo: leia (n1, k, n2) “” e depois o conteúdo da variável k.
46
03/04/2013
Exemplo:
algoritmo "Divisão"
var
n1, n2: inteiro
resultado: real
inicio
escreva ("Digite o dividendo ==> ")
leia (n1)
escreva ("Digite o divisor ==> ") Algoritmos e Estruturas de Dados
leia (n2)
se (n2=0) entao Módulo I
escreva ("impossivel dividir por 0")
senao
resultado <- n1/n2
escreva ("O resultado eh ==>", resultado)
fimse
fimalgoritmo
ERRADO
47
03/04/2013
(CESGRANRIO - 2012 - CMB - Assistente Técnico (CESGRANRIO - 2012 - CMB - Assistente Técnico
- Administrativo - Programador de Computador) - Administrativo - Programador de Computador)
Na resolução de problemas relacionados com a Na resolução de problemas relacionados com a
construção de algoritmos, são usadas diversas construção de algoritmos, são usadas diversas
estratégias. Uma delas consiste em dividir o estratégias. Uma delas consiste em dividir o
problema em problemas menores até que cada problema em problemas menores até que cada
parte seja pequena o bastante para que a solução parte seja pequena o bastante para que a solução
seja encontrada. Tal estratégia denomina-se seja encontrada. Tal estratégia denomina-se
a) comutação a) comutação
b) decomposição b) decomposição
c) diversificação c) diversificação
d) qualificação d) qualificação
e) variação e) variação
(FCC/2012/TRT - 6ª Região (PE)/Técnico Judiciário - Tecnologia da (FCC/2012/TRT - 6ª Região (PE)/Técnico Judiciário - Tecnologia da
Informação) Sobre o algoritmo acima, é correto afirmar: Informação) Sobre o algoritmo acima, é correto afirmar:
b) A mensagem "Situação 3" será exibida b) A mensagem "Situação 3" será exibida
apenas se o valor digitado e armazenado apenas se o valor digitado e armazenado
na variável valor for maior do que 10. na variável valor for maior do que 10.
e) A mensagem "Situação 1" será exibida e) A mensagem "Situação 1" será exibida
apenas de o valor lido para a variável apenas de o valor lido para a variável
valor for maior ou igual a zero e menor valor for maior ou igual a zero e menor
do que 5. do que 5.
(FCC - 2012 - TST - Técnico Judiciário - Programação) Fornecidos os dados (FCC - 2012 - TST - Técnico Judiciário - Programação) Fornecidos os dados
das candidatas ao time de basquete: altura, peso e idade e as restrições das candidatas ao time de basquete: altura, peso e idade e as restrições
abaixo: abaixo:
altura: de 1.70 a 1.85 m peso: de 48 a 60 kg idade: de 15 a 20 anos altura: de 1.70 a 1.85 m peso: de 48 a 60 kg idade: de 15 a 20 anos
O trecho de algoritmo, em pseudocódigo, que verifica corretamente se os O trecho de algoritmo, em pseudocódigo, que verifica corretamente se os
dados se enquadram nas restrições fornecidas é: dados se enquadram nas restrições fornecidas é:
a) b)
48
03/04/2013
(FCC - 2012 - TST - Técnico Judiciário - Programação) Fornecidos os dados (FCC - 2012 - TST - Técnico Judiciário - Programação) Fornecidos os dados
das candidatas ao time de basquete: altura, peso e idade e as restrições das candidatas ao time de basquete: altura, peso e idade e as restrições
abaixo: abaixo:
altura: de 1.70 a 1.85 m peso: de 48 a 60 kg idade: de 15 a 20 anos altura: de 1.70 a 1.85 m peso: de 48 a 60 kg idade: de 15 a 20 anos
O trecho de algoritmo, em pseudocódigo, que verifica corretamente se os O trecho de algoritmo, em pseudocódigo, que verifica corretamente se os
dados se enquadram nas restrições fornecidas é: dados se enquadram nas restrições fornecidas é:
c)
se ( 170 ≤ altura ≤ 1.85 ) e (48 ≤ peso ≤ 60) e (15 ≤ idade ≤ 20) d)
então se ((altura >=1.70 e altura <= 1.85)
imprima (" Candidata aprovada") e (peso >= 48 e peso <= 60) e (idade >=15 e idade <=20))
senão então
imprima ("Candidata reprovada") imprima("Candidata aprovada")
senão
imprima("Candidata reprovada")
(FCC - 2012 - TST - Técnico Judiciário - Programação) Fornecidos os dados (FCC - 2012 - TST - Técnico Judiciário - Programação) Fornecidos os dados
das candidatas ao time de basquete: altura, peso e idade e as restrições das candidatas ao time de basquete: altura, peso e idade e as restrições
abaixo: abaixo:
altura: de 1.70 a 1.85 m peso: de 48 a 60 kg idade: de 15 a 20 anos altura: de 1.70 a 1.85 m peso: de 48 a 60 kg idade: de 15 a 20 anos
O trecho de algoritmo, em pseudocódigo, que verifica corretamente se os O trecho de algoritmo, em pseudocódigo, que verifica corretamente se os
dados se enquadram nas restrições fornecidas é: dados se enquadram nas restrições fornecidas é:
d) e)
se ((altura >=1.70 e altura <= 1.85) se ((altura >= 1.70 e altura <= 1.85)
e (peso >= 48 e peso <= 60) e (idade >=15 e idade <=20)) ou (peso>=48 e peso <=60) ou (idade >= 15 e idade <=20))
então então
imprima("Candidata aprovada") imprima ("Candidata aprovada")
senão senão
imprima("Candidata reprovada") imprima ("Candidata reprovada")
CORRETO
49
03/04/2013
(FCC - 2012 - TRE-CE - Técnico Judiciário - Programação de (FCC - 2012 - TRE-CE - Técnico Judiciário - Programação de
Sistemas) Considere o algoritmo seguinte: Sistemas) Considere o algoritmo seguinte:
A saída na tela será A saída na tela será
a) 0. a) 0.
b) 2, 4, 8, 16 e 16. b) 2, 4, 8, 16 e 16.
c) 2, 4, 8 e 8. c) 2, 4, 8 e 8.
d) 1. d) 1.
e) 0, 0, 0, 0 e 0. e) 0, 0, 0, 0 e 0.
Res Cont X N Res Cont X N
0 1 2 4 0 1 2 4
0 2 0 2
0 3
(FCC - 2012 - TRE-CE - Técnico Judiciário - Programação de (FCC - 2012 - TRE-CE - Técnico Judiciário - Programação de
Sistemas) Considere o algoritmo seguinte: Sistemas) Considere o algoritmo seguinte:
A saída na tela será A saída na tela será
a) 0. a) 0.
b) 2, 4, 8, 16 e 16. b) 2, 4, 8, 16 e 16.
c) 2, 4, 8 e 8. c) 2, 4, 8 e 8.
d) 1. d) 1.
e) 0, 0, 0, 0 e 0. e) 0, 0, 0, 0 e 0.
(FCC - 2012 - TJ-RJ - Analista Judiciário - Análise de Sistemas) O (FCC - 2012 - TJ-RJ - Analista Judiciário - Análise de Sistemas) O
seguinte trecho de pseudo-código representa a definição de uma função seguinte trecho de pseudo-código representa a definição de uma função
(sub-rotina) f com um único argumento x. (sub-rotina) f com um único argumento x.
f(x) f(x)
x←x+1 x←x+1
devolva x devolva x
Considere agora o seguinte trecho de código que invoca a função f Considere agora o seguinte trecho de código que invoca a função f
definida acima. definida acima.
a←0 A execução do trecho de código acima resultaria na escrita de a←0
escreva a a) 0, 1 e 0 no caso de passagem de parâmetros por valor e 0, 1 escreva a
escreva f(a) e 0 no caso de passagem de parâmetros por referência. escreva f(a)
escreva a b) 0, 1 e 1 no caso de passagem de parâmetros por valor e 0, 1 escreva a
e 0 no caso de passagem de parâmetros por referência.
c) 0, 1 e 0 no caso de passagem de parâmetros por valor e 0, 1
e 1 no caso de passagem de parâmetros por referência. A execução do trecho de código acima resultaria na escrita de
d) 0, 1 e 1 no caso de passagem de parâmetros por valor e 0, 1
a) 0, 1 e 0 no caso de passagem de parâmetros por valor e
e 1 no caso de passagem de parâmetros por referência.
e) 0, 0 e 0 no caso de passagem de parâmetros por valor e 0, 1
0, 1 e 0 no caso de passagem de parâmetros por referência.
e 1 no caso de passagem de parâmetros por referência.
50
03/04/2013
(FCC - 2012 - TJ-RJ - Analista Judiciário - Análise de Sistemas) O (FCC - 2012 - TJ-RJ - Analista Judiciário - Análise de Sistemas) O
seguinte trecho de pseudo-código representa a definição de uma função seguinte trecho de pseudo-código representa a definição de uma função
(sub-rotina) f com um único argumento x. (sub-rotina) f com um único argumento x.
f(x) f(x)
x←x+1 x←x+1
devolva x devolva x
Considere agora o seguinte trecho de código que invoca a função f Considere agora o seguinte trecho de código que invoca a função f
definida acima. definida acima.
a←0 a←0
escreva a escreva a
escreva f(a) escreva f(a)
escreva a escreva a
(FCC - 2012 - TJ-RJ - Analista Judiciário - Análise de Sistemas) O (FCC - 2012 - TJ-RJ - Analista Judiciário - Análise de Sistemas) O
seguinte trecho de pseudo-código representa a definição de uma função seguinte trecho de pseudo-código representa a definição de uma função
(sub-rotina) f com um único argumento x. (sub-rotina) f com um único argumento x.
f(x) f(x)
x←x+1 x←x+1
devolva x devolva x
Considere agora o seguinte trecho de código que invoca a função f Considere agora o seguinte trecho de código que invoca a função f
definida acima. definida acima.
a←0 a←0
escreva a escreva a
escreva f(a) escreva f(a)
escreva a escreva a
51