·

Cursos Gerais ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

IFBA Instituto Federal de Educação Ciência e Tecnologia da Bahia Curso Tecnológico de Análise e Desenvolvimento de Sistemas INF004 Lógica de Programação Prof Frederico Barboza LISTA DE EXERCÍCIOS I Lógica de Programação Escreva um programa utilizando a linguagem C para cada um dos problemas abaixo 1 Dado o tamanho da base e da altura de um retângulo calcular a sua área e o seu perímetro 2 Dado o tamanho do lado de um quadrado calcular a área e o perímetro do mesmo 3 Dado o tamanho do raio de uma circunferência calcular a área e o perímetro da mesma 4 Dado os três lados de um triângulo determinar o perímetro do mesmo 5 Ler um número inteiro e exibir o seu sucessor 6 Ler dois números inteiros e exibir o quociente e o resto da divisão inteira entre eles 7 Solicitar a idade de uma pessoa em dias e informar na tela a idade em anos meses e dias 8 Dado que a fórmula para conversão de Fahrenheit para Celsius é C 59 F 32 leu um valor de temperatura em Fahrenheit e exibilo em Celsius 9 Faça um algoritmo que calcule e apresente o valor do volume de uma lata de óleo dado seu raio e sua altura 10 Converter um inteiro informado menor que 32 para sua representação em binário 11 Faça um algoritmo para calcular a nota semestral de um aluno A nota semestral é obtida pela média aritmética entre a nota de 2 bimestres Cada nota de bimestre é composta por 2 notas de provas 12 Faça um algoritmo que transforme uma velocidade fornecida em ms pelo usuário para Kmh Para tal multiplique o valor em ms por 36 13 Um circuito elétrico é composto de duas resistências R1 e R2 em paralelo e ambas em sequência de uma resistência R3 Faça um algoritmo para calcular a resistência equivalente desse circuito 14 Em uma cidade se deseja sincronizar os semáforos Com isto quando um semáforo abre fica verde os veículos que nele estavam parados tendem a encontrar os próximos semáforos também abertos Para que isto seja feito os próximos semáforos precisam abrir um pouco depois dependendo da velocidade permitida na via e da distância entre eles Assim ao abrir o semáforo um veículo começa a acelerar até atingir a velocidade permitida que mantém até chegar ao próximo semáforo levando um certo tempo para percorrer essa distância Para que encontre o próximo semáforo aberto este deve abrir um pouco antes da chegada do veículo por ex 3 segundos antes Faça assim um algoritmo que informe quanto tempo depois um semáforo deve abrir dada as seguintes informações a a distância desde o semáforo anterior b a velocidade permitida da via c a aceleração típica dos carros 15 Num dia de sol você deseja medir a altura de um prédio porém a trena não é suficientemente longa Assumindo que seja possível medir sua sombra e a do prédio no chão e que você lembre da sua altura faça um programa para ler os dados necessários e calcular a altura do prédio 16 Escreva um programa para gerar o invertido de um número com três algarismos exemplo o invertido de 498 é 894 17 Um programa para gerenciar os saques de um caixa eletrônico deve possuir algum mecanismo para decidir o número de notas de cada valor que deve ser disponibilizado para o cliente que realizou o saque Um possível critério seria o da distribuição ótima no sentido de que as notas de menor valor fossem distribuídas em número mínimo possível Por exemplo se a quantia solicitada fosse R 8700 o programa deveria indicar uma nota de R 5000 três notas de R 1000 uma nota de R 500 e duas notas de R 100 Escreva um programa que receba o valor da quantia solicitada e retorne a distribuição das notas de acordo com o critério da distribuição ótima considere existir notas de R100 R200 R500 R1000 R2000 R5000 e R10000 18 Escreva um programa que permute o valor de duas variáveis inteiras 19 Escreva um programa que calcule a raiz de uma equação do primeiro grau 20 Uma loja vende seus produtos no sistema entrada mais duas prestações sendo a entrada maior do que ou igual às duas prestações as quais devem ser iguais inteiras e as maiores possíveis Por exemplo se o valor da mercadoria for R 27000 a entrada e as duas prestações são iguais a R 9000 se o valor da mercadoria for R 30275 a entrada é de R 10275 e as duas prestações são a iguais a R 10000 Escreva um programa que receba o valor da mercadoria e forneça o valor da entrada e das duas prestações de acordo com as regras acima Observe que uma justificativa para a adoção desta regra é que ela facilita a confecção e o consequente pagamento dos boletos das duas prestações 21 Escreva um programa que leia um número e exiba se ele é positivo ou negativo 22 Escreva um programa que leia um número e exiba o seu módulo 23 Escreva um programa que leia um número e imprima se este número é ou não par 24 Escreva um programa que leia três números e mostre o maior entre eles 25 Escreva um programa que leia o número equivalente ao mês e imprima a quantidade de dias deste mês 26 Escreva um programa que leia 3 valores e escreva a soma dos 2 maiores 27 Escreva um programa que leia 3 números e calcule a média ponderada entre eles Considere que o maior número recebe peso 5 e os outros dois recebem peso 25 28 Escreva um programa que leia uma letra e mostre se ela é vogal ou consoante 29 Escreva um programa que calcula o desconto previdenciário de um funcionário Dado um salário o programa deve retornar o valor do desconto proporcional ao mesmo O cálculo segue a regra o desconto é de 11 do valor do salário entretanto o valor máximo de desconto é 33429 o que seja menor 30 Um posto está vendendo combustíveis com a seguinte tabela de descontos Álcool Até 25 litros desconto de 2 por litro Acima de 25 litros desconto de 4 por litro Gasolina Até 25 litros desconto de 3 por litro Acima de 25 litros desconto de 5 por litro Escreva um algoritmo que leia o número de litros vendidos e o tipo de combustível codificado da seguinte forma Aálcool Ggasolina calcule e imprima o valor a ser pago pelo cliente sabendose que o preço do litro da gasolina é R 270 e o preço do litro do álcool é R 190 31 No Futebol Americano usase o Quarterback Rating como um índice que indica o desempenho do quarterback quando maior melhor Ele é calculado como indicado a seguir Calculase o percentual de passes completados em relação aos passes tentados pelo quarterback Deste valor subtraise 03 e dividese por 02 Este valor não deve ser maior que 2375 ou menor que 0 caso seja ajustase o valor para 2375 ou 0 respectivamente Em seguida calculase a razão de jardas passadas pela quantidade de passes tentados Deste valor subtraise 3 e dividese por 4 Novamente este valor não deve ser maior que 2375 ou menor que 0 caso seja procedese como no caso anterior Agora calculase a razão de passes para touchdows pelo número de passes tentados Dividese o valor por 005 Mais uma vez este valor não deve ser maior que 2375 ou menor que 0 caso seja procedese como de costume Então calculase a razão entre passes interceptados e o número de passes tentados Deste valor subtraise 0095 e dividese o resultado por 004 Como de praxe este valor não deve ser maior que 2375 ou menor que 0 caso seja atuase como explicado O quarterback rating é calculando somandose as quatro parcelas anteriores multiplicando a soma por 100 e dividindose o produto por 6 Escreva um programa que leia o número de passes tentados o número de passes completos o número de jardas passadas o número de passes para touchdown e o número de passes interceptados e informe o QB Rating do quarterback 32 Escreva um programa que leia um caracter e diga se ele é uma vogal consoante número ou um símbolo qualquer outro caracter que não uma letra ou número 33 Escreva um algoritmo que leia 2 valores x e y que devem representar as coordenadas de um ponto em um plano A seguir determine qual o quadrante ao qual pertence o ponto ou se está sobre um dos eixos cartesianos ou na origem xy0 34 Uma financeira usa o seguinte critério para conceder empréstimos o valor total do empréstimo deve ser até dez vezes o valor da renda mensal do solicitante e o valor da prestação deve ser no máximo 30 da renda mensal do solicitante Escreva um programa que leia a renda mensal de um solicitante o valor total do empréstimo solicitado e o número de prestações que o solicitante deseja pagar e informe se o empréstimo pode ou não ser concedido 35 Escreva um programa que leia um número inteiro de 1 a 7 e informe o dia da semana correspondente sendo domingo o dia de número 1 Se o número não corresponder a um dia da semana mostre uma mensagem de erro 36 Em uma certificação são feitos são feitos 5 exames I II III IV e V Escreva um programa que leia as notas destes exames e imprima a classificação do aluno sabendo que a média é 70 Classificação A passou em todos os exames B passou em I II e IV mas não em III ou V C passou em I e II III ou IV mas não em V Reprovado outras situações 37 Uma Cia de pulverização utiliza avião para pulverizar lavouras Os custos de pulverização dependem do tipo de praga e da área a ser contratada conforme a tabela Tipo 1 ervas daninhas R 5000 por acre Tipo 2 gafanhotos R 10000 por acre Tipo 3 broca R 15000 por acre Tipo 4 todos acima R 25000 por acre Se a área a ser pulverizada for superior a 1000 acres o fazendeiro tem um desconto de 5 Em adição qualquer fazendeiro cujo custo for maior do que R 75000 tem um desconto de 10 sobre o valor que ultrapassar os R 75000 Caso ambos os descontos se aplicam o da área é calculado antes Fazer um algoritmo que leia o tipo de pulverização 1 a 4 e área a ser pulverizada e imprima o valor a ser pago 38 Chamase ano bissexto o ano ao qual é acrescentado um dia extra ficando ele com 366 dias um dia a mais do que os anos normais de 365 dias ocorrendo a cada quatro anos Escreva um programa que verifique se um ano é bissexto Um ano é bissexto se ele é divisível por 4 Entretanto se o ano é divisível por 100 ele não é bissexto Mas se ele for divisível por 400 ele volta a ser bissexto a São bissextos os anos 1600 1996 2000 2004 2008 2012 2016 2400 2800 b Não são bissextos 1500 1974 1982 1983 1990 2018 2022 2030 2038 39 Em diversas situações é útil o uso de dígitos verificadores Dígito verificador ou algarismo de controle é um mecanismo de autenticação utilizado para verificar a validade e a autenticidade de um valor numérico evitando dessa forma fraudes ou erros de transmissão ou digitação Uma das formas mais comuns de cálculo de dígito verificadores é o método conhecido por módulo 11 O cálculo do DV no módulo 11 é feito é feito como se segue para calcular o primeiro dígito verificador cada dígito do número começando da direita para a esquerda do dígito menos significativo para o dígito mais significativo é multiplicado na ordem por 2 depois 3 depois 4 e assim sucessivamente até o primeiro dígito do número O somatório dessas multiplicações dividido por 11 O resto desta divisão módulo 11 é subtraído da base 11 o resultado é o dígito verificador O Banco do Brasil utiliza o código módulo 11 substituindo por X o valor do dígito verificador quando este é 10 Escreva um programa que receba um número com os 4 primeiros dígitos de uma agência e imprima o número da agência completo numero dv Agência Alg 1 Alg 2 Alg 3 Alg 4 DV 48704 4 8 7 0 45 84 73 02 73 73 mod 11 7 117 4 4881X 4 4 4 1 45 84 83 12 78 78 mod 11 1 11 1 10 X 40 Escreva um programa que receba um numero inteiro de 1 a 100 e mostre na tela o numero por extenso 41 Escreva um programa que imprima todos os números inteiros do intervalo fechado de 1 a 100 42 Escreva um programa que imprima todos os números inteiros de 100 a 1 em ordem decrescente 43 Escreva um programa que imprima todos os números pares do intervalo fechado de 1 a 100 44 Escreva um programa que imprima todos os números de 1 até 100 inclusive e a soma de todos eles 45 Escreva um programa que leia 5 números e imprima a média entre eles 46 Escreva um programa que calcule o quociente da divisão de A por B número inteiros e positivos ou seja A B através de subtrações sucessivas Esses dois valores são passados pelo usuário através do teclado 47 Escreva um programa que calcule o resto da divisão de A por B número inteiros e positivos ou seja A B através de subtrações sucessivas Esses dois valores são passados pelo usuário através do teclado 48 Escreva um programa que determine se um dado número N digitado pelo usuário é primo ou não 49 Escreva um programa que determine se um dado número N digitado pelo usuário é primo ou não 50 Escreva um programa que leia um valor e imprima todas as possíveis combinações em que o lançamento de um par de dados tenha como resultado da soma dos valores dos dados o número lido Por exemplo se a entrada for o número 7 o programa deve imprimir as seguintes combinações 1 6 2 5 3 4 4 3 5 2 6 1 51 A série de Fibonacci é formada pela sequencia 1 1 2 3 5 8 13 21 34 55 Escreva um programa que gere a série de FIBONACCI até o Nésimo termo com N sendo uma entrada do algoritmo 52 A série de FETUCCINE é gerada da seguinte forma os dois primeiros termos são fornecidos pelo usuário a partir daí os termos são gerados com a soma ou subtração dos dois termos anteriores ou seja 1 Ai Ai1 Ai2 para i ímpar 2 Ai Ai1 Ai2 para i par Criar um algoritmo em PORTUGOL que imprima os N primeiros termos da série de FETUCCINE sabendose que para existir esta série serão necessários pelo menos três termos 53 Dado um país A com 5000000 de habitantes e uma taxa de natalidade de 3 ao ano e um país B com 7000000 de habitantes e uma taxa de natalidade de 2 ao ano escreva um programa que imprima o tempo necessário para que a população do país A ultrapasse a população do país B 54 Construa um programa que receba um número e verifique se ele é um número triangular Um número é triangular quando é resultado do produto de três números consecutivos Exemplo 24 2 x 3 x 4 55 Dizemos que dois números são amigos se cada um deles é igual a soma dos divisores próprios do outro Os divisores próprios de um número positivo N são todos os divisores inteiros positivos de N exceto o próprio N Um exemplo de números amigos são 284 e 220 pois os divisores próprios de 220 são 1 2 4 5 10 11 20 22 44 55 e 110 Efetuando a soma destes números obtemos o resultado 284 1 2 4 5 10 11 20 22 44 55 110 284 Os divisores próprios de 284 são 1 2 4 71 e 142 efetuando a soma destes números obtemos o resultado 220 1 2 4 71 142 220 Escreva um programa que dado dois inteiros verifique se eles são amigos 17296 e 18416 são amigos por exemplo 56 Um número se diz perfeito se é igual à soma de seus divisores próprios Divisores próprios de um número positivo N são todos os divisores inteiros positivos de N exceto o próprio N Por exemplo o número 6 seus divisores próprios são 1 2 e 3 cuja soma é igual à 6 1 2 3 6 Outro exemplo é o número 28 cujos divisores próprios são 1 2 4 7 e 14 e a soma dos seus divisores próprios é 28 1 2 4 7 14 28 57 Sendo 𝑆 1 um somatório de N informado pelo usuário termos escreva um programa para calcular S para um número N 58 O valor aproximado do número π pode ser calculado usandose a série 𝑆 1 1 3 1 5 1 7 1 7 Faça um programa que calcule e imprima o valor de π usando os N primeiros termos da série N sendo informado durante a execução do algoritmo 59 O número e número de Euler pode ser representado e calculado por meio da utilização da série de Taylor para e quando x1 como a soma da seguinte série infinita 𝑒 1 1 1 1 2 1 3 1 𝑛 Escreva um programa que leia o número de termos da série n e imprima como saída o cálculo do número de Euler para cada um dos n primeiros elementos da série 60 A famosa conjectura de Goldbach diz que todo inteiro par maior que 2 é soma de dois números primos Testes foram feitos mas ainda não se achou um contraexemplo Escreva um programa mostrando que a afirmação é verdadeira para todo número par entre 500 e 1000 O programa deve imprimir o número par e os dois primos que somados dão o número par 61 Faça um programa em C que crie e inicialize um array de 20 posições de inteiros com 0 para cada elemento Imprima o vetor em seguida indicando a posição e o valor na posição um por linha 62 Faça um programa em C que leia um array de 10 posições e conte quantos números pares são elementos do array Imprima esta quantidade 63 Escreva um programa que leia dois vetores de números reais de mesma dimensão 10 posições e imprima o vetor resultante da soma destes vetores 64 Faça um programa em C que leia um array de 20 inteiros e imprima o menor e o maior valor dentre os elementos do array 65 Faça um programa em C que leia um array de 20 inteiros e imprima o menor e o maior valor dentre os elementos do array bem como suas respectivas posições 66 Faça um programa em C que copie o conteúdo de um vetor de 10 posições de inteiro em um segundo vetor e imprima este último 67 Faça um programa em C que leia dois vetores de 10 posições de inteiros e copie o maior valor dos dois em cada posição em um terceiro vetor Em seguida imprima este terceiro vetor 68 Escreva um programa que leia o índice pluviométrico de cada dia do mês de junho e informe o dia que mais choveu o dia que menos choveu e as médias pluviométricas de cada uma das duas quinzenas 69 Escreva um programa que leia um vetor de 15 posições de inteiros Em seguida o programa deve ler um valor inteiro e imprimir o número de vezes que este valor ocorre no vetor 70 Escreva um programa que carregue um array com tamanho variável O tamanho máximo do array é de 100 posições carga de array com sentinela 71 Escreva um programa que leia um vetor de 10 posições de inteiros e um inteiro O programa deve informar a primeira posição onde este inteiro ocorre no vetor ou 1 caso o valor não ocorra no vetor Busca Sequencial 72 Escreva um programa que leia um vetor de 10 posições ordenados de inteiros e um inteiro O programa deve informar a primeira posição onde este inteiro ocorre no vetor ou 1 caso o valor não ocorra no vetor Busca Binária 73 Escreva um programa em C que leia um array de 20 inteiros calcule e imprima a A moda dos elementos no array elemento mais freqüente b A mediana dos elementos no array elemento central c A média 74 Escreva um programa em C que armazene um vetor de até 30 inteiros O programa deve fornecer as seguintes operações a Inserir um elemento no final do vetor b Inserir um elemento em uma dada posição c Remover um elemento de uma posição indicada d Remover todos elementos iguais a um valor indicado e Gerar um novo array sem duplicidades a partir deste array 75 Escreva um programa que ordene um array de inteiros de 15 posições utilizando o método da bolha bubble sort 76 Escreva um programa em C que leia uma string e conte quantas ocorrências de vogais existem nesta string 77 Escreva um programa em C que leia uma string gere uma nova string com o texto invertido e imprima esta nova string 78 Escreva um programa em C que leia uma string e um caracter e conte o número de ocorrências do caracter lido na string 79 Escreva um programa em C que gere a substring de uma string original dado a posição inicial e a final da substring 80 Escreva um programa em C que leia duas string e informe se a primeira contém a segunda 81 Escreva um programa em C que normalize uma string lida em uma nova string Normalizar uma string é o processo de remover os espaços excedentes que separam as palavras 82 Escreva um programa em C que dada uma string normalizada imprima a maior palavra dela 83 Escreva um programa em C que gere a substring de uma string original dado a posição inicial e a final da substring 84 Escreva um programa em C que verifique se uma string normalizada é palíndrome os mesmos caracteres quando lida da direita para a esquerda 85 Escreva um programa que leia uma string representando um número hexadecimal base 16 e imprima sua representação em decimal base 10 86 Escreva um número que leia um número em Romano e imprima o equivalente em decimal base 10 87 Escreva um programa em C que verifique se duas strings são iguais independente da caixa das letras Por exemplo este programa deve dizer que Testeé igual a TeStE 88 Escreva um programa em C que coloque a string lida toda em caixa alta 89 Escreva um programa em C que gere uma string composta pelo último nome seguido de virgula e as iniciais dos demais nomes em ordem seguida de ponto Por exemplo se a string entrada for Gabriel Garcia Marquez a string gerada deve ser Marquez G G 90 Escreva um programa em C que dado uma string crie uma nova string contendo na ordem em que aparecem no string dado as vogais no começo e as consoantes no final 91 Elabore um programa em C que leia valores inteiros para preencher uma matriz A 5 x 5 Você deverá criar adicionalmente dois vetores de 5 elementos somaLinhas e somaColunas Em cada posição do vetor somaLinhas deverá ser armazenada a soma da linha correspondente na matriz A Da mesma forma em cada posição do vetor somaColunas deverá ser armazenada a soma da coluna correspondente na matriz A 92 Elabore um programa em C para ler valores e armazenálos em uma matriz 5 x 5 Após o programa deverá responder se a matriz é ou não uma matriz simétrica Uma matriz simétrica possui a mesma composição de valores abaixo e acima da diagonal principal 93 Faça um programa em C para ler valores e armazenálos em uma matriz D 5 x 5 A seguir o programa deverá calcular a soma dos valores que compõem a diagonal principal e a diagonal secundária da matriz 94 Escrever um algoritmo e implementálo em linguagem C que leia uma matriz de valores inteiros 6 por 6 e um valor inteiro qualquer posteriormente multiplicar a matriz pelo valor lido e colocar o resultado na própria matriz 95 Escrever um algoritmo e implementálo em linguagem C que linearize uma matriz de 6 por 6 colocando os valores contidos nela em um vetor de 36 elementos e mostrar o conteúdo do vetor 96 Escrever um algoritmo e implementálo em linguagem C que leia duas matrizes de valores inteiros 3 por 4 e crie uma terceira matriz que seja a soma das duas primeiras e uma quarta que seja a diferença entre a primeira e a segunda Mostrar as matrizes lidas e calculadas 97 Escrever um algoritmo e implementálo em linguagem C que leia uma matriz de valores inteiros 5 por 5 e a exiba A seguir leia dois números x e y e em seguida troque a x ésima linha pela yésima linha a xésima coluna com a yésima coluna a diagonal principal com a secundária e por fim mostre a matriz assim modificada 98 Escrever um algoritmo e implementálo em linguagem C que leia duas matrizes 4x3 e 3x2 calcule e imprima a matriz que representa o produto entre as duas matrizes lidas 99 Escrever um algoritmo e implementálo em linguagem C que dada uma matriz N X N contendo em cada linha as idades do homem e da mulher no casamento criar uma matriz de freqüência de idade de casamento com as contagens para cada combinação de idades As idades variam de 18 até 30 Os pares de idade devem ser lidos até que se informe um valor inválido para a idade de qualquer dos dois nubentes Em seguida o programa deverá informar 1 Qual a idade mais freqüente de casamento dos homens 2 Qual a idade mais freqüente de casamento das mulheres 3 Qual a combinação mais freqüente de idades de casamento 100 Verificar se uma matriz dada forma um Quadrado Latino de ordem N no qual em cada linha e em cada coluna aparecem todos os inteiros 123 N ou seja cada linha ou coluna é permutação dos N primeiros números inteiros