1. napisz procedure ktora przepiszez pliku xy.txt wspolrzedne xy do pliku zdef xy.dat
2. napisz procedure ktora przepiszez pliku zdef z.dat wspolrzedna z do pliku txt z.txt
3, napisz procedure ktora wypisze na ekranie monitora nr i wspolrzedne xy z pliku txt oraz odpowiadajaca wsporz z z pliku zdef. jesli dla ktoregos punktu brakuje wspolrz z wpisuje "-"
zadanie 3
program zad3;
type plaskie=record
Nr:word;
x,y:integer;
end;
type pionowe=record
Nr:word;
z:integer;
end;
var
f:text;
g:file of pionowe;
a:Plaskie;
b:Pionowe;
znalazlem : boolean;
procedure wypisz
(var a:Plaskie, var b:Pionowe,
var Nr:word; var x,y,z:integer);
begin
assign(f, 'xy.txt');
reset(f);
assign(g, 'z.dat');
while not Eof(f) do
begin
readln(f, a.Nr, a.x, a.y);
znalazlem:=false;
reset(g);
while not Eof(g) do
begin
read(g, b);
if a.Nr = b.Nr then
begin
znalazlem:=true;
writeln(a.Nr, a.x, a.y, b.z);
end;
end;
if znalazlem = false then
writeln(a.Nr, a.x, a.y, '-');
end;
close(f);
close(g);
end;
BEGIN
wypisz(a,b,Nr,x,y,z);
END.
zadanie 1
program zad1;
type wspolrzedne = record
Nr:word;
X,Y:integer;
end;
var f:text;
g: file of wspolrzedne ;
a: wspolrzedne;
procedure przepisz1
(var a: wspolrzedne; var
Nr:word; var X,Y: integer);
begin
assign(f, 'xy.txt');
reset(f);
assign(g, 'xy.dat');
rewrite(g);
while not eof(f) do
begin
readln(f, a.Nr, a.X, a.Y);
write(g,a);
end;
close(g);
close(f);
end;
BEGIN
przepisz1(a, Nr, X, Y);
END.
zadanie 2
program zad2;
type wspolrzedne = record
Nr:word;
Z:integer ;
end;
var f:text;
g: file of wspolrzedne ;
b: wspolrzedne;
procedure przepisz2
(var b: wspolrzedne;
var Nr:word; var Z: integer);
begin
assign(g, 'z.dat');
reset(g);
assign(f, 'z.txt');
rewrite(f);
while not eof(g) do
begin
read(g,b);
writeln(f, b.Nr, b.z);
end;
close(f);
close(g);
end;
BEGIN
przepisz2(b, Nr, Z);
END.
1. Napisać program, którego zadaniem jest odnalezienie w pliku zdefiniowanym A.dat wszystkich liczb 100 i ich zamiana na 200 (zamiana w pliku). Plik jest typu file of dane.
2. Dana jest macierz A zapisana w pliku tekstowym a.txt. Napisać definicję funkcji, która wyznacza ślad tej macierzy (suma elementów na przekątnej).
3. W pliku tekstowym A znajduje się wykaz punktów geodezyjnych, składający się z nr punktu oraz współrzędnych X, Y. W jednym wierszu pliku A zapisane są dotyczące jednego punktu, np.:
21 10.340 20.350 34 20.567 40.234 itd....
Liczba wszystkich punktów nie jest znana. Podobny wykaz współrzędnych punktów zamieszczono w pliku zdefiniowanym B. Plik jest typu Dane.
Type Dane=record
Nr: Word;
X, Y : Real;
end;
Liczba punktów zamieszczonych w tym pliku nie jest znana.
Zadanie polega na wypisaniu na ekranie monitora numerów i współrzędnych X,Y tych punktów, które występują w pliku zdefiniowanym a brak ich jest w pliku tekstowym.
4. Własna inicjatywa, napisać dowoln
ZADANIE 2
function slad:integer;
var
i,j,K,W,n:integer;
f:text;
T:array[1..10,1..10] of integer;
begin
assign(f,'a.txt');
write('Podaj liczbe wierszy: ');readln(W);
write('Podaj liczbe kolumn: '); readln(K);
reset(f);
for i:=1 to W do
for j:=1 to K do read(f,T[i,j]);
n:=K;
if n>W then n:=W;
slad:=0;
for i:=1 to n do slad:=slad+T[i,i];
close(f);
end;
ZADANIE 3
Type Dane=record
Nr: Word;
X, Y : Real;
end;
var
g:text;
f:file of Dane;
a,b:Dane;
znalazlem:boolean;
begin
assign(g,'xy.txt');
assign(f,'z.dat');
reset(f);
while not eof(f) do
begin
read(f,b);
znalazlem:=false;
reset(g);
while not seekeof(g) or znalazlem do
begin
read(g,a.Nr); read(g,a.X);readln(g,a.Y);
if a.Nr=b.Nr them znalazlem:=true;
end;
if znalazlem then else writeln(b.Nr,b.X,b.Y);
end;
close(f);
close(g);
end.
ZADANIE 1
PROGRAM program1;
USES Crt;
TYPE dane = RECORD
liczba : Integer;
END;
VAR
f : file of dane;
x : dane;
position : LongInt;
BEGIN
Assign(f,'A.dat');
Reset(f);
WHILE NOT Eof(f) DO
BEGIN
position:=FilePos(f);
Read(f,x);
IF x.liczba = 100 THEN
BEGIN
Seek(f,position);
x.liczba:=200;
Write(f,x);
END
END
Close(f)
END.
Kod: program przyrosty;
{$APPTYPE CONSOLE}
uses
SysUtils;
var azgrad, azrad, l, ro: Real;
var dx,dy: Real;
begin
Writeln('Program liczacy przyrosty dx, dy');
Writeln;
Write('Podaj azymut odcinka w gradach: '); Readln(azgrad);
Write('Podaj dlugosc odcinka: '); Readln(l);
ro:= 200/pi;
azrad:= azgrad/ro;
dx:= l*cos(azrad);
dy:= l*sin(azrad);
Writeln('Przyrost dx= ',dx:6:2);
Writeln('Przyrost dy= ',dy:6:2);
Readln;
end.