Você está na página 1de 25

Aplicações Informáticas B

1 – Introdução à Programação
Algoritmia
Ano Letivo
2023/2024

Professoras Anabela Martins e Glória Soares


Linguagens Naturais e Linguagens Formais​

Linguagem - forma de comunicação, que utiliza símbolos e determinadas regras para os combinar.

​Linguagens naturais
» linguagem falada ou escrita

» não foram projetadas pelas pessoas

» são passíveis de várias interpretações e sofrem transformações naturais ao longo do tempo

​Linguagens formais
» são previamente projetadas para determinados fins

» são desenvolvidas de forma a evitar a ambiguidade e a redundância


Linguagens Naturais e Linguagens Formais​

As linguagens de programação, entendidas pelos computadores, são linguagens formais


construídas, isto é, do tipo formal:

​Linguagem de programação: Sistema de escrita formal, constituído por um conjunto de regras


para a escrita de programas de computador.

​Programa: conjunto de instruções numa linguagem de programação.

​Instrução: especificação ao processador da ação a executar.


Linguagens Naturais e Linguagens Formais​

Existem milhares de linguagens de programação, estando divididas em dois níveis:

• Baixo nível: quando a sua linguagem se aproxima mais da linguagem-máquina

• Alto nível: quando a sua linguagem se aproxima mais da linguagem-humana. Estas

linguagens necessitam de um interpretador para converter em linguagem-máquina, de

forma ao computador compreender as instruções.


Linguagens Naturais e Linguagens Formais​

» LINGUAGEM MÁQUINA - 1ª GERAÇÃO - Os programadores escreviam as suas instruções em

códigos binários: conjuntos de instruções em 0s e 1s (bits);


» LINGUAGEM ASSEMBLY - 2ª GERAÇÃO - Conjunto de palavras (mnemónicas ou abreviaturas) que

codificam as instruções de máquina. Linguagem de baixo nível – próxima ao hardware;

LINGUAGEM ALTO NÍVEL (aproximam-se da linguagem humana)

Basic, Pascal, C, Python ... – 3ª Geração

SQL, XML, ... - 4ª Geração

Prolog, LISP, … - 5ª Geração


Noção de Algoritmo

» Algoritmo: A sequência lógica, finita e ordenada de passos para atingirmos


uma solução/objetivo chama‐se ALGORITMO. Assim sendo, um PROGRAMA
pode ser definido como uma representação de um algoritmo escrito numa
sintaxe exata duma linguagem de programação.
Noção de Algoritmo
Sequência finita e não ambígua de instruções que descrevem os passos lógicos necessários à
realização de uma dada tarefa ou resolução de um problema.
Sequência Lógica é a sequência de instruções, que devem ser seguidas para se cumprir uma
determinada tarefa, ou seja, os passos executados até atingir um objetivo ou a solução de um
problema.
As Instruções são o conjunto de regras ou normas definidas para a realização de qualquer coisa. Em
informática, é o que indica a um computador uma ação elementar a executar.
Exemplos:
• Sequência de instruções para ordenar uma lista de números
inteiros.
• A receita para preparar um bolo.
• Trocar um pneu
Algoritmo – características
Efetividade: todas as operações devem ser bastante básicas de forma a serem executadas com
precisão num tempo finito.

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

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.


Representação dos Algoritmos
Um algoritmo pode ser representado:

» Através de diagramas ou fluxogramas.


» Escrito numa linguagem convencional, com termos da nossa linguagem natural, com ações
específicas das Linguagens de Programação, ao qual denominamos pseudocódigo.

Os fluxogramas são diagramas que representam o fluxo das ações de um determinado programa
através de símbolos.
Por Pseudocódigo entende-se um código de escrita em que se utilizam termos convencionais para
indicar as instruções do programa.
Representação dos Algoritmos: fluxogramas
Representação dos Algoritmos:
Fluxogramas

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.
Representação dos Algoritmos: Fluxogramas
Representação dos Algoritmos: Fluxogramas
Exemplo:

Linguagem Natural
1. Inicio
2. Ler dois valores reais(a, b)
3. Efetuar o cálculo da soma dos dois valores reais (c=a+b)
4. Escrever o resultado da soma em (c)
5. Fim
Proposta de trabalho

Crie fluxogramas para resolver os seguintes problemas:


1. Após pedir 3 números reais ao utilizador, escreva a soma dos dois primeiros, multiplicada pelo
terceiro.
2. Calcule a área de um quadrado, sabendo que Área= lado*lado.
3. Calcule a área de um triângulo, sabendo que Área= base*altura/2.
4. Cada português bebe em média 92 litros de leite por ano. Calcule e imprima quanto bebe cada
português por dia.
5. Um escadote de 2,40 m tem 15 degraus. Calcule e imprima qual a distância entre cada degrau.
6. Um inquérito efetuado a 360 pessoas indicou que: 45% são assalariadas, 30% têm profissões liberais,
15% são agricultores e 10% andam à procura do primeiro emprego. Calcule e imprima o número de
pessoas dentro de cada categoria.
Proposta de trabalho - Resolução

1. 2.
Proposta de trabalho - Resolução

3. 4.
Proposta de trabalho - Resolução

5. 6.
Representação dos Algoritmos: Pseudocódigo

A utilização de um fluxograma torna-se mais difícil de concretizar no caso de


algoritmos extensos.

Nestes casos, torna-se mais prático utilizar o pseudocódigo para estruturar o


raciocínio no desenvolvimento de um algoritmo e para converter mais facilmente
num programa, utilizando uma linguagem de programação.
Representação dos Algoritmos: Pseudocódigo

Algoritmo “Soma de 2
Palavras Reservadas números”
Variáveis X,Y, Soma:
inteiros
INÍCIO ou FIM – Indica o início ou o fim de um Início
EXEMPLO
bloco Ler X
VARIÁVEIS – Lista de variáveis utilizadas Ler Y
Soma X+Y
LER() – Lê dados do teclado
ESCREVER() – Escreve um valor no monitor Escrever Soma
Fim
Proposta de trabalho

Transforma em pseudocódigo, os fluxogramas anteriormente construídos para resolver os


seguintes problemas:
1. Após pedir 3 números reais ao utilizador, escreva a soma dos dois primeiros, multiplicada pelo
terceiro.
2. Calcule a área de um quadrado, sabendo que Área= lado*lado.
3. Calcule a área de um triângulo, sabendo que Área= base*altura/2.
4. Cada português bebe em média 92 litros de leite por ano. Calcule e imprima quanto bebe cada
português por dia.
5. Um escadote de 2,40 m tem 15 degraus. Calcule e imprima qual a distância entre cada degrau.
6. Um inquérito efetuado a 360 pessoas indicou que: 45% são assalariadas, 30% têm profissões liberais,
15% são agricultores e 10% andam à procura do primeiro emprego. Calcule e imprima o número de
pessoas dentro de cada categoria.
Proposta de trabalho

• Clique no botão Visualiza Código Fonte →

• Na caixa de combinação “Linguagem”, selecione a opção Pseudocódigo


Automático →
Teste e controlo de erros em algoritmia

O teste e controlo de erros num algoritmo permitem verificar se este resolve o problema
pretendido.

Para isso, utiliza-se a técnica de tracing (traçagem), que permite acompanhar passo-a-passo a
execução do algoritmo, eliminando, desta forma, a possibilidade de erros.

O objetivo da traçagem é testar um algoritmo com valores de entrada, observando o


comportamento interno ao longo dos vários passos que compõem o algoritmo, contruindo, para
tal, uma tabela, onde se colocam as variáveis, as entradas, saídas, etc., por coluna.
Teste e controlo de erros em algoritmia

• Na implementação desta técnica, começa-se por criar uma tabela;


• Em seguida, colocam-se, na primeira linha, as variáveis, as condições ou expressões lógicas e as
operações que se pretendem testar;
• De seguida, vão-se enumerando os passos na primeira coluna.;
• Por último, preenche-se a tabela passo a passo, atribuindo às variáveis a e b os valores de
entrada 4 e 5, respetivamente, e executando as operações presentes no algoritmo:
Teste e controlo de erros em algoritmia
Teste e controlo de erros em algoritmia

• Dados de entrada:
No passo 1, à variável a será atribuído o valor 4
No passo 2, à variável b será atribuído o valor 5

• Formulação do problema:
No passo 3 é calculada a soma. Assim, à variável c será atribuído o valor 9 resultante de a+b (+9).

• Dados de saída:
Do passo 4 resultará a seguinte saída: 9
Teste e controlo de erros em algoritmia

• Dados de entrada:
No passo 1, à variável a será atribuído o valor 4
No passo 2, à variável b será atribuído o valor 5

• Formulação do problema:
No passo 3 é calculada a soma. Assim, à variável c será atribuído o valor 9 resultante de a+b (+9).

• Dados de saída:
Do passo 4 resultará a seguinte saída: 9

Você também pode gostar