Lista Ic 2019 Unidade 04

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 9

1ª Questão (Fácil / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK –

Sim)
Escrever um programa que pergunte dois números inteiros e informe a soma, a diferença, a
multiplicação, o quociente e o resto da divisão entre eles. O programa deve verificar uma divisão
inválida.

2ª Questão (Fácil / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK -
Sim)
Escrever um programa que imprima todos os números pares menores que 100.

3ª Questão (Fácil / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK -
Sim)
Escrever um programa que, dado um número inteiro positivo n, imprimir os n primeiros naturais
ímpares. Exemplo: para n = 4, a saída deverá ser 1, 3, 5 e 7.

4ª Questão (Fácil / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK -
Sim)
Escrever um programa que, dado um inteiro não-negativo n, determinar n!

5ª Questão ( Média / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK -
Sim)
Faça um programa que leia os naturais m e n e imprima o mdc (m,n) usando o algoritmo de
Euclides.

6ª Questão (Média / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK -
Sim)
Um matemático italiano da idade média conseguiu modelar o ritmo de crescimento da população de
coelhos através de uma sequência de números naturais que passou a ser conhecida como sequência
de Fibonacci. O n-ésimo número da sequência de Fibonacci F n é dado pela seguinte fórmula de
recorrência: Fn = Fn-1 + Fn-2. Sendo F1 = F2 = 1.
Faça um programa que, dado n, calcula e imprima Fn.

7ª Questão (Média / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK -
Sim)
Dizemos que um número natural é triangular se ele é produto de três números naturais consecutivos.
Exemplo: 120 é triangular, pois 4.5.6 = 120.
Faça um programa que, dado um inteiro não-negativo n, verificar se n é triangular.

8ª Questão (Média / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK -
Sim)
Faça um programa que, dados n e uma sequência de n números inteiros, determinar quantos
segmentos de números iguais consecutivos compõem essa sequência.
Exemplos: 1) caso o usuário entre com n = 10 e com a sequência “5, 2, 2, 3, 4, 4, 4, 4, 1, 1”, a
resposta será 5 segmentos de números iguais, 2) caso o usuário entre com n = 4 e com a sequência
“4, 3, 3, 7”, a resposta será 1 segmento de números iguais , e 3) caso o usuário entre com n = 5 e
com a sequência “4, 2, 1, 2, 3”, a resposta será 0 segmento de números iguais pois, apesar do
número 2 ocorrer 2 vezes, esta ocorrência não é de forma sequencial.

9ª Questão (Média / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK -
Sim)
Faça um programa que, dados n e uma sequência de n números inteiros, determinar o comprimento
de um segmento crescente de comprimento máximo.
Exemplos: 1) na sequência “5, 10, 3, 2, 4, 7, 9, 8, 5” o comprimento do segmento crescente máximo
é 4, e 2) na sequência “10, 8, 7, 5, 2” o comprimento de um segmento crescente máximo é 0.

10ª Questão (Média / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK
– Sim)
Você comprou um carro, visando uma viagem de férias. O odômetro do seu carro está quebrado.
Logo, você não pode medir a distância. Mas o velocímetro e o piloto automático estão funcionando.
Portanto, o carro pode manter uma velocidade constante que pode ser ajustada de vez em quando
em resposta aos limites de velocidade e aos engarrafamentos, por exemplo. Você tem um
cronômetro e anota o tempo decorrido cada vez que a velocidade muda. De vez em quando você se
pergunta, "quanto eu já andei?". Para resolver este problema você deve escrever um programa para
ser executado no seu laptop no banco do passageiro.

Entrada
A entrada padrão contém várias linhas de entrada: Cada mudança de velocidade é
indicada por uma linha que especifica o tempo decorrido desde o início da viagem
(hh mm ss), seguida pela nova velocidade em km/h. Cada consulta é indicada por uma
linha que contém o tempo decorrido. No início da viagem o carro está parado. Os
tempos decorridos são dados em ordem não decrescente e há no máximo uma mudança
de velocidade em um dado momento.

Saída
Para cada consulta na entrada padrão, você deve imprimir uma linha dando o tempo e a
distância percorrida, no formato abaixo, usando o arredondamento padrão.
Exemplo de Entrada Exemplo de Saída
00 00 00 20 00:00:00 Percorri 0 Km
00 15 00 40 00:15:00 Percorri 5 Km
00 30 00 100 00:30:00 Percorri 15 Km
01 00 00 0 01:00:00 Percorri 65 Km

11ª Questão (Difícil / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK
– Não)
Faça um programa que leia um número de ponto flutuante n e calcule a aproximação de √n usando a
série:

O programa deve encerrar o cálculo quando lai2 - nl < 0.001.

12ª Questão (Difícil / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK
– Sim)
Escreva um programa que calcule o valor de PI de acordo com a seguinte série:

Informe o valor de termos para que o resultado tenha 4 casas decimais de precisão.

13ª Questão (Difícil / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK
– Não)
Faça um programa que recebe o número real X no intervalo [0,1] e devolve uma aproximação do
arco tangente de X (em radianos) através da série

Obs.: inclua todos os termos da série cujo módulo for mair que 0,0001, ou seja |Xk / k| > 0,0001.

14ª Questão (Difícil / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK
– Sim)

a) Faça um programa que determina se um ano é bissexto.


Dicas:
- Para saber se um ano é bissexto devemos seguir o seguinte princípio: todos os anos múltiplos de 4
que também não são múltiplos de 100, com exceção dos múltiplos de 400, deverão ser anos
bissextos.
- Por exemplo, 2004 e 2008 são múltiplos de 4 e, por este motivo, foram anos bissextos. No
entanto, 1900 e 1700 não foram anos bissextos, pois eram múltiplos de 100. Já o ano 2000, por
outro lado, como é um múltiplo de 400, foi ano bissexto.

b) Faça um programa que leia uma data (dia, mês e ano separadamente) entre os anos de 1900 e
1999 (inclusive), e forneça como saída a data por extenso, contendo o dia da semana
correspondente e a data fornecida, conforme o exemplo de execução abaixo:

ENTRADA: Forneça uma data (dd mm aaaa): 30 10 1996


SAÍDA: Data fornecida: Quarta-Feira, 30-10–1996.

Obs: Esse programa deve ser feito sem a utilização de bibliotecas que executam o cálculo do dia da
semana, dada uma data. Este deve ser feito utilizando apenas os comandos aprendidos no curso, por
exemplo: , e .
Dicas:
- O dia 01/01/1900 "caiu" exatamente em uma segunda-feira.
- Calcule o número total de dias que se passaram desde essa data (01/01/1900) até a data fornecida.
- Para realizar esse cálculo, lembre-se de considerar os anos bissextos.

15ª Questão (Difícil / Com Gabarito) (Testado: gcc OK - Sim / codeblocks OK - Não / dev cpp OK
– Sim)
As crianças são ensinadas a adicionar números de vários dígitos da direita para a esquerda um dígito
de cada vez. Muitos acham que a operação de "vai um" - em que um 1 é levado de uma posição de
dígito para ser adicionado à próxima posição à esquerda - pode ser um desafio significativo.

a) Escreva um programa que receba um número inteiro e imprima cada dígito deste número,
começando pelas unidades (da direita para a esquerda), de acordo com o exemplo abaixo:
• Entrada: 1792
• Saída: 2/9/7/1
b) Escreva um programa que conte o número de operações de "vai um" para cada conjunto de
problemas de adição, para que os educadores possam avaliar sua dificuldade.
• Entrada: Cada linha de entrada contém dois inteiros sem sinal com menos de 10 dígitos. A
última linha de entrada contém 0 0.
• Saída: Para cada linha de entrada, exceto a última, você deve calcular e imprimir o número
de operações "vai um" que resultariam da adição dos dois números, no formato mostrado
abaixo.
Exercícios sem Gabarito
16ª Questão (Fácil / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK –
Não)
Escreva um programa que imprima a soma de todos os números inteiros entre 0 e n, sendo n um
número informado pelo teclado.

17ª Questão (Fácil / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK –
Não)
Faça um programa que escreva n linhas sendo que a i-ésima linha tem i vezes o caractere ‘*’.

18ª Questão (Fácil / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK –
Não)
Faça um programa que leia a nota de n alunos e imprima a média.

19ª Questão (Fácil / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK –
Não)
Faça um programa que leia a nota de n alunos e imprima a maior nota.

20ª Questão (Fácil / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK –
Não)
Faça um programa que leia a nota de n alunos e imprima a segunda maior nota.

21ª Questão (Fácil / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK –
Não)
Faça um programa que leia um inteiro n e imprima quantos bits ligados, ou seja bit cujo valor é 1,
tem n.

22ª Questão (Fácil / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK –
Não)
Escreva um programa que receba os três lados (inteiros) de um triângulo e verifique se ele é
retângulo.

23ª Questão (Fácil / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK –
Não)
Escreva um programa que pergunte ao usuário se ele quer somar ou subtrair dois números. Em
seguida, solicite que o usuário informe os dois números e imprima na tela o resultado da operação.

24ª Questão (Fácil / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK –
Não)
Faça um programa que leia um inteiro n e calcule a soma de i3 para os número no intervalo [1,n].
25ª Questão (Fácil / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Faça um programa que leia um carácter do teclado e forneça na tela uma mensagem associada a ele:
- se for 'a' ou 'A': "Alteração";
- se for 'c' ou 'C': "Consulta";
- se for 'e' ou 'E': "Exclusão";
- se for 'i' ou 'I': "Inclusão";
- se for 'f' ou 'F': "Finalização"; e
- outro qualquer: "Opção inválida".

26ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK
– Não)
Escreva um programa que calcule a soma dos n primeiros números da série de Fibonacci.

27ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK
– Não)
Faça um programa que leia o inteiro n e imprima o menor termo da sequência de Fibonacci que seja
maior ou igual a n.

28ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK
– Não)
Faça um programa que leia um inteiro ímpar n e imprima n com os bits de trás para a frente. Por
exemplo se n = 105 a saída deve ser 75, porque 105 = (1101001)2 e 75 = (1001011)2.

29ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK
– Não)
Escrever um programa que, dados n e dois números inteiros positivos i e j diferentes de 0, imprimir
em ordem crescente os n primeiros naturais que são múltiplos de i ou de j ou de ambos. Exemplo:
para n = 6 , i = 2 e j = 3 a saída deverá ser : 0, 2, 3, 4, 6, 8.

30ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK
– Não)
Faça um programa que leia duas datas no formato dd/mm/aaaa e imprima o número de dias entre
estas datas.

31ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK
– Não)
Escreva um programa que pergunte quatro números ao usuário e imprima na tela qual é o
maior deles.

32ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK
– Não)
Escrever uma programa que leia números complexos, no formato a + bi, e imprima os módulos
destes números.
Obs.: O programa deve continuar sendo executado enquanto o módulo for diferente de zero.
33ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Escreva um programa que leia as coordenadas de um ponto p1 e os dados de uma
circunferência c1 (centro e raio) e imprima se o ponto está/não está contido dentro da região
limitada pela circunferência.

34ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK
– Não)
Dizemos que um número i é congruente módulo m a j se i % m = j % m.
Exemplo: 35 é congruente módulo 4 a 39, pois 35 % 4 = 39 % 4 = 3.
Dados inteiros positivos n, j e m, faça um programa que imprima os n primeiros naturais
congruentes a j módulo m.

35ª Questão ( Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK
- Não)
Faça um programa que, dados três números, imprima-os em ordem crescente.

36ª Questão ( Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK
- Não)
Faça um programa que, dado um número natural na base decimal, transforme-o para a base binária.
Exemplo: Dado 18, a saída deverá ser 10010.

37ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Faça um programa que, dado um número natural na base binária, transforme-o para a base decimal
Exemplo: Dado 10010, a saída será 18, pois 1. 24 + 0. 23 + 0. 22 + 1. 21 + 0. 20 = 18.

38ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Escreva um programa que pergunte um número positivo e calcule o somatório de todos os números
pares positivos menores que ele e o produtório de todos os números ímpares positivos menores que
ele.

39ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Escreva um programa que leia até 50 números inteiros e imprima a média de todos os números
digitados que são múltiplos de 3.

40ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Escreva um programa que pergunte um número inteiro e imprima todos os quadrados perfeitos
menores que ele.
41ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Escreva um programa que pergunte um número inteiro e imprima todos os números primos menores
que ele.

42ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Escreva um programa que pergunte cinco números e calcule as médias aritmética, geométrica e
harmônica entre os cinco números

43ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Sabe-se que um número da forma n 3 é igual a soma de n ímpares consecutivos. Exemplo: 1 3= 1, 23=
3+5, 33= 7+9+11, 43= 13+15+17+19,...
Escreva um programa que, dado m, determine os ímpares consecutivos cuja soma é igual a n 3 para n
assumindo valores de 1 a m.

44ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Dizemos que uma sequência de inteiros positivos é k-alternante se for composta alternadamente por
segmentos de números pares de tamanho k e segmentos de números ímpares de tamanho k.

Exemplos:
1) a sequência 1 3 6 8 9 11 2 4 1 7 6 8 é 2-alternante;
2) a sequência 2 1 4 7 8 9 12 é 1-alternante;
3) a sequência 4 2 3 1 6 4 2 9 3 não é alternante; e
4) a sequência 1 3 5 é 3-alternante.

Escreva um programa que, dado n > 1 e uma sequência com n inteiros, verifique se existe um
inteiro k > 1 tal que a sequência é k-alternante. Dê como saída também o valor de k caso a
sequência seja alternante.

45ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)

Escreva um programa que, dado um natural n, determine o número harmônico H n definido pela
expressão acima.

46ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Os pontos (x,y) que pertencem à figura H (abaixo) são tais que x > 0, x > 0 e x2 + y2 < 1.
Escreva um programa que, dados n pontos reais (x,y), verifique se cada ponto pertence ou não a H.

47ª Questão (Média / Sem Gabarito) (Testado: gcc OK - Não / codeblocks OK - Não / dev cpp OK -
Não)
Dado um inteiro positivo n, calcular e imprimir o valor da seguinte soma:

Você também pode gostar