SlideShare une entreprise Scribd logo
1  sur  91
Télécharger pour lire hors ligne
Lógica de Programação
AULA - 1
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.
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?
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.
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.
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.
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
+ =
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
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?
Atividade
https://studio.code.org/s/20-hour/stage/2/puzzle/1
https://blockly-games.appspot.com/maze
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
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
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
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 + P4
4
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?
Algoritmo
1. 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
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.
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
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
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
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;
Diagrama de Chapin
O Diagrama de Chapin utiliza
símbolos gráficos para representar
ações ou instruções a serem
seguidas.
Diagrama de Chapin
Fluxograma
Fluxograma ou Diagrama de
Blocos utiliza símbolos gráficos
para representar ações ou
instruções a serem seguidas.
Fluxograma
• Recebe nome e idade
• Mostra “Nome:”+nome
• Mostra “Nome:"+idade
Fluxograma
• Recebe n1
• Recebe n2
• Recebe n3
• Recebe n4
• Calcular: media = (n1+n2+n3+n4) / 4
• Mostrar media
Atividade
Construa 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
Atividade
Desenvolva um diagrama que:
• Leia 4 (quatro) números
• Calcule o quadrado para cada um
• Somem todos e
• Mostre o resultado
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.
IDENTIFICAÇÃO
DECLARAÇÃO
CORPO
Pseudocódigo
Algoritmo 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;
Atividade
Construa 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.
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:
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.
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
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.
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é"
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.
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
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?
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
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
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
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
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 %
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
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 <=
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
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
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.
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
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
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)
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
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.
Operações Lógicas
Exemplo 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
PEGAR A BALA
INICIO
A BALA
É DE CAFÉ ?
JOGAR O PAPEL NO LIXO
FIM
CHUPAR A BALA
RETIRAR O PAPELNÃO CHUPE A BALA
ATIVIDADE
1. 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) - 58

Para mulheres: (62.1*h) - 44.7 (h = altura)
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
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”
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
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");

}
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
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
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");

}
SE ENTÃO SENÃO / IF ... ELSE …
ANINHADOS
Diagrama de blocos:
MEDIA >= 5.0
APROVADO
SimNão
REPROVADO MEDIA >= 7.0
Sim
PROVA FINAL
ATIVIDADE
• Faça umdiagrama 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.
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”
CASO SELECIONE / SELECT ... CASEDiagrama: 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
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"
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;

}
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.
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.
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"
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
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)
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?
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);	
  
...
ENQUANTO FAÇA / WHILE
Algoritmo:
Num	
  =	
  0;	
  
ENQUANTO	
  Num	
  <=	
  100	
  FAÇA	
  

	
  	
  	
  ESCREVE	
  Num;	
  
	
  	
  	
  Num	
  =	
  Num	
  +	
  1;	
  
FIM	
  ENQUANTO
Diagrama de blocos:
Num <= 100
Não
Sim
Java:
int	
  num	
  =	
  0;	
  
while	
  (num	
  <=	
  100)	
  {	
  

	
  	
  System.out.println(num);	
  
	
  	
  num	
  =	
  num	
  +	
  1;

}
Num
Num = 0;
Num = Num+1;
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 Tela
T1 L1 0 -
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 Tela
T1 L1 0 -
T2 L2 0 -
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 Tela
T1 L1 0 -
T2 L2 0 -
T3 L3 0 0
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 Tela
T1 L1 0 -
T2 L2 0 -
T3 L3 0 0
T4 L4 1 0
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 Tela
T1 L1 0 -
T2 L2 0 -
T3 L3 0 0
T4 L4 1 0
T5 L2 1 0
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 Tela
T1 L1 0 -
T2 L2 0 -
T3 L3 0 0
T4 L4 1 0
T5 L2 1 0
T6 L3 1 0 1
T7 L4 2 0 1
T8 L2 2 0 1
T9 L3 2 0 1 2
T10 L4 3 0 1 2
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 Tela
T (n-9) L3 98 0..97 98
T (n-8) L4 99 0..97 98
T (n-7) L2 99 0..97 98
T (n-6) L3 99 0..98 99
T (n-5) L4 100 0..98 99
T (n-4) L2 100 0..98 99
T (n-3) L3 100 0..99 100
T (n-2) L4 101 0..99 100
T (n-1) L2 101 0..99 100
T (n) L5 101 0..99 100
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
Sim
Java:
int	
  num	
  =	
  0;	
  
do	
  {	
  

	
  	
  System.out.println(num);	
  
	
  	
  num	
  =	
  num	
  +	
  1;

}	
  while	
  (num	
  <=	
  100)
Num
Num = 0;
Num = Num+1;
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
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
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).
ATIVIDADE
1. 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.

Contenu connexe

Tendances

Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
Regis Magalhães
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 

Tendances (20)

Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de Programação
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Lógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalLógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicional
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Algoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetiçãoAlgoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetição
 
Algoritmos: Variáveis e Constantes
Algoritmos: Variáveis e ConstantesAlgoritmos: Variáveis e Constantes
Algoritmos: Variáveis e Constantes
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 

En vedette

Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 
Referencial cartesiano
Referencial cartesianoReferencial cartesiano
Referencial cartesiano
diasvarella
 

En vedette (20)

Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Afinal, o que é uma linguagem de programação?
Afinal, o que é uma linguagem de programação?Afinal, o que é uma linguagem de programação?
Afinal, o que é uma linguagem de programação?
 
aula 08 - Logica de Programacao
aula 08 - Logica de Programacaoaula 08 - Logica de Programacao
aula 08 - Logica de Programacao
 
Semana 1: Programação como arte de resolver problemas, algoritmos e problema...
Semana  1: Programação como arte de resolver problemas, algoritmos e problema...Semana  1: Programação como arte de resolver problemas, algoritmos e problema...
Semana 1: Programação como arte de resolver problemas, algoritmos e problema...
 
Aula 3 diagrama de blocos
Aula 3 diagrama de blocosAula 3 diagrama de blocos
Aula 3 diagrama de blocos
 
Projeto de Planejamento - Função Quadrática
Projeto de Planejamento - Função QuadráticaProjeto de Planejamento - Função Quadrática
Projeto de Planejamento - Função Quadrática
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
Referencial cartesiano
Referencial cartesianoReferencial cartesiano
Referencial cartesiano
 
Concurso de Pitch - EDIFPI
Concurso de Pitch - EDIFPIConcurso de Pitch - EDIFPI
Concurso de Pitch - EDIFPI
 
Algoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoAlgoritmos - Introdução à Computação
Algoritmos - Introdução à Computação
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
Programação lógica
Programação lógicaProgramação lógica
Programação lógica
 
aula 10 logica de programacao
aula 10 logica de programacaoaula 10 logica de programacao
aula 10 logica de programacao
 
aula 05 - Logica de programacao
aula 05 - Logica de programacaoaula 05 - Logica de programacao
aula 05 - Logica de programacao
 
Trabalho - Matemática (Gráfico Cartesiano)
Trabalho - Matemática (Gráfico Cartesiano)Trabalho - Matemática (Gráfico Cartesiano)
Trabalho - Matemática (Gráfico Cartesiano)
 
aula 11 de logica de programacao
aula 11 de logica de programacaoaula 11 de logica de programacao
aula 11 de logica de programacao
 
Algoritmos - Comandos de Seleção
Algoritmos - Comandos de SeleçãoAlgoritmos - Comandos de Seleção
Algoritmos - Comandos de Seleção
 
aula 07 - Logica de programacao
aula 07 - Logica de programacaoaula 07 - Logica de programacao
aula 07 - Logica de programacao
 

Similaire à Lógica de Programação e Algoritmos

Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
engenhariadecomputacao
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
FelipeSoares580387
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
Elaine Cecília Gatto
 

Similaire à Lógica de Programação e Algoritmos (20)

03 algoritmos basicos
03 algoritmos basicos03 algoritmos basicos
03 algoritmos basicos
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02
 
ALGORITIMOS 01 PARA INICIANANTES EM LI C
ALGORITIMOS 01 PARA INICIANANTES EM LI CALGORITIMOS 01 PARA INICIANANTES EM LI C
ALGORITIMOS 01 PARA INICIANANTES EM LI C
 
Implementacao de Algoritmos.ppt
 Implementacao de Algoritmos.ppt Implementacao de Algoritmos.ppt
Implementacao de Algoritmos.ppt
 
ALG 01 - Implementacao de Algoritmos.ppt
ALG 01 - Implementacao de Algoritmos.pptALG 01 - Implementacao de Algoritmos.ppt
ALG 01 - Implementacao de Algoritmos.ppt
 
ALG 01 - Implementacao de Algoritmos.ppt
ALG 01 - Implementacao de Algoritmos.pptALG 01 - Implementacao de Algoritmos.ppt
ALG 01 - Implementacao de Algoritmos.ppt
 
01 fundamentos de programação
01   fundamentos de programação01   fundamentos de programação
01 fundamentos de programação
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de Programacao
 
Introdução a lógica de Programação Aula-01
Introdução a lógica de Programação Aula-01Introdução a lógica de Programação Aula-01
Introdução a lógica de Programação Aula-01
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Aula02
Aula02Aula02
Aula02
 

Plus de Mario Jorge Pereira

Plus de Mario Jorge Pereira (20)

Educacao e Inteligencia Artificial Generativa
Educacao e Inteligencia Artificial GenerativaEducacao e Inteligencia Artificial Generativa
Educacao e Inteligencia Artificial Generativa
 
Labs Jogos Java
Labs Jogos JavaLabs Jogos Java
Labs Jogos Java
 
Java www
Java wwwJava www
Java www
 
Html
HtmlHtml
Html
 
HTTP
HTTPHTTP
HTTP
 
Guia rapido java v2
Guia rapido java v2Guia rapido java v2
Guia rapido java v2
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 
Android por onde começar? Mini Curso Erbase 2015
Android por onde começar? Mini Curso Erbase 2015 Android por onde começar? Mini Curso Erbase 2015
Android por onde começar? Mini Curso Erbase 2015
 
Java Nuvem Appengine
Java Nuvem AppengineJava Nuvem Appengine
Java Nuvem Appengine
 
Mini curso Android
Mini curso AndroidMini curso Android
Mini curso Android
 
Java Server Faces
Java Server FacesJava Server Faces
Java Server Faces
 
Minicurso Android
Minicurso AndroidMinicurso Android
Minicurso Android
 
Android, por onde começar?
Android, por onde começar?Android, por onde começar?
Android, por onde começar?
 
Hands-On Java web passando por Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...
Hands-On Java web passando por  Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...Hands-On Java web passando por  Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...
Hands-On Java web passando por Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...
 
Android e Cloud Computing
Android e Cloud ComputingAndroid e Cloud Computing
Android e Cloud Computing
 
Threads
ThreadsThreads
Threads
 
RMI (Remote Method Invocation)
RMI (Remote Method Invocation) RMI (Remote Method Invocation)
RMI (Remote Method Invocation)
 
Socket
SocketSocket
Socket
 
Java e Cloud Computing
Java e Cloud ComputingJava e Cloud Computing
Java e Cloud Computing
 
GUI - Eventos
GUI - EventosGUI - Eventos
GUI - Eventos
 

Dernier

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
LusGlissonGud
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
Ana Lemos
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
azulassessoria9
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
edelon1
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
LeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
azulassessoria9
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
RavenaSales1
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
LeloIurk1
 

Dernier (20)

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 

Lógica de Programação e Algoritmos

  • 2.
  • 3. 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.
  • 4. 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?
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 8. 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 + =
  • 9. 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
  • 10. 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?
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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 + P4 4
  • 16. 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?
  • 17. Algoritmo 1. 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
  • 18. 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.
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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;
  • 23. Diagrama de Chapin O Diagrama de Chapin utiliza símbolos gráficos para representar ações ou instruções a serem seguidas.
  • 25. Fluxograma Fluxograma ou Diagrama de Blocos utiliza símbolos gráficos para representar ações ou instruções a serem seguidas.
  • 26. Fluxograma • Recebe nome e idade • Mostra “Nome:”+nome • Mostra “Nome:"+idade
  • 27. Fluxograma • Recebe n1 • Recebe n2 • Recebe n3 • Recebe n4 • Calcular: media = (n1+n2+n3+n4) / 4 • Mostrar media
  • 28. Atividade Construa 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
  • 29. Atividade Desenvolva um diagrama que: • Leia 4 (quatro) números • Calcule o quadrado para cada um • Somem todos e • Mostre o resultado
  • 30. 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.
  • 31. IDENTIFICAÇÃO DECLARAÇÃO CORPO Pseudocódigo Algoritmo 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;
  • 32. Atividade Construa 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.
  • 33. 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:
  • 34. 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.
  • 35. 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
  • 36. 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.
  • 37. 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é"
  • 38. 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.
  • 39. 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
  • 40. 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?
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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 %
  • 46. 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
  • 47. 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 <=
  • 48. 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
  • 49. 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
  • 50. 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.
  • 51. 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
  • 52. 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
  • 53. 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)
  • 54. 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
  • 55. 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.
  • 56. Operações Lógicas Exemplo 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
  • 57. PEGAR A BALA INICIO A BALA É DE CAFÉ ? JOGAR O PAPEL NO LIXO FIM CHUPAR A BALA RETIRAR O PAPELNÃO CHUPE A BALA
  • 58. ATIVIDADE 1. 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) - 58
 Para mulheres: (62.1*h) - 44.7 (h = altura)
  • 59. 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
  • 60. 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”
  • 61. 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
  • 62. 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");
 }
  • 63. 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
  • 64. 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
  • 65. 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");
 }
  • 66. SE ENTÃO SENÃO / IF ... ELSE … ANINHADOS Diagrama de blocos: MEDIA >= 5.0 APROVADO SimNão REPROVADO MEDIA >= 7.0 Sim PROVA FINAL
  • 67. ATIVIDADE • Faça umdiagrama 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.
  • 68. 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”
  • 69. CASO SELECIONE / SELECT ... CASEDiagrama: 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
  • 70. 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"
  • 71. 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;
 }
  • 72. 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.
  • 73. 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.
  • 74. 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"
  • 75. 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
  • 76. 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)
  • 77. 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?
  • 78. 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);   ...
  • 79. ENQUANTO FAÇA / WHILE Algoritmo: Num  =  0;   ENQUANTO  Num  <=  100  FAÇA  
      ESCREVE  Num;        Num  =  Num  +  1;   FIM  ENQUANTO Diagrama de blocos: Num <= 100 Não Sim Java: int  num  =  0;   while  (num  <=  100)  {  
    System.out.println(num);      num  =  num  +  1;
 } Num Num = 0; Num = Num+1;
  • 80. 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 Tela T1 L1 0 -
  • 81. 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 Tela T1 L1 0 - T2 L2 0 -
  • 82. 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 Tela T1 L1 0 - T2 L2 0 - T3 L3 0 0
  • 83. 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 Tela T1 L1 0 - T2 L2 0 - T3 L3 0 0 T4 L4 1 0
  • 84. 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 Tela T1 L1 0 - T2 L2 0 - T3 L3 0 0 T4 L4 1 0 T5 L2 1 0
  • 85. 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 Tela T1 L1 0 - T2 L2 0 - T3 L3 0 0 T4 L4 1 0 T5 L2 1 0 T6 L3 1 0 1 T7 L4 2 0 1 T8 L2 2 0 1 T9 L3 2 0 1 2 T10 L4 3 0 1 2
  • 86. 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 Tela T (n-9) L3 98 0..97 98 T (n-8) L4 99 0..97 98 T (n-7) L2 99 0..97 98 T (n-6) L3 99 0..98 99 T (n-5) L4 100 0..98 99 T (n-4) L2 100 0..98 99 T (n-3) L3 100 0..99 100 T (n-2) L4 101 0..99 100 T (n-1) L2 101 0..99 100 T (n) L5 101 0..99 100
  • 87. 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 Sim Java: int  num  =  0;   do  {  
    System.out.println(num);      num  =  num  +  1;
 }  while  (num  <=  100) Num Num = 0; Num = Num+1;
  • 88. 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
  • 89. 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
  • 90. 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).
  • 91. ATIVIDADE 1. 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.