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

Маркировка конденсатора

Код 104 → ёмкость в пФ/нФ/мкФ.

Задача

По трёхзначному коду конденсатора определить ёмкость в пико-, нано- и микрофарадах.

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

Edit (EditCode), Button (ButtonCalc), Memo (MemoOut).

Как работает

  1. Ввести три цифры кода.
  2. Первые две — значение, третья — степень десятки.
  3. Показать ёмкость в трёх единицах.

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

//---------------------------------------------------------------------------
// Проект 16. Маркировка конденсатора
// Код 104 → ёмкость в пФ/нФ/мкФ.
//---------------------------------------------------------------------------
#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)
{
}
//---------------------------------------------------------------------------

// Трёхзначный код: первые две цифры — значение, третья — степень десятки,
// результат в пикофарадах. Классические 104 → 100 нФ.
double capCodeToPf(int code)
{
    int d = code % 10;
    int base = code / 10;
    return base * pow(10.0, d);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonCalcClick(TObject *Sender)
{
    AnsiString s = EditCode->Text.Trim();
    if (s.Length()!=3) { MemoOut->Text="Введите три цифры, например 104"; return; }
    int code;
    try { code = StrToInt(s); }
    catch (...) { MemoOut->Text="Только цифры"; return; }
    double pf = capCodeToPf(code);
    MemoOut->Lines->Clear();
    MemoOut->Lines->Add(FormatFloat("0.###", pf)       + " пФ");
    MemoOut->Lines->Add(FormatFloat("0.###", pf/1e3)   + " нФ");
    MemoOut->Lines->Add(FormatFloat("0.######", pf/1e6)+ " мкФ");
}
//---------------------------------------------------------------------------

Пояснения

  • 104 = 10·10⁴ пФ = 100 нФ = 0,1 мкФ.
  • Результат считается в пикофарадах, затем переводится.
📦 help-user.ru — срочный ремонт компьютеров и восстановление данных в Москве: help-user.ru.

Что дальше

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