Você está na página 1de 12

10/06/2019

UFCD03 – Conceitos fundamentais


de programação
Técnico(a) de Multimédia – EFA NS – Pro
FORMADOR: FERNANDO MIGUEL COSTA

O que é um algoritmo??? 2

Algo…difícil???

1
10/06/2019

Definição de algoritmo 3

 Um algoritmo é uma forma ou fórmula para


resolução de um determinado problema,
mediante o estabelecimento de determinadas
regras ou procedimentos.

Exemplo de um algoritmo 4

Algoritmo AtravessarRua  Nota1: Poderão haver outras versões


relativas ao exemplo anterior. Posso
Olhar para a direita
primeiro olhar para a esquerda em vez de
Olhar para a esquerda olhar primeiro para a direita, a condição
Se vier um carro então pode ser colocada de uma forma
inversa, etc.
Não atravessar
Senão
 Nota2: Deve-se ter em atenção à ordem
Atravessar que colocamos as várias instruções de
FimSe um algoritmo. Neste caso, não convém
atravessar a rua antes de olharmos para
FimAlgoritmo a direita e para a esquerda e
confirmarmos que não vem nenhum
carro.

2
10/06/2019

Variáveis 5

msg
TipoDados NomeVariavel Olá, mundo!

Exemplos:
Texto msg
msg  “Olá, mundo!” num
4

Inteiro num
num  4

Nomes de Variáveis (Regras) 6


 Devem começar por uma letra;
 Os caracteres seguintes podem ser letras ou algarismos;
 Não podem ser utilizados símbolos, exceto o “_” (underscore);
 Não podem conter espaços;
 Não podem conter letras com acentuação;
 Não podem ser palavras reservadas.

Nota1 Média
Salário Bruto 9dade
Inicio Inicio_Algoritmo

3
10/06/2019

Principais tipos de dados 7

 Inteiro – Exemplos: 1 3 -5 198 0


 Real – Exemplos: 0.5 5.0 9.8 -77.3 3.1415
 Texto – Exemplos: “Águeda” “Algoritmo” “123”
 Logico – Exemplos: Verdadeiro Falso

Comandos de saída e de entrada 8

Saída – Comando Escrever Entrada – Comando Ler


Escrever “Qualquer coisa” Escrever “Digite o seu nome:”
Escrever “Qualquer coisa\n” Ler nome
Escrever “Olá, ”, nome
Escrever “msg”
Escrever msg
Escrever “mensagem ”, msg
A variável nome irá
Três situações distintas: receber o nome inserido
• 1ª - Escreve as letras msg pelo utilizador.
• 2ª - Escreve o conteúdo da variável msg
• 3ª - Escreve a palavra mensagem
seguida pelo conteúdo da variável msg

4
10/06/2019

Operadores Aritméticos Considerando que:


a5eb3 9
Operador Operação Exemplo Resultado
+ Adição a+b 8
- Subtração a–b 2
* Multiplicação a*b 15
1 (divisão de inteiros)
/ Divisão a/b
1,66… (divisão de reais)
^ Exponenciação a^b 125
% Resto de uma divisão inteira a%b 2

Ordem de Precedência (Prioridade)


1º () Parenteses
2º ^ Exponenciação
3º *, / Multiplicação e divisão
4º +, - Soma e subtração

Exercícios – Operadores Aritméticos 10

Indique o valor de cada uma das expressões inteiras seguintes:


 16 * 6 – 3 * 2
 -2 ^ 3
 (28 + 3 * 4) / 4
 3 + 2 * (18 – 4 ^ 2)
 2^2*3
 8 – 30 / 6

5
10/06/2019

Operadores Relacionais 11

Os operadores relacionais fornecem como resultado um valor lógico


(verdadeiro ou falso)

Operador Operação Exemplo Resultado


= Igual a=b Falso
=/= Diferente a =/= b Verdadeiro
> Maior a>b Verdadeiro
>= Maior ou igual a >= b Verdadeiro
< Menor a<b Falso
<= Menor ou igual a <= b Falso

Nota: O operador relacional diferente “ =/= ” na maioria das linguagens de


programação e em várias aplicações de cálculo, pode ser representado pelos
símbolos “ <> ” ou “ != ”.

Operadores Lógicos 12

 Operadores disponíveis: E (conjunção), OU (disjunção), XOU


(disjunção exclusiva), NÃO (negação).
 Os operadores lógicos fornecem como resultado um valor lógico
(verdadeiro ou falso).
 Os operadores E e OU são operadores binários e o NÃO é um
operador unário.

p q pEq p q p OU q p q p XOU q p NÃO p


V V V V V V V V F V F
V F F V F V V F V F V
F V F F V V F V V
F F F F F F F F F

6
10/06/2019

Análise da situação/problema

Formulação de um algoritmo
Lógica de 13
programação –
(Diagramas/Fluxogramas/Pseudocódigo)

Tradução do algoritmo numa linguagem


de programação
aspetos genéricos

Revisão do texto

Revisão do algoritmo
Tradução do programa-fonte para código-
máquina e verificação de erros de escrita

Deteção sim
de erros de
escrita
não

Testes de verificação lógica do programa

Deteção sim
de erros de
lógica
não

Programa terminado

Problema: 14

 É-nos dado o preço de um terreno de forma retangular, bem como


as medidas de dois lados adjacentes. Pretendemos saber o preço
do terreno por metro quadrado.
preco

preco_metro2
largura

area ?

comprimento

7
10/06/2019

Pseudocódigo 15

Início
Ler comprimento
Ler largura Leitura/entrada de dados
Ler preco
area  largura * comprimento
Processamento de dados
preco_metro2  preco / area
escrever preco_metro2 Saída de dados

Fim

Fluxograma Início
16
Ler comprimento

Ler largura

Ler preco

area  comprimento * largura

preco_metro2  preco / area

Escrever preco_metro2

Fim

8
10/06/2019

Estruturas Condicionais (SE) 17

 Devolve um valor se a condição especificada equivaler a


VERDADEIRO e outro valor se equivaler a FALSO.
 A condição deve ser uma variável lógica ou uma expressão com
resultado lógico (operadores lógicos ou relacionais).

Início
Se [condição] então
[instruções] não
[Condição]
sim

Senão
[Instruções] [Instruções]
[instruções]
FimSe
Fim

Estruturas Condicionais (Exemplo) 18


 Crie um algoritmo em pseudocódigo e em fluxograma que
verifique se um número digitado pelo utilizador é par ou ímpar.
Início
Inicio
inteiro numero, resto Ler numero

escrever “Digite um número: ”


resto  numero % 2
ler numero
resto  numero % 2
não sim
se resto = 0 então resto = 0?

escrever “O número é PAR” O número O número


é ÍMPAR é PAR
senão
escrever “O número é ÍMPAR”
fimse
Fim
fim

9
10/06/2019

Estruturas de Repetição (Para) 19


Início

 Repete um conjunto de instruções,


controlado por uma variável [variável numérica]  [valor inicial]
numérica que percorre os valores
entre dois limites utilizando o passo
(step) definido. Caso omisso o passo
[variável
tem o valor de 1. não sim
numérica] <=
[valor final]
[instruções]
Para [variável numérica] de [valor
inicial] até [valor final] passo [valor de
separação]
[valor de separação]
[Instruções]
Próximo

Fim

Estruturas de Repetição (Para) 20


Início

 Exemplo: Escrever os algarismos de 0 a 9.


Contador  0

Inicio
inteiro contador não sim
Contador <= 9
Para contador de 0 até 9 passo 1
escrever contador Escrever contador

Próximo
Contador  Contador + 1
Fim

Fim

10
10/06/2019

Estruturas de Repetição (Enquanto) 21


 Repete as instruções enquanto a condição for verdadeira
Enquanto [condição] faz
[Instruções]
FimEnquanto
Início

Exemplo:
Início não sim
[condição]
Inteiro contador
contador  0
[instruções]
Enquanto contador < 10 faz
Escrever contador, “\t”
contador  contador + 1
FimEnquanto
Fim Fim

Estruturas de Repetição (Repete) 22


 Repete as instruções até que a condição seja verdadeira
Repete
[Instruções]
Até [condição] Início

Exemplo:
Solicitar a introdução de números até o utilizador
inserir o valor 0. não [instruções]

Início
Inteiro numero
[condição]
Repete
Escrever “Insira um número: ” sim

Ler numero Fim


Até numero = 0
Fim

11
10/06/2019

Estruturas de Repetição (Resumo) 23

 Quando sabemos exatamente quantas vezes um determinado


conjunto de instruções deve ser executado, o ideal é utilizar a
estrutura PARA …PRÓXIMO (FOR…NEXT).
 Existem situações em que não é possível determinar quantas vezes
uma determinada instrução será executada. Nesse caso pode-se
utilizar a estrutura ENQUANTO…FAZ (WHILE…DO) ou REPETE…ATÉ
(REPEAT…UNTIL). Estas estruturas diferem apenas na obrigatoriedade
de execução, de pelo menos uma vez.
 Na estrutura ENQUANTO…FAZ, dado que a condição é testada logo
no início do ciclo pode não ser executada nenhuma vez, isto porque
a condição pode ser falsa.
 Na estrutura REPETE…ATÉ o bloco de instruções é sempre executado
pelo menos uma vez, mesmo que a condição seja falsa, isto porque a
condição apenas se encontra no final do loop (ciclo).

Tabela Bidimensional 24
início
inteiro lin, col
para lin de 1 até 10 Fator2
escrever "\nTabuada: ", lin, "\n" Nº Coluna (col)
para col de 1 até 10
escrever lin, " * ", col, " = ", lin * col, "\n"
próximo
próximo
fim

Fator1
Nº Linha (lin)

12

Você também pode gostar