Algoritmos e PseudocódigoÉ a descrição, de forma lógica, dos passos a serem executados no...

Preview:

Citation preview

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

Recommended