Upload
internet
View
103
Download
0
Embed Size (px)
Citation preview
Igor Steinmacher [email protected]
Conceitos...
• Lógica: estudo filosófico-matemático da validade formal dos raciocínios;
• Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo
• Sequência Lógica são passos executados até atingir um objetivo ou solução de um problema.
Igor Steinmacher [email protected]
Conceitos...
• Instruções: um conjunto de regras ou normas definidas para a realização ou emprego de algo
– Em informática, porém, instrução é a informação que indica a um computador uma ação elementar a executar
• “Algoritmo é um,a sequencia de passos que visa atingir um objetivo bem definido” (Forbellone, 1999)
• “Algoritmo é a descrição de uma sequencia de passos que deve ser seguida para a realização de uma tarefa” (Ascencio, 1999)
• “Algoritmo são regras formais para obtenção de um resultado de um problema, englobando fórmulas e expressões aritméticas” (Manzano, 1997)
Igor Steinmacher [email protected]
Algoritmos
• Exemplos:– Operações básicas matemáticas decimais– Manuais de aparelhos eletrônicos (Como ligar,
como executar a função X)– Outras coisas simples
• Chupar uma bala• Somar dois números• Fazer um sanduiche• Sacar dinheiro no caixa rápido
Igor Steinmacher [email protected]
Exercícios
Crie uma sequência lógica para ir para a balada
Faça um algoritmo para somar dois números e multiplicar o resultado pelo primeiro número
Faça um algoritmo para trocar uma lâmpada (com certo nível de detalhes)
Igor Steinmacher [email protected]
Construção de um algoritmo
Igor Steinmacher [email protected]
Passos para a construção de algoritmos
• Compreender completamente o problema a ser resolvido destacando os pontos mais importantes
• Definir os dados de entrada, ou seja, quais dados serão fornecidos para a solução do problema
• Definir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses cálculos
• Definir os dados de saída, ou seja, quais dados serão gerados após o processamento
• Construir o algoritmo de alguma maneira• Testar o algoritmo utilizando simulações
Igor Steinmacher [email protected]
Vamos pensar
• Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4.
• Em que:– Média Final = (P1 + P2 + P3 + P4)/4
Igor Steinmacher [email protected]
E o teste?
• Teste de Mesa– seguir as instruções do algoritmo de maneira
precisa para verificar se o procedimento utilizado está correto ou não
– Para o exemplo, faríamos a seguinte tabela de valores:
P1 P2 P3 P4 Média
Igor Steinmacher [email protected]
Exercícios
1) Identifique os dados de entrada, processamento e saída no algoritmo abaixo
Receba código da peçaReceba valor da peçaReceba Quantidade de peçasCalcule o valor total da peça (Quantidade * Valor da peça)Mostre o código da peça e seu valor total2) Faça um algoritmo para “Calcular o estoque médio de
uma peça”, sendo queESTOQUEMÉDIO = (QTDE MÍNIMA + QTDE MÁXIMA) /23) Teste o algoritmo anterior com dados definidos por você.
Igor Steinmacher [email protected]
Como representar os algoritmos?
• Linguagem Natural• Fluxograma• Linguagem Estruturada• Linguagem de Programação
Igor Steinmacher [email protected]
Linguagem Natural
• É o que estamos fazendo• Descrevemos os passos utilizando nosso modo de
escrever no dia-a-dia• Ponto positivo:
– Fácil de utilizar pois já é bem conhecida
• Pontos negativos:– Ambiguidade– Dificuldade de interpretação única– Dificuldade de transcrever para uma linguagem
formal
Igor Steinmacher [email protected]
Fluxograma
• Utiliza um conjunto limitado de símbolos gráficos para descrever a solução
• Pontos positivos– Entendimento mais simples– Menor ambiguidade
• Pontos negativos– Necessidade de aprender os símbolos– Menor riqueza de detalhes
Igor Steinmacher [email protected]
Fluxograma
Indica o início e o fim de um algoritmo
Indica o sentido do fluxo,dentro do algoritmo
Indica processamento; cálculos e atribuição de valores
Indica a entrada de dados
Indica saída de dados
Indica uma tomada de decisão, possível desvio
Igor Steinmacher [email protected]
Exemplo de Fluxograma
• Chupar bala
Início
Chupar a bala
Pegar a bala
Tirar o papel
Jogar o papel no lixo
Fim
Igor Steinmacher [email protected]
E para o exemplo da média?
Início
Media = (P1 + P2 + P3 + P4) 4
P1, P2, P3, P4
Media Fim
Igor Steinmacher [email protected]
Exemplo
• Crie um fluxograma que: – Solicite o nome de um funcionário, seu salário e a
valor das vendas– Calcule o valor de sua comissão, sabendo que
esta é de 10% do valor de suas vendas– Calcule o salário final do funcionário – Apresente o nome do funcionário e o valor de seu
salário final
Igor Steinmacher [email protected]
Vamos pensar
1) Construa um fluxograma que:
• Leia a cotação do dólar• Leia um valor em dólares• Converta o valor para
Real• Mostre o resultado2) Crie um fluxograma que:• Leia 4 (quatro) números• Calcule o dobro de cada
um• Somem todos os dobros• Mostre o resultado
3) Construa um algoritmo para pagamento de comissão de vendedores de peças, levando em consideração que sua comissão será de 5% do total da venda e que você tem os seguintes dados:
• Nome do vendedor• Código da peça• Preço unitário da peça• Quantidade vendida
Igor Steinmacher [email protected]
Fluxograma com decisão
• Dados dois números, mostrar o maior
Início N1, N2
N1
Fim
N1 > N2?
N2
Igor Steinmacher [email protected]
Salário Desconto
até R$ 1. 500,00 Isento
de R$ 1.500,01 até R$ 3.000,00 15%
acima de R$ 3.000,00 27,5%
Fluxograma com decisão
• Crie um fluxograma que, dado um número, escreva se ele é par ou ímpar.
• Faça um fluxograma que receba dois números (N1 e N2) e faça a divisão entre eles e mostre o resultado. Caso N2 seja igual a 0, mostre “Impossível dividir”.
• Faça um fluxograma para indicar o valor de desconto do imposto de renda para o usuário que informar seu salário, de acordo com a tabela abaixo: