3. Несжатое растровое изображение размером 128 x 128 пик- Селей занимает 8 Кбайт памяти. Каково максимально воз- можное число цветни и палитре изображения?
В обоих заданиях нет самомого главного - не описан интерфейс с пользователем, функции пользователя и функции программы. Без этого программа не пишется. Ведь ты, по сути, формулируешь техническое задание на программирование, а в нём не должно быть неясностей для программиста, он должен взять листочек и тупо закодировать то, что там написано.
Ну, например, по заданию 1 могут быть варианты:
1. Написать программу, которая , при этом в каждом поединке победа присуждается с вероятностью 1/3, поражение с вероятностью 1/2, ничья с вероятностью 1/6. По окончании расчетов вывести турнирную таблицу в порядке занятого места.
В этом случае пользователь ничего не делает и интерфейса, как такового, нет, он просто нажимает "пуск", а программа всё сама делает и выводит результаты на печать.
2. Написать программу, которая, при этом участники каждого турнира выводятся на экран, а пользователь сам определяет его результат(победа, ничья, поражение). По окончании турниров программа віводит турнирную таблицу в порядке занятого места.
В этом случае пользователь всё время в диалоге, потому что именно он должен определять результат каждого турнира.
Вот 2 разных сценария интерфейса к одному и тому же, что написано в задании, но программы, их сложность достаточно различаются.
Резюме. Если хочешь, чтобы тебе качественно а не отписались, сформулируй задания снова, лучше каждое отдельным заданием и так, чтобы тебе самой было понятно, что ты хочешь от программы.
Var arnx,armx,arny,army,delMmax:array[1..1000] of real; N,M,res,i,j:integer; min:real; begin min:=maxreal; {не уверен существует ли эта константа в fpc, если что, она равна максимальному значению типа real} readln(N); for i:=1 to N do readln(arnx[i],arny[i]); readln(M); for i:=1 to M do begin readln(armx[i],army[i]); delMmax[i]:=-1; for j:=1 to N do if delMmax[i]<sqrt(sqr(armx[i]-arnx[j])+sqr(army[i]-arny[j])) then delMmax[i]:=sqrt(sqr(armx[i]-arnx[j])+sqr(army[i]-arny[j])); if delMmax[i]<min then begin min:=delMmax[i]; res:=i; end; end; writeln(res); end.
Пример ввода: 3 2 1 1 2 1 1 3 1 5 3 3 4 2 Пример вывода: 2
В обоих заданиях нет самомого главного - не описан интерфейс с пользователем, функции пользователя и функции программы. Без этого программа не пишется. Ведь ты, по сути, формулируешь техническое задание на программирование, а в нём не должно быть неясностей для программиста, он должен взять листочек и тупо закодировать то, что там написано.
Ну, например, по заданию 1 могут быть варианты:
1. Написать программу, которая , при этом в каждом поединке победа присуждается с вероятностью 1/3, поражение с вероятностью 1/2, ничья с вероятностью 1/6. По окончании расчетов вывести турнирную таблицу в порядке занятого места.
В этом случае пользователь ничего не делает и интерфейса, как такового, нет, он просто нажимает "пуск", а программа всё сама делает и выводит результаты на печать.
2. Написать программу, которая, при этом участники каждого турнира выводятся на экран, а пользователь сам определяет его результат(победа, ничья, поражение). По окончании турниров программа віводит турнирную таблицу в порядке занятого места.
В этом случае пользователь всё время в диалоге, потому что именно он должен определять результат каждого турнира.
Вот 2 разных сценария интерфейса к одному и тому же, что написано в задании, но программы, их сложность достаточно различаются.
Резюме. Если хочешь, чтобы тебе качественно а не отписались, сформулируй задания снова, лучше каждое отдельным заданием и так, чтобы тебе самой было понятно, что ты хочешь от программы.
Успехов!
Var
arnx,armx,arny,army,delMmax:array[1..1000] of real;
N,M,res,i,j:integer;
min:real;
begin
min:=maxreal;
{не уверен существует ли эта константа в fpc, если что, она равна максимальному значению типа real}
readln(N);
for i:=1 to N do
readln(arnx[i],arny[i]);
readln(M);
for i:=1 to M do
begin
readln(armx[i],army[i]);
delMmax[i]:=-1;
for j:=1 to N do
if delMmax[i]<sqrt(sqr(armx[i]-arnx[j])+sqr(army[i]-arny[j]))
then
delMmax[i]:=sqrt(sqr(armx[i]-arnx[j])+sqr(army[i]-arny[j]));
if delMmax[i]<min
then
begin
min:=delMmax[i];
res:=i;
end;
end;
writeln(res);
end.
Пример ввода:
3
2 1
1 2
1 1
3
1 5
3 3
4 2
Пример вывода:
2