Escolar Documentos
Profissional Documentos
Cultura Documentos
PSI 1º ano
2021/2022
Desenvolvimento de Algoritmos
- Parte 1 -
3
Esquema lógico de um computador
4
O computador trabalha com dados que são
armazenados na memória
5
Pseudocódigo
Os algoritmos podem ser descritos numa linguagem chamada
pseudocódigo. Este nome é uma alusão à posterior
implementação numa linguagem de programação, ou seja,
quando formos programar numa linguagem, por exemplo, C,
estaremos a gerar código em C.
8
Entrada Processamento Saída
9
10
Os programas de computador manipulam dados que
podem variar de tipo, de acordo com o tipo de
informação que pretendemos armazenar.
11
Os dados numéricos são valores inteiros ou não (reais com parte
decimal) que são armazenados e manipulados através de
operadores aritméticos.
Símbolo Significado
Exemplos: - subtração
• Temperatura = 31
+ adição
• Idade = 17
• Grau = 180 * multiplicação
/ divisão
% resto da divisão
12
Os dados alfanuméricos são conjuntos de carateres agrupados
que podem ser letras, carateres de pontuação ou números. Estes
dados são representados entre aspas (ou dupla aspa).
13
Os dados são armazenados na memória do computador.
A memória do
computador
está dividida
em espaços
identificados por
endereços, tal
como as
moradas das
habitações.
14
Para alocar memória para
os dados o programador
declara variáveis.
As variáveis são nomes que
são atribuídos aos espaços
de memória.
15
Um programa sem variáveis seria sempre muito limitado,
o seu resultado seria sempre o mesmo.
Assim, as variáveis permitem executar o mesmo
algoritmo/programa sobre valores diferentes.
algoritmo-1
Inicio
Escrever(“Olá mundo”)
Fim
17
algoritmo-2
Inicio
Ler(nome)
Escrever(“Olá ”, nome)
Fim
18
As variáveis também podem receber dados a partir de
cálculos executados pelo nosso algoritmo. Para isso
utilizamos o operador de atribuição = (igual).
Por exemplo:
idade=15
metade = idade/2
dobro=idade * 2
Operadores Aritméticos
19
Estes operadores têm a mesma prioridade de execução e
cálculo que na matemática, ou seja, primeiro *, / e % e
depois + e -.
De igual modo podemos utilizar () para obrigar ao cálculo
de determinadas porções da fórmula primeiro do que
outras, uma vez que o que está dentro dos () é sempre
calculado antes do resto.
Por exemplo:
20
Exemplo:
Qual seria a sequência lógica para calcular a expressão aritmética
A=B+0.15*C-D2*(E+F)
Início
1) Anotar os valores de B, C, D, E e F
2) Calcular E + F
3) Calcular D2
4) Calcular 0.15*C
5) Multiplicar o resultado encontrado em 3) pelo resultado encontrado em 2)
6) Somar B ao resultado encontrado em 4)
7) Subtrair o resultado encontrado em 5) ao resultado encontrado em 6),
colocando o resultado obtido em A
Fim
21
Parte das operações mais importantes realizadas pelo
computador são as que comparam valores variáveis ou
fixos.
Inicio
Escrever(“Introduza a sua idade: “)
Ler(idade)
Se idade > 17
Então Escrever(“Já és adulto!”)
Fim
Operadores Relacionais
24
O algoritmo anterior (algoritmo-3) tem uma limitação, caso o
valor da idade não seja superior a 17 não aparece nenhuma
mensagem ao utilizador.
Assim podemos melhorar o funcionamento do algoritmo com
uma nova versão:
algoritmo-4
Inicio
Escrever(“Introduza a sua idade: “)
Ler(idade)
Se idade > 17
Então Escrever(“Já és adulto!”)
Se idade ≤ 17
Então Escrever(“Ainda não és adulto!”)
Fim
25
A instrução se pode ser utilizada na forma:
algoritmo-5
Inicio
Escrever(“Introduza a sua idade: “)
Ler(idade)
Se idade > 17
Então Escrever(“Já és adulto!”)
Senão Escrever(“Ainda não és adulto!”)
Fim 26
Por vezes para executar uma instrução é necessário
verificar mais do que uma condição.
Operadores Lógicos
27
algoritmo-6
Inicio
Escrever(“Introduza a sua idade: “)
Ler(idade)
Se idade > 17 E idade < 65
Então Escrever(“Já és adulto!”)
Senão Escrever(“Ainda não és adulto!”)
Fim
algoritmo-7
Inicio
Escreva(“Introduza a sua nota: “)
Ler(nota)
Selecionar Caso nota
0,1,2,3,4: Escreva(“Fraco”)
5,6,7,8,9: Escreva(“Insuficiente”)
10,11,12,13: Escreva(“Suficiente”)
14,15,16,17: Escreva(“Bom”)
18,19,20: Escreva(“Muito Bom”)
Senão: Escreva(“Nota inválida”)
Fim Selecionar
Fim 29
30
ToDo: Testa o teus conhecimentos apresentando os
TODO:
seguintes algoritmos: