Автор Тема: расчёт сопротивления двух параллельно соединённых резисторов  (Прочитано 113 раз)

decoder2000

  • приватная
  • Старожил
  • *****
  • Сообщений: 367
  • Саша
Программа расчёта сопротивления двух параллельно соединённых резисторов.
Иногда пользуюсь, чтоб не переводить бумагу.
Расчёт производится по формулам:
 R = R1 * R2 / (R1 + R2)
 R1 = R * R2 / (R2 - R)
 R2 = R * R1 / (R1 - R)

R - сопротивление параллельно соединённых R1 и R2.
Вводим значения R1, R2, R, вместо неизвестного значения вводим 0.

Исходник на PascalABC:
program r1_r1_r3;
//расчёт сопротивления двух параллельно соединённых резисторов
//  R = R1 * R2 / (R1 + R2)
//  R1 = R * R2 / (R2 - R)
//  R2 = R * R1 / (R1 - R)
var
  r1, r2, R: real;

procedure find_r1 (const r2,R:real);
begin
  writeln('R1=',r2*R/(R2-r):3:2, ' Om');
end;

procedure find_r2(const r1,r:real);
begin
  writeln('R2=',r1*R/(R1-r):3:2, ' Om');
end;

procedure find_R(const r1,r2:real);
begin
writeln('R = ',R1*R2/(r1 + r2):3:2, ' Om');
end;

// основная программа
begin
  while true do
  begin
    writeln('расчёт сопротивления двух параллельно соединённых резисторов.');
    writeln('Введите значения R1,R2,R.');
    writeln('Вместо неизвестного значения введите 0.');
    read(r1, r2, R);
    writeln('R1=', r1, ', R2=', r2, ', R=', R);
   
    if R1 = 0 then find_r1(r2,R)
    else if R2 = 0 then find_r2(r1,R)
    else if R = 0 then find_R(r1,r2)
    else begin writeln('Введены все значения, проверка:');writeln('R = ',R1,' * ',R2,' / (',R1,' + ',R2,') = ', R1*R2/(r1 + r2):3:2, ' Om');end;
    writeln();writeln();
  end;
end.
« Последнее редактирование: 14 Ноября 2017, 14:13:04 от decoder2000 »