Você está aqui: C ::: C para Engenharia ::: Eletricidade, Circuitos Elétricos e Eletrônicos |
Como calcular corrente, voltagem, resistência e potência em um círcuito série de corrente contínua usando CQuantidade de visualizações: 3098 vezes |
Nesta dica mostrarei como é possível usar operações básicas da linguagem C para calcular a corrente, voltagem, resistência e potência em um circuito série de corrente contínua. É conhecido como um circuito série um circuito composto exclusivamente por componentes elétricos ou eletrônicos conectados em série (de conexão em série, que é o mesmo que associação em série ou ligação em série). A associação em série é uma das formas básicas de se conectarem componentes elétricos ou eletrônicos. A nomeação descreve o método como os componentes são conectados. Vanos começar analisando a seguinte imagem: Esta imagem foi extraída do Simulador do PHET, no endereço https://phet.colorado.edu. Note que temos uma fonte de alimentação 90V, e três resistores (com resistências de 10Ω, 20Ω e 30Ω). Vamos começar relembrando os aspectos importantes dos circuitos em série: 1) A corrente elétrica I (medida em ampères (A), ou coulombs por segundo) é comum a todos os elementos do circuito. 2) A tensão elétrica V, (medida em volts (V), ou joules por coulomb) é dividida entre as cargas, ou seja, a soma das tensões nas cargas deve ser igual à tensão da fonte de alimentação. 3) A resistência elétrica R (medida em ohms (Ω)) total do circuito é igual à soma de todas as resistências das cargas. 4) A potência total P (medida em watts (W)) é igual à soma das potências das cargas que compõem o circuito. Vamos escrever um pouco de código então? Veja nosso primeiro código C que calcula a corrente total, a tensão total, a resistência total e a potência total do circuito em série mostrado na imagem: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> int main(int argc, char *argv[]) { setlocale(LC_ALL,""); // para acentos do português // Tensão total do circuito em série double e_total = 90.0; // Resitência total double resist1 = 10.0; double resist2 = 20.0; double resist3 = 30.0; double r_total = resist1 + resist2 + resist3; // Corrente elétrica total double i_total = e_total / r_total; // Potência elétrica total double p_total = e_total * i_total; // mostra os valores printf("Tensão total: %.2f\n", e_total); printf("Resistência total: %.2f\n", r_total); printf("Corrente total: %.2f\n", i_total); printf("Potência total: %.2f\n", p_total); printf("\n\n"); system("pause"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Tensão total: 90,00 Resistência total: 60,00 Corrente total: 1,50 Potência total: 135,00 Pronto! Agora que já sabemos o valor da corrente elétrica, e sabemos que a corrente é comum a todos os elementos do circuito em série, podemos calcular a tensão individual dos componentes. Assim, veja um trecho de código C que calcula a tensão elétrica nos três resistores (lembre-se: tensão é o produto da corrente pela resistência): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> int main(int argc, char *argv[]) { setlocale(LC_ALL,""); // para acentos do português // Tensão total do circuito em série double e_total = 90.0; // Resitência total double resist1 = 10.0; double resist2 = 20.0; double resist3 = 30.0; double r_total = resist1 + resist2 + resist3; // Corrente elétrica total double i_total = e_total / r_total; // Potência elétrica total double p_total = e_total * i_total; // mostra os valores printf("Tensão total: %.2f\n", e_total); printf("Resistência total: %.2f\n", r_total); printf("Corrente total: %.2f\n", i_total); printf("Potência total: %.2f\n", p_total); // mostra as tensões nos resistores printf("\nTensão nos resistores individuais:\n"); double e1 = resist1 * i_total; double e2 = resist2 * i_total; double e3 = resist3 * i_total; printf("Tensão no Resistor 1: %.2fV\n", e1); printf("Tensão no Resistor 2: %.2fV\n", e2); printf("Tensão no Resistor 3: %.2fV\n", e3); printf("\n\n"); system("pause"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Tensão total: 90,00 Resistência total: 60,00 Corrente total: 1,50 Potência total: 135,00 Tensão nos resistores individuais: Tensão no Resistor 1: 15,00V Tensão no Resistor 2: 30,00V Tensão no Resistor 3: 45,00V Para finalizar, vamos calcular a potência dissipada em cada um dos resistores de forma individual. Observe que a potência é o produto da tensão pela corrente (P = E.I). Eis o código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> int main(int argc, char *argv[]) { setlocale(LC_ALL,""); // para acentos do português // Tensão total do circuito em série double e_total = 90.0; // Resitência total double resist1 = 10.0; double resist2 = 20.0; double resist3 = 30.0; double r_total = resist1 + resist2 + resist3; // Corrente elétrica total double i_total = e_total / r_total; // Potência elétrica total double p_total = e_total * i_total; // mostra os valores printf("Tensão total: %.2f\n", e_total); printf("Resistência total: %.2f\n", r_total); printf("Corrente total: %.2f\n", i_total); printf("Potência total: %.2f\n", p_total); // mostra as tensões nos resistores printf("\nTensão nos resistores individuais:\n"); double e1 = resist1 * i_total; double e2 = resist2 * i_total; double e3 = resist3 * i_total; printf("Tensão no Resistor 1: %.2fV\n", e1); printf("Tensão no Resistor 2: %.2fV\n", e2); printf("Tensão no Resistor 3: %.2fV\n", e3); // mostra as potências dissapadas nos resistores printf("\nPotência dissipada nos resistores individuais:\n"); double p1 = e1 * i_total; // Potência = Tensão x Corrente double p2 = e2 * i_total; double p3 = e3 * i_total; printf("Potência no Resistor 1: %.2fW\n", p1); printf("Potência no Resistor 2: %.2fW\n", p2); printf("Potência no Resistor 3: %.2fW\n", p3); printf("\n\n"); system("pause"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Tensão total: 90,00 Resistência total: 60,00 Corrente total: 1,50 Potência total: 135,00 Tensão nos resistores individuais: Tensão no Resistor 1: 15,00V Tensão no Resistor 2: 30,00V Tensão no Resistor 3: 45,00V Potência dissipada nos resistores individuais: Potência no Resistor 1: 22,50W Potência no Resistor 2: 45,00W Potência no Resistor 3: 67,50W |
Link para compartilhar na Internet ou com seus amigos: |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como abrir ou criar arquivos em C usando a função fopen()Quantidade de visualizações: 66289 vezes |
Há muitas situações nas quais precisamos ler ou gravar dados em arquivos a partir de nossos programas C. O primeiro passo para esta tarefa é aprender a usar a função fopen(). Esta função é a responsável por conectar um ponteiro de arquivos ao arquivo que queremos manipular. Veja sua assinatura:FILE *fopen(const char *nome, const char *modo); O parâmetro nome é uma string que indica o nome do arquivo a ser aberto ou criado. O parâmetro modo indica se o arquivo será aberto para leitura, escrita ou ambos. Antes de continuarmos, veja um trecho de código que tenta abrir um arquivo chamado "testes.txt" localizado no diretório "c:\": ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *arquivo = fopen("c:\\testes.txt", "r"); // testa se o arquivo foi aberto com sucesso if(arquivo != NULL) printf("Arquivo foi aberto com sucesso."); else printf("Nao foi possivel abrir o arquivo."); printf("\n\n"); system("PAUSE"); return 0; } Veja que a primeira linha declara um ponteiro para a estrutura FILE e atribui a este ponteiro o resultado de uma chamada à função fopen(). Se o arquivo for aberto com sucesso, poderemos manipulá-lo a partir do ponteiro *arquivo. Do contrário, o valor NULL será retornado. A linguagem C padrão permite a definição dos seguintes modos de abertura de arquivos: a - abre um arquivo para inserção. Se o arquivo não existir, o sistema operacional tentará criá-lo. r - abre um arquivo existente para leitura. w - abre um arquivo para escrita. Se o arquivo não existir, o sistema operacional tentará criá-lo. Se o arquivo existir, todo o seu conteúdo será substituído pelo novo conteúdo. r+ - abre um arquivo existente para leitura e gravação. w+ - abre um arquivo para leitura e escrita. Se o arquivo não existir, o sistema operacional tentará criá-lo. Se o arquivo existir, todo o seu conteúdo será substituído pelo novo conteúdo. a+ - abre um arquivo para inserção e leitura. Se o arquivo não existir, o sistema operacional tentará criá-lo. |
C ::: Dicas & Truques ::: Recursão (Recursividade) |
Como escrever uma função recursiva para calcular a potência de um número usando a linguagem CQuantidade de visualizações: 47866 vezes |
Chamamos de potenciação a operação de se elevar um número (uma base) a um determinado expoente e obter sua potência. Veja a figura a seguir: Veja que aqui o valor 5 foi elevado ao cubo, ou seja, ao expoente 3 e obtemos como resultado sua potência: 125. O código abaixo mostra como você pode escrever uma função recursiva em C que permite calcular a potência de um número inteiro: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> // função recursiva que calcula a potência de // um inteiro int potencia(int base, int expoente) { if(expoente == 0){ return 1; } else{ return base * potencia(base, expoente - 1); } } int main(int argc, char *argv[]) { int base = 3; int expoente = 4; printf("%d elevado a %d = %d", base, expoente, potencia(base, expoente)); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: 3 elevado a 4 = 81 |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de C - Um método recursivo que conta de 10 até 0Quantidade de visualizações: 775 vezes |
Pergunta/Tarefa: Escreva um método recursivo em C que conta e exibe os valores de 10 até 0. Seu método deverá possuir a seguinte assinatura: void contar_recursivamente(int n){ // sua implementação aqui } Sua saída deverá ser parecida com: 10 9 8 7 6 5 4 3 2 1 0 Veja a resolução comentada deste exercício usando C console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> // função recursiva que conta de 10 até 0; void contar_recursivamente(int n){ // vamos exibir o número atual printf("%d\n", n); // devemos prosseguir com a recursividade? if(n > 0){ // decrementa o valor de n n--; contar_recursivamente(n); // e faz uma nova chamada recursiva } } int main(int argc, char *argv[]){ setlocale(LC_ALL,""); // para acentos do português // efetua uma chamada ao método recursivo fornecendo // o primeiro valor contar_recursivamente(10); printf("\n\n"); system("pause"); return 0; } |
Vamos testar seus conhecimentos em Java |
Analise o seguinte código Javadouble a = 0.0 / 0; System.out.println(a); Qual é o resultado de sua execução? A) Infinity B) NaN C) Uma exceção java.lang.ArithmeticException: / by zero D) 0 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Levantamento topográfico no Civil 3D É uma ferramenta fundamental para gerenciar e organizar dados de levantamento topográfico. Ela permite que você armazene, edite e utilize informações de levantamentos topográficos e de campo de maneira eficiente. Estamos falando da ferramenta: A) Point Groups B) Aba Survey do Prospector C) Survey Point D) Survey Database Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrostática |
Qual a massa, em quilograma, de um cubo maciço de lado igual a 5 cm que é fabricado de um material com massa específica de 11,3 g/cm3? A) 1,4125 kg B) 2,8250 kg C) 4,2375 kg D) 5,6500 kg E) 7,0625 kg Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Postura ética profissional Os engenheiros são profissionais responsáveis por criar soluções para situações do dia a dia que, de certa forma, pareciam impossíveis. Eles otimizaram as formas de transporte, de construção e, principalmente, de produção das indústrias. Diante dessas inovações, é comum que esses profissionais enfrentem situações éticas em que precisem decidir se avançam ou não com tais projetos. Quanto ao conceito de ética na engenharia, é correto afirmar que: A) A ética na engenharia é um aspecto que deve ser considerado em segundo lugar ante os benefícios que pode trazer à humanidade. B) A ética engloba a avaliação racional de ganhos e riscos, definindo as responsabilidades individuais durante a execução de um projeto. C) A ética engloba a avaliação social dos riscos e das responsabilidades coletivas durante a execução de um projeto. D) A ética é um conceito que não se aplica à engenharia, somente à medicina, por esta área tratar diretamente da vida de um indivíduo. E) A ética somente diz respeito à engenharia, pois as descobertas realizadas por tal área englobam um grande número de pessoas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Vazão de projeto O escoamento livre em condutos é caracterizado por ter uma superfície livre, cuja pressão atuante é a pressão atmosférica. Considere o dimensionamento de um canal de drenagem em terra com vegetação rasteira nos taludes e fundo, possui: taludes 2H: 1V e declividade de fundo (So) de 20cm/km. Ele foi dimensionado para uma determinada vazão de projeto Q, tendo chegado a uma seção com largura de fundo (b) igual a 1,5m e altura da lâmina de água (yo) 1,30m. Determine qual a vazão Q do projeto e indique se a seção é de mínimo perímetro molhado. Dados: 0,025 (cobertura vegetal rasteira). A) Vazão de projeto de 2,45m3/s e satisfaz a condição de mínimo perímetro molhado. B) Vazão de projeto de 2,72m3/s e satisfaz a condição de mínimo perímetro molhado. C) Vazão de projeto de 3,94m3/s e satisfaz a condição de mínimo perímetro molhado. D) Vazão de projeto de 3,54m3/s e não satisfaz a condição de mínimo perímetro molhado. E) Vazão de projeto de 2,99m3/s e não satisfaz a condição de mínimo perímetro molhado. Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Como somar todos os números de 1 até o número informado pelo usuário em C - Exercício Resolvido de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |