Ćwiczenia 10 18.12.2008.
Zadanie1a
Program zad1a;
uses crt;
var
alfa,wp,wk,wskok,f:real;
var k,a:byte;
begin
clrscr;
writeln ('wartosc poczatkowa kata w gradach');
readln (wp);
writeln ('wartosc koncowa kata w gradach');
readln (wk);
writeln ('wartosc co ile zmiana kata');
readln (wskok);
a:=round((wk-wp)/wskok);
writeln ('alfa':10,'funkcja':10);
writeln;
for k:=0 to a do
begin
alfa:=wp+wskok*k;
f:=2*sqr(sin(sqr(alfa)));
writeln (alfa:10:4,2*sqr(sin(sqr(alfa/(200/pi)))):10:5);
end;
readln;
end.
Zadanie1b
Program zad1b;
uses crt;
var
alfa,wp,wk,wskok,f:real;
var k,a:byte;
begin
clrscr;
writeln ('wartosc poczatkowa kata w gradach');
readln (wp);
writeln ('wartosc koncowa kata w gradach');
readln (wk);
writeln ('wartosc co ile zmiana kata');
readln (wskok);
alfa:=wp;
while alfa<=wk do
begin
f:=2*sqr(sin(sqr(alfa)));
writeln (alfa:10:4,2*sqr(sin(sqr(alfa/(200/pi)))):10:5);
alfa:=alfa+wskok;
end;
readln;
end.
Zadanie1c
Program zad1c;
uses crt;
var
alfa,wp,wk,wskok,f:real;
var k,a:byte;
begin
clrscr;
writeln ('wartosc poczatkowa kata w gradach');
readln (wp);
writeln ('wartosc koncowa kata w gradach');
readln (wk);
writeln ('wartosc co ile zmiana kata');
readln (wskok);
alfa:=wp;
repeat
f:=2*sqr(sin(sqr(alfa)));
writeln (alfa:10:4,2*sqr(sin(sqr(alfa/(200/pi)))):10:5);
alfa:=alfa+wskok;
until alfa>wk;
readln;
end.
Zadanie2
program zad2;
uses crt;
type macierz=array[1..10,1..10] of real;
var lw,lk,k,w:integer;
var a,at:macierz;
begin
clrscr;
writeln ('Podaj wymiary macierzy (wiersze,kolumny)');
readln (lw,lk);
for w:=1 to lw do
for k:=1 to lk do
begin
write ('a[',w:2,',',k:2,']=');
readln (a[w,k]);
at[k,w]:=a[w,k];
end;
writeln ('transpoza');
for k:=1 to lk do
begin
for w:=1 to lw do
write (at[k,w]:5:1);
writeln;
end;
readln;
end.
Zadanie3
program zad3;
uses crt;
var n,k:integer;
var x,m0,mx,sp,spd,spv,spvv:real;
var d,m,p,v:array[1..20]of real;
begin
clrscr;
writeln ('Liczba obserwacji');
readln (n);
sp:=0;
spd:=0;
spvv:=0;
for k:=1 to n do
begin
writeln ('Podaj pomiar i blad sredni',k:2,'obserwacji');
readln (d[k],m[k]);
p[k]:=1/sqr(m[k]);
sp:=sp+p[k];
spd:=spd+p[k]*d[k];
end;
x:=spd/sp;
for k:=1 to n do
begin
v[k]:=x-d[k];
spvv:=spvv+p[k]*sqr(v[k]);
end;
m0:=sqrt(spvv/(n-1));
mx:=m0/sqrt(sp);
writeln ('srednia wazona=',x:0:2);
writeln ('Blad sredniej wazonej=',mx:0:2);
writeln;
writeln ('kontrola');
writeln ('spv=',spv:0:5);
writeln ('spvv=',spvv:0:5);
readln
end.