ALGORITMOS E PROGRAMAÇÃO Desenvolvimento de Aplicativos Comerciais Prof. Jorge Cecílio
ALGORITMO Resolvendo Problemas Quando temos um problema e vamos utilizar um computador para resolve-lo, precisamos passar pelas seguintes etapas: Definir o problema Realizar um estudo da situação atual e verificar quais as formas de resolver o problema Utilizar uma linguagem de programação para escrever o programa que deverá a principio, resolver o problema Analisar junto aos usuários se o problema foi resolvido
ALGORITMO - Definição Um algoritmo é uma seqüência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita. O conceito de algoritmo é freqüentemente ilustrado O conceito de algoritmo é freqüentemente ilustrado pelo exemplo de uma receita, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada. Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema.
ALGORITMO - Definição Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. Sua implementação pode ser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano.
ALGORITMO - Exemplos Instruções de como utilizar um equipamento eletrodoméstico. Uma receita de Bolo A maneira como as contas de água ou luz são calculadas
ALGORITMO - Características Ter fim Não dar margem a dupla interpretação Poder gerar informações de saída ao mundo externo ao do algoritmo Ser efetivo (todas as etapas desejáveis de um algoritmo devem ser atingidas em tempo finito)
ALGORITMO - Vantagens A partir dele o programador poderá implementálo em qualquer linguagem de programação que conheça ou deseje.
ALGORITMO Representações Descrição narrativa Fluxograma Linguagem Algorítmica
ALGORITMO Descrição Narrativa Faz uso do português, com objetivo de descrever os passos principais de uma solução.
ALGORITMO Descrição Narrativa Receita de Bolo Providencie Ovos, Manteiga, 2Kg de massa Misture os ingredientes Despeje a mistura na forma de bolo Espere 20 minutos Retire a forma do forno Deixe esfriar Prove
ALGORITMO Linguagem Algorítmica Consiste na definição de uma pseudo linguagem de programação, cujos comandos são escritos em português, para representar algoritimos.
ALGORITMO Linguagem Algoritmica Exemplo Algoritmo CALCULA_DOBRO NUM, DOBRO: inteiro Inicio Leia NUM DOBRO := 2 * NUM Escreva DROBRO fim
ALGORITMO Linguagem Algorítmica VANTAGENS Usa o português como base Pode-se definir quais e como os dados vão estar estruturados Passagem quase imediata do algoritmo para a linguagem de programação qualquer. DESVANTAGENS Exige a definição de uma linguagem não real para trabalho Não padronizados
ALGORITMO Linguagem Algorítmica Exercícios Escreva um algoritmo que: 1. Receba as duas notas de um aluno; 2. Calcule a média entre as duas; 3. Exiba o resultado.
ALGORITMO Linguagem Algorítmica Algoritmo CalculaMedia PriNota, SegNota, Media : Decimal Inicio Leia PriNota Leia SegNota Media := (PriNota + SegNota) / 2 Escreva Media Fim
ALGORITMO Estruturas de Controle Sequenciação Decisão Repetição
ALGORITMO Estruturas de Controle Sequenciação Os comandos fazem parte de uma seqüência, onde é relevante a ordem na qual se encontram os mesmos, pois serão executados um de cada vez. Ex.: Comanto-1 Comanto-2... Comanto-3
ALGORITMO Estruturas de Controle Decisão ou Seleção Há a subordinação de execução de um ou mais comandos à veracidade de uma condição. Ex.: Se <condição> Então <seqüência de comandos> Senão <seqüência de comandos> Se eu tiver R$50,00 vou almoçar no Shopping, senão vou ao Ver-o-peso.
ALGORITMO Estruturas de Controle Decisão ou Seleção Inicio Pri_Nota, Seg_Nota: inteiro; Leia Pri_Nota; Leia Seg_Nota; Se (Pri_Nota > Seg_Nota) Escreva Seu rendimento caiu! ; Fim-se; Senão se (Seg_Nota > Pri_Nota) Escreva Parabéns! Seu rendimento melhorou! ; Fim-Senão; Senão Escreva Seu rendimento ficou inalterado Fim-Senão Fim;
ALGORITMO Estruturas de Controle Repetição ou Iteração Conhecida por loop ou laço. Permite que tarefas individuais sejam repetidas um número determinado de vezes ou tantas vezes quanto a condição lógica permita. Ex.: Vou atirar pedra na vidraça até quebrá-la; Enquanto eu tiver saúde e dinheiro, vou desfrutar da vida.
ALGORITMO Estruturas de Controle Repetição ou Iteração Exemplo Algoritmo Escreve1Ate10 Contador : inteiro Inicio Contador := 1 Enquanto (Contador < 11) Escreva Contador Contador := Contador + 1 Fim-Enquanto Fim
ALGORITMO REFINAMENTOS SUCESSIVOS Num algoritmo, um comando que não for do entendimento do destinatário terá que ser desdobrado em novos comandos, chamados de refinamento do comando inicial, e assim sucessivamente.
ALGORITMO REFINAMENTOS SUCESSIVOS EXEMPLO Algoritmo CALCULA_MEDIA Inicio Receba os dois números Calcule a média Escreva o resultado Fim Refinando o calculo da média Some os dois números Divida o resultado por dois
ALGORITMO REFINAMENTOS SUCESSIVOS EXEMPLO Algoritmo CALCULA_MEDIA (Refinamento) Inicio Receba os dois números Some os dois números Divida o resultado por dois Escreva o resultado Fim
ALGORITMO Linguagem Algorítmica Exercícios Escreva um algoritmo que: 1. Receba as duas notas de um aluno; 2. Calcule a média entre as duas; 3. Exiba Aluno Aprovado ou Aluno Reprovado Obs.: A média para aprovação é 7,0.
ALGORITMO Linguagem Algorítmica Algoritmo CalculaMedia PriNota, SegNota, Media : Decimal Inicio Leia PriNota Leia SegNota Media := (PriNota + SegNota) / 2 Se (Media >= 7,0) Escreva Aluno Aprovado Fim-Se Senao Escreva Aluno Reprovado Fim-Senao Fim
ALGORITMO OPERADORESRELACIONAIS Utilizadosnacomparação de literaisounúmeros; Retornamvaloreslógicos Consistem de: Igual a (=) Diferente de (<>) Maiorque (>) Menorque (<) Maiorouigual a (>=) Menorouigual a (<=)
ALGORITMO Operadores Lógicos Utilizadosparacombinarresultado de expressõeslógicas São eles E (AND) OU (OR) NÃO (NOT)
ALGORITMO Operadores Lógicos
ALGORITMO Operadores Lógicos
ALGORITMO Operadores Lógicos
ALGORITMO Exercício Escreva um algoritmo que receba duas notas de um aluno e o seu percentual de freqüência O algoritmo deverá escrever Aluno Aprovado caso a freqüência do aluno seja maior ou igual a 75% E a media entre suas duas notas seja maior ou igual a 7. Caso contrario o sistema deverá escrever Aluno Reprovado.
ALGORITMO EXERCÍCIO (RESOLUÇÃO) Algoritmo VerificaAprovacao PriNota, SegNota, NotaMedia, Freq : Decimal Inicio Leia PriNota Leia SegNota Leia Freq NotaMedia := (PriNota + SegNota) / 2 Se (NotaMedia>= 7,00 &Freq>= 75) Escreva Aluno Aprovado Fim-se Senao Escreva Aluno Reprovado Fim-Senao Fim
ALGORITMOS - EXERCÍCIOS De acordo com os conhecimentos adquiridos em sala, utilize a linguagem algoritmica para escrever um algoritmo de calculo de Coffee-Break de uma reunião. A estimativa de consumo é de uma Lata de Refrigerante e 10 salgadinhos por pessoa. A empresa que fornecerá o Coffee-Break informou que: Cada lata de refrig. Custa R$1,50 Cada salgadinho custa R$ 0,20 Caso sejam comprados mais de 300 salgados será dado um desconto de 10% sobre o valor total dos salgados. Caso sejam comprados mais de 30 latas de refrig., será dado um desconto de 5% sobre o valor de cada lata.
Algoritmo CalculaCustoCoffeeBreak QtdPessoa, QtdSalgado, QtdRefri : Inteiro CustoSalgado, CustoRefri,CustoTotal : Decimal Inicio Leia QtdPessoa QtdSalgado := QtdPessoa * 10 CustoSalgado := QtdSalgado * 0,20 QtdRefri := QtdPessoas * 1 CustoRefri := QtdRefri * 1,50 Se (QtdSalgado> 300) CustoSalgado := CustoSalgado (CustoSalgado * 10/100) Fim-Se Se (QtdRefrig> 30) CustoRefri := CustoRefrig (CustoRefrig * 5 /100) Fim-Se CustoTotal := CustoSalg + CustoRefri Escreva CustoTotal Fim
ALGORITMOS - EXERCÍCIO Calculo de IMC (Índice de Massa Corpórea) Para fazer o cálculo de IMC basta dividir seu peso em quilogramas pela altura ao quadrado (em metros). O número gerado deve ser comparado aos valores de uma tabela de IMC para saber se o seu peso esta na faixa IDEAL, ACIMA ou ABAIXO do normal. Peso Abaixo do Normal: menor que 18,5 Peso Normal: entre 18,5 e 24,9 Peso Acima do Normal: acima de 24,9
ALGORITMOS - EXERCÍCIO Algoritmo CalculaImc Peso, Altura, Imc : Decimal Inicio Leia Peso Leia Altura Imc := Peso / (Altura * Altura) Se (Imc< 18,5) Escreva Abaixo do peso. Fim-se Senao se (Imc> 24,9) Escreva Peso acima do normal Fim-Senao Senao Escreva Peso dentro da faixa normal Fim-Senao Fim
ALGORITMOS - EXERCÍCIO 1. Faça um programa que receba 2 valores e retorne o maior entre eles.
ALGORITMOS - EXERCÍCIO Algoritmo MaiorNumero PriNumero, SegNumero : Decimal Inicio Ler PriNumero Ler SegNumero Se (PriNumero>SegNumero) Escreva PriNumero Fim-Se Senao se (PriNumero<SegNumero) Escreva SegNumero Fim-Senao Senao Escreva Números Iguais Fim-Senao Fim
ALGORITMOS - EXERCÍCIO Faça um programa que receba um valor que é o valor pago, um segundo valor que é o preço do produto e escreva o valor do troco a ser dado.
ALGORITMOS - EXERCÍCIO Algoritmo CalculaTroco ValorPago, ValorProduto, ValorTroco : decimal Inicio Leia ValorPago Leia ValorProduto ValorTroco := ValorPago ValorProduto Escreva ValorTroco Fim
ALGORITMOS - EXERCÍCIO Sabendo que latão é constituído de 70% de cobre e 30% de zinco, indique a quantidade de cada um desses componentes para se obter uma certa quantidade de latão (requerida pelo usuário)
ALGORITMOS - EXERCÍCIO Algoritmo CalculaComposicaoLatao QtdCobre, QtdZinco, Latao : Decimal Inicio Leia Latao QtdCobre := Latao * 0,7 QtdZinco := Latao * 0,3 Escreva Cobre: Escreva QtdCobre Escreva Zinco: Escreva QtdZinco Fim
ALGORITMOS - EXERCÍCIO Algoritmo CalculaComposicaoLatao QtdCobre, QtdZinco, Latao : Decimal Inicio Leia Latao QtdCobre := Latao * 0,7 QtdZinco := Latao * 0,3 Escreva Cobre: + QtdCobre Escreva Zinco: + QtdZinco Fim
ALGORITMOS - EXERCÍCIO Uma transportadora precisa de um programa que calcule a quantidade de caminhões necessários para transportar uma determinada carga. A transportadora deverá informar o peso (em toneladas) da carga. O sistema deverá informar a quantidade de caminhões necessários para transportar a carga informada. Entenda que cada caminhão transporta uma carga de até 20 Toneladas.
ALGORITMOS - EXERCÍCIO Algoritmo QuantosCaminhoes QuantidadeCaminhoes, PesoCarga : decimal Inicio Leia PesoCarga QuantidadeCaminhoes := PesoCarga / 20 Escreva QuantidadeCaminhoes Fim
ALGORITMOS - EXERCÍCIO Escreva um algoritmo que realize o calculo da conta de internet. Sendo a Conta base R$ 50,00, com franquia de 100mb de transferência mensal. Para um consumo extra de até 10mb será cobrado um adicional de R$1,00 por MB. Para um consumo extra acima de 10mb será cobrado um adicional de R$ 0,50 por MB (em todos os MBs que ultrapassarem a franquia) Obs. Assuma que sempre haverá consumo extra.
ALGORITMOS - EXERCÍCIO Algoritmo Calcula_Conta_Internet Consumo, ValorConta : Decimal; Inicio Leia Consumo Se (Consumo <= 0) ValorConta := 50,00 Fim-Se Senao Se (consumo > 110) ValorConta = ((Consumo - 100) * 0,50) + 50 Fim-Senao Senao Se (consumo <= 110 ) ValorConta = ((Consumo - 100) * 1,00) + 50 Fim-Senao Escreva ValorConta Fim
ALGORITMOS - EXERCÍCIO Algoritmo Calcula_Conta_Internet Consumo, ConsumoExtra, ValorConta : Decimal Inicio Leia Consumo ConsumoExtra := Consumo 100 Se (ConsumoExtra <= 0) ValorConta := 50,00 Senao Se (ConsumoExtra> 10) ValorConta = ConsumoExtra * 0,50 ValorConta = ValorConta + 50,00 Fim-Senao Senao Se (ConsumoExtra<=) ValorConta = ConsumoExtra * 1,00 ValorConta = ValorConta + 50,00 Fim-Senao Escreva ValorConta Fim
ALGORITMOS - EXERCÍCIO Escreva um algoritmo que realize o calculo da conta de um restaurante. Será cobrado um valor de 10% acima do consumo referente a taxa de serviço Será cobrado um valor de R$ 5,00 referente ao Será cobrado um valor de R$ 5,00 referente ao couvert artístico por pessoa.
ALGORITMOS EXERCÍCIO Algoritmo CalculaConta Consumo, QtdPessoas, ValorPagar: Decimal Inicio Leia Consumo Leia QtdPessoas ValorPagar := Consumo + (Consumo * 0,1) + (QtdPessoas * 5,00) Escreva ValorPagar Fim
ALGORITMOS - EXERCÍCIO Escreva o algoritimo para estimar o custo de um projeto de desenvolvimento de sistemas. O custo da hora do programador é de R$ 50,00 A quantidade de programadores deverá ser informada pelo usuário A quantidade de horas do projeto deverá ser informada pelo usuário (e multiplicada pelo numero de programadores).
ALGORITMOS - EXERCÍCIO Algoritmo CalculaCustoProjeto QtdProgramadores, QtdHoras : inteiro CustoTotal : decimal Inicio Leia QtdProgramadores Leia QtdHoras CustoTotal = QtdProgramadores * QtdHoras * 50,00 Escreva CustoTotal Fim