conceito de algoritmo

Propaganda
Algoritmos e Estrutura de Dados I
Conceitos de Algoritmos
Prof. Elyssandro Piffer
CONCEITO DE ALGORITMO
• O computador pode auxiliar em muitas tarefas,
contudo ele não possui independência, não é
inteligente, portanto necessita receber instruções.
• A finalidade de um computador é receber, manipular
e armazenar dados. Mais ele só consegue realizar
essas tarefas por meio de um algoritmo ou programa
de computador.
CONCEITO DE ALGORITMO
• “Algoritmo é uma sequência finita de instruções ou operações cuja
execução, em tempo finito, resolve um problema computacional,
qualquer que seja sua instância.” (SALVETTI, 1999).
• “Ação é um acontecimento que, a partir de um estado inicial, após
um período de tempo finito, produz um estado final previsível e
bem definido. Portanto, um algoritmo é a descrição de um
conjunto de comandos que, obedecidos, resultam numa sucessão
finita de ações.” (FARRER, 1999).
CONCEITO DE ALGORITMO/PROGRAMA/SISTEMA
Algoritmos
+
Programas
+
Sistema (software)
Um algoritmo é um pequeno
grupo de instruções
passadas para o
computador. Programar é
basicamente construir vários
algoritmos. Construir
Sistemas (Software) é a
junção de vários programas.
CONCEITO DE LINGUAGEM DE PROGRAMAÇÃO
• Para que o computador compreenda e execute um
algoritmo, programa ou sistema, deve-se escrevê-lo
usando uma linguagem que tanto o computador
quanto o criador de software entendam. Essa
linguagem é chamada de linguagem de
programação.

Exemplo: Pascal, C, Java, Php, etc.
PROCESSAMENTO DE DADOS
“...a partir de um
estado inicial, após
um período de
tempo finito,
produz um estado
final previsível e
bem definido...”
(FARRER, 1999).
SEQUÊNCIA LÓGICA DAS INSTRUÇÕES
• Para se construir um algoritmo, é necessário ter lógica
apurada, de forma que se possa definir uma sequência
lógica das instruções (comandos) a serem passadas para o
computador atingir o objetivo (solucionar o problema).
• Na vida quotidiana, os algoritmos são encontrados
frequentemente. Exemplos: tomar banho, tomar café,
almoçar, trocar um pneu, fazer um bolo, atender um celular,
entre outros. Vejamos alguns exemplos detalhadamente...
EXEMPLO DE ALGORITMO
• Algoritmo 1: Somar 3 números
Passo 1 - Receber os três números
Passo 2 - Somar os três números
Passo 3 - Mostrar o resultado obtido
EXEMPLO DE ALGORITMO
• Algoritmo 2: Fazer um sanduíche
Passo 1 - Pegar o pão
Passo 2 - Cortar o pão ao meio
Passo 3 - Pegar a maionese
Passo 4 - Passar a maionese no pão
Passo 5 - Pegar e cortar alface e tomate
Passo 6 - Colocar alface e tomate no pão
Passo 7 - Pegar o hambúrguer
Passo 8 - Fritar o hambúrguer
Passo 9 - Colocar o hambúrguer no pão
EXEMPLO DE ALGORITMO
• Algoritmo 3: Realizar compra num supermercado
Passo 1 - Faça a lista de compra e vá ao supermercado
Passo 2 - Entre no supermercado
Passo 3 - Pegue o carrinho de compra
Passo 4 - Pegue os produtos da lista de compra
Passo 5 - Passe os produtos junto ao caixa e pague
Passo 6 - Volte para casa
Passo 7 – Guarde as compras
ETAPAS DO DESENVOLVIMENTO
• ANÁLISE: onde o enunciado do problema será estudado para a
definição dos dados de entrada, do processamento e saída.
• ALGORITMO: onde ferramentas do tipo descrição narrativa,
fluxograma ou pseudocódigo (portugol ou português estruturado)
são utilizadas para descrever o problema com suas soluções;
• CODIFICAÇÃO: onde o algoritmo é transformado em códigos da
linguagem de programação escolhida.
PARA SE CONSTRUIR, NECESSÁRIO SE FAZ
• Ler atentamente o enunciado, destacando os pontos mais
importantes.
• Definir os dados de entrada, ou seja, quais dados serão fornecidos.
• definir o processamento, ou seja, quais cálculos serão efetuados.
• Definir os dados de saída, ou seja, quais dados serão gerados
depois do processamento.
• Construir o algoritmo utilizando os tipos descritos no slide anterior.
• Testar o algoritmo realizando simulações.
FERRAMENTA 1 – DESCRIÇÃO NARRATIVA
• Descrição Narrativa: A descrição narrativa consiste em analisar o
enunciado do problema e escrever, utilizando uma linguagem
natural, por exemplo, a língua portuguesa, os passos a serem
seguidos para a resolução do problema.

Vantagem: não é necessário aprender nenhum conceito novo,
pois uma linguagem natural, neste ponto, já é bem conhecida.
FERRAMENTA 2 - FLUXOGRAMA
• Fluxograma: O fluxograma consiste em analisar o enunciado do
problema e escrever, utilizando símbolos pré-definidos, os passos a
serem seguidos para a resolução do problema.

Vantagem: o entendimento de elementos gráficos é mais fácil
do que o entendimento de textos.

Desvantagem: é necessário aprender a simbologia dos
fluxogramas e, além disso, o algoritmo resultante não apresenta
muitos detalhes, dificultando a sua transcrição para um
programa.
FERRAMENTA 2 - FLUXOGRAMA
FERRAMENTA 3 – PSEUDOCÓDIGO
• Pseudocódigo: consiste em analisar o enunciado do problema e
escrever, utilizando regras pré-definidas, os passos a serem
seguidos para a resolução do problema.
• Vantagem: a passagem do algoritmo para qualquer linguagem de
programação é quase imediata, bastando conhecer as palavras
reservadas da linguagem de programação que será utilizada.
• Desvantagem: é necessário aprender as regras do pseudocódigo,
que serão apresentadas posteriormente.
EXEMPLO - DESCRIÇÃO NARRATIVA
Faça um algoritmo que mostre o resultado da multiplicação de dois
números.
Passo 1 – Receber os dois números que serão multiplicados
Passo 2 – Multiplicar os números
Passo 3 – Mostrar o resultado obtido na multiplicação
EXEMPLO - FLUXOGRAMA
Faça um algoritmo que
mostre o resultado da
multiplicação de dois
números.
EXEMPLO - PSEUDOCÓDIGO
Faça um algoritmo que mostre o resultado da multiplicação de dois
números.
ALGORITMO
DECLARE n1, n2, m NUMÉRICO
ESCREVA “Digite dois números”
LEIA n1, n2
m  n1 * n2
ESCREVA “Multiplicação = “ , m
FIM_ALGORITMO.
CONCEITO DE VARIÁVEL
• Um ALGORITMO recebe dados, que são armazenados na memória
do computador.
• Desta forma, uma variável representa uma posição de memória,
possuindo nome e tipo.
• Quando queremos buscar algum dado na memória basta sabermos
o nome da variável que o computador irá buscá-lo
automaticamente.
CONCEITO DE TIPOS DE DADOS
• Quando uma variável é definida é necessário saber que TIPO são os
dados que ela armazenará. São eles:
• Numérico: dividem-se em inteiros e reais.

Os números inteiros podem ser positivos ou negativos e NÃO
possuem parte decimal. Exemplos: -23; 98; 0; 1350.

Os números reais podem ser positivos ou negativos e POSSUEM
parte decimal. Exemplos: -23.50; 98.37; 0.29; 1350.45.
CONCEITO DE TIPOS DE DADOS
• Lógico: São também chamados dados booleanos (por causa da
álgebra de Boole) e podem assumir apenas duas possibilidades de
representação, os valores VERDADEIRO ou FALSO.
• Literal ou Caractere : São dados formados por um único caractere
ou por uma cadeia de caracteres.

Estes caracteres podem ser as letras maiúsculas, minúsculas, números (não
podem ser usados para cálculos) e os caracteres especiais (&, #, @, ?, +, etc).

Exemplos: ‘F’; ‘s’; ‘unipar’; ‘rua das flores’.
REGRAS PARA IDENTIFICADORES (VARIÁVEL)
• Só pode conter letras (maiúsculas ou minúsculas), números e o
caractere sublinhado.
• o primeiro caractere deve ser sempre letra ou o caractere
sublinhado.
• não são permitidos espaços em branco e caracteres especiais.
• não podemos usar as palavras reservadas, ou seja, palavras que
pertencem a uma linguagem de programação.
• Deve dizer respeito ao que será armazenado dentro dela.
REGRAS PARA IDENTIFICADORES (VARIÁVEL)
• Exemplos de identificadores
Válidos:
• A
• _a
• nota
• NOTA
• X5
• A32
Inválidos:
• 5b – começa por número
• e 12 – contém espaço em branco
• x-y – contém caractere especial ‘-’
• If – por ser palavra reservada
ESTRUTURA SEQUENCIAL EM ALGORITMOS
Escopo
ALGORITMO
DECLARE
INICIO
bloco de comandos
FIM.
DECLARAÇÃO DE VARIÁVEIS EM ALGORITMOS
• As variáveis são declaradas após a palavra DECLARE e os tipos mais
utilizados são: NÚMERICO, LITERAL e LÓGICO.
DECLARE
idade NÚMERICO
sexo LITERAL
teste LÓGICO
COMANDO DE ATRIBUIÇÃO EM ALGORITMOS
• O comando de atribuição é utilizado para atribuir valores ou
operações a variáveis, sendo representado pelos símbolo 
x4
yy+2
z  ‘joão’
teste  falso
COMANDO DE ENTRADA EM ALGORITMOS
• O comando de entrada é utilizado para receber dados digitados
pelo usuário. Os dados recebidos são armazenados em variáveis.
Este comando é representado pela palavra LEIA.
EXEMPLO:
LEIA nota
LEIA nome
COMANDO DE SAÍDA EM ALGORITMOS
• O comando de saída é utilizado para mostrar dados na tela, na
impressora ou outros. Este comando é representado pela palavra
ESCREVA e os dados podem ser conteúdo de variáveis ou
mensagens.
EXEMPLO:
ESCREVA idade
ESCREVA ‘Entre com o seu nome’
ESCREVA ‘Eu tenho ’ , idade, ‘ anos’
Download