Prévia do material em texto
<p>LISTA DE ALGORITMOS VIII - EXTRAS</p><p>PROFESSOR: WAGNER JOSÉ DOS SANTOS JÚNIOR</p><p>DISCIPLINA: INTRODUÇÃO À PROGRAMAÇÃO</p><p>EXERCÍCIOS SOBRE ESTRUTURAS SEQUENCIAIS:</p><p>1 – Calcular a área de um retângulo</p><p> A área de uma figura geométrica retangular é calculada pela fórmula área = largura x</p><p>altura</p><p> As variáveis de entrada são altura e largura, do tipo real, pois pode haver medida com</p><p>parte fracionária</p><p> Poderíamos criar uma variável de saída para a área, porém podemos calcular e mostrar o</p><p>resultado sem usar essa variável</p><p> O esboço da solução em linguagem natural seria:</p><p>o Solicitar valor da largura e altura</p><p>o Calcular área e mostrar resultado</p><p>2 - Armazenar dois números em variáveis e trocar os valores das variáveis</p><p>3 - Calcular as raízes de uma equação do segundo grau</p><p>4 - Calcular o custo estimado com combustível em uma viagem de carro</p><p> A lógica para solução deste problema é a seguinte: cada carro tem um consumo típico para</p><p>cada tipo de combustível (gasolina ou álcool), medido em quilômetros por litro (Km/l).</p><p>Dividindo a distância a ser percorrida na viagem por esse parâmetro (Km/l), podemos</p><p>saber quantos litros de combustível serão necessários. Após isso, basta multiplicar essa</p><p>quantidade de litros pelo preço unitário do litro de combustível.</p><p> As variáveis de entrada estão destacadas no item anterior e deverão ser todas do tipo real</p><p>pois todas podem ter valores fracionários. A variável de saída será o custo, que é opcional</p><p>pois podemos calcular e mostrar o resultado sem usar essa variável</p><p> O esboço da solução em linguagem natural seria:</p><p>o Solicitar os dados de entrada: quilômetros por litro, distancia a ser percorrida e preço</p><p>unitário do litro de combustível</p><p>o Calcular o custo e mostrar resultado</p><p>EXERCÍCIOS SOBRE ESTRUTURAS CONDICIONAIS:</p><p>1 - Faça um algoritmo que leia um número inteiro diferente de zero e diga se este é positivo ou</p><p>negativo</p><p>2 - Altere o algoritmo anterior para dizer também se o número é igual a zero (use se encadeados)</p><p>3 - Faça uma algoritmo que leia três valores que representam os três lados de um triângulo e</p><p>verifique:</p><p> Se o triângulo é válido</p><p> Se é um triângulo equilátero, isósceles ou escaleno. Propriedades de um triângulo:</p><p> A soma de dois lados não pode ser menor que a do terceiro lado (ou o comprimento de</p><p>cada lado deve ser menor que a soma dos outros dois lados)</p><p> Equilátero: três lados iguais</p><p> Isósceles: dois lados iguais</p><p> Escaleno: três lados diferentes</p><p>EXERCÍCIOS SOBRE ESRUTURAS DE REPETIÇÃO:</p><p>1 - Multiplicar dois números usando somas repetidas</p><p> Neste algoritmo o “segredo” é usar uma variável para acumular o valor da soma (que no</p><p>caso será a variável “produto” no algoritmo abaixo) de um dos fatores (no caso o</p><p>multiplicando “num2”) repetindo essa soma na quantidade do multiplicador (num1), O</p><p>comando que acumula a soma é produto<-produto+num2:</p><p>2 - Solicitar uma quantidade pré-determinada de números e calcular a soma e média entre esses</p><p>números</p><p> Já vimos como fazer a soma de números. Para calcular a média basta dividir a soma pela</p><p>quantidade de números digitados. Como não sabemos a quantidade de números que o</p><p>usuário quer digitar, então devemos perguntar e usar uma estrutura “para” para repetir os</p><p>comandos de solicitar um número e somar esse número essa quantidade de vezes,. O</p><p>cálculo da média a apresentação dos resultados deve ficar após a estrutura de repetiçã</p><p> Variáveis de entrada: quantidade de números (“quantidade”) (tipo inteiro)</p><p> Variável de contagem: c</p><p> Variáveis de processamento e saída: soma (inteiro) e media (real, pois a média pode ter</p><p>parte fracionária)</p><p>3 - Calcular a soma dos números ímpares entre um intervalo informado</p><p> Este algoritmo é parecido com o anterior, sendo que, em vez de termos uma estrutura</p><p>para de 1 até uma quantidade, teremos um intervalo</p><p> Variáveis de entrada: valor inicial (“ini”), limite (tipo inteiro)</p><p> Variável de contagem: i</p><p> Variáveis de processamento e saída: soma (inteiro)</p><p>4 - Calcular o fatorial de um número. Dicas:</p><p>N ! = N * (n-1) * (n-2)... * 1 Ex: 5! = 5 * 4 * 3 * 1 = 60</p><p> Podemos observar na fórmula do fatorial que precisaremos fazer multiplicações sucessivas,</p><p>onde o resultado da última multiplicação será multiplicado novamente por um outro número</p><p>(ex: 5*4 = 20; 20 * 3 = 60 ; 60 * 1 = 60). Essa multiplicação pode ser feita de forma similar à</p><p>variável acumuladora, só que em vez de somar, multiplicando. Ex: resl <- res * num.</p><p> Precisaremos de uma estrutura PARA p/ obter os multiplicadores, que podem estar tanto em</p><p>ordem crescente como decrescente</p><p> Um pequeno detalhe do algoritmo é que precisamos iniciar a variável acumuladora dos</p><p>produtos com 1 ou com o primeiro número das multiplicações (conforme o algoritmo a ser</p><p>usado), senão estaremos multiplicando por zero</p><p> Variáveis de entrada: número a calcular o fatorial (“num”) (tipo inteiro)</p><p> Variável de contagem: c</p><p> Variáveis de processamento e saída: fatorial (inteiro)</p><p>EXERCÍCIOS SOBRE VETORES:</p><p>1- Faça algoritmo para ler um vetor de 10 valores inteiros e depois identificar e mostrar o menor</p><p>valor</p><p> A lógica deste algoritmo é:</p><p>o Preencher o vetor</p><p>o Percorrer cada posição do vetor, procurando qual é o menor número (ao iniciar,</p><p>supomos que o menor é o primeiro do vetor).</p><p>2- Altere o algoritmo anterior para procurar um número digitado pelo usuário, informando a sua</p><p>posição, se ele constar no vetor.</p><p>3- Faça um algoritmo que inverta a posição dos valores de um vetor de seis posições de inteiros</p><p> Neste algoritmo a lógica é usar uma variável auxiliar para a troca (veja exercício da troca do</p><p>valor de duas variáveis) e achar uma expressão matemática para referenciar o elemento da</p><p>posição simétrica, onde será feita a troca</p><p> Para a troca, basta percorrermos a metade do vetor e usarmos a variável auxiliar e a</p><p>expressão encontrada no passo anterior</p><p>EXERCÍCIOS SOBRE FUNÇÕES:</p><p>1. Produtos de primos:</p><p>a) Escreva uma função que decida se um número é produto de dois números ímpares. Se for, a função</p><p>deverá devolver esses dois números, do contrário, deverá devolver None.</p><p>b) Escreva uma função que decida se um número é produto de quatro números ímpares. Se for, a função</p><p>deverá retornar os números em variáveis passadas por referência. Tente utilizar a função anterior.</p><p>2. Escreva uma função que computa a potência ab para valores a (float) e b (int) passados por parâmetro.</p><p>O programa deve imprimir todas as potências: 20, 21, 22, 23, 24,... 210.</p><p>3. Escreva uma função que receba um número inteiro e imprima o mês correspondente ao número. Por</p><p>exemplo, 2 corresponde a “fevereiro”. A função deve mostrar uma mensagem de erro caso o número</p><p>recebido não faça sentido.</p>