EC - Exercícios - Linguagem C
Leia atentamente os enunciados e cole cada resposta no formulário (clique para abrir), à medida que resolver os exercícios. Ao final da aula você deve enviar suas respostas (veja instruções no formulário).
1. Leia o programa a seguir:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
printf("Bem-vindo(a) ao laboratorio!");
printf("Leia os enunciados e resolva os exercicios.");
system("pause");
}
Copie esse programa para um arquivo vazio no Dev-C++ (menu Arquivo >Novo > Arquivo Fonte) e salve-o como bemvindo.c. Em seguida, compile-o e execute-o (menu Executar, opção Compilar & Executar, ou F9). O que aconteceu? Modifique o programa para que ele escreva cada frase em uma linha.
Viu as instruções #include no início do programa? Elas são obrigatórias em alguns compiladores (o Dev-C++ é um compilador), e nos permitem usar funções como printf, system, sqrt, entre outras. Veja algumas funções definidas em cada arquivo:
+ stdio.h - funções de entrada e saída, como printf e scanf;
+ math.h - funções matemáticas, como sqrt e pow;
+ stdlib.h - funções diversas, como system;
Alguns compiladores podem dar uma mensagem de erro dizendo que não reconheceram "printf" a não ser que você adicione uma linha #include <stdio.h> no início do programa.
Neste exemplo o terceiro #include é desnecessário porque não usamos funções matemáticas, mas ele será obrigatório, por exemplo, na questão 6.
O system("pause"), impede que a janela seja fechada quando o programa termina.
Para simplificar, coloque os #includes e o system("pause") em todos os seus programas daqui em diante.
2. Como resposta de uma questão de prova, um aluno escreveu o seguinte programa:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
printf("Alo, mundo!");
system("pause")
}
O programa compila? Qual é o erro? Corrija o programa.
3. Para automatizar a coleta de dados do censo da faculdade, um aluno escreveu o seguinte programa:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
int idade;
printf("Digite sua idade: ");
scanf("%d", idade);
printf("Voce digitou %d. Obrigado!\n", idade);
system("pause");
}
Ao rodar o programa, ele percebeu que ele não se comportava conforme o esperado. Que falha o aluno cometeu?
(É claro que o programa deveria gravar as idades em um arquivo, mas por enquanto vamos ignorar esse detalhe.)
4. Devido ao grande sucesso do censo realizado na faculdade, pediram ao aluno que fizesse um programa para coletar as alturas das pessoas. Infelizmente o aluno já se formou e a tarefa caiu sobre você. Modifique o programa anterior para que ele peça as alturas das pessoas no lugar da idade. Certifique-se de que ele está funcionando conforme o esperado (ou seja, compile-o e execute-o, então teste alguns valores). Lembre-se que o separador decimal na linguagem C é o ponto.
Nas questões a seguir, escreva um programa que faça o que a questão pede. Lembre-se de executá-lo para ver se ele está fazendo exatamente o que foi pedido.
5. Ler um número inteiro e imprimir seu sucessor e seu antecessor.
6. Entrar com os valores dos catetos de um triângulo e imprimir a hipotenusa.
7. Entrar com a razão (q) de uma progressão aritmética (PA) e o valor do 1º termo. Calcular e imprimir o 10º termo da série.
8. Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A fórmula de conversão é
9C + 160
F = ----------,
5
onde F é a temperatura em graus Fahrenheit e C é a temperatura em graus Celsius.
9. Criar um algoritmo que leia um número entre 0 e 60 e imprima o seu sucessor, sabendo que o sucessor de 60 é 0.Dica: use o operador de resto da divisão inteira (%) sobre o sucessor do número, de modo que 61 (o "sucessor" de 60) se torne 0.
10. Escreva um programa que leia dois pontos no espaço tridimensional -- P1(x1, y1, z1) e P2(x2, y2, z2) -- e informe a distância entre eles.
_____________________________________
/ \
dist(P1, P2) = \/ (x2 - x1)² + (y2 - y1)² + (z2 - z1)²
11. Faça um algoritmo que leia o tempo de duração de um evento em uma fábrica expressa em segundos e mostre-o expresso em horas, minutos e segundos.
12. Crie um programa que leia um intervalo de tempo em minutos e escreva-o em horas e minutos. Exemplo: 125 minutos equivalem a 2 horas e 5 minutos.
13. Escrever um algoritmo que lê a hora de início de um jogo e a hora de término do jogo, ambas subdivididas em 2 valores distintos, a saber: horas e minutos. Calcular e escrever a duração do jogo, também em horas e minutos, considerando que os dois horários são do mesmo dia e que o segundo horário é maior do que o primeiro.
14. Criar um algoritmo que leia um número de três algarismos e escreva o algarismo das unidades, o algarismo das dezenas e o algarismo das centenas, separadamente.
15. Criar um algoritmo que, dado um número de conta corrente com três dígitos, retorne o seu dígito verificador, o qual é calculado da seguinte maneira:
Exemplo: número da conta = 235
Somar o número da conta com o seu inverso: 235 + 532 = 767
Multiplicar cada dígito do resultado pela sua ordem posicional (1, 2, e) e somar esses resultados: 7*1 + 6*2 + 7*3 = 7 + 12 + 21 = 40
O último dígito desse resultado é o dígito verificador da conta (no exemplo, o último dígito de 40 é 0, então o dígito verificador é 0).