/logica-de-programacao

99 questões de lógica de programação

Primary LanguageC

Lógica de Programação com C

99 questões de lógica de programação

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 = 5/9 (F – 32), leu um valor de temperatura em Fahrenheit e exibi-lo 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 m/s pelo usuário para Km/h. Para tal, multiplique o valor em m/s por 3,6.

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.

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.

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.

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 2,5.

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:

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.

31. No Futebol Americano, usa-se o Quarterback Rating como um índice que indica o desempenho do quarterback (quando maior, melhor). Ele é calculado como indicado a seguir:

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 (x=y=0).

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.

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:

38. Chama-se 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.

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.

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 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.

50. A série de Fibonacci é formada pela sequencia: • 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

51. 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:

52. Dado um país A, com 5.000.000 de habitantes e uma taxa de natalidade de 3% ao ano, e um país B com 7.000.000 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.

53. 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)

54. 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.

55. 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.

56 - Send S = .... , um somatório de N (informado pelo usuário) termos.

57 - O valor aproximado do número π pode ser calculado usando-se a série:

58 - 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 x=1, como a soma da seguinte série infinita:

59. 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 contra-exemplo.

60. 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).

61. 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.

62. 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.

63. 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.

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, bem como suas respectivas posições.

65. 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.

66. 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.

67. 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.

68. 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.

69. 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).

70. 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).

71. 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).

72. Escreva um programa em C que leia um array de 20 inteiros, calcule e imprima:

73. Escreva um programa em C que armazene um vetor de até 30 inteiros. O programa deve fornecer as seguintes operações:

74. Escreva um programa que ordene um array de inteiros de 15 posições utilizando o método da bolha (bubble sort).

75. Escreva um programa em C, que leia uma string e conte quantas ocorrências de vogais existem nesta string.

76. Escreva um programa em C, que leia uma string, gere uma nova string com o texto invertido e imprima esta nova string.

77. 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.

78. Escreva um programa em C, que gere a substring de uma string original, dado a posição inicial e a final da substring.

79. Escreva um programa em C que leia duas string e informe se a primeira contém a segunda.

80. 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.

81. Escreva um programa em C, que dada uma string (normalizada), imprima a maior palavra dela.

82. Escreva um programa em C, que gere a substring de uma string original, dado a posição inicial e a final da substring.

83. Escreva um programa em C que verifique se uma string normalizada é palíndrome (os mesmos caracteres quando lida da direita para a esquerda).

84. Escreva um programa que leia uma string representando um número hexadecimal (base 16) e imprima sua representação em decimal (base 10).

85. Escreva um número que leia um número em Romano e imprima o equivalente em decimal (base 10)

86. 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”.

87. Escreva um programa em C, que coloque a string lida toda em caixa alta.

88. 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.”.

89. 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.

90. Elabore um programa em C que leia valores inteiros para preencher uma matriz A 5 x 5.

91. 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.

92. Faça um programa em C para ler valores e armazená-los em uma matriz D 5 x 5. A seguiro programa deverá calcular a soma dos valores que compõem a diagonal principal e a diagonal secundária da matriz.

93. 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.

94. 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.

95. 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.

96. 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.

97. 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.

98. 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.

99. 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 1,2,3, ... N, ou seja, cada linha ou coluna é permutação dos N primeiros números inteiros.