algoritmo

Propaganda
Algoritmos e Estrutura de Dados I
Revisão
Prof. Elyssandro Piffer
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.
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).
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
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.
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 PSEUDOCÓDIGO
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 PSEUDOCÓDIGO
• 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 PSEUDOCÓDIGO
• 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’
ESTRUTURA SEQUENCIAL
Exemplo (em pseudocódigo):
...
inicio
Leia o raio;
calcule a área do circulo;
escreva o cálculo da área do circulo ;
fim
OPERADORES RELACIONAIS
EM ALGORITMO
=
igual
≠ ou <>
diferente
≤ ou <=
menor igual
≥ ou >=
maior igual
<
menor
>
maior
Prioridade:
NÃO possuem
OPERADORES LÓGICOS
• EM ALGORITMO
NÃO
E
OU
Obs.: são usados para conjunção,
disjunção e negação respectivamente.
Prioridade:
1.º NÃO
2º E
3º OU
Obs.: é apropriado
quando existir mais de
um tipo de operador,
utilizar os parênteses que
indiquem a prioridade de
execução
TABELA VERDADE
TABELA E
TABELA OU
TABELA NÃO
V E V=V
V OU V = V
NÃO V = F
V E F=F
V OU F = V
NÃO F = V
F E V=F
F OU V = V
F E F=F
F OU F = F
CONCEITO DE ESTRUTURAS CONDICIONAIS
• As estruturas condicionais são divididas em:
 Simples.
 Compostas.
 Múltipla
escolha.
ESTRUTURA CONDICIONAL SIMPLES
ESCOPO EM ALGORITMO:
SE condição ENTÃO
INICIO
comando1
comando2
comando3
FIM
Os comandos só
serão executados
se a condição for
verdadeira.
EXEMPLO ESTRUTURA CONDICIONAL SIMPLES
...
SE x = 2 ENTÃO
INICIO
ESCREVA “X É IGUAL A 2”
ESCREVA “2 É UM NÚMERO PAR”
FIM
ESTRUTURA CONDICIONAL SIMPLES
FORMAS DE REPRESENTAÇÃO NO ALGORITMO
Fluxograma
falso
condição
verdade
Linguagem Algorítmica
se condição então
inicio
comandos
comandos
Fim
EXEMPLO 2: ESTRUTURA CONDICIONAL SIMPLES
ALGORITMO num_guais
VAR num1, num2 inteiro
INICIO
LEIA num1, num2
SE num1 = num2 ENTÃO
inicio
ESCREVA “Números Iguais”
fim
FIM
ESCOPO DA ESTRUTURA CONDICIONAL COMPOSTA
SE condição ENTÃO
INICIO
comando1
comando2
comando3
FIM
SENÃO
INICIO
comando4
comando5
FIM
Se a condição for verdadeira
os comandos 1, 2 e 3 serão
executados. Se a condição for
falsa os comandos 4 e 5 serão
executados.
EXEMPLO CONDICIONAL COMPOSTA
SE x = 2 ENTÃO
INÍCIO
ESCREVA “X É IGUAL A 2”
ESCREVA “2 É UM NÚMERO PAR”
FIM
SENÃO
INÍCIO
ESCREVA “X É MAIOR OU MENOR QUE 2”
FIM
ESTRUTURA CONDICIONAL COMPOSTA
FORMAS DE REPRESENTAÇÃO NO ALGORITMO
Fluxograma
Linguagem Algorítmica
se condição
falso
condição
comando 2
verdade
comando 1
então
inicio
comando1
Fim
senão
inicio
comando2
Fim
EXEMPLO 2: ESTRUTURA CONDICIONAL COMPOSTA
ALGORITMO media4
VAR nota1, nota2, nota3, media real
INICIO
Leia (nota1, nota2, nota3)
media <- (nota1 + nota2 + nota3 ) /3
SE media >= 6.0 ENTÃO
inicio
Escreva “Aluno Aprovado “
Escreva “ Média = “, media
fim
SENÃO
inicio
Escreva “ Aluno Reprovado “
Escreva “ Média = “, media
fim
Escreva “Fim de execução”
FIM
SE (você tem dinheiro suficiente para encher o tanque)
Então
inicio
encha o tanque
pague em dinheiro
fim
Senão
inicio
se (você tem cartão de crédito)
então
inicio
SELEÇÃO
encha o tanque
ENCADEADA
pague com o cartão
fim
OU ANINHADA
Fim
EXEMPLO DE UMA CALCULADORA SIMPLES
Algoritmo calculadora
Var operador char; operando1, operando2, resultado real
INÍCIO
Leia operando1, operador, operando2
se operador = ‘ +’
então inicio resultado <- operando1 + operando2 fim
se operador = “ - ”
então inicio resultado <- operando1 - operando2 fim
se operador = “ * ”
então inicio resultado <- operando1 * operando2 fim
se operador = “ / ”
então inicio resultado <- operando1 / operando2 fim
Escreva resultado
FIM
INICIO
Leia operando1, operador, operando2
Se operador = “ + ” então
Inicio
resultado <- operando1 + operando2
Fim
senão
inicio
se operador = “ - ” então
inicio resultado <- operando1 - operando2 fim
senão
inicio
se (operador = “ * ”) então
inicio
resultado <- operando1 * operando2 fim
senão
inicio
se (operador = “ / ”) então inicio resultado <- operando1 / operando2 fim
fim
fim
fim
escreva resultado
EXEMPLO DE ENCADEAMENTO OU ANINHAMENTO
FIM
ESCOPO DA CONDICIONAL MÚLTIPLA ESCOLHA
Caso variável for
valor 1 : inicio
comando_1
comando_2
fim
valor n : inicio
comando_3
fim
SENÃO inicio
comando_4
comando_5
fim
Fim_Caso
ESCOPO DA CONDICIONAL MÚLTIPLA ESCOLHA
Caso variável for
valor 1 : inicio
comando_1
comando_2
fim
valor n : inicio
comando_3
fim
Fim_Caso
O comando (SENÃO) não
é parte obrigatória
EXEMPLO CONDICIONAL MÚLTIPLA ESCOLHA
...
LEIA x
Caso x for
1 : inicio
ESCREVA “Foi digitado 1” fim
2,3 : inicio
ESCREVA “Foi digitado 2 ou 3” fim
5 : inicio
ESCREVA “Foi digitado o valor 5” fim
SENÃO ESCREVA “Valor diferente de 1, 2, 3 e 5”
Fim_Caso
...
...
Escreva “1 – Exercicio 1”
Escreva “2 – Exercicio 2”
Escreva “3 – Sair”
LEIA x
Caso x for
1 : inicio ESCREVA “estou no exerc 1” fim
2 : inicio ESCREVA “estou no exerc 2” fim
3 : inicio ESCREVA “Final de execução” fim
SENÃO ESCREVA “Opção inválida”
Fim_Caso
...
EXEMPLO CONDICIONAL MÚLTIPLA ESCOLHA
...
LEIA x
Caso x for
1 : ESCREVA “Foi digitado o nº 1”
2,3 : inicio
ESCREVA “Foi digitado o nº 2”
ESCREVA “ou o nº 3”
fim
4..9 : ESCREVA “Foi digitado nº entre 4 e 9”
SENÃO ESCREVA “Valor diferente de 1 a 9”
Fim_Caso
...
EXEMPLO CONDICIONAL MÚLTIPLA ESCOLHA
Exemplo com valor
...
caractere (char)
LEIA sexo
Caso sexo for
“F” : inicio
ESCREVA “ Feminino ” fim
“f” : inicio
ESCREVA “ feminino ” fim
“M” : inicio
ESCREVA “ Masculino ” fim
”m” : inicio
ESCREVA “ masculino ” fim
SENÃO ESCREVA “ sexo inválido ”
Fim_Caso
...
EXEMPLO CONDICIONAL MÚLTIPLA ESCOLHA
...
LEIA sexo
Caso sexo for
“F” , “f” : inicio
ESCREVA “ feminino ” fim
“M” , “m” : inicio
ESCREVA “ masculino ” fim
SENÃO ESCREVA “ sexo inválido ”
Fim_Caso
...
EXEMPLO CONDICIONAL MÚLTIPLA ESCOLHA
...
LEIA sexo
Caso sexo for
“a” .. “z” : inicio ESCREVA “ valor de a até z ”
“A” .. “Z” : inicio ESCREVA “valor de A até Z ”
SENÃO ESCREVA “ sexo inválido ”
Fim_Caso
...
fim
fim
Download