PDA

Просмотр полной версии : Помогите пожалуйста решить задачи на паскале



A13X
08.03.2008, 12:49
Вот задачи, которіе надо решить. Помогите пожалуйста ;)
1)Дано координаты (целые от 1 до 8) двух разных полей шахматной доски. Если ферзь за один ход может перейти из одной части поля на другую, вывести логическое значение True, иначе вывести значение False.

2)Дан файл, каждая строка которого имеет даты в формате дд.мм.гггг. Создать новый файл, в котором даты будут записаны в порядке возростания.

3)http://static.diary.ru/userdir/6/4/7/0/647080/29172950.jpg

A13X
08.03.2008, 19:14
Очень нужны эти задачи, а то не допустят к экзамену:mad:

Vovchik
08.03.2008, 20:11
В задаче №3 число D задано ???

Medved
09.03.2008, 16:34
#1

program lalala;
var x1,y1,x2,y2:integer;
begin
read(x1,y1,x2,y2);
if (x1=x2)or(y1=y2)or( abs(x1-x2) = abs(y1-y2)) then writeln('true') else writeln('false');
end.


#2

program lalala;
const maxn=1000;
fin='file.in';
fout='file.out';
type date=record d,m,y:integer; end;
dates=array[1..maxn] of date;
var d:dates;
i:integer;

procedure swp(a,b:date);
var k:date;
begin
k:=a;
a:=b;
b:=k;
end;

procedure readdates;
var l,c:string;
inf:text;
begin
fillchar(d,sizeof(d),0);
assign(inf,fin);
reset(inf);
i:=1;
while not eof(inf) do
begin
readln(inf,l);
c:=l[1]+l[2];
val(c,d[i].d);
c:=l[4]+l[5];
val(c,d[i].m);
c:=l[7]+l[8]+l[9]+l[10];
val(c,d[i].y);
inc(i);
end;
close(inf);
end;

procedure sortdates;
var k,l:integer;
begin
for k:=1 to n-1 do
for l:=k+1 to n do
if (d[k].y>d[l].y)or((d[k].y=d[l].y)and((d[k].m>d[l].m)or((d[k].m=d[l].m)and(d[k].d>d[l].d))) then
swp(d[k],d[l]);
end;
procedure writeinfile;
var outf:text;
k:integer;
begin
assign(outf,fout);
rewrite(outf);
for k:=1 to i do
writeln(outf,d[k].d,'.',d[k].m,'.',d[k].y);
close(outf);
end;

begin
readdates;
sortdates;
writeinfile;
end.

Medved
09.03.2008, 16:42
#3

program lalala;
var d:real;

function next(k,a1,a:real);
begin
if d<abs(a-a1) then writeln(k) else next(k+1,a,(a1+a)/2);
end;

begin
writeln('Enter D');
readln(d);
next(2,1,2);
end.

Medved
09.03.2008, 16:42
Задачи- делать нечего. Any questions?

Хыиуду
11.03.2008, 11:21
#1. Код, недоступный пониманию :)
if abs(x1-x2)*abs(y1-y2) in [0, sqr(x1-x2)] then result:=true else result:=false;