Você está na página 1de 31

Módulo 1

Introdução à Programação e Algoritmia

PSI 1º ano
2021/2022
Desenvolvimento de Algoritmos
- Parte 1 -

TGPSI - Paulo Reis - Agrupamento de Escolas da Batalha / agosto 2021 2


Funcionamento básico de um computador

3
Esquema lógico de um computador

Entrada Processamento Saída

(Input) (Process) (Output)

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.

 Os algoritmos são independentes das linguagens de


programação. Ao contrário de uma linguagem de programação
não existe um formalismo rígido de como deve ser escrito o
algoritmo.

 O algoritmo deve ser fácil de interpretar e fácil de codificar. Ou


seja, ele deve ser o intermediário entre a linguagem falada e a
linguagem de programação.
6
Regras e fases de construção de um algoritmo
 Para escrever um algoritmo precisamos descrever a sequência
de instruções de maneira simples e objetiva.
Para isso utilizaremos algumas técnicas:

 Usar somente um verbo por frase.


 Imaginar que estamos a desenvolver um
algoritmo para pessoas que não trabalham com
informática.
 Usar frases curtas e simples.
 Ser objetivo.
 Procurar usar palavras que não tenham sentido
duvidoso.
7
 Qualquer tarefa que siga determinado padrão pode ser descrita por um
algoritmo, como por exemplo:

COMO FAZER ARROZ DOCE


(ou)
CALCULAR O SALDO FINANCEIRO DE UM STOCK DE MERCADORIAS
(ou)
RESERVAR UM QUARTO DE HOTEL NUMA CIDADE A VISITAR

 Ao montar um algoritmo, precisamos primeiro dividir o problema


apresentado em três fases fundamentais.

Entrada Processamento Saída

8
Entrada Processamento Saída

ENTRADA: São os dados de entrada do algoritmo.

PROCESSAMENTO: São os procedimentos utilizados


para chegar ao resultado final.

SAÍDA: São os dados já processados.

9
10
 Os programas de computador manipulam dados que
podem variar de tipo, de acordo com o tipo de
informação que pretendemos armazenar.

 Os dados mais comuns são os numéricos e os


alfanuméricos.

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).

 Exemplo: Símbolo Significado


 Nome = “Paulo”
& concatenar
 Letra = ‘X’
 String = “Olá people!”
 xChar = ‘20’

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

Neste exemplo temos três instruções pré-definidas:


 Inicio - esta instrução indica onde começa a execução
do nosso algoritmo;
 Escrever - esta instrução permite comunicar com o
utilizador do nosso algoritmo, mostrando informação;
 Fim - é, como facilmente se percebe, o ponto onde termina
o nosso algoritmo.
16
 A saída de informação pode ter várias formas:
Escrever(nome)
Escrever(“Nome”)
Escrever(preço)
Escrever(“Preço: “, preço)

 Se o utilizador não tiver como inserir dados no


algoritmo/programa, a utilização de variáveis e
do próprio programa torna-se muito limitada.

 O grande poder dos programas está no modo


como trata os dados introduzidos pelo utilizador.

17
algoritmo-2

Inicio
Ler(nome)
Escrever(“Olá ”, nome)
Fim

 No exemplo apresentado no algoritmo-2 o utilizador insere o


seu nome que é guardado no espaço de memória reservado
para a variável nome.
 De seguida cumprimentamos o utilizador com uma mensagem.
 O espaço utilizado pelas variáveis é reservado quando o
algoritmo é iniciado e libertado no final.

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.

 Para tal existe a função:

 Com esta simples operação/instrução o computador


pode executar um conjunto de operações desde que
se verifique uma determinada condição ou
condições.
22
algoritmo-3

Inicio
Escrever(“Introduza a sua idade: “)
Ler(idade)
Se idade > 17
Então Escrever(“Já és adulto!”)
Fim

 Neste algoritmo pedimos ao utilizador para introduzir a sua


idade, depois recebemos a sua idade e guardamos na
variável idade;
 a seguir verificamos se o valor guardado é superior a 17, se
esta condição se verificar (se a condição resultar verdadeira)
então escrevemos a mensagem indicada.
23
 Quando o computador avalia uma condição calcula, de
acordo com o operador, o resultado. Este é um valor do
tipo Verdadeiro/Falso (True/False).

 Para executar comparações utilizamos operadores


relacionais.

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.

 Para isso existem operadores lógicos que permitem


combinar as condições.

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

 Neste exemplo existem duas condições que são conjugadas com


o operador lógico E, assim a parte verdadeira da instrução SE só
é executada se as duas condições resultarem verdadeiro.
 A parte false do SE é executada sempre que uma das duas
condições ou as duas resultem falso.
28
 Por vezes existe a necessidade de testar várias condições,
apesar de podermos utilizar vários SE’s existe uma estrutura que
permite simplificar o processo.

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:

1. Soma de três números inseridos pelo utilizador;

2. Determinar se um número é par;

3. Solicitar um valor entre 0 e 20 (nota) e verificar se a


nota é positiva ou negativa;

4. Apresentar a respetiva legenda qualitativa para o


resultado de teste (18 a 20 – Muito Bom, 14 a 17 – Bom, 10
a 13 – Suficiente, 6 a 9 – Insuficiente, 0 a 5 – Fraco);

5. Solicitar 3 números inteiros e mostrar o menor deles.


31

Você também pode gostar