NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Identifier not found ARCCOS a Syntax error, ) expected but ordinal const found(řádek s Pk)

Aktivity
Avatar
Lukáš Stejskal:28.3.2023 18:34

Zdravím,

s programováním začínáme a já píšu kód do školy pro výpočet impedance, ale háže mě to dvě chyby

  1. fi := arccos(cos_fi) * 180 / PI;
  2. Pk := sqrt(Ps2 - Pq2)

Nevíte prosím, kde a v čem je chyba? Případně mi to opravit.

Děkuji všem za odpověď.

program vypocet;

const
  PI = 3.14159;

var
  I, U, P, cos_fi, fi, Ps, Pq, Pk, R, Z, X, Zk, L, C: real;

begin
  // načtení vstupních hodnot
  write('Zadejte proud I [A]: ');
  readln(I);
  write('Zadejte napětí U [V]: ');
  readln(U);
  write('Zadejte výkon P [W]: ');
  readln(P);

  // výpočet kosinu fi a úhlu fi
  cos_fi := P / (U * I);
  fi := arccos(cos_fi) * 180 / PI;

  // výpočet zdánlivého výkonu, jalového výkonu a účinného výkonu
  Ps := U * I;
  Pq := Ps * sin(fi / 180 * PI);
  Pk := sqrt(Ps^2 - Pq^2);

  // výpočet impedance, odporu, reaktance a kapacity / indukčnosti
  R := U / I;
  Z := U / Pk;
  X := sqrt(Z^2 - R^2);
  Zk := sqrt(R^2 + Z^2);
  L := X / (2 * PI * 50);
  C := 1 / (X * 2 * PI * 50);

  // výstup vypočtených hodnot
  writeln('cos(fi) = ', cos_fi:0:2);
  writeln('fi = ', fi:0:2, ' stupňů');
  writeln('Ps = ', Ps:0:2, ' [VA]');
  writeln('Pq = ', Pq:0:2, ' [VAR]');
  writeln('Pk = ', Pk:0:2, ' [W]');
  writeln('R = ', R:0:2, ' [?]');
  writeln('Z = ', Z:0:2, ' [?]');
  writeln('X = ', X:0:2, ' [?]');
  writeln('Zk = ', Zk:0:2, ' [?]');
  writeln('L = ', L:0:2, ' [H]');
  writeln('C = ', C:0:2, ' [F]');

  // konec programu
  readln;
end.

Zkusil jsem: Už si nevím rady, zkoušel jsem se kouknout a pochopit to z příručky kterou jsme dostali a hledal jsem i na internetu

Chci docílit: Snažím se přijít na tyto chyby, abych příště už věděl

 
Odpovědět
28.3.2023 18:34
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:29.3.2023 7:55

google = delphi arccos

  float := ArcCos(0.5);

System.Math.ArcCos

arc sin x = arc tan [x / sqrt(1-x^2)]
arc cos x = arc tan [sqrt(1-x^2) / x]

https://www.componentace.com/…unctions.htm

ACOS
        Returns the inverse cosine of a given number

Nejspis to zavisi od verze delphi. Bud ho nema vubec nebo se to jmenuje jinak a nebo je nutne natahnout nejakou knihovnu s funkcemi :)

 
Nahoru Odpovědět
29.3.2023 7:55
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.