AFON//Радиотехник
C++Builder · проект 18/50

Резонанс LC-контура

f0, ρ и длина волны.

Задача

Рассчитать резонансную частоту LC-контура, характеристическое сопротивление и длину волны.

Компоненты на форме

Edit (EditL, EditC), Button (ButtonCalc), Memo (MemoOut).

Как работает

  1. Ввести индуктивность в мкГн и ёмкость в пФ.
  2. Посчитать f0 = 1/(2π√LC).
  3. Добавить ρ = √(L/C) и λ = c/f0.

Исходный код модуля

//---------------------------------------------------------------------------
// Проект 18. Резонанс LC-контура
// f0 = 1/(2π√LC) и характеристическое сопротивление ρ.
//---------------------------------------------------------------------------
#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------

double lcResonance(double L, double C){ return (L<=0||C<=0)?0:1.0/(2*M_PI*sqrt(L*C)); }
double lcRho(double L, double C){ return (C<=0)?0:sqrt(L/C); }
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonCalcClick(TObject *Sender)
{
    double Luh, Cpf;
    try { Luh=StrToFloat(EditL->Text); Cpf=StrToFloat(EditC->Text); }
    catch (...) { MemoOut->Text="Проверьте числа"; return; }
    double L=Luh*1e-6, C=Cpf*1e-12;              // мкГн, пФ
    double f0=lcResonance(L,C);
    if (f0<=0){ MemoOut->Text="L и C должны быть больше нуля"; return; }
    MemoOut->Lines->Clear();
    MemoOut->Lines->Add("Резонанс f0: " + FormatFloat("0.###", f0/1e6) + " МГц");
    MemoOut->Lines->Add("ρ = √(L/C):  " + FormatFloat("0.#", lcRho(L,C)) + " Ом");
    MemoOut->Lines->Add("λ:           " + FormatFloat("0.###", 299792458.0/f0) + " м");
}
//---------------------------------------------------------------------------

Пояснения

  • Единицы переводятся в СИ перед расчётом.
  • ρ — сопротивление контура на резонансе.
📦 help-user.ru — срочный ремонт компьютеров и восстановление данных в Москве: help-user.ru.

Что дальше

Создайте в C++Builder новый проект, разместите перечисленные компоненты и вставьте код модуля. Остальные 49 программ — в разделе проектов на C++Builder; смотрите также обзор среды и контроллеры AVR.