Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Lógica de programação C, Manuais, Projetos, Pesquisas de Matemática

Lógica de programação C iniciantes

Tipologia: Manuais, Projetos, Pesquisas

2021

Compartilhado em 01/02/2021

adm.sergioroberto
adm.sergioroberto 🇧🇷

1

(1)

3 documentos

1 / 73

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Lista de Exercícios - Linguagem C
Walter Alexandre Alencar de Oliveira
22 de fevereiro de 2013
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49

Pré-visualização parcial do texto

Baixe Lógica de programação C e outras Manuais, Projetos, Pesquisas em PDF para Matemática, somente na Docsity!

Lista de Exercícios - Linguagem C

Walter Alexandre Alencar de Oliveira

22 de fevereiro de 2013

  • 1 Introdução
  • 2 Variáveis, Expressões e Funções Básicas
  • 3 Estruturas Condicionais e de Seleção
  • 4 Estruturas de Repetição
  • 5 Vetores e Matrizes
  • 6 Tipos Abstratos de Dados
  • 7 Funções
  • 8 Arquivos
  • 9 Ponteiros
  • 10 Outros Recursos da Linguagem
  • 11 Estruturas de Dados
  • 12 Desaos
  • A Base Matemática
    • A.1 Constantes
    • A.2 Escalas termométricas
    • A.3 Ângulos
    • A.4 Polígonos e outros
    • A.5 Plano e Espaço
    • A.6 Medidas
    • A.7 Números Complexos
  • A.8 Outros 4 SUMÁRIO
  • A.9 Física
  • A.10 Datas
  • A.11 Vetores e Matrizes
  • A.12

Capítulo 1

Introdução

Para ser um bom programador é necessário programar. Como professor da disciplina Pro- gramação de computadores (e outras disciplinas que envolvam programação), não é difícil acreditar nesta armação. Assim, essa lista de exercícios tem a nalidade de fornecer ao aluno a oportunidade de praticar os conhecimentos aprendidos em sala de aula. Embora seja objetivo criar uma lista exaustiva de exercícios, é possível que algum conteúdo relacionado que de fora. Também é possível, devido a grande quantidade de exercícios, haver exercícios repetidos ou em capítulo errado. Neste caso, peço paciência aos alunos e, se possível, a colaboração com os mesmo em me noticar tais falhas neste trabalho. Cada capítulo irá focar em um conjunto de recursos da linguagem C. É recomendado que o aluno resolva os exercícios na ordem em que se encontram na lista (tendo os exercícios mais fáceis no início e aumentando-se o grau de diculdade aos poucos). Uma vez que o conteúdo estudado em um curso de linguagem C é considerado acumulativo, a lista de exercício, de maneira similar, irá incluir recursos cobrados em capítulos anterios. No Capítulo 2 são encontrados exercícios que exploram os recursos básicos da linguagem C, entre eles, declaração de variáveis, atribuição, expressões aritméticas com valores e variáveis, funções de entrada e saída de dados, funções matemáticas e algunas funções auxiliares de simples uso. Este capítulo é recomendado para os alunos que estão começando a aprender a linguagem. O Capítulo 3 inclui exercícios que exploram o uso de estruturas de decisão (if e if-else) e de seleção (switch). Este capítulo é recomendado para alunos que já estão familiarizados com os conceitos explorados na capítulo anterior. No Capítulo 4 é explorado o uso de estruturas de repetição (for, while e do-while). Embora qualquer uma das três estruturas disponíveis seja capaz de resolver qualquer problema que envolva repetições, há sempre uma que é a mais adequada para o problema em questão. Recomenda-se que, nos primeiros exercícios, o aluno devenvolva três versões de cada exercício,

5

Capítulo 2

Variáveis, Expressões e Funções Básicas

  1. Faça um programa que exiba a mensagem Olá Mundo! para o usuário.
  2. Faça um programa que declare uma variável inteira e mostre seu conteúdo para o usuário. Execute o programa algumas vezes. Qual o signicado do valor que está sendo impresso pelo programa?
  3. Faça um programa que declare uma variável real com precisão simples, atribua a essa variável o valor do número π (3.1415) e mostre, para o usuário, o conteúdo dessa variável.
  4. Faça um programa que declare uma variável capaz de armazenar um caractere, atribua a letra a a essa variável e mostre na tela o conteúdo da variável.
  5. Faça um programa que declare uma variável inteira, atribua a essa variável o valor 2. e mostre na tela o conteúdo da variável. Que valor é mostrado na tela? Por que isso acontece? Como pode ser evitado esse tipo de problema?
  6. Faça um programa que declare uma variável real com precisão dupla, atribua a essa variável a expressão 123 / 456 e mostre o resultado que está armazenado na variável? Que valor é mostrado na tela? Por que isso acontece? Como pode ser evitado esse tipo de problema?
  7. Faça um programa capaz de ler um carectere, informado pelo usuário, e mostrar o caractere escolhido pelo usuário.
  8. Faça um programa que leia um número inteiro e um número real de precisão simples. Mostre na tela ambos os valores.

7

8 CAPÍTULO 2. VARIÁVEIS, EXPRESSÕES E FUNÇÕES BÁSICAS

  1. Faça um program que leia um valor inteiro e mostre este mesmo valor nas bases hexa- decimal e octal. Dica: a função printf possui opções de formatação que fazem isso.
  2. Ler um valor real e exibir este valor com a precisão de duas cadas decimais (nem mais nem menos).
  3. Ler um valor inteiro e exibir este valor com pelo menos três dígitos. Exemplo:
  • valor lido:7 -> valor exibido:
  • valor lido:17 -> valor exibido: 017
  • valor lido:1024 -> valor exibido: 1024

Dica: a função printf possui opções de formatação que fazem isso.

  1. Faça um programa que leia uma data no formato (dd/mm/aaaa) e mostre a data fornecida no formato (aaaa/mm/dd). Dica: é possível especicar as barras no formato de entrada dentro da função scanf.
  2. Faça um programa que leia um número inteiro, calcule o seu quadrado e exiba o resul- tado.
  3. Faça um programa que leia um número inteiro, calcule a décima parte deste número e exiba o resultado.
  4. Faça um programa que leia dois números, some estes números e exiba o resultado.
  5. Faça um programa capaz de multiplicar dois números fornecidos pelo usuário.
  6. Faça um programa que leia dois números inteiros e calcule sua soma, subtração, mul- tiplicação e divisão.
  7. Faça um programa para calcular a soma de três valores informados pelo usuário.
  8. Faça um programa para ler uma temperatura em graus Celsius e mostrar seu valor convertido para graus Fahrenheit.
  9. Faça um programa para ler uma temperatura em graus Fahrenheit e apresentar seu valor convertido para graus Celsius.
  10. Faça um programa que ler uma temperatura em graus Celsius e convertê-la para Kelvin.

10 CAPÍTULO 2. VARIÁVEIS, EXPRESSÕES E FUNÇÕES BÁSICAS

  1. Leia o valor do raio de uma esfera e calcule a área de sua superfície e o volume da esfera.
  2. A importância de R$ 780.000,00 será dividida entre três ganhadores de um concurso. Sendo que da quantia total:
    • O primeiro ganhador receberá 46%;
    • O segundo receberá 32%;
    • O terceiro receberá o restante.

Calcule e imprima a quantia ganha por cada um dos ganhadores.

  1. Uma empresa contrata um encanador a R$ 30,00 por dia. Crie um programa que solicite o número de dias trabalhados pelo encanador e imprima a quantia líquida que deverá ser paga, sabendo-se que são descontados 8% para pagamento de impostos e taxas devidas.
  2. Leia os valores de dois catetos de um triângulo e calcule e mostre o valor da hipotenusa.
  3. Faça um programa que leia um caractere e imprima esse caractere como se fosse um número inteiro. Que número é esse que foi exibido pelo programa?
  4. Faça um programa que converta uma letra maiúscula em letra minúscula. Dica: use a tabela ASCII.
  5. Faça um programa que leia um número inteiro, positivo e de três dígitos, calcule o número formado pelos dígitos invertidos do número lido. Exemplo: Número lido: 123 Número Obtido: 321
  6. Faça um programa para ler um horário (hora:minuto:segundo) de início e a duração, em segundos, de uma experiência biológica. O programa deve informar o horário (hora:minuto:segundo) de término da mesma.
  7. Faça um programa que calcule a média ponderada das notas de três provas. A primeira e a segunda prova têm peso 1 e a terceira prova tem peso 2. O programa deve a média obtida pelo aluno.
  1. Faça um programa que leia o valor da hora de trabalho (em reais), o número de dias trabalhados no mês de janeiro deste ano, e mostre na tela o valor a ser pago ao funci- onário, adicionando 10% sobre o valor calculado. Considere que a carga de trabalho é de segunda a sexta-feira, das 08:00 às 12:00 e as 14:00 às 18:00; aos sábados, das 08: às 12:00. Considere que o funcionário teve folga em dias de feriados.
  2. Escreva um programa que leia as coordenadas x e y de um ponto no plano cartesiano e calcule a sua distância ao ponto de origem.
  3. Escreva um programa que leia as coordenadas x e y de dois pontos no plano e calcule a distância entre eles.
  4. Escreva um programa que leia as coordenadas x e y dos vértices de um triângulo e calcule a sua área.
  5. Faça um programa capaz de ler um número de quatro dígitos e escrever cada dígito em uma linha na tela.
  6. Faça um programa que leia o valor de horas, minutos e segundos gastos em um expe- rimentos e converta esse tempo em segundos.
  7. Faça um programa que leia um valor inteiro em segundos e exiba a quantidade de horas, minutos e segundos correspondente ao valor lido.
  8. Três amigos zeram um bolão e jogaram na loteria. Caso eles ganhem, o prêmio deve ser repartido proporcionalmente ao valor que cada um contribuiu para a realização das apostas. Faça um programa que lê quanto cada apostador investiu, lê o valor do prêmio e escreve quanto cada um ganharia.
  9. Faça um programa que receba dois valores inteiros, e construa um número real cuja parte inteira corresponde ao resto da divisão do primeiro pelo segundo valor e a parte fracionário é composta pelos dois dígitos menos signicativos do quociente da divisão do primeiro pelo segundo valor recebido.
  10. Leia um valor de velocidade em quilômetros por hora e apresentá-la em metros por segundo.
  11. Leia um valor de velocidade em metros por segundo e apresetá-la em quilômetros por hora.
  12. Leia uma distância em milhas e converta para quilômetros.
  1. Crie um programa que converte coordenadas cartesianas em coordenadas polares. O programa deve ler um ponto em um coordenada polar, composto por raio e ângulo em radianos.
  2. Calcular a corrente em um circuito elétrico resistivo simples:
    • Leia os dados de uma fonte de tensão real composta por força eletromotriz (E) e resistência interna (ri).
    • Leia os dados de uma fonte de um receptor composto por resistência interna (ri) e consumo (E').
    • Calcular e exibir a corrente que passa no circuito composto pela fonte e receptor, sabendo que E=E'+R*i, onde R é a soma das resistências internas.
  3. Calcular a força gravitacional de um objeto de massa m a uma distância d acima do solo.
  4. Um determinado satélite está a uma altitude h com relação a Terra. Escreva um programa que leia a altitude desse satélite e determine sua velocidade orbital e seu período de movimento orbital. Dica: utilize as fórmulas e constantes localizadas no Apêndice A.
  5. Ler a altura e o raio de um cilindro circular e imprimir o volume do cilindro.
  6. Ler o saláriobase de um funcionário, calcular e mostrar o salário a receber, sabendo-se que esse funcionário tem graticação de 5% sobre o salário-base, e paga imposto de 7% sobre o salário-base.
  7. Faça um programa para conversão monetária de reais (R$) para dólares (US$). O usuário deve fornecer o valor da cotação do dólar.
  8. Um cercado contém patos e coelhos. Faça um programa que solicita o total de cabeças e o total de patas, e escreve quantos patos e quantos coelhos existem no cercado.
  9. Ler um número inteiro e imprimir a soma do sucessor de seu triplo com o antecessor de seu dobro.
  10. Faça um programa para ler as dimensões de um terreno (comprimento e largura), o preço do metro de arame e calcular o custo total para cercar o terreno. O programa também deve informar quantos metros de cerca devem ser comprados.

14 CAPÍTULO 2. VARIÁVEIS, EXPRESSÕES E FUNÇÕES BÁSICAS

  1. Faça um programa que calcule o ano de nascimento de uma pessoa a partir da idade que a pessoa tinha no dia primeiro de janeiro do ano atual.
  2. Faça um programa que calcule e mostre a média geométrica entre quatro valores.
  3. Faça um programa que calcule e mostre a média harmônica entre quatro valores.
  4. Ler um ângulo x em graus, calcular e mostrar o valor de seno(x), cossseno(x) e tangente(x). Obs.: antes de usar as funções trignométricas da biblioteca math.h, é necessário con- verter a medida do ângulo para radianos.
  5. Ler um valor x e calcular o arcoseno(x), arcocosseno(x), e o arcotangente(x). Os ângulos obtidos nos resultados devem ser apresentados em graus.
  6. Ler o valor de um ângulo x, em graus, e calcular o seno hiperbólico de x, o cosseno hiperbólico de x e a tangente hiperbólica de x. Obs: o valor do ângulo deve ser convertido para radianos antes de se usar as funções da biblioteca math.h.
  7. Faça um programa que gere três valores aleatórios inteiros. Dica: use as funções rand e srand, ambas denidas na biblioteca stdlib.h.
  8. Faça um programa que gere três valores aleatórios inteiros e maiores ou iguais que um limite inferior fornecido pelo usuário.
  9. Faça um programa que gere três valores aleatórios inteiros e menores ou iguais que um limite superior fornecido pelo usuário.
  10. Faça um programa que gere três valores aletórios inteiros que estejam dentro do inter- valo fechado [a; b]. Os limites inferior (a) e superior (b) são fornecidos pelo usuário.
  11. Ler um valor de x e calcular seu logaritmo na base e e na base 10. Que valor é obtido se o usuário fornecer o valor zero para x? Qual o signicado desse número?
  12. Ler um valor de a e um valor de b e calcular o logaritmo de a na base b. Dica: use a fórmula de mudança de base logarítmica para poder usar as funções da biblioteca math.h.
  13. Faça um programa capaz de ler um valor real x e decompor esse número em parte inteira e parte fracionária. Dica: use a função modf da biblioteca math.h.

16 CAPÍTULO 2. VARIÁVEIS, EXPRESSÕES E FUNÇÕES BÁSICAS

  1. Em uma loja, o cliente, ao fazer uma compra a prazo, pode estabelescer o um prazo de 10 a 90 dias para pagar a compra. Faça um programa que leia uma data no formato dd/mm/aaaa e uma quantidade de dias n, adicione os n dias à data fornecida e mostre a data limite para pagamento, no formato dd/mm/aaaa. Dica: a conversão entre formatos de datas pode ser útil à construção deste programa.
  2. Uma empresa paga R$ 10,00 por hora normal trabalhada e R$ 15,00 por hora extra. Escreva um programa que leia o total de horas normais e o total de horas extras trabalhadas por um empregado em um ano e calcule o salário anual deste trabalhador.
  3. Assuma que o trabalhador do exercício anterior deve pagar 10% de imposto se o seu salário anual for menor ou igual a R$ 12.000,00. Caso o salário seja maior que este valor o imposto devido é igual a 10% sobre R$ 12.000,00 mais 25% sobre o que passar de R$ 12.000,00. Escreva um programa que calcule o imposto devido pelo trabalhador.

Capítulo 3

Estruturas Condicionais e de Seleção

  1. Considere um código que, em uma de suas estruturas condicionais, utilize o seguinte teste: if(x=0). Qual é o comportamento do comando if neste programa? E como seria o comportamento desse programa se o teste fosse if(x=1) ou if(x=-10)?
  2. Faça um programa que leia um valor de uma variável inteira x e imprima dois valores, formatados como inteiros, sendo o primeiro deles o resultado da expressão lógica x <= 0 e o segundo o resultado da expressão lógica x < 0. Quais são os valores exibidos como resultado na tela? O que signicam esses valores?
  3. Faça um programa que receba dois números e mostre qual é o maior deles.
  4. Ler um número real, se o número for positivo imprima sua raiz quadrada, senão imprima o número ao quadrado.
  5. Vericar se um determinado ano, fornecido pelo usuário, é bissexto. Um ano é bissexto se for divisível por 400 ou se for divisível por 4 e não for divisível por 100. Exemplos: 1988, 1992, 1996, 2000. Repare que 1900 não é bissexto.
  6. Receber o salário de um trabalhador e o valor de um empréstimo. Se a prestação for maior que 20% do salário imprima Empréstimo não concedido, caso contrário imprima Empréstimo autorizado.
  7. Ler o ano de nascimento de uma pessoa e o ano atual, calcular a idade da pessoa.
  8. A nota nal de um estudante é calculada a partir de três notas atribuídas, respectiva- mente, a um trabalho de laboratório, a uma avaliação semestral e a um exame nal. A média das três notas mencionadas anteriormente os seguintes pesos: Trabalho de laboratório: 2; Avaliação semestral: 3; Exame nal: 5. Calcule a média obtida pelo

17

  1. Usando o switch, escreve um programa que leia um número inteiro de 1 a 7 e imprima o dia da semana correspondente a este número, isto é, domingo=1, segundafeira=2, etc.
  2. Faça um programa que leia uma data no formato dd/mm/aaaa e calcule o dia da se- mana correspondente a data fornecida. Dica: converter a data para o formato juliano pode facilitar a construção deste pro- grama.
  3. Faça um programa para vericar se um determinado número, fornecido pelo usuário, é divisível por 3 ou por 5 mas não por ambos.
  4. Faça um programa que escreva o menu abaixo, leia uma opção do usuário e execute a operação correspondente. O programa deve exibir uma mensagem de erro se a opção for inválida. O menu do programa deve ser o seguinte: Escolha uma opção: 1 - Soma de dois números. 2 - Diferença entre dois números. 3 - Produto entre dois números. 4 - Divisão entre dois números (o denominador não pode ser zero). Sua opção:
  5. Uma determinada empresa vende seus produtos em quatro diferentes estados. Cada estado possui uma taxação de imposto diferente sobre o produto (MG: 7%; SP: 12%; RJ: 15%; MS: 8%). Faça um programa em que o usuário entre com o valor e o estado destino do produto e o programa retorne o preço nal do produto acrescido do imposto correspondente ao estado onde será vendido. O programa deve mostrar uma mensagem de erro caso o estado fornecido não esteja na lista de estados válidos.
  6. Leia uma distância em quilômetros e a quantidade de litros de gasolina consumidos por um carro em um percurso, calcule o consumo em km/l e escreva uma mensagem de acordo a tabela 3.2.

Tabela 3.2: Consumo de combustível. Consumo (Km/l) Mensagem Menor que 8 Venda o carro! Entre 8 e 14 Econômico maior que 14 Super econômico

20 CAPÍTULO 3. ESTRUTURAS CONDICIONAIS E DE SELEÇÃO

  1. Leia a nota e o número de faltas de um aluno e escreva seu conceito de acordo com a tabela 3.3.

Tabela 3.3: Conceitos com relação a notas e faltas. Nota (^) Até 20 faltasConceito Acima de 20 faltas 9.0 até 10.0 A B 7.5 até 8.9 B C 5.0 até 7.4 C D 4.0 até 4.9 D E 0.0 até 3.9 E E

  1. Leia a idade e o tempo de serviço de um trabalhador e escreva se ele pode ou não se aposentar. As condições para aposentadoria são:
    • Ter pelo menos 65 anos de idade.
    • Ou ter trabalhado pelo menos 30 anos.
    • Ou ter pelo menos 60 anos e ter trabalhado pelo menos 25 anos.
  2. Um programador iniciante resolveu fazer um programa que receba um número inteiro de 1 a 7 correspondendo a um dia da semana (1=domingo, 2=segunda-feira, etc). O programa deve mostrar no nome do dia da semana. O programador decidiu usar uma estrutura de seleção (switch-case) porém, ele esqueceu de incluir os comandos break ao nal de cada case. Qual será o comportamento deste programa?
  3. Faça um programa que uma opção e três valores e calcule uma média correspondente a uma das seguintes opções:
    • A = média aritmética.
    • P = média ponderada com pesos 1, 2 e 3 para o primeiro, segundo e terceiro valor, respectivamente.
    • G = média geométrica.
    • H = média harmônica.

O programa deve aceitar as opções tanto em caracteres maiúsculos como minúsculos. O programa deve exibir uma mensagem de erro caso a opção escolhida seja inválida.

  1. Leia uma data e determine se a data fornecida é válida. Lembre-se que o mês de fevereiro tem 29 dias em anos bissextos.