Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Ler a idade e o peso de 10 pessoas e mostrar a quantidade de pessoas com mais de 80 quilos e a média das idades - Exercícios Resolvidos de CQuantidade de visualizações: 354 vezes |
Pergunta/Tarefa: Escreva um programa C que receba a idade (como int) e o peso (como float) de 10 pessoas. Em seguida calcule e mostre: 1) A quantidade de pessoas com mais de 80 quilos; 2) A média das idades das pessoas. Sua saída deve ser parecida com: Informe a idade da 1.a pessoa: 95 Informe o peso da 1.a pessoa: 83 Informe a idade da 2.a pessoa: 45 Informe o peso da 2.a pessoa: 115 Informe a idade da 3.a pessoa: 83 Informe o peso da 3.a pessoa: 76 Informe a idade da 4.a pessoa: 19 Informe o peso da 4.a pessoa: 79 Informe a idade da 5.a pessoa: 40 Informe o peso da 5.a pessoa: 93 Quantidade de pessoas com mais de 80 quilos: 3 Média das idades das pessoas: 56.4 Veja a resolução comentada deste exercício usando C: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int quant_acima_80_kg = 0; // quantidade de pessoas acima de 80 quilos int soma_idades = 0; // soma das idades para depois obter a média int idade, i; float peso; // vamos ler os dados das 5 pessoas for(i = 0; i < 5; i++){ printf("Informe a idade da %d.a pessoa: ", (i + 1)); scanf("%d", &idade); printf("Informe o peso da %d.a pessoa: ", (i + 1)); scanf("%f", &peso); // vamos somar mais esta idade soma_idades = soma_idades + idade; // esta pessoa possui mais de 80 quilos? if(peso > 80){ // aumenta o contador de pessoas acima de 80 quilos quant_acima_80_kg++; } // adiciona uma quebra de linha printf("\n"); } // e agora mostramos o resultado printf("Quantidade de pessoas com mais de 80 quilos: %d\n", quant_acima_80_kg); printf("Média das idades das pessoas: %f", (soma_idades / 5.0)); printf("\n\n"); system("PAUSE"); return 0; } |
![]() |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como usar a função modf() da linguagem C para separar um valor de ponto flutuante em suas partes inteira e fracionáriaQuantidade de visualizações: 7836 vezes |
Em algumas situações precisamos obter as partes inteira e fracionária de um valor de ponto flutuante. Para isso podemos usar a função modf(). Veja sua assinatura:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- double modf(double x, double * intpart); O parâmetro x é o valor de ponto flutuante cujas partes queremos separar e intpart é uma variável do tipo double que receberá a parte inteira do valor. O retorno da função é o valor fracionário. Vamos ver um exemplo? Veja como podemos quebrar o valor 34,27 em suas partes inteira e fracionária: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { double valor = 34.27; // vamos separar o valor em suas partes inteira e fracionária double inteira = 0.0, fracionaria = 0.0; fracionaria = modf(valor, &inteira); // vamos exibir o resultado printf("Parte inteira: %f\n", inteira); printf("Parte fracionaria: %f\n", fracionaria); printf("\n\n"); system("pause"); return 0; } Ao executarmos este código teremos o seguinte resultado: Parte inteira: 34.000000 Parte fracionária: 0.270000 |
C ::: C para Engenharia ::: Física - Mecânica |
Como calcular Velocidade Vetorial Média usando a linguagem C - C para Engenharia - Física - Mecânica - CinemáticaQuantidade de visualizações: 2854 vezes |
Como calcular Velocidade Vetorial Média usando a linguagem C Na Física, mais especificamente na Mecânica e Cinemática, nós estamos o tempo todo interessados em medir a "rapidez" com que uma partícula se move de um ponto para outro ponto. Por partícula podemos entender qualquer móvel: um carro, um avião, uma bola, uma pessoa, etc. No caso de um movimento bidimensional ou tridimensional nós devemos considerar a grandeza velocidade média como vetores e usar a notação vetorial. Em outras dicas do site você encontrará cálculos envolvendo vetores e até mesmo calculadoras com as operações vetoriais mais comuns. Dessa forma, a fórmula para obtenção da Velocidade Vetorial Média é: \[\vec{v}_\text{méd} = \frac{\Delta \vec{r}}{\Delta t} \] Onde __$\Delta \vec{r}__$ é a variação da posição da partícula e __$\Delta t__$ é a variação do tempo entre os dois deslocamentos cuja velocidade vetorial média querermos medir. Antes de vermos o código C, dê uma boa olhada na imagem a seguir: ![]() Nosso objetivo será calcular a velocidade vetorial média da partícula saindo da posição __$\vec{r}_1__$ = 10__$\hat{\imath}__$ + 7__$\hat{\jmath}__$ m (10, 7), no instante t1 = 2s, e indo para a posição __$\vec{r}_2__$ = 12__$\hat{\imath}__$ + 2__$\hat{\jmath}__$ m (12, 2) em t2 = 7s. Note que o trajeto da partícula foi marcado de verde na imagem. E agora, finalmente, vamos ao código C que lê os valores das coordenadas x e y dos dois vetores de posições (inicial e final), o tempo de deslocamento inicial e final e mostra o vetor velocidade média: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ // coordenadas dos dois vetores de posições float x1, y1, x2, y2; // guarda o vetor delta r (variação do deslocamento) float delta_r_x, delta_r_y; // guarda o tempo inicial, tempo final e variacao (em segundos) float tempo_inicial, tempo_final, delta_t; // guarda as coordenadas do vetor velocidade float vetor_vm_x, vetor_vm_y; // x e y do primeiro vetor printf("Coordenada x do primeiro vetor: "); scanf("%f", &x1); printf("Coordenada y do primeiro vetor: "); scanf("%f", &y1); // x e y do segundo vetor printf("Coordenada x do segundo vetor: "); scanf("%f", &x2); printf("Coordenada y do segundo vetor: "); scanf("%f", &y2); // vamos ler o tempo inicial e tempo final printf("Tempo inicial em segundos: "); scanf("%f", &tempo_inicial); printf("Tempo final em segundos: "); scanf("%f", &tempo_final); // vamos calcular o vetor delta r delta_r_x = x2 - x1; delta_r_y = y2 - y1; // vamos calcular o delta t (variação do tempo) delta_t = tempo_final - tempo_inicial; // finalmente calculamos o vetor velocidade média vetor_vm_x = delta_r_x / delta_t; vetor_vm_y = delta_r_y / delta_t; // mostramos o resultado printf("O Vetor Velocidade Média é: (%.2f, %.2f)m/s", vetor_vm_x, vetor_vm_y); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Coordenada x do primeiro vetor: 10 Coordenada y do primeiro vetor: 7 Coordenada x do segundo vetor: 12 Coordenada y do segundo vetor: 2 Tempo inicial em segundos: 2 Tempo final em segundos: 7 O Vetor Velocidade Média é: (0.40, -1.00)m/s Pressione qualquer tecla para continuar. . . Note que aqui nós estamos usando vetores do R2, mas o processo é o mesmo para vetores do R3. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercícios Resolvidos de C - Lendo a idade de um nadador e classificando sua categoria como infantil, juvenil, adolescente, adulto ou sêniorQuantidade de visualizações: 303 vezes |
Pergunta/Tarefa: Escreva um programa C que solicita a idade de um nadador e classifica sua categoria de acordo com as seguintes regras: a) De 5 a 7 anos - Infantil; b) De 8 a 10 anos - Juvenil; c) De 11 a 15 anos - Adolescente; d) De 16 a 30 anos - Adulto; e) Acima de 30 anos - Sênior. Sua saída deverá ser parecida com: Informe sua idade: 19 Sua categoria é Adulto Veja a resolução comentada deste exercício usando C: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema int idade; // vamos solicitar a idade do nadador printf("Informe sua idade: "); scanf("%d", &idade); // vamos verificar a categoria do nadador if((idade >= 5) && (idade <= 7)) { printf("Sua categoria é Infantil"); } else if((idade >= 8) && (idade <= 10)) { printf("Sua categoria é Juvenil"); } else if((idade >= 11) && (idade <= 15)) { printf("Sua categoria é Adolescente"); } else if((idade >= 16) && (idade <= 30)) { printf("Sua categoria é Adulto"); } else if(idade > 30) { printf("Sua categoria é Sênior"); } else { printf("Não pertence a nenhuma categoria."); } printf("\n\n"); system("PAUSE"); return 0; } |
C ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como testar múltiplas condições usando a construção if...else if...else da linguagem CQuantidade de visualizações: 12016 vezes |
Em algumas situações precisamos usar a estrutura condicional if...else (se...senão) da linguagem C para testarmos múltiplas condições. Para estes casos, o C nos permite combinar if...else if...else várias vezes. Veja o trecho de código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int valor = 20; if(valor == 15){ printf("O valor a igual a 15"); } else if(valor > 15){ printf("O valor e maior que 15"); } else{ printf("O valor e menor que 15"); } printf("\n\n"); system("PAUSE"); return 0; } Ao executarmos este código nós teremos o seguinte resultado: O valor é maior que 15 |
C ::: Dicas & Truques ::: Data e Hora |
Como usar o tipo time_t do header <time.h> da linguagem CQuantidade de visualizações: 5113 vezes |
O tipo time_t, presente no header <time.h> é usado quando precisamos representar datas e horas e, quando necessário, efetuar operações aritméticas envolvendo as mesmas. Este tipo é obtido por meio de uma chamada à função time(). Veja:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char *argv[]){ // declara uma variável do tipo time_t e atribui a ela // o resultado de uma chamada à função time() time_t hora_atual = time(NULL); printf("Segundos desde 01/01/1970: %d\n\n", hora_atual); system("PAUSE"); return 0; } Ao executar este trecho de código teremos algo parecido com: Segundos desde 01/01/1970: 1334017044 Como podemos ver, o tipo time_t é apenas um apelido para um long, como declarado no header time.h: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- typedef long time_t; Desta forma, time_t guarda a quantidade de segundos decorridos desde a meia-noite do dia 01/01/1970 UTC. |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como usar a função modf() da linguagem C para separar um valor de ponto flutuante em suas partes inteira e fracionáriaQuantidade de visualizações: 9984 vezes |
Em algumas situações precisamos obter as partes inteira e fracionária de um valor de ponto flutuante. Para isso podemos usar a função modf(). Veja sua assinatura:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- double modf(double x, double * intpart); O parâmetro x é o valor de ponto flutuante cujas partes queremos separar e intpart é uma variável do tipo double que receberá a parte inteira do valor. O retorno da função é o valor fracionário. Vamos ver um exemplo? Veja como podemos quebrar o valor 34,27 em suas partes inteira e fracionária: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { double valor = 34.27; // vamos separar o valor em suas partes inteira e fracionária double inteira = 0.0, fracionaria = 0.0; fracionaria = modf(valor, &inteira); // vamos exibir o resultado printf("Parte inteira: %f\n", inteira); printf("Parte fracionaria: %f\n", fracionaria); printf("\n\n"); system("pause"); return 0; } Ao executarmos este código teremos o seguinte resultado: Parte inteira: 34.000000 Parte fracionária: 0.270000 |
C ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço while em C - Linguagem C para iniciantes em programaçãoQuantidade de visualizações: 33428 vezes |
O laço while é usado quando queremos que um bloco de instruções seja executado ENQUANTO uma condição for verdadeira (true). Veja um trecho de código exemplificando isso:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- int valor = 1; while(valor <= 10){ printf("%d ", valor); valor++; } Este trecho de código exibe os números de 1 à 10 na página. Veja agora o mesmo trecho de código, desta vez contando de 10 à 1: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- int valor = 10; while(valor >= 1){ printf("%d ", valor); valor--; } Lembre-se de que a condição testada em um laço while deve resultar em um valor boolean (true ou false). O trecho de código seguinte deixa isso mais claro: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int continuar = 1; // 1 é true em C int valor = 1; while(continuar){ printf("%d ", valor); valor++; if(valor > 10) continuar = 0; // 0 é false em C } printf("\n\n"); system("PAUSE"); return 0; } Para finalizar, lembre-se de que um laço while pode nunca ser executado, ou seja, se a condição testada na primeira iteração já resultar false, o fluxo de código é transferido para a primeira instrução após o laço. |
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar os elementos de um vetor (array) usando a função qsort() da linguagem CQuantidade de visualizações: 986 vezes |
A função qsort() da linguagem C permite a ordenação dos elementos de um vetor (array ou matriz unidimensional) mediante o fornecimento de uma função auxiliar definida pelo usuário. Veja seu protótipo:void qsort(void *base, size_t num, size_t size, int(*comparator)(const void*, const void*)); Veja que só precisamos fornecer um ponteiro para o vetor a ser ordenado, a quantidade de elementos contidos no vetor, o tamanho em bytes de cada elemento e a função de comparação. No exemplo abaixo mostramos como ordenar um vetor contendo 9 valores inteiros: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> // função auxiliar que permite comparar dois valores // durante a ordenação int comparar(const void *a, const void *b){ return(*(int*)a - *(int*)b); } int main(int argc, char *argv[]) { int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11}; int i, tamanho = 9; // imprime o vetor sem a ordenação for(i = 0; i < 9; i++){ printf("%d ", valores[i]); } // vamos ordenar o vetor usando qsort(valores, tamanho, sizeof(int), comparar); // imprime o vetor ordenado puts("\n"); for(i = 0; i < 9; i++){ printf("%d ", valores[i]); } puts("\n"); system("pause"); return 0; } Ao executarmos este código C nós teremos o seguinte resultado: 4 6 2 8 1 9 3 0 11 0 1 2 3 4 6 8 9 11 Pressione qualquer tecla para continuar... |
Vamos testar seus conhecimentos em Python |
Analise o seguinte código Pythonletras = ['ab', 'cd'] for i in range(0, 2): letras.append(letras[i].upper()) print(letras) Qual é o resultado de sua execução? A) ['ab', 'cd'] B) ['AB', 'CD'] C) ['AB', 'CD', 'AB', 'CD'] D) ['ab', 'cd', 'AB', 'CD'] Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Cálculo de vigas-parede As armaduras das vigas-parede sofrem variação a depender da região de aplicação das cargas, se em sua face superior ou em sua face superior. A área de aço longitudinal (tração) necessária calculada, considerando aço CA-50, para uma viga-parede biapoiada com vão de 3,8m, altura de 2,0m, espessura de 15cm e sujeita a carga distribuída aplicada em sua face superior de 40kN/m é: A) 1,58cm2. B) 1,64cm2. C) 1,97cm2. D) 2,11cm2. E) 2,35cm2. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Analise o seguinte código Pythonletras = ['ab', 'cd'] for i in range(0, 2): letras.append(letras[i].upper()) print(letras) Qual é o resultado de sua execução? A) ['ab', 'cd'] B) ['AB', 'CD'] C) ['AB', 'CD', 'AB', 'CD'] D) ['ab', 'cd', 'AB', 'CD'] Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
O projeto de instalação hidrossanitária Um projeto de instalações hidrossanitárias é composto por redes hidráulicas (constituído de água fria e água quente), bem como redes sanitárias (esgoto), ventilação e rede pluvial. Para obras de grande porte, o projeto de proteção contra incêndio também está englobado no projeto de instalação hidrossanitária. Sobre as instalações hidrossanitárias em uma obra de pequeno porte, assinale a afirmativa correta: A) No projeto de esgotamento, a fossa séptica é aplicada para que as águas servidas convertam totalmente a matéria orgânica em gases. B) Alterações de percurso e de extensão não afetam o dimensionamento dos tubos de abastecimento de água, desde que não exista alteração de diâmetro. C) O shaft normalmente é acessível por painéis removíveis ou aberturas que permitem a verificação horizontal do abastecimento de todos os pavimentos do edifício em um só local. D) Um dos papéis do fecho hídrico do sifão sanitário é barrar a passagem de gases (odores) para o ambiente. E) É recomendável que se utilize o diâmetro mínimo de 100mm em toda a tubulação para evitar entupimentos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?valor = 5 if valor % 3 > 2: print("Verdadeiro") else: print("Falso") A) Verdadeiro B) Erro SyntaxError: invalid syntax na linha 2 C) Falso D) Erro IndentationError: expected an indented block E) O código é executado sem erros mas não mostra nenhuma saída. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |