Escolar Documentos
Profissional Documentos
Cultura Documentos
PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de
Trás-os-Montes
Manual de
Algoritmia
Índice
1. Introduçã o à Ló gica de Programaçã o................................................................................................4
1.1. Ló gica...............................................................................................................................................4
1.4. Algoritmos.......................................................................................................................................5
1.5. Exercícios.........................................................................................................................................7
2. Desenvolvimento de Algoritmos........................................................................................................8
2.3. Fluxogramas....................................................................................................................................9
2.3.2. Simbologia.................................................................................................................................10
3.1. Constantes.....................................................................................................................................11
3.4. Exercícios.......................................................................................................................................14
4.5. Exercícios.......................................................................................................................................19
5. Funçõ es Pré-Definidas......................................................................................................................20
5.2. Exercícios.......................................................................................................................................23
6. Estruturas condicionais....................................................................................................................24
8. Desvios...............................................................................................................................................32
8.1. Ir para.............................................................................................................................................32
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
9. Procedimentos...................................................................................................................................33
1.1. Lógica
1.3. Instruções
Convém ressaltar que uma ordem isolada não permite realizar o processo
completo, para isso é necessário um conjunto de instruções colocadas numa ordem
sequencial lógica.
É evidente que essas instruções têm que ser executadas numa ordem
adequada – não se pode fritar as batatas e só depois descascá-las.
Assim sendo, uma instrução isolada não tem muito sentido; para obtermos o
resultado, precisamos de colocar em prática o conjunto de todas as instruções, na
ordem correta.
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
1.4. Algoritmos
Etc.
Até mesmo coisas simples, podem ser descritas por sequências lógicas. Por
exemplo:
- Pegar na pastilha
- Retirar o papel
Podemos, então, definir algoritmo como uma sequência finita de ações que
descrevem o modo de resolução de um problema.
Ter fim;
1.5. Exercícios
5. Supõe que temos um robô à nossa disposição. Esse robô chama-se MANNY e
precisa de ser ensinado a fazer determinadas tarefas. Para ensinar o MANNY,
vamos dar-lhe as instruções necessárias à execução de cada atividade. Escreve
os passos necessários para o nosso robot:
2. Desenvolvimento de Algoritmos
2.1. Pseudocódigo
O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve
ser o intermediário entre a linguagem falada e a linguagem de programação.
1. Dá um título ao algoritmo;
3. O algoritmo começa com a palavra Início e termina com a palavra Fim; Utiliza
comentários com frequência (isto torna o algoritmo mais legível e facilita o
entendimento da lógica utilizada. Qualquer algoritmo deverá ser lido e entendido
por outras pessoas (e por ti próprio) de maneira que possa ser corrigido e receba
alterações);
4. Escolhe nomes de variáveis significativos, evita, todavia, nomes muito longos; Ex:
Escolhe SalBruto ou SalarioBruto ao invés de SB ou VAR1
6. Coloca apenas uma instrução por linha. Várias instruções numa linha causam
ilegibilidade e dificultam a depuração.
7. Usa identação nas instruções de acordo com o nível que estejam, ou seja, alinha as
instruções do mesmo nível e desloca instruções de nível inferior.
7. Testa cada passo do algoritmo, com todos os seus caminhos para verificar se o
processamento está gerando os resultados esperados (para tal testa o algoritmo
com valores reais).
2.3. Fluxogramas
2.3.1.Introdução ao fluxograma
2.3.2.Simbologia
3.1. Constantes
Qualquer programa opera com dados. Os dados num programa podem ser
utilizados sob a forma de constantes ou de variáveis.
Q
QUANT
QUANTIDADE
X2
TAXA_ANUAL
Por exemplo:
Nota: repara que, com strings, se usam plicas e com valores numéricos não.
Quando se utiliza 2000 (sem plicas), tem-se em vista um valor numérico. Se se utilizar
‘2000’, tem-se em vista uma string ou cadeia de caracteres. A diferença é que com o
dado 2000 podem ser realizadas operações aritméticas (cálculos), enquanto com o
dado ‘2000’ não.
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
3.2. Variáveis
Não são permitidos caracteres acentuados nem cedilhados, como por exemplo:
ç, é, ã, etc.
nome
morada
quant
preco
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
Esta expressão é constituída por duas variáveis (base e altura), que podem
assumir diferentes valores em diferentes instantes de tempo e uma constante, o valor
2 que nunca será alterado.
Exemplo:
A: inteiro;
B: caracter;
C: lógico;
estamos a criar áreas na memória identificadas por A, B e C, que só poderão
receber, respetivamente, valores inteiros, alfanuméricos e lógicos (Verdadeiro ou
Falso).
Tipos de Dados
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
Cadeias de caracteres
3.4. Exercícios
3º Soma e subtração
6º Operador Lógico E
7º Operador Lógico Ou
Considerando a expressão: ab + 3c
Esta terá de sofrer algumas alterações de modo a poder ser utilizada num
computador, assim terá de ser escrita da seguinte forma:
a*b+3*c
Outros exemplos:
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
4.5. Exercícios
2. Todas as operações com dados inteiros têm como resultado valores inteiros?
Justifica a tua resposta.
5. Funções Pré-Definidas
Entre essas funções temos, por exemplo: a função que calcula a raiz quadrada
de um número ou a função trigonométrica do seno, etc.
Instruções de atribuição;
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
5.1.1.Instruções de atribuição
Exemplo:
As instruções de escrita são aquelas que servem para enviar dados (mensagens,
valores de variáveis, etc) para um periférico de saída (monitor ou impressora). Pode-se
assim mostrar os valores que as variáveis possuem em determinado instante.
Exemplo1:
Escrever (a, b); [escreve no ecrã os valores que neste momento estavam
armazenados nas variáveis a e b, respetivamente].
Exemplo2:
Exemplo:
Ler (a, b); [o computador ficará à espera que sejam fornecidos dois valores, o 1º
será atribuído à var. a e o 2º à var. b]
Notas: Uma instrução de leitura pode conter mais do que uma variável (ex: Ler
(a, b, c)). A operação de leitura destrói os valores que as variáveis a ler possuíam
anteriormente. Por exemplo:
5.2. Exercícios
6. Estruturas condicionais
Condicional Simples
Se condição Então
Sequência de comandos para condição verdadeira
FimSe
Condicional Composta
Se condição Então
Sequência de comandos para condição verdadeira
SeNão
Sequência de comandos para condição falsa
FimSe
Caso expressão
Seja valor1 Faça comando
Seja valor2 Faça comando
Seja valor3 Faça comando
Senão comando
FimCaso
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
Caso Resposta
Seja 1 Faça Número = “Um”
Seja 2 Faça Número = “Dois”
Seja 3 Faça Número = “Três”
SeNão Número = “Maior que três”
FimCaso
Rotina
Declare nota Numérico
Declare nome, Caractere
Receba nome, nota
Se nota >= 7 Então
Escreva nome, “aprovado”
SeNão
Escreva nome, “reprovado”
FimSe
FimRotina
2. Faça um algoritmo que após receber dois valores numéricos, calcule a média e
imprima o resultado se, e somente se, for maior que 33.
Rotina
Declare valor1, valor2, média Numérico
Receba valor1, valor2
média = (valor1+valor2) / 2
Se média > 33 Então
Escreva média
FimSe
FimRotina
Rotina
Declare X, Y Numérico
Declare Operação Caractere
Receba X, Y, “soma(1), subtração(2) ou multiplicação(3)” : Operação
Caso Operação
Seja 1 Faça Escreva X + Y
Seja 2 Faça Escreva X - Y
Seja 3 Faça Escreva X * Y
FimCaso
FimRotina
Rotina
Declare X Numérico
Receba X
Caso X
Seja 0, 2, 4, 6, 8 Faça Escreva “Número par”
Seja 1, 3, 5, 7, 9 Faça Escreva “Número impar”
Seja 11..100 Faça Escreva “Entre 10 e 100”
SeNão Escreva “Negativo ou maior que 100”
FimCaso
FimRotina
Rotina
Declare X, Y, Z, M Numérico
Receba X, Y, Z
M = TRUNCA (Z-X)/(X-Y)
Se M <= 7 Então
M=X
X=Y
Y=M
SeNão
M = ARREDONDA (Z/X+2)
Y=Z
Z=M
FimSe
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
Escreva X, Y, Z
FimRotina
2. Fazer um algoritmo que após receber três valores, imprima apenas os números
pares. Um número par quando dividido por 2, o resto será igual a zero.
4. Faça um algoritmo que ao receber três valores, verifique se eles podem ser os
comprimentos dos lados de um triângulo. Se não for um triângulo, imprima uma
mensagem. Propriedade: O comprimento de um lado do triângulo é menor do que a
soma dos comprimentos dos outros dois lados.
7. Estruturas de repetição
Temos três tipos de estruturas de repetição: Para ... Até ... Faça, Repita ... Até
que e Enquanto ... Faça.
A estrutura Para ... Até ... Faça repete uma sequência de comandos um
determinado número de vezes, enquanto o valor de uma variável de controle é
incrementado.
Exemplo:
A estrutura Repita ... Até que..., contém uma condição que controla a execução
repetidas vezes de uma sequência de comandos. Esta condição tem que produzir um
resultado de tipo Booleano - verdadeiro ou falso. A sequência de comandos será
executada até que a condição seja satisfeita. A sequência de comandos será executada
pelo menos uma vez, porque a condição é avaliada somente depois da execução de
cada sequência de comandos.
Repita
Sequência de comandos
Até que condição
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
Exemplo:
Repita
Leia A
A=A+1
Até que A > 19 {avalia se A >19, se for, para o loop}
Escreva A {escreverá somente valores maiores que 19}
Uma estrutura Enquanto ... Faça, contém uma condição que controla a
execução repetidas vezes de uma sequência de comandos. A condição que controla a
repetição deve ser de tipo Booleana. Ela é avaliada antes da sequência de comandos
ser executada. A sequência de comandos será executada repetidamente contanto que
a condição seja Verdadeira. Se a condição no princípio for Falsa, a sequência de
comandos não será executada em nada, passando o controle para a linha seguinte a
FimEnquanto.
Rotina
Declare soma, valor Numérico
valor = 11
soma = 0
Enquanto valor <= 100
soma = soma + valor
valor = valor + 1
FimEnquanto
Escreva “Total = “, soma
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
FimRotina
2. Crie um algoritmo que receba um número inteiro diferente de zero, e calcule o
fatorial deste número. (Fatorial de um número é igual ao produto dos números 1 ao
número desejado - inclusive. Ex: 3! (fatorial de 3 é igual a: 1x2x3 = 6)
Rotina
Declare valor, contador, total Numérico
total = 1
Receba valor
Para contador = 1 Até valor
total = total * contador
FimPara
FimRotina
3. Escreva um algoritmo que repita a soma dos números recebidos até que o total
seja maior que cem.
Rotina
Declare X ,Total Numérico
Total = 0
Repita
Receba X
Total = Total + X
Até que Total > 100
Escreva Total
FimRotina
2. A conversão de graus Farenheit para centígrados é obtida por C = 5(F - 32)¸9. Fazer
um algoritmo que calcule e escreva uma tabela de graus centígrados em função de
graus Farenheit, variando um a um de 50 a 150 graus Farenheit.
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
3. Foi feita uma pesquisa de canal de TV em várias casas de uma certa cidade, num
determinado dia. Para cada casa visitada, foi preenchido uma ficha contendo o
número do canal (2,4,5,13) e o número de pessoas que estavam assistindo naquela
casa. Faça um algoritmo que:
4. Fazer um algoritmo que calcule e escreva o número de grãos de milho que se pode
colocar num tabuleiro de xadrez, colocando 1 na primeira casa e nas casas seguintes o
dobro da casa anterior. Sabe-se que um tabuleiro de xadrez tem 64 casas.
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
8. Desvios
8.1. Ir para
Ir para nome-do-bloco
Exemplo:
Rotina
Declare A, SOMA Numérico
Ir Para Desvio
SOMA = A + 20
Desvio:
A = 10
FimRotina
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
9. Procedimentos
Exemplo:
Rotina
Declare A, B, C, D, RESULT Numérico
Procedimento Soma ( X, Y ) {X e Y são parâmetros formais}
RESULT = X + Y
FimProcedimento
Leia A, B, C, D
Soma (A, C) {executa o procedimento atribuindo A a X e C a Y}
Se RESULT > 20 Então {A e C são parâmetros reais}
Soma ( B, D)
FimSe
Escreva RESULT
FimRotina
INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL, I. P.
Delegação Regional Norte
Centro de Emprego e Formação Profissional do Alto de Trás-os-Montes
10. Funções
Exemplo:
Rotina
Declare A, B, Nota Numérico
Função numérico Média (A, B)
Se A < 1 Então
Média = ((A ^ 2) *( B ^ 2)) ^ 0,5 {média geométrica,
SeNão
Média = (A + B) / 2 {média aritmética}
FimSe
FimFunção
Leia A, B
Nota = Média (A, B)
Escreva Nota
FimRotina