program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils, CustApp
{ you can add units after this };
type
{ TMyApplication }
TMyApplication = class(TCustomApplication)
protected
procedure DoRun; override;
public
end;
{ TMyApplication }
procedure TMyApplication.DoRun;
var
ErrorMsg: String;
s,k,r,i,waga_spr,waga_kart,waga_reszta:Integer;
a,b,c,wynikspr,wynikkart,wynikreszta:String;
srednia_wazona:Real;
Spr:array of String;
Kart:array of String;
Reszta:array of String;
begin
writeln('Program Sredna Wazona by Gromo'); writeln();readln();
writeln('Podaj liczbe ocen o wadze 5');
readln(s);
SetLength(Spr, s);
for i:=1 to s do
begin
writeln('- ');
readln(a);
Spr[i]:=a;
end;
readln();
writeln('Podaj liczbe ocen o wadze 3');
readln(k);
SetLength(Kart, k);
for i:=1 to k do
begin
writeln('- ');
readln(b);
Kart[i]:=b;
end;
writeln('Podaj liczbe ocen o wadze 1');
readln(r);
SetLength(Reszta, r);
for i:=1 to r do
begin
writeln('- ');
readln(c);
Reszta[i]:=c;
end;
for i:=1 to s do
begin
wynikspr:=wynikspr+Spr[i];
end;
for i:=1 to k do
begin
wynikkart:=wynikkart+Kart[i];
end;
for i:=1 to r do
begin
wynikreszta:=wynikreszta+Reszta[i];
end;
waga_spr:=5*s;
waga_kart:=3*k;
waga_reszta:=1*r;
srednia_wazona:=(wynikspr*5+wynikkart*3+wynikreszta+1)/(waga_spr+waga_kart+waga_reszta);
writeln('Twoja srednia wazona to:');
writeln(srednia_wazona);
end;
readln();
Terminate;
end;
var
Application: TMyApplication;
begin
Application:=TMyApplication.Create(nil);
Application.Title:='My Application';
Application.Run;
Application.Free;
end.
Otóż postanowiłem zacząć moją przygodę z programowaniem. Mam już za sobą pierwszy kontakt, jednak mam tak kiepskiego nauczyciela w szkole, że nie jest w stanie mnie prawie niczego nauczyć. Postanowiłem napisać swój pierwszy program liczący średnią ważoną. W Pogrubionym miejscu podczas odpalania programu Lazarus wyświetla mi błąd pod tytułem "Operation "*" is not supported for types "AnsiString" and "ShortInt". Próbowałem konwertować tym za pomocą StrtoInt ale to nic nie daje. Z góry dziękuję za pomoc. Pozdrawiam.