construção de algoritmos

Post on 07-Apr-2015

241 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

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 Bentesthcbentes@gmail.com

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)

top related