Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

15.10.2009, 11:43
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме: 1313455
Репутация:
249
|
|
Сообщение от Vinsik
Паскаль
помогите плиз
//-----------------------
Выполнить табулирование функции в выбранном интервале с шагом h. Сформировать и вывести на экран таблицу значений функции,
график функции с координатными осями в графическом режиме.
При оформлении отчета построить схему алгоритма только для построения таблицы
Пояснения:
1. интервал выбрать самостоятельно, например, от -15 до 15 или от -5 до 10, главное, чтобы в нем присутствовал 0.
2. шаг для табуляции выбрать таким образом, чтобы в таблице было около 15-20 строк (максимум 23, иначе шапка будет не видна).
3. при выводе графика функции шаг выбрать поменьше, например, 0.01, и рисовать его по точкам - в этом случае точки будут
ложиться рядом и график будет плавным.
4. при выводе графика использовать тот же интервал, что и в таблице
---------------------------
формула номер Адын
http://img251.imageshack.us/img251/1218/formulas.jpg
//------------------------------
Код:
program TABULIR_FUNC;
uses graph;
var
mx,my,x,h:real;
intI,x1,x2:integer;
gd,gm:integer;
function xm(x:real):integer;
begin
xm:=round(320+mx*x);
end;
function ym(y:real):integer;
begin
ym:=round(240-my*x);
end;
function f(a:real):real;
begin
f:=2*exp(a)+4;
end;
procedure linovka;
var x,y:integer;
begin
setcolor(15);{color is white}
x:=5;y:=0;
repeat {draw vertical line}
line(x,0,x,GetMaxY);
x:=x+35;
until x>GetMaxX;
repeat {draw horizontal line}
line(0,y,GetMaxX,y);
y:=y+30;
until y>GetMaxY;
end;
procedure DrawAxis;
begin
setcolor(blue);{color is white}
{draw axis of ordinate}
line(round(GetMaxX/2),0,round(GetMaxX/2),GetMaxY);
line(round(GetMaxX/2),0,round(GetMaxX/2-5),10);
line(round(GetMaxX/2),0,round(GetMaxX/2+5),10);
{draw axis of abscis}
line(round(GetMaxX),round(GetMaxY /2),GetMaxX-10,round(GetMaxY/2-5));
line(round(GetMaxX),round(GetMaxY /2),GetMaxX-10,round(GetMaxY/2+5));
line(0,round(GetMaxY/2),GetMaxX,round(GetMaxY/2));
end;
begin
mx:=10;{Mashtab X}
my:=10;{Mashtab Y}
h:=0.001;
x1:=-10;
x2:=10;
writeln('Tabulirovanie funkzii');
writeln(' X ','Y');
for intI:=x1 to x2 do writeln(' X = ',intI,' Y = ',f(intI):6:4);
writeln('Press any key');
readln;
gd:=detect;
initgraph(gd,gm,'D:\user\program\bp\bgi');
linovka;
DrawAxis;
x:=x1;
while (x<=x2) do begin
putpixel(xm(x),ym(f(x)),red);
x:=x+h;
end;
readln;
closegraph;
end.
Результат работы:
Код:
Tabulirovanie funkzii
X Y
X = -10 Y = 4.0001
X = -9 Y = 4.0002
X = -8 Y = 4.0007
X = -7 Y = 4.0018
X = -6 Y = 4.0050
X = -5 Y = 4.0135
X = -4 Y = 4.0366
X = -3 Y = 4.0996
X = -2 Y = 4.2707
X = -1 Y = 4.7358
X = 0 Y = 6.0000
X = 1 Y = 9.4366
X = 2 Y = 18.7781
X = 3 Y = 44.1711
X = 4 Y = 113.1963
X = 5 Y = 300.8263
X = 6 Y = 810.8576
X = 7 Y = 2197.2663
X = 8 Y = 5965.9160
X = 9 Y = 16210.1679
X = 10 Y = 44056.9316
Press any key
Ну и график там с осями и разлинованой плоскостью...
Последний раз редактировалось Dosia; 16.10.2009 в 07:08..
|
|
|

15.10.2009, 12:28
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 225
Провел на форуме: 2793173
Репутация:
297
|
|
Народ помогите пожалуйста! +++ отблагодарю
У меня щас олимпиада по инфе
Решите плиз данные задачи на одном из языков программированию: Pascal,C/C++,Java, Delphi, Visual C++, FreePascal и еще какие то.. Желательно QuickBasic MS DOS
1) Определить является ли треугольник со сторонами a,b,c равнобедренным.
2) Для надежности некоторый текст был передан по линии связи трижды, но каждый раз ровно один символ был принят в искаженном виде.
требуется по трем полученным текстам восстановить исходный текст или установить, что сделать это невозможно.
Входные данные:
Три текстовые строки длиной не более 255 символов каждая.
Выходные данные:
Текстовая строка с восстановленным текстом либо сообщение о невозможности восстановления.
Щас еще дам.. На все у меня осталось 1,40 ч на решение..
Все это нужно сделать программно
Последний раз редактировалось winlogon.exe; 15.10.2009 в 12:35..
|
|
|

15.10.2009, 12:34
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 225
Провел на форуме: 2793173
Репутация:
297
|
|
Вот еще:
3) "В помощь юнитам". Утром одного дня на опытной станции взошли два цветка, посеянные накануне. Жизненный цикл одного из них состовляет n дней, а другого - m дней (n,m - натуральные числа, не превосходящие 255). В последний день жизни растение цветет, роняет зерно и умерает. На утро следующего дня из зерна начинает расти такой же цветок. Напишите программу, которая по введенным n и m (в таком порядке), вычисляет, на какой день он начала процесса можно наблюдать цветение обоих растений.
|
|
|

15.10.2009, 13:04
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме: 1313455
Репутация:
249
|
|
Сообщение от winlogon.exe
1) Определить является ли треугольник со сторонами a,b,c равнобедренным.
Код:
program treug;
var
a,b,c:real;
begin
writeln('Enter a');
readln(a);
writeln('Enter b');
readln(b);
writeln('Enter c');
readln(c);
if (a=b and a<>c) then begin
writeln('Treyrolinuk ravnobedrenni');
exit;
end;
if (a=c and b<>c) then begin
writeln('Treyrolinuk ravnobedrenni');
exit;
end;
if (c=b and a<>b) then begin
writeln('Treyrolinuk ravnobedrenni');
exit;
end;
writeln('Treyrolbnik ne ravnobedrennii');
readln;
end.
Результат работы:
Код:
Enter a
5
Enter b
5
Enter c
4
Treyrolinuk ravnobedrenni
Enter a
4
Enter b
5
Enter c
5
Treyrolinuk ravnobedrenni
Enter a
4
Enter b
5
Enter c
4
Treyrolinuk ravnobedrenni
Enter a
5
Enter b
5
Enter c
5
Treyrolbnik ne ravnobedrennii
Enter a
5
Enter b
4
Enter c
3
Treyrolbnik ne ravnobedrennii
|
|
|

15.10.2009, 13:11
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 225
Провел на форуме: 2793173
Репутация:
297
|
|
какой язык программирования?
|
|
|

15.10.2009, 13:16
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме: 1313455
Репутация:
249
|
|
Pascal ;D
Сообщение от winlogon.exe
Вот еще:
3) "В помощь юнитам". Утром одного дня на опытной станции взошли два цветка, посеянные накануне. Жизненный цикл одного из них состовляет n дней, а другого - m дней (n,m - натуральные числа, не превосходящие 255). В последний день жизни растение цветет, роняет зерно и умерает. На утро следующего дня из зерна начинает расти такой же цветок. Напишите программу, которая по введенным n и m (в таком порядке), вычисляет, на какой день он начала процесса можно наблюдать цветение обоих растений.
Чето не так щас поправлю....
Код:
program dayxxx;
var
stday,n,m:byte;
mx,nx,intI:longint;
begin
n:=2;
m:=7;
if n = m then begin
writeln('potrebuets9 ',n,' dney');
readln;
exit;
end;
if n> m then stday:=n else stday:=m;
for intI:=stday to 1000000 do begin
mx:=intI;
nx:=intI;
while mx>0 do mx:=mx-m;
mx:=mx+m;
while nx>0 do nx:=nx-n;
nx:=nx+n;
writeln('mx ',mx,' nx ',nx);
if mx = nx then break;
end;
writeln('potrebuets9 ',intI-1,' dney');
readln;
end.
Результат работы:
Последний раз редактировалось Dosia; 15.10.2009 в 13:30..
|
|
|

15.10.2009, 13:39
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 225
Провел на форуме: 2793173
Репутация:
297
|
|
ага спасибо..) Отблагодарю как смогу. Еще будет?
|
|
|

15.10.2009, 13:44
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме: 1313455
Репутация:
249
|
|
Сообщение от winlogon.exe
2) Для надежности некоторый текст был передан по линии связи трижды, но каждый раз ровно один символ был принят в искаженном виде.
требуется по трем полученным текстам восстановить исходный текст или установить, что сделать это невозможно.
Входные данные:
Три текстовые строки длиной не более 255 символов каждая.
Выходные данные:
Текстовая строка с восстановленным текстом либо сообщение о невозможности восстановления.
Код:
program strreceive;
var
str:array[1..3] of string;
Variaz:array[1..3] of byte;
strresult:string;
intI:integer;
begin
str[1]:='root@locaphost';
str[2]:='root.localhost';
str[3]:='root.,ocalhost';
Variaz[1]:=0;
Variaz[2]:=0;
Variaz[3]:=0;
for intI:=1 to length(str[1]) do begin
if (str[1][intI]=str[2][intI]) and (str[1][intI]=str[3][intI]) then strresult:=strresult+str[1][intI]
else begin
if (str[1][intI] = str[2][intI]) and (str[1][intI]<>str[3][intI]) then begin
if Variaz[3] = 1 then begin
writeln('He mory vosstanovitb stroky');
readln;
exit;
end;
strresult:=strresult+str[1][intI];
variaz[3]:=1;
end;
if (str[2][intI] = str[3][intI]) and (str[2][intI]<>str[1][intI]) then begin
if Variaz[1] = 1 then begin
writeln('He mory vosstanovitb stroky');
readln;
exit;
end;
strresult:=strresult+str[3][intI];
Variaz[1]:=1;
end;
if (str[1][intI] = str[3][intI]) and (str[2][intI]<>str[3][intI]) then begin
if Variaz[2] = 1 then begin
writeln('He mory vosstanovitb stroky');
readln;
exit;
end;
strresult:=strresult+str[1][intI];
Variaz[2] :=1;
end;
end;
end;
writeln('Iskoma9 stroka = ',strresult);
readln;
end.
Результат работы:
str[1] := 'root@loca phost';
str[2] := 'r yot@localhost';
str[3] := 'root .locaphost';
Код:
Iskoma9 stroka = root@localhost
str[1] := 'root@loca phost';
str[2] := 'r y1t@localhost';
str[3] := 'root .locaphost';
Код:
He mory vosstanovitb stroky
Мне пора идти (Уже опоздал минут на 15), удачи, если че нитак, не надо желать моей смерти ;D
Последний раз редактировалось Dosia; 15.10.2009 в 13:58..
|
|
|

15.10.2009, 13:47
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
условие задачи смахивает на нахождение НОК =)
|
|
|

15.10.2009, 14:06
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 225
Провел на форуме: 2793173
Репутация:
297
|
|
Блин.. я уже сдлал все а ты исправил..(( Напиши мне в аську.. отблагодарю чем нить 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|