Faculdade de Computação Programação Procedimental 1 Laboratório de Programação - Algoritmos o Prof. Cláudio C. Rodrigues I. Introdução O objetivo desta aula prática é desenvolver e aplicar as técnicas relacionadas a construção de algoritmos, descrevendo-os em linguagem Português Estruturado e validando-os no ambiente de simulação do VisuAlg. _____________________________________________________________________________ II. Estruturas Primitivas de Construção de Algoritmos Os algoritmos devem utilizar as seguintes estruturas primitivas: se <condição> entao ... senao ... fimse escolha <opção> caso “i”... outrocaso ... fimescolha repita ... ate <condição> enquanto <condição> faca ... fimenquanto para i = 1 ate N passo 1 faca _____________________________________________________________________________ III. Problemas Laboratório 1 ----------Escrever um algoritmo em pseudocódigo que leia do dispositivo padrão de entrada (teclado) um número inteiro X e informe se o número é par ou ímpar. O algoritmo deve emitir as seguintes mensagens: * 4 é um número par * 7 é um número ímpar O algoritmo deve estar contido no arquivo "par_impar.alg". Laboratório 2 ----------Escrever um algoritmo em pseudocódigo que leia do dispositivo padrão de entrada dois números inteiros X e Y e informe qual é relação de "maioridade" entre X e Y. O algoritmo deve emitir as seguintes mensagens: * X é maior do que Y * X é menor do que Y * X é igual a Y O algoritmo deve estar contido no arquivo "maior_menor.alg". Laboratório 3 ----------Escreva um algoritmo em pseudocódigo que leia 3 números reais e os imprima em ordem crescente. O algoritmo deve ler os valores e armazená-los em três variáveis: n1, n2 e n3. O algoritmo deve imprimir as variáveis nesta ordem: n1, n2 e n3. Isto significa que os valores devem ser movimentados entre as variáveis de maneira que elas terminem com esta configuração: n1<=n2<=n3. O algoritmo deve estar contido no arquivo "ordena_tres.alg". Algoritmos e Programação 1 Laboratório 4 ----------O índice de massa corporal (IMC) é muito utilizado para analisar se uma pessoa está acima ou abaixo do peso. A análise é feita da seguinte maneira: Faixas Situação pessoa abaixo do peso ideal IMC < 20 pessoa com peso ideal 20 ≤ IMC ≤ 25 pessoa acima do peso ideal 25 < IMC ≤ 30 pessoa obesa IMC > 30 𝐼𝑀𝐶 = 𝑃𝑒𝑠𝑜 𝐴𝑙𝑡𝑢𝑟𝑎2 Escreva um algoritmo em pseudocódigo que leia do teclado o peso (kg) e altura (m) de uma pessoa. O algoritmo deve calcular e imprimir o seu IMC, junto com uma mensagem indicando a categoria em que ela se enquadra. O algoritmo deve estar contido no arquivo "imc.alg". Laboratório 5 ----------Escrever um algoritmo que leia do teclado um valor em reais e calcula qual o menor número possível de cédulas de 100, 50, 20, 10, 5, 2 e 1 em que o valor lido pode ser decomposto. Escrever o valor lido e a relação de notas necessárias. O algoritmo deve estar contido no arquivo "cedulas.alg". Laboratório 6 ----------Todos os anos que são múltiplos de 400, ou são múltiplos de 4 e não são múltiplos de 100, são anos bissextos. Por exemplo, como 1600 é múltiplo de 400, o ano 1600 é bissexto. Similarmente, já que 1988 é múltiplo de 4 e não é múltiplo de 100, o ano 1988 também é bissexto. Escrever um algoritmo em pseudocódigo que receba a informação de um determinado ano e o algoritmo deve determinar se o ano informado é bissexto. Apresente uma mensagem apropriada escrevendo se o ano digitado é bissexto ou não. O algoritmo deve estar contido no arquivo "bissexto.alg". Laboratório 7 ----------Escreva um algoritmo em pseudocódigo que leia do dispositivo padrão de entrada três valores inteiros e positivos X, Y e Z, verificar se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verificar se é um triângulo eqüilátero, isósceles ou escaleno. Se eles não formarem um triângulo escrever uma mensagem. Considerar que: • O comprimento de cada lado de um triângulo é menor que a soma dos outros dois lados; • Chama-se triângulo equilátero o triângulo que tem os três lados iguais; • Chama-se triângulo isósceles o triângulo que tem o comprimento de dois lados iguais; • Chama-se triângulo escaleno o triângulo que tem os três lados diferentes. O algoritmo deve estar contido no arquivo "triangulo.alg". Algoritmos e Programação 2 Laboratório 8 ----------Escreva um algoritmo em pseudocódigo (Português Estruturado) que calcule o Maior Divisor Comum (mdc) de dois valores inteiros positivos - o algoritmo original de Euclides para o cálculo do mdc consiste em subtrações sucessivas segundo a regra: Dados dois números inteiros e positivos, subtrair sucessivamente o menor do maior, até ficarem iguais. Exemplo: a | b ---|---9 | 30 9 | 21 9 | 12 9 |3 6 |3 3 |3 O algoritmo deve estar contido no arquivo "mdc.alg". Laboratório 9 ----------Escreva em linguagem C um algoritmo que leia dois inteiros (a e b), escreva na tela a sequência de inteiros entre min(a,b) e max(a,b). O algoritmo deve estar contido no arquivo "seq1.alg". Laboratório 10 ----------Escreva um algoritmo em pseudocódigo, semelhante ao anterior, que leia além de início [min(a,b)] e fim [max(a,b)] uma opção que poderá ser: “C” ou “D”, ou seja, crescente ou decrescente, respectivamente, que irá indicar a ordem da sequência dos números que serão escritos na tela. O algoritmo deve estar contido no arquivo "seq2.alg". Laboratório 11 ----------Escreva um algoritmo em pseudocódigo que, dado um número natural N, apresente os divisores de N. Para isto, basta você dividir N por todos os naturais menores do que N. O algoritmo deve estar contido no arquivo "divisores.alg". Laboratório 12 ----------Escreva um algoritmo em pseudocódigo que verifique se um dado número natural N é ou não um número Primo. Teorema: Se um dado número natural N não possuir divisores <= raizq(n), então N é um número Primo. raizq(n) --> significa raiz quadrada de n O algoritmo deve estar contido no arquivo "primo.alg". Algoritmos e Programação 3 Laboratório 13 ----------Escreva um algoritmo em pseudocódigo que leia N números naturais, e calcule o valor da somas dos pares e impares dos valores digitados. Restrição: a soma dos pares e dos ímpares devem ser calculadas aproveitando o laço de leitura dos N números naturais. O algoritmo deve estar contido no arquivo "somatorio.alg". Laboratório 14 ----------Escreva um algoritmo em pseudocódigo que leia um número inteiro e gere outro número inteiro formado pelos dígitos invertidos do número lido. Ex: Número Lido = 12345 Número Gerado = 54321. Dica: Observe os resultados das funções Quociente e Resto de um número por 10. O algoritmo deve estar contido no arquivo "espelho.alg". Laboratório 15 ----------Escreva um algoritmo em pseudocódigo que leia o nome e o sexo de 10 pessoas e informe o nome e se ela é homem ou mulher. No final informe total de homens e de mulheres. O algoritmo deve estar contido no arquivo "cadastro.alg". Algoritmos e Programação 4