Lógica de Programação e Algoritmos

91
Lógica de Programação AULA - 1

Transcript of Lógica de Programação e Algoritmos

Page 1: Lógica de Programação e Algoritmos

Lógica de ProgramaçãoAULA - 1

Page 2: Lógica de Programação e Algoritmos
Page 3: Lógica de Programação e Algoritmos

Qual a cor dos Vestidos?D. Branca, D. Rosa e D. Violeta passeiam pelo parque quando, de repente, D. Rosa disse:

- “Não é curioso que estejamos usando vestidos de cores branca, rosa e violeta, embora nenhuma de nós esteja usando um vestido de cor igual ao seu próprio nome?"

Então, a senhora com vestido violeta respondeu:

- “Uma simples coincidência"

A partir do texto acima, informe a cor do vestido de cada senhora.

Page 4: Lógica de Programação e Algoritmos

FCC - 2004 - Analista Judiciário - TRT Em um determinado dia de trabalho no escritório, em relação aos funcionários Ana, Cláudia, Luis, Paula e João, sabe-se as seguintes informações:

1 Ana chegou antes de Paula e Luís.

2 Paula chegou antes de João.

3 Cláudia chegou antes de Ana.

4 João não foi o último a chegar.

Nesse dia, qual o(a) terceiro(a) funcionário(a) a chegar no escritório para o trabalho?

Page 5: Lógica de Programação e Algoritmos

Lógica

• A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a sequencia lógica para o desenvolvimento. 

• Então o que é lógica?

Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.

Page 6: Lógica de Programação e Algoritmos

Seqüência Lógica

• Estes pensamentos, podem ser descritos como uma seqüência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa.

Seqüência Lógica são passos executados até atingir um objetivo ou solução de um problema.

Page 7: Lógica de Programação e Algoritmos

Instruções

• Comumente entendemos instruções como "um conjunto de regras ou normas definidas para a realização ou emprego de algo”.

• Em informática instrução é a informação que indica a um computador uma ação a executar.

• Para um processo é necessário um conjunto de instruções colocadas em ordem seqüencial lógica.

Page 8: Lógica de Programação e Algoritmos

Algoritmo - Somar dois números • Escreva o primeiro número no retângulo A

• Escreva o segundo número no retângulo B

• Some o número do retângulo A com número do retângulo B e coloque o resultado no retângulo C

Retângulo A Retângulo B Retângulo C

+ =

Page 9: Lógica de Programação e Algoritmos

Programas• Os programas de computadores nada mais são do que algoritmos

escritos numa linguagem de computador

• Java, Pascal, C, Cobol, Fortran, Visual Basic entre outras

• Os Algoritmos são interpretados e executados por uma máquina, no caso um computador.

• Esta interpretação é muito rigorosa

Page 10: Lógica de Programação e Algoritmos

Exercício

• Crie uma sequencia lógica para escovar os dentes?

• Faça um algoritmo para somar dois números e multiplicar o resultado pelo primeiro número?

Page 11: Lógica de Programação e Algoritmos

Atividade

https://studio.code.org/s/20-hour/stage/2/puzzle/1

https://blockly-games.appspot.com/maze

Page 12: Lógica de Programação e Algoritmos

Algoritmo• Um algoritmo é uma sequencia finita de passos que levam a

execução de uma tarefa.

• É o procedimento computacional que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída.

• O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.

ALGORITMO = SEQUENCIA LÓGICA FINITA DE INSTRUÇÕES

Page 13: Lógica de Programação e Algoritmos

Regras para construção do Algoritmo • Usar somente um verbo por frase

• Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática

• Usar frases curtas e simples

• Ser objetivo

• Procurar usar palavras que não tenham sentido dúbio

Page 14: Lógica de Programação e Algoritmos

Fases para elaboração de um algoritmo

• ENTRADA: São os dados de entrada do algoritmo

• PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final

• SAÍDA: São os dados já processados

Page 15: Lógica de Programação e Algoritmos

Exemplo de Algoritmo

• Imagine o seguinte problema: Calcular a média final de um aluno que realizou quatro provas.

Média Final = P1 + P2 + P3 + P44

Page 16: Lógica de Programação e Algoritmos

Montando o Algoritmo

• Quais são os dados de entrada?

• Qual será o processamento a ser utilizado?

• Quais serão os dados de saída?

Page 17: Lógica de Programação e Algoritmos

Algoritmo1. Receba a nota da prova1

2. Receba a nota de prova2

3. Receba a nota de prova3

4. Receba a nota da prova4

5. Some todas as notas e divida o resultado por 4

6. Mostre o resultado da divisão

Page 18: Lógica de Programação e Algoritmos

Teste de Mesa

• Após desenvolver um algoritmo ele deverá sempre ser testado.

• Para testar devemos seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correto ou não.

Page 19: Lógica de Programação e Algoritmos

Teste de Mesa • Receba a nota da prova1

• Receba a nota de prova2

• Receba a nota de prova3

• Receba a nota da prova4

• Some todas as notas e divida o resultado por 4

• Mostre o resultado da divisão

P1 P2 P3 P4 Resultado

Page 20: Lógica de Programação e Algoritmos

Atividade• Identifique os dados de entrada, processamento, saída e use o Teste

de Mesa:

• Receba código da peça

• Receba valor da peça

• Receba Quantidade de peças

• Calcule o valor total da peça (Quantidade * Valor da peça)

• Mostre o código da peça e seu valor total

Page 21: Lógica de Programação e Algoritmos

Técnicas utilizadas para construção de um algoritmo

• Descrição Narrativa 

• Diagrama de Chapin -ou Diagrama Nassi-Shneiderman

• Fluxograma ou Diagrama de Blocos

• Pseudocódigo

Page 22: Lógica de Programação e Algoritmos

Descrição Narrativa• Descrição Narrativa é usar a linguagem natural para especificar os

passos usados na realização de tarefas.

• Um exemplo é a construção de um algoritmo para o cálculo do quadrado de um número

• Receba um número;

• Calcular o resultado multiplicando o número pelo número;

• Mostrar o resultado;

Page 23: Lógica de Programação e Algoritmos

Diagrama de Chapin

O Diagrama de Chapin utiliza símbolos gráficos para representar ações ou instruções a serem seguidas.

Page 24: Lógica de Programação e Algoritmos

Diagrama de Chapin

Page 25: Lógica de Programação e Algoritmos

Fluxograma

Fluxograma ou Diagrama de Blocos utiliza símbolos gráficos para representar ações ou instruções a serem seguidas.

Page 26: Lógica de Programação e Algoritmos

Fluxograma• Recebe nome e idade

• Mostra “Nome:”+nome

• Mostra “Nome:"+idade

Page 27: Lógica de Programação e Algoritmos

Fluxograma• Recebe n1

• Recebe n2

• Recebe n3

• Recebe n4

• Calcular: media = (n1+n2+n3+n4) / 4

• Mostrar media

Page 28: Lógica de Programação e Algoritmos

AtividadeConstrua um diagrama de blocos que :

• Leia a cotação do dólar

• Leia um valor em dólares

• Converta esse valor para Real

• Mostre o resultado

Page 29: Lógica de Programação e Algoritmos

AtividadeDesenvolva um diagrama que:

• Leia 4 (quatro) números

• Calcule o quadrado para cada um

• Somem todos e

• Mostre o resultado

Page 30: Lógica de Programação e Algoritmos

Pseudocódigo

• Corresponde a uma linguagem intermediária entre a linguagem natural (falada) e a linguagem de programação.

• A ideia do pseudocódigo é construir algoritmos sem a preocupação dos detalhes da sintaxe de uma linguagem de programação.

• Uma questão importante ao construir um algoritmo, é que ele deve ser fácil de se interpretar e fácil de manter.

Page 31: Lógica de Programação e Algoritmos

IDENTIFICAÇÃO

DECLARAÇÃO

CORPO

PseudocódigoAlgoritmo Soma; Var a,b,c : inteiro; Inicio; Escrever(“Digite o primeiro numero”); Ler(a); Escrever(“Digite o segundo numero”); Ler(b); c <— a + b; Escrever(“Resultado "+c); Fim;

Page 32: Lógica de Programação e Algoritmos

AtividadeConstrua um algoritmo com pseudocódigo para pagamento de comissão de vendedores de peças, levando-se em consideração que sua comissão será de 5% do total da venda e que você tem os seguintes dados:

• Identificação do vendedor

• Código da peça

• Preço unitário da peça

• Quantidade vendida

E depois construa o diagrama de blocos do algoritmo desenvolvido, e por fim faça um teste de mesa.

Page 33: Lógica de Programação e Algoritmos

Torre de Hanoi• Suponha que você possui 3 pinos, 1, 2 e 3 e que no pino 1 estão dispostos

3 discos de tamanhos diferentes em ordem crescente de cima para baixo (menor em cima) (Fig. A).

• Elabore um conjunto de instruções com o objetivo de levar os 3 discos do pino 1 para o pino 3 (Fig. B), usando o pino 2 como auxiliar e obedecendo as seguintes restrições:

Page 34: Lógica de Programação e Algoritmos

Atividade• Pode-se mover apenas 1 pino de cada vez

• Não se pode colocar um pino maior sobre um menor.Faça um algoritmo que calcule a nota final do aluno.

Page 35: Lógica de Programação e Algoritmos

Constantes• Constante é um determinado valor fixo que não se modifica ao longo do

tempo, durante a execução de um programa.

• Conforme o seu tipo, a constante é classificada como sendo numérica, lógica e literal.

• EXEMPLOS:

• N1 + N2 / 2 -> CONSTANTE NUMÉRICA

• “SENHOR” -> CONSTANTE LITERAL

• VERDADE -> CONSTANTE LÓGICA

Page 36: Lógica de Programação e Algoritmos

Variáveis• Uma variável é um espaço reservado na memória do computador

para armazenar um tipo de dado determinado.

• Variáveis devem receber nomes para poderem ser referenciadas e modificadas quando necessário.

• Um programa deve conter declarações que especificam de que tipo são as variáveis que ele utilizará e as vezes um valor inicial.

• Tipos podem ser por exemplo: inteiros, reais, caracteres, etc.

Page 37: Lógica de Programação e Algoritmos

Variáveis• Cada variável corresponde a uma posição de memória, cujo conteúdo

pode se alterado ao longo do tempo durante a execução de um programa.

• Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante

• EXEMPLOS:

• idade = 10;

• total = valor * quantidade;

• nome = "José"

Page 38: Lógica de Programação e Algoritmos

Tipos de Variáveis • As variáveis e as constantes podem ser basicamente de três tipos: Numéricas,,

literais ou lógicas.

• Numéricas para armazenamento de números, que posteriormente poderão ser utilizados para cálculos. Podem ser ainda classificadas como Inteiras ou Reais. As variáveis do tipo inteiro são para armazenamento de números inteiros e as Reais são para o armazenamento de números que possuam casas decimais.

• Literais para dados que contenham letras e/ou números. Pode em determinados momentos conter somente dados numéricos ou somente literais. Se usado somente para armazenamento de números, não poderá ser utilizada para operações matemáticas.

• Lógicas: Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso.

Page 39: Lógica de Programação e Algoritmos

DECLARAÇÃO

Declaração de Variáveis • As variáveis só podem armazenar valores de um mesmo tipo

Var nome : alfanumérica; idade : inteiro; valor : real; achou : logica; sexo : caracter; x,y,z : inteiro;

IDENTIFICAÇÃO

CORPO

Page 40: Lógica de Programação e Algoritmos

Atividade• Para calcular a nota final de um aluno o professor deve levar em

conta o peso aplicado a cada um das 3 avaliações, a primeira avaliação é o teste e tem peso 8, a segunda é um trabalho com peso 2 e a ultima é uma prova com peso 10.

• Faça um algoritmo que calcule a nota final do aluno.

• Quais são as variáveis e seus tipos?

• Existem constantes? Identifique as constantes?

Page 41: Lógica de Programação e Algoritmos

Atividade

• Faça um algoritmo para calcular o índice de massa corpórea (IMC) de uma pessoa.

• O IMC é calculado dividindo o peso em quilos pela altura em metros elevada ao quadrado

Page 42: Lógica de Programação e Algoritmos

Algoritmo;Var  IMC  :  real;  altura,peso  :  inteiro;      Escreva(Digite  o  Peso:);        Ler(peso);        Escreva(“Digite  a  altura:”);        Ler(a);        IMC  <-­‐  p  *  a  +  a  /  2;  Fim;                

Jogo dos 7 erros

Page 43: Lógica de Programação e Algoritmos

Algoritmo  IMC;Var  IMC,  altura  :  real;  peso  :  inteiro;Inicio;        Escreva(“Digite  o  Peso:”);        Ler(peso);        Escreva(“Digite  a  altura:”);        Ler(altura);        IMC  <-­‐  p  /  (a  *  a  );        Escreva(IMC);  Fim;          

Jogo dos 7 erros

Page 44: Lógica de Programação e Algoritmos

Operadores• Os operadores são meios pelo qual incrementamos,

decrementamos, comparamos e avaliamos dados dentro do computador.

• Operadores Aritméticos

• Operadores Relacionais

• Operadores Lógicos

Page 45: Lógica de Programação e Algoritmos

Operadores Aritméticos

• Os operadores aritméticos são os utilizados para obter resultados numéricos. Adição, subtração, multiplicação, divisão, etc.

Operação Símbolo

Adição +

Subtração -

Multiplicação *

Divisão /

Modulo %

Page 46: Lógica de Programação e Algoritmos

Operadores Aritméticos • Precedência dos operadores matemáticos:

1. ( ) Parênteses 2. * ou / 3. + ou –

Exemplos:  10  +  5    /  5  (10  +  5)  /  5    4  -­‐  2  *  2  +  2

Page 47: Lógica de Programação e Algoritmos

Operadores Relacionais

• Os operadores relacionais são utilizados para comparar variáveis.

• Estes operadores sempre retornam valores lógicos (verdadeiro ou falso/ True ou False)

Operação Símbolo

Igual = ou ==

Diferente <> ou != ou #

Maior que >

Menor que <

Maior igual >=

Menor igual <=

Page 48: Lógica de Programação e Algoritmos

Operadores Relacionais

• Exemplo:

• Supondo 2 variáveis A = 3 e B = 5

Operação Resultado

A == B FALSO

A != B VERDADEIRO

A > B FALSO

A < B VERDADEIRO

A >= B FALSO

A <= B VERDADEIRO

(A + A) > B VERDADEIRO

Page 49: Lógica de Programação e Algoritmos

Atividade• Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são

verdadeiras ou falsas.

• a) (A+C) > B

• b) B>=(A+2)

• c) C=(B–A)

• d) (B+A)<=C

• e) (C+A) > B

Page 50: Lógica de Programação e Algoritmos

Operadores Lógicos • Os operadores lógicos servem para combinar resultados de

expressões, retornando se o resultado final é verdadeiro ou falso.

Operador

E AND && verdadeira se todas as condições forem verdadeiras

OU OR || verdadeira se pelo menos uma condição for verdadeira

NÃO NOT ! inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa.

Page 51: Lógica de Programação e Algoritmos

Operadores Lógicos Valor 1 Operador Valor 2 Resultado

VERDADEIRO E VERDADEIRO VERDADEIRO

VERDADEIRO E FALSO FALSO

FALSO E VERDADEIRO FALSO

FALSO E FALSO FALSO

VERDADEIRO OU VERDADEIRO VERDADEIRO

VERDADEIRO OU FALSO VERDADEIRO

FALSO OU VERDADEIRO VERDADEIRO

FALSO OU FALSO FALSO

NÃO VERDADEIRO FALSO

NÃO FALSO VERDADEIRO

Page 52: Lógica de Programação e Algoritmos

Exemplo• Vamos supor que temos as idades de 3 irmãos e criamos variáveis

para representar essas idades joao = 8, jose = 5, maria = 3. Criamos expressões com essas informações

Expressões Resultado

joao > jose E jose > maria VERDADEIRO

joao > maria OU maria > jose VERDADEIRO

NÃO maria +jose < joao VERDADEIRO

joao !=maria E jose == joao FALSO

joao - maria >= jose E jose * maria <= joao FALSO

joao + maria < jose OU maria > joao - jose FALSO

Page 53: Lógica de Programação e Algoritmos

Atividade• Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões

abaixo são verdadeiras ou falsas.

• (A>C) AND (C<=D)

• (A+B)>10 OR (A+B)=(C+D)

• (A>=C) AND (D>=C)

Page 54: Lógica de Programação e Algoritmos

Atividade• Com base na ilustração faça uma expressão lógica que represente a situação

em que apenas com os disjuntores nas posições A e B ligados (VERDADEIRO) e C na posição desligado (FALSO) a luz acende

Page 55: Lógica de Programação e Algoritmos

Operações Lógicas

• Operações Lógicas são utilizadas quando se torna necessário tomar decisões em um diagrama de bloco.

• Num diagrama de bloco, toda decisão terá sempre como resposta o resultado VERDADEIRO ou FALSO.

Page 56: Lógica de Programação e Algoritmos

Operações LógicasExemplo do algoritmo “CHUPAR BALA”. 1. PEGAR A BALA 2. A BALA É DE CAFÉ?

1. SE SIM, NÃO CHUPE A BALA 2. SE NÃO, continue com o algoritmo

1. RETIRAR O PAPEL 2. CHUPAR A BALA 3. JOGAR O PAPEL NO LIXO

Page 57: Lógica de Programação e Algoritmos

PEGAR A BALA

INICIO

A BALA É DE CAFÉ ?

JOGAR O PAPEL NO LIXO

FIM

CHUPAR A BALA

RETIRAR O PAPEL NÃO CHUPE A BALA

Page 58: Lógica de Programação e Algoritmos

ATIVIDADE1. Elabore um diagrama de blocos que leia um número. Se positivo

armazene-o em A, se for negativo, em B. No final mostrar o resultado. 2. Ler um número e verificar se ele é par ou ímpar. Quando for par

armazenar esse valor em P e quando for ímpar armazená-lo em I. Exibir P e I no final do processamento.

3. Construa um diagrama de blocos para ler uma variável numérica N e imprimi-la somente se a mesma for maior que 100, caso contrário imprimi-la com o valor zero

4. Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando as seguintes fórmulas: Para homens: (72.7*h) - 58Para mulheres: (62.1*h) - 44.7 (h = altura)

Page 59: Lógica de Programação e Algoritmos

Estrutura de Decisão e Repetição • Utilizamos Operações Lógicas sempre que necessitamos tomar

decisões no andamento do algoritmo.

• Essas decisões interferem diretamente no andamento do programa.

• Trabalharemos com dois tipos de estrutura:

• Estrutura de Decisão

• Estrutura de Repetição

Page 60: Lógica de Programação e Algoritmos

Comandos de Decisão• Os comandos de decisão ou desvio fazem parte das técnicas de programação

que conduzem a estruturas de programas que não são totalmente seqüenciais.

• Com as instruções de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou resultados anteriores.

• As principais estruturas de decisão são:

• “Se Então”,

• “Se então Senão”

• “Caso Selecione”

Page 61: Lógica de Programação e Algoritmos

SE ENTÃO / IF

• A estrutura de decisão “SE/IF” normalmente vem acompanhada de um comando

• Se determinada condição for satisfeita pelo comando SE/IF então execute determinado comando.

• Imagine um algoritmo que determinado aluno somente estará aprovado se sua média for maior ou igual a 5.0

Page 62: Lógica de Programação e Algoritmos

SE ENTÃO / IF Algoritmo:

SE  MEDIA  >=  5.0  ENTÃO        ESCREVE  "ALUNO  APROVADO"

Diagrama de blocos:

MEDIA >= 5.0

ALUNO APROVADO

Sim

NãoJava:

if  (media  >=  5.0)  {      System.out.println("ALUNO  APROVADO");}

Page 63: Lógica de Programação e Algoritmos

SE ENTÃO SENÃO / IF ... ELSE …

• A estrutura de decisão “SE/ENTÃO/SENÃO” sempre um comando será executado independente da condição

• Caso a condição seja “verdadeira” o comando da condição será executado

• Caso contrário o comando da condição “falsa” será executado

Page 64: Lógica de Programação e Algoritmos

SE ENTÃO SENÃO / IF ... ELSE … Algoritmo:

SE  MEDIA  >=  5.0  ENTÃO        ESCREVE  "ALUNO  APROVADO”SENÃO      ESCREVE  "ALUNO  REPROVADO”

Diagrama de blocos:

MEDIA >= 5.0

ALUNO APROVADO

SimNão

Java:

if  (media  >=  5.0)  {        System.out.println("ALUNO  APROVADO");}else{      System.out.println("ALUNO  REPROVADO");}

ALUNO REPROVADO

Page 65: Lógica de Programação e Algoritmos

SE ENTÃO SENÃO / IF ... ELSE … ANINHADOS

• Podemos combinar estruturas de condição, testando condições dentro de outra condição testada

Algoritmo:

SE  MEDIA  >=  5.0  ENTÃO      SE  MEDIA  >=  7.0  ENTÃO              ESCREVE  "APROVADO"      SENÃO            ESCREVE  "PROVA  FINAL"SENÃO      ESCREVE  "REPROVADO”

Java:

if  (media  >=  5.0)  {      if  (media  >=  7.0)  {            System.out.println("APROVADO");      }  else  {            System.out.println("PROVA  FINAL");      }  }  else  {      System.out.println("REPROVADO");}

Page 66: Lógica de Programação e Algoritmos

SE ENTÃO SENÃO / IF ... ELSE … ANINHADOS

Diagrama de blocos:

MEDIA >= 5.0

APROVADO

SimNão

REPROVADO MEDIA >= 7.0Sim

PROVA FINAL

Page 67: Lógica de Programação e Algoritmos

ATIVIDADE

• Faça um diagrama de blocos e um pseudocódigo que leia um número inteiro e mostre uma mensagem indicando se este número é par ou ímpar, e se é positivo ou negativo.

Page 68: Lógica de Programação e Algoritmos

CASO SELECIONE / SELECT ... CASE • A estrutura de decisão CASO/SELECIONE é utilizada para testar, na

condição, uma única expressão, que produz um resultado, ou, então, o valor de uma variável, em que está armazenado um determinado conteúdo.

• Compara-se, então, o resultado obtido no teste com os valores fornecidos em cada cláusula “Caso”.

• No exemplo é recebido uma variável “Numero” e testado seu conteúdo, caso uma das condições seja satisfeita, é exibido o nome do Sanduíche, caso contrário é exibido “Opção Errada”

Page 69: Lógica de Programação e Algoritmos

CASO SELECIONE / SELECT ... CASE Diagrama: LEIA NUM

NUM=1

NUM=2

NUM=3

NUM=4

Não

Não

Não

Não

BIG MAC

QUARTEIRÃO

McCHICKEN

CBO

OPÇÃO ERRADA

Sim

Sim

Sim

Sim

Page 70: Lógica de Programação e Algoritmos

CASO SELECIONE / SELECT ... CASE

Algoritmo:

SELECIONE  NUMERO      CASO  1:  ESCREVE  "BIG  MAC”;      CASO  2:  ESCREVE  "QUARTEIRÃO";      CASO  3:  ESCREVE  "McCHICKEN";      CASO  4:  ESCREVE  "CBO”;  SENÃO:  ESCREVE  "OPCAO  ERRADA"

Page 71: Lógica de Programação e Algoritmos

CASO SELECIONE / SELECT ... CASE Java:

switch  (numero)  {    case  1:  System.out.println("BIG  MAC");            break;    case  2:  System.out.println("QUARTEIRÃO");            break;    case  3:  System.out.println("McCHICKEN");            break;    case  4:  System.out.println("CBO");            break;  default:  System.out.println("OPCAO  ERRADA");        break;}

Page 72: Lógica de Programação e Algoritmos

ATIVIDADE• Uma companhia aérea cobra pelo peso excedente das bagagens.

O valor cobrado é R$ 5,00 por kg, se a bagagem tiver peso superior a 23 Kg .

• Faça um diagrama de blocos e um pseudocódigo leia a variável P (peso em kg) e verifique se há excesso. Se houver, gravar na variável E (Excesso) o peso que passou e na variável M o valor que vai ser cobrado.

• Exiba o valor de todas as variáveis, caso não haja excesso, mostrar as variáveis com o conteúdo ZERO.

Page 73: Lógica de Programação e Algoritmos

ATIVIDADE• Elabore diagrama de blocos e um pseudocódigo que leia as

variáveis C e N, respectivamente código e número de horas trabalhadas de um operário.

• Calcule o salário, sabendo que ele ganha R$ 10,00 por hora. Quando o número de horas exceder a 200 calcule as horas extra, armazenando na variável E, caso contrário zerar tal variável. A hora extra de trabalho vale R$ 20,00.

• No final do processamento exibir o salário total e o valor das horas extra.

Page 74: Lógica de Programação e Algoritmos

ATIVIDADE• Faça um diagrama de blocos e um pseudocódigo em que sejam informadas as variáveis NUM1,

NUM2 e OP.

• NUM1 e NUM2 serão números quaisquer.

• OP será a variável que permite escolher a operação a ser utilizada nas variáveis NUM1 e NUM2, da seguinte forma:

1 - EXIBE A SOMA DE NUM1 e NUM2

2 - EXIBE A SUBTRAÇÃO DE NUM1 e NUM2

3 - EXIBE A MULTIPLICAÇÃO DE NUM1 e NUM2

4 - EXIBE A DIVISÃO DE NUM1 e NUM2

QUALQUER OUTRO VALOR EXIBE "OPERAÇÃO NÃO EXISTE"

Page 75: Lógica de Programação e Algoritmos

ATIVIDADE• Faça um diagrama de blocos e um pseudocódigo que leia 3 valores e:

• Exiba o maior valor

• Exiba o menor valor

• Calcule e exiba a média deles

Page 76: Lógica de Programação e Algoritmos

ATIVIDADE

• Faça um diagrama de blocos e um pseudocódigo que leia 3 valores que representam os tamanhos dos lados de um triângulo.

• Verifique se é possível formar um triângulo.

• Exiba o Tipo de triângulo (Equilátero, Isósceles ou Escaleno)

Page 77: Lógica de Programação e Algoritmos

Comandos de Repetição • Utilizamos os comandos de repetição quando desejamos que uma

instrução ou um conjunto de instruções seja executado mais de uma vez (CONDIÇÃO DE PARADA)

• "Enquanto faça”

• Faça Enquanto”

• "Para x de ate faça”

• Vamos então escrever na tela os números de 0 a 100, Como seria?

Page 78: Lógica de Programação e Algoritmos

Comandos de Repetição ESCREVA  (1);  ESCREVA  (2);  ESCREVA  (3);  ESCREVA  (4);  ESCREVA  (5);  ESCREVA  (6);  ESCREVA  (7);  ESCREVA  (8);  ESCREVA  (9);  ESCREVA  (10);  ESCREVA  (11);  ESCREVA  (12);  ESCREVA  (13);  ESCREVA  (14);  ESCREVA  (15);

ESCREVA  (16);  ESCREVA  (17);  ESCREVA  (18);  ESCREVA  (19);  ESCREVA  (20);  ESCREVA  (21);  ESCREVA  (22);  ESCREVA  (23);  ESCREVA  (24);  ESCREVA  (25);  ESCREVA  (26);  ESCREVA  (27);  ESCREVA  (28);  ESCREVA  (29);  ESCREVA  (30);  ESCREVA  (31);  ESCREVA  (32);  ESCREVA  (33);  ESCREVA  (34);  ESCREVA  (35);  ESCREVA  (36);  ESCREVA  (37);  ESCREVA  (38);  ESCREVA  (39);  ...

Page 79: Lógica de Programação e Algoritmos

ENQUANTO FAÇA / WHILE

Algoritmo: Num  =  0;  ENQUANTO  Num  <=  100  FAÇA        ESCREVE  Num;        Num  =  Num  +  1;  FIM  ENQUANTO

Diagrama de blocos:

Num <= 100Não

Sim

Java: int  num  =  0;  while  (num  <=  100)  {      System.out.println(num);      num  =  num  +  1;}

Num

Num = 0;

Num = Num+1;

Page 80: Lógica de Programação e Algoritmos

ENQUANTO FAÇA / WHILE

Algoritmo: 1. Num  =  0;  2. ENQUANTO  Num  <=  100  FAÇA  3.      ESCREVE  Num;  4.      Num  =  Num  +  1;  5. FIM  ENQUANTO

Teste de Mesa

Tempo Linha Num TelaT1 L1 0 -

Page 81: Lógica de Programação e Algoritmos

ENQUANTO FAÇA / WHILE

Algoritmo: 1. Num  =  0;  2. ENQUANTO  Num  <=  100  FAÇA  3.      ESCREVE  Num;  4.      Num  =  Num  +  1;  5. FIM  ENQUANTO

Teste de Mesa

Tempo Linha Num TelaT1 L1 0 -T2 L2 0 -

Page 82: Lógica de Programação e Algoritmos

ENQUANTO FAÇA / WHILE

Algoritmo: 1. Num  =  0;  2. ENQUANTO  Num  <=  100  FAÇA  3.      ESCREVE  Num;  4.      Num  =  Num  +  1;  5. FIM  ENQUANTO

Teste de Mesa

Tempo Linha Num TelaT1 L1 0 -T2 L2 0 -T3 L3 0 0

Page 83: Lógica de Programação e Algoritmos

ENQUANTO FAÇA / WHILE

Algoritmo: 1. Num  =  0;  2. ENQUANTO  Num  <=  100  FAÇA  3.      ESCREVE  Num;  4.      Num  =  Num  +  1;  5. FIM  ENQUANTO

Teste de Mesa

Tempo Linha Num TelaT1 L1 0 -T2 L2 0 -T3 L3 0 0T4 L4 1 0

Page 84: Lógica de Programação e Algoritmos

ENQUANTO FAÇA / WHILE

Algoritmo: 1. Num  =  0;  2. ENQUANTO  Num  <=  100  FAÇA  3.      ESCREVE  Num;  4.      Num  =  Num  +  1;  5. FIM  ENQUANTO

Teste de Mesa

Tempo Linha Num TelaT1 L1 0 -T2 L2 0 -T3 L3 0 0T4 L4 1 0T5 L2 1 0

Page 85: Lógica de Programação e Algoritmos

ENQUANTO FAÇA / WHILE

Algoritmo: 1. Num  =  0;  2. ENQUANTO  Num  <=  100  FAÇA  3.      ESCREVE  Num;  4.      Num  =  Num  +  1;  5. FIM  ENQUANTO

Teste de Mesa

Tempo Linha Num TelaT1 L1 0 -T2 L2 0 -T3 L3 0 0T4 L4 1 0T5 L2 1 0T6 L3 1 0 1T7 L4 2 0 1T8 L2 2 0 1T9 L3 2 0 1 2

T10 L4 3 0 1 2

Page 86: Lógica de Programação e Algoritmos

ENQUANTO FAÇA / WHILE

Algoritmo: 1. Num  =  0;  2. ENQUANTO  Num  <=  100  FAÇA  3.      ESCREVE  Num;  4.      Num  =  Num  +  1;  5. FIM  ENQUANTO

Teste de Mesa

Tempo Linha Num TelaT (n-9) L3 98 0..97 98T (n-8) L4 99 0..97 98T (n-7) L2 99 0..97 98T (n-6) L3 99 0..98 99T (n-5) L4 100 0..98 99T (n-4) L2 100 0..98 99T (n-3) L3 100 0..99 100T (n-2) L4 101 0..99 100T (n-1) L2 101 0..99 100T (n) L5 101 0..99 100

Page 87: Lógica de Programação e Algoritmos

FAÇA ENQUANTO / DO WHILE

Algoritmo: Num  =  0;  FAÇA        ESCREVE  Num;        Num  =  Num  +  1;  ENQUANTO  Num  <=  100  

Diagrama de blocos:

Num <= 100

Não

SimJava: int  num  =  0;  do  {      System.out.println(num);      num  =  num  +  1;}  while  (num  <=  100)

Num

Num = 0;

Num = Num+1;

Page 88: Lógica de Programação e Algoritmos

FAÇA ENQUANTO / DO WHILE

Algoritmo: PARA  Num  =  0  DE  0  ATE  100  FAÇA      ESCREVE  Num;  FIM  PARA

Diagrama de blocos:

Para Num = 0

DE 0 ATE 100

Java: for(int  num  =  0;num  <=  100;num++)  {      System.out.println(num);  }

Num

Page 89: Lógica de Programação e Algoritmos

ATIVIDADE

1. Faça um algoritmo que conte de 1 a 100

2. Faça um algoritmo que conte de 1 a 100 e a cada múltiplo de 10 emita uma mensagem: “Múltiplo de 10”.

3. Faça um algoritmo que leia números entre 1 e 10, se for digitado um numero maior que 10 ou menor que 1 saia encerre o algoritimo

Page 90: Lógica de Programação e Algoritmos

ATIVIDADE

1. Faça um algoritmo que determine o maior entre N números. A condição de parada é a entrada de um valor 0, ou seja, o algoritmo deve ficar calculando o maior até que a entrada seja igual a 0 (ZERO).

Page 91: Lógica de Programação e Algoritmos

ATIVIDADE1. Uma rainha requisitou os serviços de um monge e disse-lhe que

pagaria qualquer preço. O monge, necessitando de alimentos, indagou à rainha sobre o pagamento, se poderia ser feito com grãos de trigo dispostos em um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria conter apenas um grão e os quadros subseqüentes, o dobro do quadro anterior. A rainha achou o trabalho barato e pediu que o serviço fosse executado, sem se dar conta de que seria impossível efetuar o pagamento. Faça um algoritmo para calcular o número de grãos que o monge esperava receber.