construção de algoritmos
TRANSCRIPT
1
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
CEULS/ULBRACENTRO UNIVERSITÁRIO LUTERANO DE SANTARÉM
CURSO DE SISTEMAS DE INFORMAÇÃO
Tarcísio [email protected]
2
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
ENTRADA
ENTRADA: os dados de entrada do algoritmo.
Ex.: Notas de um aluno
PROCESSAMENTO: procedimentos, ações ou cálculos utilizados para chegar ao resultado final.
Ex.: Cálculo da Média Final
SAÍDA: os dados processados. Ex.: Impressão de valores
A MÁQUINA QUE OBEDECE ORDENS
CONSTRUÇÃO DE ALGORITMOS
PROCESSAMENTO SAÍDA
3
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
ENTRADA
UNIDADE CENTRAL DE PROCESSAMENTO(U.C.P. ou C.P.U.)
UNIDADE DE
CONTROLE UNIDADE LÓGICA E
ARITMÉTICA
MEMÓRIA PRINCIPAL
SAÍDA
MODELO COMPUTACIONAL DE JOHN VON NEUMANN
A MÁQUINA QUE OBEDECE ORDENS
4
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
ORIENTADA A OBJETOS (E EVENTOS):1. Programas simulam o Mundo Real (incontáveis objetos);2. Os objetos devem enviar, receber e reagir a mensagens.
CONSTRUÇÃO DE ALGORITMOS
“Programar nos diferentes paradigmas significa, portanto, representar, segundo modelos diferentes, a solução do problema a ser resolvido na máquina” (BARANAUSKAS, ____)
As formas que temos para resolver problemas através de uma LP:
SEQUENCIAL (PARADIGMA PROCEDURAL):1. Comandos ordenados em linhas;2. Execução top-down (de cima para baixo);3. Estruturas básicas de controle: Seleção e Repetição.
ESTRUTURADA (PARADIGMA FUNCIONAL):1. Funções e Procedimentos;2. Fragmentação do Programa (em Bibliotecas).
1. TÉCNICAS DE PROGRAMAÇÃO
5
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Algoritmos podem ser representados, dentre outras maneiras, por:
1. PSEUDO-CÓDIGO (PORTUGOL)
2. DIAGRAMA DE BLOCOS
“[...] são duas técnicas importantes para a documentação da solução de um problema computacional [...]” (MANZANO & OLIVEIRA, 1999).
CONSTRUÇÃO DE ALGORITMOS2. FORMAS DE REPRESENTAÇÃO
6
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Referência indireta à uma linguagem de programação!
Por isso, o algoritmo é independente da linguagem que for utilizada para programar.
PSEUDO-CÓDIGO (PORTUGOL)
Português
(PSEUDO-CÓDIGO)ALGORITMOS
Linguagem de Programação
CONSTRUÇÃO DE ALGORITMOS2. FORMAS DE REPRESENTAÇÃO
7
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
PSEUDO-CÓDIGO (PORTUGOL)
CONSTRUÇÃO DE ALGORITMOS2. FORMAS DE REPRESENTAÇÃO
8
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
VANTAGENS:1. Independência física da solução (solução lógica apenas);2. Usa o português como linguagem base; 3. Pode-se definir quais e como os dados vão estar estruturados; 4. Passagem quase imediata do algoritmo para uma linguagem de programação qualquer.
DESVANTAGENS:1. Exige a definição de uma linguagem não real para trabalho;2. Não padronizado.
PSEUDO-CÓDIGO (PORTUGOL)
CONSTRUÇÃO DE ALGORITMOS2. FORMAS DE REPRESENTAÇÃO
9
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Utilização de símbolos gráficos para representar algoritmos.
Existem símbolos padronizados para início, entrada de dados,
cálculos, saída de dados, fim, etc...
DIAGRAMA DE BLOCOS
Início/Fim Entrada Saída Cálculo Seleção(Decisão)
Conectores
pelo teclado
cartão perfurado na impressora
no vídeo
particionar
de página
CONSTRUÇÃO DE ALGORITMOS2. FORMAS DE REPRESENTAÇÃO
10
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
EXEMPLO DESCRIÇÃO DA INSTRUÇÃO
Início do algoritmo
Entrada do número Cálculo do dobro do número Apresentação do resultado Fim do algoritmo
início
leia NUM
DOBRO <- NUM * 2
escreva DOBRO
fim
DIAGRAMA DE BLOCOS
CONSTRUÇÃO DE ALGORITMOS2. FORMAS DE REPRESENTAÇÃO
11
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
VANTAGENS:1. Uma das ferramentas mais conhecidas;2. Figuras dizem muito mais que palavras;3. Padrão Mundial.
DESVANTAGENS:1. Faz com que a solução do problema já esteja
amarrada a dispositivos físicos;2. Pouca atenção aos dados, não oferecendo recursos
para descrevê-los ou representá-los;3. Complica-se à medida que o algoritmo cresce.
DIAGRAMA DE BLOCOS
CONSTRUÇÃO DE ALGORITMOS2. FORMAS DE REPRESENTAÇÃO
12
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
P1 – PORTUGOL e DB
CONSTRUÇÃO DE ALGORITMOS
13
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
OPERADORES
ARITMÉTICOS ESPECIAIS
* : Multiplicação/ : Divisão+ : Adição– : Subtração
MOD : Resto de uma divisão entre dois números
DIV : Valor Inteiro de uma divisão entre dois números
3. OPERAÇÕES ARITMÉTICAS (SOBRE DADOS NUMÉRICOS)
Realizadas com dados numéricos (inteiro ou real), retornam valores numéricos que podem ou não serem armazenados em variáveis.
14
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
OPERADORES MOD e DIV
3. OPERAÇÕES ARITMÉTICAS (SOBRE DADOS NUMÉRICOS)
15
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSLINEARIZAÇÃO DE EXPRESSÕES
Para a construção de Algoritmos todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas.
16
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSMODULARIZAÇÃO DE EXPRESSÕES
A modularização é a divisão da expressão em partes, proporcionando maior compreensão e definindo prioridades para resolução da mesma.
EXEMPLOS:
(2+2)/2 = 2 2+(2/2) = 3 2+2/2 = 3
(2/3+(5-3)) = (2/3+5)-3 = 2/(3+5)-3 =
OBSERVAÇÃO:
1. Usamos parênteses “( )” para modularização, substituindo os “[ ]” e as
“{ }” das operações matemáticas do mundo real;
2. Podemos ter parênteses dentro de parênteses. Ex.: (..(..)..);
3. Operações entre parênteses precedem outras operações.
17
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Lista 4 – Linearização de Op. Numéricas
CONSTRUÇÃO DE ALGORITMOS
18
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSFORMA GERAL DE UM ALGORITMO EM “PORTUGOL”
CABEÇA
CORPO
Nomeação
Declaração
Comandos
Comentários
19
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSPALAVRAS RESERVADAS
São nomes utilizados pelo algoritmo para executaruma determinada ação. Para evitar conflitos com estes nomes evita-se a sua utilização como identificadores.
EXEMPLOS:
1. ALGORITMO: nomea o algoritmo;
2. VAR e CONST: define o espaço para declaração de variáveis e constantes;
3. INÍCIO e FIM: define o corpo do algoritmo. Onde inicia e termina a execução
de comandos;
4. LEIA, ESCREVA, SE , REPITA, etc.: são comandos.
20
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSIDENTIFICADORES
São os nomes dados aos programas, às variáveis e às constantes.
REGRAS PARA CONSTRUÇÃO DE IDENTIFICADORES:
1. NÃO podem ter nomes de palavras reservadas (comandos da linguagem) ;
2. Devem possuir como 1º caractere uma letra ou underscore (_) ;
3. Ter como demais caracteres letras, números ou underscore;
4. Ter no máximo 127 caracteres;
5. NÃO possuir espaços em branco;
6. A escolha de letras maiúsculas ou minúsculas é indiferente.Ex.: NOME é igual a Nome ou NoMe
21
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSIDENTIFICADORES
São os nomes dados aos programas, às variáveis e às constantes.
Exemplos de Identificadores válidos:
22
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
CONSTANTESConstantes são endereços de memória destinados a armazenar
informações (VALORES) fixas.Estes VALORES são inalteráveis durante a execução do programa.
CONSTANTES E VARIÁVEIS
Constantes são eternamente iguais a determinados valores,
portanto utilizamos o sinal = (leia-se “igual”).
Ex.:PI = 3,1416gravidade = 9,8Empresa = “Tapajós Informática S/A”V = Verdadeiro
23
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSVARIÁVEIS
Variáveis são endereços de memória destinados a armazenar informações (VALORES) temporariamente.
Estes VALORES podem variar durante a execução do programa.
VARIÁVEIS DE ENTRADAVariáveis de Entrada armazenam informações fornecidas por um meio
externo, normalmente usuários ou discos.
VARIÁVEIS DE SAÍDAVariáveis de Saída armazenam dados processados como resultados.
Exemplo:
A B C <- A+BMEMÓRIA
VÍDEO 5 3 7
DENTRODO COMPUTADOR
FORADO COMPUTADOR
24
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
SINAL DE ATRIBUIÇÃO (<-)
Uma variável nunca é eternamente igual a apenas um valor, seu conteúdo pode ser alterado a qualquer momento. Portanto, para
atribuir valores à variáveis utilizamos o sinal <- (leia-se “recebe”).
Ex.: A <- 2B <- 3SOMA <- A + BNome <- “Antônio”deuCerto <- Falso
25
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSTIPOS DE DADOS
O tipo de informação que uma determinadavariável ou constante pode assumir.
OS TIPOS DE DADOS PODEM SER:
> PRIMITIVO: Pré-definido pela linguagem (numérico, literal ou lógico);
> SUB-FAIXA: Parte de um Tipo Primitivo já existente (vetor e matriz);
> ESCALAR: Definidos pelo programador.
26
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSTIPOS DE DADOS
TIPOS PRIMITIVOS
O tipo de informação que uma determinadavariável ou constante pode assumir.
1. NUMÉRICO: valores que representam números
> INTEIRO: conjunto de número inteiros.
Ex.: 1 -3 0 234
> REAL (ou Ponto Flutuante): conjunto dos números reais.
Ex.: 1 -1,45 -0,56 23e-2
27
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSTIPOS DE DADOS
TIPOS PRIMITIVOS
O tipo de informação que uma determinadavariável ou constante pode assumir.
2. LITERAL: cadeia de caracteres, também chamados STRINGs.
> Sequência de alfanuméricos (letras, números e caracteres especiais);
> São representados entre aspas “ ”.
Ex.: “a” “ave” “Antônio” “7,89” “65%”
28
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSTIPOS DE DADOS
TIPOS PRIMITIVOS
O tipo de informação que uma determinadavariável ou constante pode assumir.
3. LÓGICO: representam os valores lógicos de verdade e falsidade, ou ainda de 1 bit (0 ou 1).
> Também chamados valores BOOLEANOS:
VERDADEIRO ou FALSO
> São os resultados de expressões lógicas.
Ex.: 3 > 1 = VERDADEIRO 1 > 3 = FALSO 5 + 2 < 9 = ??
29
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
COMANDOS DE ENTRADA/SAÍDA (I/O – INPUT/OUTPUT)
leia: comando de entrada que permite a leitura de valores para variáveis de entrada.
escreva: comando de saída que escreve uma informação (valor de uma variável de saída, uma literal, etc.) na tela do monitor.
30
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
LINHAS DE COMENTÁRIO {} ou //
Podemos inserir em um Algoritmo comentários para aumentar a compreensão do mesmo, para isso basta que o texto fique entre
Chaves “{}”
Ex.:leia (RAIO) // ENTRADA
{ Cálculo da somade dois números }
SOMA <- A + B
31
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Construído o Algoritmo temos que testá-lo!
Através do TESTE DE MESA iremos seguir os passos de execução do algoritmo (linha por linha) para verificarmos se ele está correto, ou com erro.
Nota 1 Nota 2 MEDIAAlgoritmo Cálculo da Média
Teste de Mesa
início
leia Nota1
leia Nota2
MEDIA <- (Nota1 + Nota2) / 2
fim.
início
leia Nota1leia Nota1
3
leia Nota2leia Nota2
6
MEDIA <- (Nota1 + Nota2) / 2MEDIA <- (Nota1 + Nota2) / 2
4,5
fim.
TESTE DE MESA
CONSTRUÇÃO DE ALGORITMOS
32
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Construído o Algoritmo temos que testá-lo!
Através do TESTE DE MESA iremos seguir os passos de execução do algoritmo (linha por linha) para verificarmos se ele está correto, ou com erro.
Nota 1 Nota 2 MEDIAAlgoritmo Cálculo da Média
Teste de Mesa
início
leia Nota1
leia Nota2
MEDIA <- (Nota1 + Nota2) / 2
fim.
início
leia Nota1leia Nota1
3
leia Nota2leia Nota2
6
MEDIA <- (Nota1 + Nota2) / 2MEDIA <- (Nota1 + Nota2) / 2
4,5
fim.
TESTE DE MESA
CONSTRUÇÃO DE ALGORITMOS
15 365 190
33
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSIDENTAÇÃO
Embora não seja mandatória, uma vez que não influencia na execução, é de boa prática de programação utilizar a identação para melhor organização e visualização do código do algoritmo.Ex.:
Quando um comando ou bloco de comandos ficam subordinados a outros comandos.
algoritmo CALCULA_DOBROvar
{linhas subordinadas ao comando var}NUM, DOBRO: inteiro
início{bloco de comandos subordinados a início e fim.} leia NUMDOBRO 2 * NUMescreva DOBRO
fim.
34
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOSCONCATENAÇÃO
É utilizada apenas no comando escreva.
O operador de concatenação é o sinal “,”.
Justaposição de valores.
inícioescreva “alô mundo”escreva “Olá tudo bem ”, “João”escreva 1escreva 1, 2valor1 <- 12valor2 <- 34escreva valor1, valor2deuCerto <- falsoescreva deuCerto
fim.
35
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
REFINAMENTOS
O Algoritmo é completo quando é entendido pelo usuário!
“Calcula Média”Início
Receba dois números
Exiba o resultadoFim
Calcule a média dos dois númerosCalcule a média dos dois números
Calcule a média dos dois númerosé equivalente a
Some os dois númerosDivida o resultado por 2
CONSTRUÇÃO DE ALGORITMOS
Ex.:
36
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
REFINAMENTOS
O Algoritmo é completo quando é entendido pelo usuário!
“Calcula Média”Início
Receba dois númerosSome os dois númerosDivida o resultado por 2 Exiba o resultado
FimCalcule a média dos dois números
é equivalente aSome os dois númerosDivida o resultado por 2
CONSTRUÇÃO DE ALGORITMOS
Ex.:
37
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
REFINAMENTOS
O Algoritmo é completo quando é entendido pelo usuário!
início
media <- (val1 + val2) / 2 escreva media
fim.
leia val1, val2
Intruir o usuário sobre o quê fazer..dessa forma:
escreva “Digite dois valores: ”
leia val1, val2
CONSTRUÇÃO DE ALGORITMOS
leia val1, val2
Ex.:
38
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
REFINAMENTOS
O Algoritmo é completo quando é entendido pelo usuário!
inícioescreva “Digite dois valores: ”leia val1, val2media <- (val1 + val2) / 2 escreva media
fim.Intruir o usuário sobre o quê fazer..
dessa forma:escreva “Digite dois valores: ”
leia val1, val2
CONSTRUÇÃO DE ALGORITMOS
Ex.:
39
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
REFINAMENTOS
O Algoritmo é completo quando é entendido pelo usuário!
inícioleia val1, val2
escreva mediafim.
media <- (val1 + val2) / 2
Em dois passos com duas váriáveis..dessa forma:
soma <- val1 + val2media <- soma / 2
CONSTRUÇÃO DE ALGORITMOS
media <- (val1 + val2) / 2
Ex.:
40
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
REFINAMENTOS
O Algoritmo é completo quando é entendido pelo usuário!
inícioleia val1, val2soma <- val1 + val2media <- soma / 2escreva media
fim.Em dois passos com duas váriáveis..
dessa forma:soma <- val1 + val2media <- soma / 2
CONSTRUÇÃO DE ALGORITMOS
Ex.:
41
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
DIAGRAMA DE BLOCOS
Início
“Chupar uma bala”• Pegar a bala• Retirar o papel• Chupar a bala• Jogar o papel no lixo
Pegar a bala
Retirar o papel
Chupar a bala
Jogar o papel no lixo
Fim
CONSTRUÇÃO DE ALGORITMOS
42
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
inícioleia NUM_1leia NUM_2MEDIA <- (NUM_1 + NUM_2) / 2escreva MEDIA
fim.
DIAGRAMA DE BLOCOS
início
leia NUM_1
MEDIA <- (NUM_1+NUM_2)/2
escreva MEDIA
fim
leia NUM_2
CONSTRUÇÃO DE ALGORITMOS
OBS.: o nome do comando não é necessário, o símbolo deve falar por si só.
43
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
inícioleia NUM_1leia NUM_2MEDIA <- (NUM_1 + NUM_2) / 2escreva MEDIA
fim.
DIAGRAMA DE BLOCOS
início
NUM_1
MEDIA <- (NUM_1+NUM_2)/2
MEDIA
fim
NUM_2
CONSTRUÇÃO DE ALGORITMOS
OBS.: o nome do comando não é necessário, o símbolo deve falar por si só.
44
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Lista 4 – Variáveis, Constantes e Tipos de Dados
CONSTRUÇÃO DE ALGORITMOS
45
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
OPERADORES
RELACIONAIS
> : Maior que< : Menor que>= : Maior ou Igual que<= : Menor ou Igual que= : Igual<> : Diferente
3. EXPRESSÕES RELACIONAISRelacionam dados literais e numéricos. Retornam valores lógicos
(verdadeiro ou falso) que podem ou não ser armazenados em variáveis.
inícioA <- 5B <- 3{resultados esperados}C <- A > BC <- B > AD <- A = BD <- A <> BE <- A >= BE <- A <= B
fim.
46
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
inícioA1 <- “A”B <- “B”A2 <- “A”deuCerto <- “sim”C <- A1 = BC <- A1 = A2D <- A1 <> BD <- A2 <> A1E <- deuCerto = “sim”deuCerto <- “não”E <- deuCerto = “sim”
fim.
3. EXPRESSÕES RELACIONAIS
47
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
4. OPERAÇÕES LÓGICAS (SOBRE DADOS LÓGICOS)
Combinam expressões relacionais. Também retornam valores lógicos (verdadeiro ou falso) que podem ou não ser armazenados em variáveis.
LÓGICOS
.e. : é VERDADEIRO se ambas as expressões forem VERDADEIRAS.
.ou.: é VERDADEIRO se pelo menos uma das expressões forem VERDADEIRAS.
.não. : inverte o resultado da expressão.FALSO passa a ser VERDADEIRO, e vice-versa.
OPERADORES
48
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
4. OPERAÇÕES LÓGICAS (SOBRE DADOS LÓGICOS)
Combinam variáveis do tipo lógico ou expressões relacionais. Também retornam valores lógicos (verdadeiro ou falso) que
podem ou não ser armazenados em variáveis.
TABELA VERDADE
A B A .e. B A .ou. B .não. A .não. B
V V V V F F
V F F V F V
F V F V V F
F F F F V V
49
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
4. OPERAÇÕES LÓGICAS (SOBRE DADOS LÓGICOS)
inícioA <- 5B <- 8C <- A = BD <- A < BE <- .not. DG <- C .e. DE <- A + B {atenção aqui!}F <- (A <> B).ou. (B < A)H <- (A < B) .e. (B = A)J <- .not. (A <= B)
fim.
50
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
CONSTRUÇÃO DE ALGORITMOS
4. OPERAÇÕES LÓGICAS (SOBRE DADOS LÓGICOS)
inícioA <- 5B <- 8C <- 1X <- A + 3{resultados esperados}D <- .not. (X > B)D <- (A = B).e. (B > C)E <- D .ou. (B < C)F <- (A < X) .e. FG <- (A >= B) .ou. (X = B)G <- .not. (A <= B)
fim.
51
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Lista 5 – Expressões Relacionais e Operações Lógicas
CONSTRUÇÃO DE ALGORITMOS
52
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
ESTRUTURAS
DE
CONTROLE
53
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
ESTRUTURAS DE CONTROLE
Os comandos no algoritmo ficam em seqüência, e são executados na ordem em que eles se encontram, estritamente, um de cada vez. Assim:
comando1comando2comando3
comandoN
.
.
.
(TOP – DOWN)
1. SEQUÊNCIAÇÃO
54
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
ESTRUTURAS DE CONSTRUÇÃO
2. DECISÃO (ou CONDICIONAL)Quando a execução de dois comandos, ou de duas seqüências de comandos, ficam subordinados a uma condição.
Se <cond>
então
fimSe
comando
Se <cond>
então
fimSe
comando1
comandoX
SE simples
Expressão Relacional = Operação Lógica
Variável Lógica
<cond> { Portanto o resultado de uma condição sempre será um valor lógico.
⟩
55
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
2. DECISÃO (ou CONDICIONAL)Quando a execução de dois comandos, ou de duas seqüências de comandos, ficam subordinados a uma condição.
Se <cond>
então
fimSe
comando1senão
comando2
Se <cond>
então
fimSe
comando1
senãocomandoX
comando2
comandoY
SE completo
ESTRUTURAS DE CONTROLE
56
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
iníciocomando1comando2Se <cond>
entãocomando3
senãocomando4
fimSefim.
início
<cond>V F
2. DECISÃO (ou CONDICIONAL)
comando2
comando1
comando3 comando4
fim
ESTRUTURAS DE CONTROLE
57
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
iníciocomando1comando2Se <cond>
entãocomando3
senãocomando4
fimSefim.
iníciocomando1comando2Se <cond>
entãocomando3
senãocomando4
fimSefim.
2. DECISÃO (ou CONDICIONAL)
início
<cond>V
comando2
comando1
comando3
fim
ESTRUTURAS DE CONTROLE
58
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
iníciocomando1comando2Se <cond>
entãocomando3
senãocomando4
fimSefim.
iníciocomando1comando2Se <cond>
entãocomando3
senãocomando4
fimSefim.
2. DECISÃO (ou CONDICIONAL)
início
<cond>F
comando2
comando1
comando4
fim
ESTRUTURAS DE CONTROLE
59
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
2. DECISÃO (ou CONDICIONAL)Na condicional SE, podemos tratar apenas 2 (duas) opções. Para tratarmos mais opções precisamos fazer o aninhamento de SE.
Se <cond1> então
comando1senão
Se <cond2>então
comando2senão
comando3fimSe
fimSe
Ninhos de SE
comando1
<cond1>
V
F
<cond2>
V
F
comando3comando2
ESTRUTURAS DE CONTROLE
60
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
2. DECISÃO de MÚLTIPLA ESCOLHAComo alternativa para o aninhamentos de SE, podemos utilizar o comando ESCOLHA.
Escolha <cond1> caso <valor1>
comando1 caso <valor2>
comando2...senão
comando3fimEscolha
ESCOLHA
<valor1>
F
V
comando3
comando2
ESTRUTURAS DE CONTROLE
<valor2>V
F
comando1
61
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
2. DECISÃO de MÚLTIPLA ESCOLHAComo alternativa para os aninhamentos de SE, podemos utilizar o comando ESCOLHA.
ESCOLHA
ESTRUTURAS DE CONTROLE
Qualquer Expressão
ou
Qualquer Variável
<cond> {
Portanto o resultado de uma condição será qualquer valor.
⟩
Escolha <cond1> caso <valor1>
comando1 caso <valor2>
comando2...senão
comando3fimEscolha
62
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Para: utilizada quando precisamos que determinada tarefa seja executada em um número determinado de vezes. Assim:
Para <var> <- <valinicial> até <valfinal> faça
comando1
fimPara
comandoX
Ex.: Bata cinco pênaltis;Escreva de 1 até 10.
3. REPETIÇÃO (ou LOOPING)
<var>
comando
<var> <- <var> + <passo>
<var> <- <var> + <passo>
valinicial .. valfinal
ESTRUTURAS DE CONTROLE
63
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
3. REPETIÇÃO (ou LOOPING)
Algoritmo repeticao_paravar
i : inteiroinício
comando1comando2Para i <- 1 até 3 faça
comando3i <- i + 1
fimParacomando4
fim.
início
i1 .. 3
comando2
comando1
comando4comando3
fim
i <- i + 1
ESTRUTURAS DE CONTROLE
64
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Ex.: Enquanto a janela não quebrar atirar pedras;Executar enquanto o usuário não pedir para sair.
Enquanto e Repita: utilizada quando precisamos que determinada tarefa seja executada tantas vezes quanto uma determinada condição permitir. Assim:
Enquanto <cond>comando1
comandoXfimEnquanto
<cond>
comando1
V F
comandoX
ESTRUTURAS DE CONTROLE
3. REPETIÇÃO (ou LOOPING)
65
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Algoritmo repeticao_enquantoinício
comando1comando2Enquanto <cond>
comando3comando4
fimEnquantocomando5
fim.
início
<cond>
comando2
comando1
comando5comando3
fim
comando4
V F
ESTRUTURAS DE CONTROLE
3. REPETIÇÃO (ou LOOPING)
66
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Ex.: Atire pedras numa janela até quebrar;Executar até o usuário pedir para sair.
Repitacomando1
comandoXAté <cond>
<cond>
comando1
V
F
comandoX
ESTRUTURAS DE CONTROLE
Enquanto e Repita: utilizada quando precisamos que determinada tarefa seja executada tantas vezes quanto uma determinada condição permitir. Assim:
3. REPETIÇÃO (ou LOOPING)
67
CEULS/ULBRA – CURSO DE SISTEMAS DA INFORMAÇÃO JAN - 2007
Algoritmo repeticao_repitainício
comando1comando2Repita
comando3comando4
Até <cond>fim.
início
<cond>
comando2
comando1
comando3
fim
comando4
V
F
ESTRUTURAS DE CONTROLE
3. REPETIÇÃO (ou LOOPING)