algoritmos fabrício costa santana prof.fabricio@outlook.com

Post on 18-Apr-2015

113 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Algoritmos

Fabrício Costa Santanaprof.fabricio@outlook.com http://professorfabricio.net

Desvio Condicional Encadeadose (<condição1>) entao <instruções para condição1 verdadeira>senao se (<condição2>) entao <instruções para condição2 verdadeira, porém condição1 falsa> senao <instruções para condição1 e condição2 falsa> fimsefimse

Desvio Condicional Encadeado

Desvio Condicional Encadeado

Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que 500. Se o salário for maior ou igual a 500, mas menor ou igual a 1000, seu reajuste será de 10%; caso seja maior que 1000, o reajuste deverá ser de 5%

Salário < 500, reajuste será de 15%Salário >= 500, mas <= 1000, reajuste será de 10%Salário > 1000, reajusto será de 5%

Desvio Condicional Encadeado

Desvio Condicional Encadeadoalgoritmo "Reajusta_Salario"var

novo_salario: realsalario: real

inicioleia (salario)se (salario < 500) entao

novo_salario <- salario * 1.15senao

se (salario <= 1000) entaonovo_salario <- salario * 1.10

senaonovo_salario <- salario * 1.05

fimsefimseescreva (novo_salario)

fimalgoritmo

Operadores Lógicos• Operador: E• Operador: OU• Operador: NÃO

Operador Lógico: ECondição 1 Condição 2 Resultado

FALSO FALSO FALSOVERDADEIRO FALSO FALSO

FALSO VERDADEIRO FALSOVERDADEIRO VERDADEIRO VERDADEIRO

O operador do tipo E é utilizado quando dois ou mais relacionamentos lógicos de uma determinada condição necessitam ser verdadeiros.

Operador Lógico: Ealgoritmo “TESTA_LOGICA_E”var NUMERO: inteiroinicio leia (NUMERO ) se (NUMERO >= 20) e (NUMERO <=90) entao escreva (“Esta na faixa de 20 a 90") senao escreva (“Esta FORA da faixa de 20 a 90") fimsefimalgoritmo

Operador Lógico: OUCondição 1 Condição 2 Resultado

FALSO FALSO FALSOVERDADEIRO FALSO VERDADEIRO

FALSO VERDADEIRO VERDADEIROVERDADEIRO VERDADEIRO VERDADEIRO

O operador do tipo OU é utilizado quando pelo menos um dos relacionamentos lógicos de uma condição necessita ser verdadeiro.

Operador Lógico: OUalgoritmo “MEDIA_FALTAS_SITUACAO”var N1, N2, N3, N4, MEDIA: real FALTAS: inteiroinicio leia (N1) leia (N2) leia (N3) leia (N4) leia (FALTAS) MEDIA <- (N1+N2+N3+N4)/4 escreva (“A média é: ”, MEDIA) se (MEDIA >= 7) ou (FALTAS < 10) entao escreva (“Aprovado”) senao escreva (“Reprovado”) fimsefimalgoritmo

Operador Lógico: NÃOCondição Resultado

VERDADEIRO FALSOFALSO VERDADEIRO

O operador do tipo NAO é utilizado quando se necessita estabelecer que uma determinada condição deve não ser verdadeira ou deve não ser falsa. O operador NAO se caracteriza por inverter o estado lógico de uma condição.

Operador Lógico: NÃOalgoritmo "Testa_Logica_NAO"var

A, B, C, X: inteiroinicio

leia (A, B, X)se nao(X>5) entao

C <- (A + B) * Xsenao

C <- (A - B) * Xfimseescreva (C)

fimalgoritmo

TABELA VERDADEA B NÃO A NÃO B A OU B A E BF F V V F FF V V F V FV F F V V FV V F F V V

Algoritmo Triângulo

Problema:

Precisa-se de um programa capaz de ler três valores para os lados de um triângulo e verificar se os lados fornecidos formam realmente um triângulo. Se esta condição for verdadeira, deve ser indicado qual tipo de triângulo foi formado: isósceles, escaleno ou equilátero.

inicio

A, B, C

A=B .e. B=C

“Triângulo Equilátero”

A=B .ou. A=C .ou. B=C“Não é Triângulo”

“Triângulo Escaleno”

“Triângulo Isósceles”

fim

A<B+C .e. B<A+C .e. C<A+B

N S

SN

SN

Algoritmo Triânguloalgoritmo "Triangulo"var

a, b, c: realinicio

leia (a, b, c)se (a < b + c) e (b < a + c) e (c < a + b) entao

se (a=b) e (b=c) entaoescreva ("Triangulo Equilatero")senaose (a=b) ou (a=c) ou (c=b) entaoescreva ("Triangulo Isosceles")senaoescreva ("Triangulo Escaleno")fimsefimse

senaoescreva ("As medidas nao formam um triangulo")

fimsefimalgoritmo

Laços de Repetição• Conceito• Exemplo:• Fatorial de 5!

• 5! = 5 x 4 x 3 x 2 x 1

• Fatorial de 8450• 8450! = 8450 x 8449 x 8448 x 8447 x 8446 x ... X 3 x 2 x 1

• Probabilidade

• n = Total de números possíveis a se escolher.• k = Quantidade de escolhas dentre o universo de números

disponíveis.

Tipos de Laços de Repetição• Laço de Repetição com Teste Lógico no Início do Looping• Laço de Repetição com Teste Lógico no Fim do Looping• Laço de Repetição com Variável de Controle

Laço de Repetição com Teste Lógico no Início do Looping

algoritmo "Pede_Numero"var

X: inteiroR: inteiro

inicioleia (X)R <- X * 3escreva (R)leia (X) R <- X * 3escreva (R)leia (X)R <- X * 3escreva (R)leia (X) R <- X * 3escreva (R)leia (X)R <- X * 3escreva (R)

fimalgoritmo

Laço de Repetição com Teste Lógico no Início do Loopingenquanto (condição) faca

instruções executadas enquanto a condição for verdadeirafimenquanto

Laço de Repetição com Teste Lógico no Início do Looping

Laço de Repetição com Teste Lógico no Início do Loopingalgoritmo “Looping_1A”var

X, R, CONT: inteiroinicio

CONT <- 1enquanto (CONT <= 5) facaleia (X )R <- X * 3escreval (R) CONT <- CONT + 1fimenquanto

fimalgoritmo

Laço de Repetição com Teste Lógico no Início do Loopingalgoritmo “FATORIAL _ENQUANTO”var CONT, FAT : inteiroinicio //isto é um contador CONT 1 //isto é um acumulador FAT 1 enquanto (CONT <= 5) faca FAT FAT * CONT CONT CONT + 1 fimenquanto escreval (“Fatorial de 5 é = ”, FAT)fimalgoritmo

Laço de Repetição com Teste Lógico no Início do Looping• Contador: Variável que controla a contagem do número de

vezes que o trecho de programa deverá ser executado.• Acumulador: Variável usada para acumular valores. Deve ser

inicializada sempre com um valor que é elemento nulo na operação a ser acumulada (se a operação for de multiplicação deve iniciada com valor=1 se for soma deve ser iniciada com valor=0)

Exercícios

1. Elabore um algoritmo que solicite ao usuário um número e apresente os resultados da tabuada de multiplicar deste número, a qual deverá ser impressa no seguinte formato (considerando o fornecimento do número 2):

2 x 1 = 22 x 2 = 42 x 3 = 62 x 4 = 82 x 5 = 102 x 6 = 122 x 7 = 142 x 8 = 162 x 9 = 182 x 10 = 20

Exercícios

2. Apresentar o total da soma obtida dos cem primeiros números inteiros (1+2+3+4+...+98+99+100).

3. Elaborar um programa que apresente no final o somatório dos valores inteiros pares existentes na faixa de 1 até 50.

4. Elaborar um programa que apresente os valores de conversão de graus Celsius em Fahrenheit, de 10 em 10 graus, iniciando a contagem em 10 graus Celsius e finalizando em 100 graus Celsius. O programa deve apresentar os valores das duas temperaturas. A fórmula de conversão F <- (9 * C + 160) / 5

5. Elaborar um programa que efetue a leitura de valores positivos inteiros até que um valor negativo seja informado. Ao final devem ser apresentados o maior e o menor valores informados pelo usuário.

top related