280 likes | 391 Vues
A lgoritmos. Fabrício Costa Santana prof.fabricio@outlook.com http://professorfabricio.net. Desvio Condicional Encadeado. se (<condição1>) entao <instruções para condição1 verdadeira> senao se (<condição2>) entao
E N D
Algoritmos Fabrício Costa Santana prof.fabricio@outlook.com http://professorfabricio.net
Desvio Condicional Encadeado se (<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> fimse fimse
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 algoritmo "Reajusta_Salario" var novo_salario: real salario: real inicio leia (salario) se (salario < 500) entao novo_salario <- salario * 1.15 senao se (salario <= 1000) entao novo_salario <- salario * 1.10 senao novo_salario <- salario * 1.05 fimse fimse escreva (novo_salario) fimalgoritmo
Operadores Lógicos • Operador: E • Operador: OU • Operador: NÃO
Operador Lógico: E O operador do tipo E é utilizado quando dois ou mais relacionamentos lógicos de uma determinada condição necessitam ser verdadeiros.
Operador Lógico: E algoritmo “TESTA_LOGICA_E” var NUMERO: inteiro inicio 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") fimse fimalgoritmo
Operador Lógico: OU O operador do tipo OU é utilizado quando pelo menos um dos relacionamentos lógicos de uma condição necessita ser verdadeiro.
Operador Lógico: OU algoritmo “MEDIA_FALTAS_SITUACAO” var N1, N2, N3, N4, MEDIA: real FALTAS: inteiro inicio 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”) fimse fimalgoritmo
Operador Lógico: NÃO 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ÃO algoritmo "Testa_Logica_NAO" var A, B, C, X: inteiro inicio leia (A, B, X) se nao(X>5) entao C <- (A + B) * X senao C <- (A - B) * X fimse escreva (C) fimalgoritmo
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.
S N S N N S
Algoritmo Triângulo algoritmo "Triangulo" var a, b, c: real inicio leia (a, b, c) se (a < b + c) e (b < a + c) e (c < a + b) entao se (a=b) e (b=c) entao escreva ("Triangulo Equilatero") senao se (a=b) ou (a=c) ou (c=b) entao escreva ("Triangulo Isosceles") senao escreva ("Triangulo Escaleno") fimse fimse senao escreva ("As medidas nao formam um triangulo") fimse fimalgoritmo
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: inteiro R: inteiro inicio leia (X) R <- X * 3 escreva (R) leia(X) R <- X * 3 escreva(R) leia (X) R <- X * 3 escreva (R) leia (X) R <- X * 3 escreva (R) leia (X) R <- X * 3 escreva (R) fimalgoritmo
Laço de Repetição com Teste Lógico no Início do Looping enquanto (condição) faca instruções executadas enquanto a condição for verdadeira fimenquanto
Laço de Repetição com Teste Lógico no Início do Looping algoritmo “Looping_1A” var X, R, CONT: inteiro inicio CONT <- 1 enquanto (CONT <= 5) faca leia (X ) R <- X * 3 escreval (R) CONT <- CONT + 1 fimenquanto fimalgoritmo
Laço de Repetição com Teste Lógico no Início do Looping algoritmo “FATORIAL _ENQUANTO” var CONT, FAT : inteiro inicio //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 • 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 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20
Exercícios • Apresentar o total da soma obtida dos cem primeiros números inteiros (1+2+3+4+...+98+99+100). • Elaborar um programa que apresente no final o somatório dos valores inteiros pares existentes na faixa de 1 até 50. • 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 • 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.