Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica de Programação 1 1 - Lógica de Programação A lógica para programação consiste em aprender a pensar na mesma seqüência em que o computador executa as tarefas, aprende-se a imaginar como as ações serão executadas partindo-se do estudo de um problema até chegar à construção de um algoritmo (solução). Quando pensamos em fazer um programa no computador, temos que ter em mente que a máquina desconhece totalmente alguns conceitos que para nós é muito óbvio. Por isto, devemos descrever cada passo por mais simples que seja para que haja uma seqüência lógica em nossa programação e assim, o computador executar todas as instruções necessárias para a execução de uma determinada tarefa. Será que para o computador é tão simples somar 1+1 como para nós, seres humanos? Vamos analisar... Primeiramente é necessário armazenar o primeiro número fornecido pelo usuário na memória do computador. Ler e armazenar o primeiro número seria a primeira tarefa. Por que armazenar? Porque ele somará o primeiro número com o próximo número fornecido! Enquanto isto, ele deve memorizar o primeiro número, senão, quando fornecermos o próximo, ele já esqueceu o primeiro! Ler e armazenar o segundo número pelo mesmo motivo que o primeiro! Executar a operação de soma Memorizar o resultado da soma para mostrar em sua tela! Quando falamos em memorizar, estamos dizendo que o dado deve ser colocado na memória do computador. Inserimos valores na memória de um computador através de VARIÁVEIS. 1.1 - Algumas definições de Lógica LÓGICA é a técnica de encadear os pensamentos para se atingir um objetivo (Sonia Maria Duarte). LÓGICA é a seqüência coerente, regular e necessária de acontecimentos, de coisas; coerência de raciocínio, de idéias; maneira do raciocínio particular que cabe a um indivíduo ou a um grupo (Dicionário Aurélio). LÓGICA é a ciência dos princípios formais do raciocínio (Manzano). Lógica de Programação 2 1.2 - O uso da Lógica na análise de um problema Quando pensamos em desenvolver um programa, devemos ter domínio sobre o mesmo, analisando cada etapa do problema, para que possamos fornecer ao computador uma seqüência lógica de passos que a máquina deverá executar para que resolva o nosso problema. Etapas para a solução de um problema “Analisar um problema significa compreendê-lo rigorosamente, ter domínio sobre o mesmo, estudar as possíveis soluções para o problema e conseguir coletar todos os dados necessários para a sua solução. Analisar um problema é conseguir descrever todos os processos, passo a passo, até que a resolução seja concluída” (Lina). “Problema – proposta duvidosa que pode ter numerosas soluções ou questão não solvida e que é objeto de discussão” (Manzano). Para resolver qualquer problema, iremos dividi-lo em três partes: - Dados de entrada: são as informações necessárias que eu preciso obter para atingir o objetivo. - Processamento: é o calculo (caso tenha um) que deverá ser feito para solucionar o problema. - Saída: objetivo a atingindo. Exemplo: Calcular a média de um aluno. Sabendo que a média é a soma das duas notas dividido por 2. Dados de entrada: Nota1 e Nota2 Processamento: Média=(Nota1+Nota2)/2 Saída: Média Lógica de Programação 3 Exercícios 1. Escreva os dados de entrada, processamento e saída de cada um dos itens abaixo: a) Baseado nos valores de duas contas a pagar. Calcule e mostre o total a pagar b) Receba a base e a altura de um cômodo. Calcule e mostre a área desse cômodo sabendo que a área=base * altura. c) Receba o salário de um funcionário, calcule um acréscimo de 40 reais e mostre o novo salário. d) Receba a área de um cômodo, sabendo que são necessários 18W por metro quadrado para iluminar esse cômodo. Calcule e mostre quantos watts serão necessários para essa iluminação. 2 – Algoritmos A automação é o processo em que uma tarefa deixa de ser desempenhada pelo homem e passa a ser realizada por máquinas, sejam estes dispositivos mecânicos, eletrônicos (como os computadores) ou de natureza mista. Para que a automação de uma tarefa seja bem-sucedida é necessário que a máquina que passará a realizá-la seja capaz de desempenhar cada uma das etapas constituintes do processo a ser automatizado com eficiência, de modo a garantir a repetibilidade do mesmo. Assim, é necessário que seja especificado com clareza e exatidão o que deve ser realizado em cada uma das fases do processo a ser automatizado, bem como a seqüência em que estas fases devem ser realizadas. À especificação da seqüência ordenada de passos que deve ser seguida para a realização de uma tarefa, garantindo a sua repetibilidade, dá-se o nome de algoritmo. Ao contrário do que se pode pensar, o conceito de algoritmo não foi criado para satisfazer às necessidades da computação. Pelo contrário, a programação de computadores é apenas um dos campos de aplicação dos algoritmos. Na verdade, há inúmeros casos que podem exemplificar o uso (involuntário ou não) de algoritmos para a padronização do exercício de tarefas rotineiras (vide exemplos da Seção 2.2.1). No entanto, daqui adiante a atenção desta apostila estará voltada à automação de tarefas utilizando computadores. Para que um computador possa desempenhar uma tarefa é necessário que esta seja detalhada passo-a-passo, numa forma compreensível pela máquina, utilizando aquilo que se chama de programa. Neste sentido, um programa de computador nada mais é que um algoritmo escrito numa forma compreensível pelo computador (linguagem de programação). 2.1 Algumas Definições de Algoritmo "Serve como modelo para programas, pois sua linguagem é intermediária à linguagem humana e às linguagens de programação, sendo então, uma boa ferramenta na validação da lógica de tarefas a serem automatizadas." Lógica de Programação 4 “Os algoritmos, servem para representar a solução de qualquer problema, mas no caso do Processamento de Dados, eles devem seguir as regras básicas de programação para que sejam compatíveis com as linguagens de programação.” 2.2 Formas de Representação de Algoritmos Existem diversas formas de representação de algoritmos, mas não há um consenso com relação à melhor delas. O critério usado para classificar hierarquicamente estas formas está diretamente ligado ao nível de detalhe ou, inversamente, ao grau de abstração oferecido. Algumas formas de representação de algoritmos tratam os problemas apenas em nível lógico, abstraindo-se de detalhes de implementação muitas vezes relacionados com alguma linguagem de programação específica. Por outro lado existem formas de representação de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer as idéias principais do algoritmo, dificultando seu entendimento. Dentre as formas de representação de algoritmos mais conhecidas podemos citar: - Descrição Narrativa; - Fluxograma Convencional; - Pseudocódigo, também conhecido como Linguagem Estruturada ou Portugol. 2.2.1 Descrição Narrativa Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. Como exemplo tem-se os algoritmos seguintes: - Receita de bolo: Misture os ingredientes Unte a forma com manteiga Despeje a mistura na forma Se houver coco ralado então despeje sobre a mistura Leve a forma ao forno Enquanto não corar deixe a forma no forno Retire do forno Deixe esfriar - Troca de um pneu furado: Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixaro carro Dar o aperto final nas porcas Lógica de Programação 5 - Tomando um banho: Entrar no banheiro e tirar a roupa Abrir a torneira do chuveiro Entrar na água Ensaboar-se Sair da água Fechar a torneira Enxugar-se Vestir-se - Cálculo da média de um aluno: Obter as suas 2 notas de provas Calcular a média aritmética Se a média for maior que 7, o aluno foi aprovado, senão ele foi reprovado Esta representação é pouco usada na prática porque o uso da linguagem natural muitas vezes dá oportunidade a más interpretações, ambigüidades e imprecisões. Por exemplo, a instrução "afrouxar ligeiramente as porcas" no algoritmo da troca de pneus está sujeita a interpretações diferentes por pessoas distintas. Uma instrução mais precisa seria: "afrouxar a porca, girando-a 30º no sentido anti-horário". 2.2.2 Fluxograma Convencional É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintas. Tal propriedade facilita o entendimento das idéias contidas nos algoritmos e justifica sua popularidade. Esta forma é aproximadamente intermediária à descrição narrativa e ao pseudocódigo (subitem seguinte), pois é menos imprecisa que a primeira e, no entanto, não se preocupa com detalhes de implementação do programa, como o tipo das variáveis usadas. Nota-se que os fluxogramas convencionais preocupam-se com detalhes de nível físico da implementação do algoritmo. Por exemplo, figuras geométricas diferentes são adotadas para representar operações de saída de dados realizadas em dispositivos distintos, como uma fita magnética ou um monitor de vídeo. Como esta apostila não está interessada em detalhes físicos da implementação, mas tão somente com o nível lógico das instruções do algoritmo, será adotada a notação simplificada abaixo para os fluxogramas. Principais formas geométricas usadas em fluxogramas: Início e final do fluxograma Operação de entrada de dados Operação de saída de dados Operação de processamento Decisão Lógica de Programação 6 De modo geral, um fluxograma se resume a um único símbolo inicial por onde a execução do algoritmo começa, e um ou mais símbolos finais, que são pontos onde a execução do algoritmo se encerra. Partindo do símbolo inicial, há sempre um único caminho orientado a ser seguido, representando a existência de uma única seqüência de execução das instruções. Isto pode ser melhor visualizado pelo fato de que, apesar de vários caminhos poderem convergir para uma mesma figura do diagrama, há sempre um único caminho saindo desta. Exceções a esta regra são os símbolos finais, dos quais não há nenhum fluxo saindo, e os símbolos de decisão, de onde pode haver mais de um caminho de saída (usualmente dois caminhos), representando uma bifurcação no fluxo. Abaixo mostra a representação do algoritmo de cálculo da média de um aluno sob a forma de um fluxograma. 2.2.3 Pseudocódigo Esta forma de representação de algoritmos é rica em detalhes, como a definição dos tipos das variáveis usadas no algoritmo. Por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação. Na verdade, esta representação é suficientemente geral para permitir a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta. A forma geral da representação de um algoritmo na forma de pseudocódigo é a seguinte: Algoritmo <nome_do_algoritmo> <declaração_de_variáveis> Início <corpo do algoritmo> Fim Início N1,N2 MEDIA (N1 + N2) / 2 MEDIA >= 7 APROVADO REPROVADO Fim Lógica de Programação 7 Algoritmo é uma palavra que indica o início da definição de um algoritmo em forma de pseudocódigo. <nome_do_algoritmo> é um nome simbólico dado ao algoritmo com a finalidade de distingui-los dos demais. <declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos. Início e Fim são respectivamente as palavras que delimitam o início e o término do conjunto de instruções do corpo do algoritmo. Como exemplo, abaixo mostra a representação do algoritmo do cálculo da média de um aluno, na forma de um pseudocódigo. Algoritmo Calculo_Media Declare N1, N2, MEDIA: real Início Leia N1, N2 MEDIA ← (N1 + N2) / 2 Se MEDIA >= 7 então Escreva “Aprovado” Senão Escreva “Reprovado” Fim_se Fim 2.3 Síntese Há diversas formas de representação de algoritmos que diferem entre si pela quantidade de detalhes de implementação que fornecem ou, inversamente, pelo grau de abstração que possibilitam com relação à implementação do algoritmo em termos de uma linguagem de programação específica. Dentre as principais formas de representação de algoritmos destacam-se: a descrição narrativa, o fluxograma convencional e o pseudocódigo (ou linguagem estruturada). 3 – Tipos de Dados Um computador manipula informações ou dados. Dados podem ser as vendas semanais de uma loja, nomes e telefones de uma lista, resultados de uma experiência, etc. Num programa, uma variável é uma entidade que possui um valor, sendo conhecida no programa por um nome (identificador). Lógica de Programação 8 Variáveis e constantes são os elementos básicos que um programa manipula. 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 às vezes um valor inicial. Tipos podem ser, por exemplo: inteiros, reais, caracteres, etc. As expressões combinam variáveis e constantes para calcular novos valores. 3.1 - Tipos de Dados Inteiros - dados numéricos inteiros positivos ou negativos. Ex: 100, 45, -8, 0. Reais – dados numéricos positivos, negativos e números fracionários. Ex: 100, 45, -8, 0, 2.3, -23.765. Literal – seqüências contendo letras, números e símbolos especiais. Conhecido também como String ou Alfanumérico. Uma seqüência de caracteres deve ser indicada entre aspas (““). Ex: “Rua Centenário, 300”, Rg: 45.309.999-X. Lógicos – dados com apenas dois valores: Verdadeiro e Falso. É também conhecido como Booleano em homenagem ao matemático George Boole. 3.2 – Variáveis “Tudo aquilo que é sujeito a variações, que é incerto, instável ou inconstante“ (Manzano). Todo o dado armazenado na memória do computador deve ser previamente identificado e indicado o seu tipo. Variável é a representação simbólica dos elementos de um certo conjunto. 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. A decisão em usar um ou outro formato depende dos valores que se pretende armazenar. Lógica de Programação 9 "Imagine a memória do computador como um grande arquivo com várias gavetas, sendo que em cada gaveta é possível guardar apenas um único valor por vez, e essas gavetas, como em um único arquivo, deverão estar identificadas com uma "etiqueta" contendo um nome" (Manzano). Declaração de Variáveis: DECLARE X: integer Declaramos uma variável com o nome “X”, do tipo inteiro, ou seja, esta variável armazenará valores inteiros. Atribuiçãode variável Atribuir um valor a uma variável, significa entregar a ela um determinado valor. A operação de atribuição é indicada pelo símbolo ←. Veja o exemplo abaixo: X ←10. Isto significa que o valor 10 está sendo atribuído à variável X, ou seja, após a execução desse comando, a variável de nome X conterá o número inteiro (valor) 10. Regras para nomes de variáveis - NUNCA deve começar por um número, sempre por uma letra; - NÃO poderá ter espaços em branco; - NUNCA utilizar palavras reservadas de uma linguagem de programa; - NÃO poderão ser utilizados outros caracteres a não ser letra e números; Dica Importante! Utilize sempre identificadores sugestivos. Evite, por exemplo, chamar as variáveis que armazenam as notas bimestrais de X, Y, Z, W, pois esses identificadores não são sugestivos das funcionalidades dessas variáveis no algoritmo. 3.3 - Constante Constante é tudo aquilo que é fixo, estável. 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. Por exemplo, pi = 3.14159. Outro exemplo: Multa = Dias_em_atraso * 1.83 (O valor 1.83 da fórmula acima é uma constante). Lógica de Programação 10 4 - Operadores Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Temos três tipos de operadores: - Operadores Aritméticos; - Operadores Relacionais; - Operadores Lógicos; 4.1 - Operadores Aritméticos Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da adição, subtração, multiplicação e divisão, podem utilizar também o operador para exponenciação. Os símbolos para os operadores aritméticos são: Hierarquia das Operações Aritméticas 1 º ( ) Parênteses; 2 º Exponenciação; 3 º Multiplicação, divisão (o que aparecer primeiro); 4 º + ou – (o que aparecer primeiro); Exemplo: TOTAL = PRECO * QUANTIDADE 1 + 7 * 2 ** 2 –1 = 28 3 * (1 – 2) + 4 * 2 = 5 Exercício Resolvido 1. Faça um pseudocódigo que receba dois números inteiros. Calcule e mostre a soma dos números. Solução: Dados de Entrada: Numero1, Numero2 Processamento: Soma=Numero1+Numero2 Saída: Soma Lógica de Programação 11 Algoritmo calculo_soma Declare Numero1, Numero2, soma: real Início Leia Numero1, Numero2 soma ← Numero1 + Numero2 Escreva Soma Fim Exercícios Propostos 1. Faça um pseudocódigo que receba a base e a altura de um cômodo. Calcule e mostre a área desse cômodo sabendo que a área=base * altura. 2. Faça um pseudocódigo que calcule a área de um quadrado e mostre o resultado. Sabendo que Área = lado*lado. 3. Faça um algoritmo que receba o salário de um funcionário. Sabendo que ele receberá um acréscimo de 40 reais, calcule e mostre o novo salário. 4. Faça um algoritmo que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu aumento de 25% 5. Faça um algoritmo que receba o valor de um depósito e o valor da taxa de juros, calcule e mostre o valor do rendimento e o valor total depois do rendimento. 6. Desenvolva a lógica de um problema em português estruturado, o qual recebe as dimensões de um cômodo, sabendo que são necessários 18W por metros quadrados para iluminar esse cômodo. Calcule e mostre quantos watts serão necessários para esse cômodo. 7. Faça um algoritmo que receba peso e a idade de uma pessoa. Calcule e mostre o índice de massa corpórea (IMC). Sendo IMC= peso/altura*altura. 4.2 - Operadores Relacionais Os operadores relacionais são utilizados para comparar String de caracteres e números. Os valores a serem comparados podem ser caracteres ou variáveis. Estes operadores sempre retornam valores lógicos (verdadeiro ou falso / true ou False). Para estabelecer prioridades no que diz respeito a qual operação executar primeiro, utilize os parênteses. Os operadores relacionais são: Lógica de Programação 12 Exemplo: Tendo duas variáveis A = 5 e B = 3 Os resultados das expressões seriam: 4.3 - Operadores Lógicos Atuam sobre expressões retornando sempre a valores lógicos como verdadeiro ou falso. Os operadores lógicos são: E / AND - Uma expressão AND (E) é verdadeira se todas as condições forem verdadeiras. OR/OU - Uma expressão OR (OU) é verdadeira se pelo menos uma condição for Verdadeira. NOT - Uma expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa. Pode ser que você necessite, em algum momento, trabalhar com o relacionamento de duas ou mais condições ao mesmo tempo na mesma instrução se; efetuando desta forma testes múltiplos. Para estes casos é necessário trabalhar com os operadores lógicos, também conhecidos como operadores booleanos. Em alguns casos, o uso de operadores lógicos evita a utilização de instruções se encadeadas. Exercícios 1. Sabendo que A equivale a 5 e B equivale a 10 e C equivale a 20 responda com verdadeiro(V) ou falso (F) as questões abaixo: a. 2*A=B b. (A+B-C)<>(A*2+C) Lógica de Programação 13 c. B+A*2>A+C d. C-10>=B e. B+A*2<=C f. C+(A*B)=b*(A+B) 5. Estrutura Condicional 5.1 Estrutura Condicional Simples Se condição Então comando O comando só será executado se a condição for verdadeira. Uma condição é uma comparação que possui dois valores possíveis, verdade ou falso. Se Condição Então Início Comando1 Comando2 Comando3 Fim. Exercício Resolvido: 1. Faça um algoritmo que receba duas notas, calcule e mostre a média aritmética. Caso o aluno tenha média maior que 5 escreva “Aprovado” Solução: Dados de Entrada: Nota1, Nota2 Processamento: Media=(Nota1+Nota2)/2 Saída: Media Algoritmo Média Declare Nota1, Nota2, media: real Início Leia Nota1, Nota2 media ← (Nota1 + Nota2)/2 Se media>=5 então Escreva “Aprovado Fim Lógica de Programação 14 Exercícios: 1. Faça um algoritmo que receba o valor do salário do funcionário. Caso esse valor seja menor que R$500 acrescente R$50 ao seu salário. No final mostre o salário novo. 2. Em uma loja se o valor final da compra for maior que R$100,00 o cliente recebe um desconto de 10% sobre o valor da compra. Faça um algoritmo que receba o valor da compra, e calcule o desconto e mostre o valor final que o cliente irá pagar. 5.1 Estrutura Condicional Composta Se condição então comando 1 Senão comando 2 Se a condição for verdadeira, será executado o comando 1;caso contrário, se a condição é falsa, será executado o comando 2 Se condição então Início Comando 1 Comando 2 Fim Senão Início Comando 3 Comando 4 Fim Se a condição for verdadeira, o comando 1 e o comando 2 serão executados;caso contrário, se a condição for falsa, o comando 3 e o comando 4 serão executados. Exercício Resolvido 1. Faça um algoritmo que receba as notas de um aluno. Calcule a média e mostre a média e a mensagem conforme a tabela abaixo: Média Mensagem Menor que 5.0 Reprovado Maior ou igual a 5.0 Aprovado Dados de entrada: nota1,nota2 Processamento: media=(nota1+nota2)/2 Saída: media e a msg Lógica de Programação 15 Algoritmo media Declare nota1,nota2,media,msg:real Início Leia nota1,nota2 media←(nota1+nota2)/2 Se media>=5 então msg←”Aprovado” senão msg←”Reprovado” Escrevamedia, msg Fim 2. Baseado no exemplo anterior mostre a mensagem conforme a tabela abaixo: Média Mensagem Menor que 3.0 Reprovado Entre 3.0 e 5.0 Exame Maior ou igual a 5.0 Aprovado Dados de entrada: nota1,nota2 Processamento: media=(nota1+nota2)/2 Saída: media e a msg Algoritmo media Declare nota1,nota2,media:real Declare msg:literal Início Leia nota1,nota2 media←(nota1+nota2)/2 Se media>=5 então msg←”Aprovado” senão Se media< 3.0 então msg←”Exame” Senão msg←”Reprovado” Escreva media, msg Fim Exercícios Propostos 1. Faça um algoritmo que receba a idade de uma pessoa e mostre a mensagem de maioridade ou não. 2. Uma agência bancária possui dois tipos de investimentos, conforme o quadro a seguir. Faça um algoritmo que receba o tipo de investimento e o valor do investimento e que calcule e mostre o valor corrigido de acordo com o tipo de investimento. TIPO DESCRIÇÃO RENDIMENTO MENSAL 1 Poupança 3% Lógica de Programação 16 2 Fundos de renda fixa 4% 3. Desenvolver um algoritmo para um sistema que será adotado por uma empresa de reciclagem, onde, a cada peça entrada no sistema o mesmo faz uma verificação de seu peso através de um sensor, e realiza um calculo simples verificando, o quanto de material bom ele irá aproveitar da mesma. Baseando que a peça é de metal, portanto: Entre com o peso da peça Se a peça pesar mais de 50 Kg, irá se aproveitar 70% do peso da peça Se a peça for menor que 50Kg, irá se aproveitar 40% do peso total da peça Ao final mostra: Qual o peso que irá se aproveitar de uma determinada peça 4. Faça um algoritmo que receba a idade de um nadador e mostre a sua categoria usando as regras a seguir: (usando operadores lógicos „E‟ ou „Ou‟) CATEGORIA IDADE Infantil 5 a 7 Juvenil 8 a 10 Adolescente 11 a 15 Adulto 16 a 30 Sênior Acima de 30 6. Estrutura de Repetição 6.1. Estrutura de repetição para número definido de repetições Essa estrutura de repetição é utilizada quando se sabe o número de vezes em que um trecho do algoritmo deve ser repetido. Para I valor_ inicial até valor_final faça Comando1 O comando1 será executado utilizando a variável I como controle, cujo conteúdo vai variar do valor_inicial até o valor_final, de 1 em 1, incrementando automaticamente. Para J valor_inicial até valor_final faça Início Comando1 Comando2 Fim O comando1 e o comando2 serão executados utilizando a variável J como controle, cujo conteúdo vai variar do valor_inicial até o valor_final, de 1 em 1, incrementando automaticamente. Lógica de Programação 17 Exemplo: Para I 0 até 10 faça Comando1 O comando1 será executado 10 vezes. Exercício Resolvido 1. Faça um algoritmo que calcule a média de todos os alunos de uma sala, sabendo que essa sala possui 30 alunos. No final mostre a média de cada aluno. Algoritmo media Declare n1,n2,media, I: real Início Para I 0 até 30 faça Início Leia n1,n2 media (n1+n2)/2 Escreva media Fim Fim 2. Desenvolva um algoritmo que receba o peso de 10 produtos de uma empresa de reciclagem, na qual cada peça ao passar por um sensor é verificada o peso e analisada o quanto da peça será reaproveitada, sabendo que a peça é um metal: a. Se a peça pesar mais de 50 kg irá aproveitar 70% do peso da peça b. Se a peça pesar menos ou igual 50 kg irá aproveitar 40% do peso da peça Ao final mostrar: Qual o peso será aproveitado da peça. Algoritmo reciclagem Declare peso, I, aproveitado: real Início Para I 0 até 10 faça Início Leia peso Se peso>50 então Aproveitado peso*70/100 Senão Aproveitado peso*40/100 Escreva Aproveitado Fim Fim Lógica de Programação 18 Exercícios 1. Desenvolva um algoritmo que receba o peso de 500 produtos de uma empresa de reciclagem, na qual cada peça ao passar por um sensor é verificada o peso e analisada o quanto da peça será reaproveitada, sabendo que a peça é um metal: a. Se a peça pesar mais de 50 kg irá aproveitar 70% do peso da peça b. Se a peça pesar menos ou igual 50 kg e maior que 20 Kg irá aproveitar 40% do peso da peça c. Caso tenha igual ou menos que 20 kg não será aproveitada. Ao final mostrar: Qual o peso será aproveitado da peça. 3. Uma loja tem 15 clientes cadastrados e deseja enviar uma correspondência a cada um deles anunciando um bônus especial. Faça um algoritmo que leia o valor das compras do cliente no ano passado. Calcule e mostre um bônus de 10% se o valor das compras for menor que R$ 1.000,00 e de 15%, caso contrário. Contador/Acumulador 1. Contador São variáveis cujo objetivo é contar. Podemos contar, por exemplo: O número de alunos aprovados de uma classe Cont_aluno cont_aluno+1 O números de peças sem defeitos Cont_pecas cont_pecas+1 2. Acumulador Imagine que você acaba de abrir uma conta no Banco e quer verificar quanto gastará por semana em cheques. Se você fizer o controle manualmente, poderá a cada cheque emitido, marcar em uma caderneta o valor acumulado, e no final de semana verificar o total. No caso do computador, existe a possibilidade de aclocar um endereço de memória que possa guardar o valor acumulado a cada cheque. A este endereço(variável) de memória damos o nome de Acumulador No começo da semana o valor do acumulador será zero. E a cada cheque emitido alteraremos o valor do acumulador, substituindo o valor anterior: Acumulador acumulador+valor_cheque Exercício Resolvido 1. Faça um algorimo que receba a idade de dez pessoas e que calcule e mostre: a quantidade de pessoas com idade maior ou igual a 18 anos. Algoritmo Idade Declare contar_idade,I,idade: real Lógica de Programação 19 Início contar_idade 0 Para I 0 até 10 faça Início Leia idade Se idade>=18 entao contar_idade contar_idade+1 Fim Escreva contar_idade Fim 2. Faça um algoritmo que receba a idade de dez pessoas e que calcule e mostre: Média de todas as idades. Algoritmo Idade Declare I,idade,acumulador,media: real Início acumulador 0 Para I 0 até 10 faça Início Leia idade acumulador acumulador+idade Fim Media=acumulador/10 Escreva media Fim 3. Faça um algoritmo que receba a idade de dez pessoas e que calcule e mostre: a quantidade de pessoas com idade maior ou igual a 18 anos. Média de todas as idades. Algoritmo Idade Declare contar_idade,I,idade,acumulador,media: real Início contar_idade 0 acumulador 0 Para I 0 até 10 faça Início Leia idade Se idade>=18 entao contar_idade contar_idade+1 acumulador acumulador+idade Fim Media=acumulador/10 Escreva contar_idade,media Fim Exercícios 1. Uma loja tem 15 clientes cadastrados e deseja enviar uma correspondência a cada um deles anunciando um bônus especial. Faça um algoritmo que leia o Lógica de Programação 20 código do cliente e o valor de suas compras no ano passado. Calcule e mostre um bônus de 10% se o valor das compras for menor que R$ 1.000,00 e de 15%, caso contrário. 2. Faça um algoritmo que receba a idade de 15 pessoas e que calcule e mostre a quantidade de pessoas em cada faixa etária; 3. Faça um algoritmo que receba 15 números e que calcule e mostre: A quantidade de números inferiores a 35; A média dos números positivos; FAIXA ETÁRIA IDADE 1º Até 15 anos 2º De 16 a 30 anos 3º De 31 a 45 anos 4º De 46 a 60 anos 5º Acima de 61 anos
Compartilhar