12º ano
1.1.2 Noção de Algoritmo
2
❑É a descrição, de forma lógica, dos passos a serem executados no
cumprimento de uma determinada tarefa.
❑É a forma pela qual descrevemos soluções de problemas do nosso
mundo, afim de serem implementadas utilizando os recursos do
mundo computacional.
Como este possuí rigorosas limitações em relação à realidade, exige que
sejam impostas algumas regras básicas na forma de solucionar os
problemas para que possamos utilizar os recursos de hardware e
software disponíveis.
3
Definição Formal
Descrição de forma ordenada, com clareza e rigor, das operações
que se pretende realizar num computador para resolver um
problema ou atingir determinados objectivos.
Exemplo:
Sequência de instruções para ordenar uma lista de números inteiros.
A receita para preparar um bolo.
4
Trocar Pneu do Carro
Inicio
▪ Retirar o pneu suplente
▪ Trocar pneu furado pelo suplente
▪ Guardar pneu furado na mala ou suporte
Fim
5
Trocar Pneu do Carro
Início
▪ Verificar qual o pneu furado
▪ Retirar o macaco, o pneu sulplente e as ferramentas da mala
▪ Desapertar ligeiramente os pernos
▪ Levantar o carro com o macaco
▪ Desapertar completamente os pernos
▪ Retirar o pneu furado
▪ Colocar o pneu suplente
▪ Apertar os pernos
▪ Descer o carro com o macaco
▪ Apertar completamente os pernos
▪ Guardar o pneu furado na mala/suporte
▪ Guardar o macaco e chave de rodas
Fim
❑ Efectividade: todas as operações devem ser bastante básicas de forma a
serem executadas com precisão num tempo finito através do papel.
❑ Finito: um algoritmo deve sempre terminar após um número finito de
passos.
❑ Definição: cada passo de um algoritmo deve ser definido de uma forma
exacta.
❑ Entradas: um algoritmo deve ter uma ou mais entradas, ou seja, para o
algoritmo correr deve ser inicializado.
❑ Saídas: um algoritmo deve devolver sempre um resultado.
6
Um algoritmo pode ser representado de 2 formas:
❑ fluxogramas
❑ pseudocódigo
Fluxogramas - diagramas que representam o fluxo das ações de um
determinado programa através de símbolos.
Pseudocódigo - código de escrita em que se utilizam termos
convencionais para indicar as instruções do programa. Também se
chama português estruturado. É constituído por palavras da linguagem
natural e pela sintaxe das linguagens de programação.
7
Vantagens:
❑Auxilia a compreensão e facilita o
trabalho de programação.
❑Ajuda a visualizar as estruturas
típicas de programação, como é o caso
das estruturas de decisão/repetição.
Desvantagens:
❑Exige muito espaço, para além do
tamanho habitual de uma folha de
papel, o que torna a sua leitura e
manuseamento difícil.
Símbolos Significado Exemplos
Início/Fim
Processamento (Instruções)
x→x+1
Leitura/Escrita de dados
(Input/Output)
Linha de fluxo
Condição (Decisão/Repetição)
Sub - programa
Escreve x
X>5F
V
Rotina x
Início
Exemplo:
Início
Escrever (“Introduza dois valores”)
Ler (valor 1)
Ler (valor 2)
Se valor 1> valor 2 então
Escrever (valor 1, “é maior”)
Senão
Se valor 1<valor 2 então
Escrever (valor 2, “é maior”)
Senão
Escrever (“valores iguais”)
Fim
Vantagens:
❑ é mais prático e vantajoso na
estruturação do raciocínio e dos
elementos.
❑ permite utilizar um texto escrito
como base de trabalho para a
escrita de um programa.
❑ aproxima-se mais da versão final
do programa.
Não existe uma notação standard dopseudocódigo.
Mas, apresenta alguns elementos presentes naslinguagens de programação estruturada:◦ Dados
◦ Tipos de dados
◦ Operadores
◦ Instruções básicas
◦ Estruturas de controlo
11
Variáveis
Constantes
12
Os algoritmos manipulam os dados que são fornecidos pelos
utilizadores e executam as operações necessárias até obter um
resultado.
Existem 3 tipos básicos de dados:
❑ Numéricos
❑ Lógicos
❑ Carateres / cadeias de carateres (strings)
❑ Estruturados (ex.: array)
13
NUMÉRICOS
❑ inteiros (inclui todos os números inteiros)
❑ reais (inclui todos os números reais)
14
LÓGICOS (ou Booleanos)
Este tipo de dados é aplicado durante o processo de tomada de decisões
que eventualmente é necessário fazer.
Os dados deste tipo somente podem assumir dois valores: verdadeiro
ou falso. As decisões são tomadas, durante o processamento de um
algoritmo, baseadas nestes dois valores.
Por exemplo:
❑ Se raiz >= 0
imprima "Existe raiz"
caso contrário
imprima "Não existe raiz real."
15
CARATERES / CADEIAS DE CARATERES
Servem para tratamento de textos e normalmente são compostos por
uma sequência de caracteres contendo letras, algarismos e caracteres
de pontuação.
Nos algoritmos são normalmente representados por uma sequência de
caracteres entre aspas, por exemplo:
❑ "Linguagem de programação"
❑ "Qual é o seu nome?"
❑ "12345"
16
Operadores Aritméticos
Operador Descrição
+ Soma
- Subtracção
* Multiplicação
/ Divisão
% Módulo (Resto da divisão inteira)
+ Operador Unário (sinal mais)
- Operador Unário (sinal menos)
Operadores Relacionais
Operador Descrição
= Igual
< Menor que
<= Menor ou igual
> Maior que
>= Maior ou igual
<> Diferente Operadores Lógicos
Operador Descrição
NOT Negação
AND E lógico
OR Ou lógico
a b a AND b a OR B NOT a
falso falso Falso Falso Verdadeiro
falso verdadeiro Falso Verdadeiro Verdadeiro
verdadeiro falso Falso Verdadeiro Falso
verdadeiro verdadeiro Verdadeiro Verdadeiro Falso
NOT → Inverte o valor
lógico
AND → Verdadeiro se
ambos os operandos são
verdadeiros
OR → Verdadeiro se um dos
operandos for verdadeiro
Operador Grau de Prioridade
(), []
+, - (sinais unários)
NOT, *,/, % AND
+(soma), - (subtração), OR
=, <>, <, <=, >, >=
20
Se vários operadores aparecem numa expressão, a ordem de execução das
operações será dada segundo os seguintes critérios:
❑ As instruções com parênteses são executadas em primeiro lugar. Quando
houver parênteses aninhados (parênteses dentro de parênteses) as expressões
dentro dos mais internos são avaliadas primeiro.
❑ Ordem de precedência existente entre os operadores.
❑ Caso haja empate na ordem de prioridade resolver a expressão da esquerda
para a direita.
Atribuição / expressões
De entrada
De saída
21
Para que se efetuem operações com os dados temos de os incluir em
instruções adequadas. Em qualquer linguagem de programação, para construir
uma parte de um programa, temos de escrever expressões.
Uma expressão é um conjunto de operandos, articulados entre si por
operadores. As expressões podem ser basicamente de dois tipos:
❑ Expressões Numéricas: apresentam como resultado um valor numérico que
pode ser um número inteiro ou real, dependendo dos operandos e operadores.
❑ Expressões Lógicas: o seu resultado pode somente assumir os valores
verdadeiro ou falso.
22
Servem para ler dados exteriores ao programa (input).
Exemplo: ler (numero)
23
Servem para escrever dados para o exterior (output).
Exemplo: escrever (numero)
24
Condicionais
Repetitivas
IRÃO SER ESTUDADAS EM PORMENOR MAIS À FRENTE
25