Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2009, 21:49   #1
SWAT92Shtorm
Готов помочь
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 27
Вопрос Поясните задачу... Дайте советы по её реализации

Разработать алгоритм решения и написать программу на языке Паскаль графического поиска корней квадратного уравнения. Предусмотреть
возможность автоматического масштабирования осей X и Y.
В ВУЗе
SWAT92Shtorm вне форума Ответить с цитированием
Старый 09.06.2009, 12:54   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

это называется спуск по координатам. Метод Монте-Карло. На зачёт дали задачку?
В цикле. по всем значениям отрезка от Xmin до Xmax на оси Х перебираешь все значения координат с нужным шагом dX. и на кадом шаге вычисляешь значения функции y(x). Все значения, которые ближе всего к 0, запоминаешь или выводишь на экран - это и есть твои корни.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 09.06.2009, 14:07   #3
SWAT92Shtorm
Готов помочь
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 27
По умолчанию

Цитата:
На зачёт дали задачку?

На практике дали 2 задачи =) на месяц . 1задачу сделал ! А с этои проблемка с циклом =( не совсем догоняю =(
В ВУЗе

Последний раз редактировалось SWAT92Shtorm; 10.06.2009 в 01:40.
SWAT92Shtorm вне форума Ответить с цитированием
Старый 10.06.2009, 01:37   #4
SWAT92Shtorm
Готов помочь
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 27
По умолчанию

Код:
uses crt,graph;
var
A,B,C,buf,xmin,xmax:real;
X1, X2: real;
i:integer;o,p,x,y:integer;
k,l:array[1..100] of integer; s:integer;
D:real; GraphDriver, GraphMode : Integer; errcode:integer;
begin
clrscr;
textcolor(6);
writeln ('‚ў®¤  A,B,C'); readln (A,B,C);

buf:=a*a+2*b+c;
D:=B*B-4*A*C;

if D<0 then
begin
textcolor(4);
writeln ('Љ®а*Ґ© *Ґв, в.Є ¤ЁбЄаЁ¬Ё***в ¬Ґ*миҐ *®«п ',d:6:3,' < ',0);
readln;
exit;
end;
if D=0 then
begin
textcolor(4);
writeln ('Љ®а*Ё а*ў*л, в.Є ¤ЁбЄаЁ¬Ё***в а*ўҐ* *®«о: ',d:6:3,' = 0', 'x1,x2 = ',-B/2*A:6:3);
end;

 textcolor(6);
 writeln('„ЁбЄаЁ¬Ё***в а*ўҐ* = ', D:6:3);

D:=Sqrt(D);
x1:=(-B+D)/2*A;
x2:=(-B-D)/2*A;
textcolor(5);
writeln ('X1=', x1:6:3);
writeln ('X2=', x2:6:3);

if x1>x2 then xmax:=x1;
if x1<x2 then xmin:=x2;
if x1=x2 then xmax:=x1; xmin:=x2;
textcolor(4);
writeln('xmin ',xmin:6:3);
writeln('xmax ',xmax:6:3);
textcolor(3);
writeln('‚ў®¤ и*Ј* ');readln(s);

  o:=trunc(xmax);
  p:=trunc(xmin);
textcolor(2);
writeln('Ќ*¦¬Ё*Ґ Enter ');
readln;

GraphDriver := Detect;
  errcode:=GraphResult;
  InitGraph(GraphDriver, GraphMode, 'D:\tp\bgi');
  if errcode = grOk then

  line(200,240,500,240);{x}
  line(340,100,340,400);{y}
  i:=1;
  x:=340;
  y:=240;

  putpixel(x+1,y+1,4);
  putpixel(x-1,y-1,4);
  putpixel(x+1,y-1,4);
  putpixel(x-1,y+1,4);
  putpixel(x,y,4);

  while (p<=o) do
  begin
  l[i]:=p;
  p:=p+s;
  k[i]:=o;
  o:=o-s;
 
  putpixel(x+l[i],y+k[i],5);
  inc(i);

  end;
 readln;

end.

что дальше делать =) подскажите =(
В ВУЗе

Последний раз редактировалось SWAT92Shtorm; 10.06.2009 в 16:15. Причина: ДОработка
SWAT92Shtorm вне форума Ответить с цитированием
Старый 10.06.2009, 16:47   #5
SWAT92Shtorm
Готов помочь
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 27
По умолчанию

Вот такой график
Изображения
Тип файла: jpg Графя.jpg (7.0 Кб, 166 просмотров)
В ВУЗе

Последний раз редактировалось SWAT92Shtorm; 11.06.2009 в 01:08.
SWAT92Shtorm вне форума Ответить с цитированием
Старый 15.06.2009, 12:24   #6
SWAT92Shtorm
Готов помочь
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 27
Хорошо

Код:
uses crt,graph;
var
a,b,x,w,y,max,min,i,j:integer;

GraphDriver, GraphMode : Integer; errcode:integer;
begin
clrscr;
textcolor(6);
writeln ('‚ў®¤  A '); readln (A);
writeln ('‚ў®¤  B '); readln (B);

write('Ќ ¦¬Ё*Ґ Enter ');
readln;

GraphDriver := Detect;
  errcode:=GraphResult;
  InitGraph(GraphDriver, GraphMode, 'D:\tp\bgi');
  if errcode = grOk then



  x:=340;
  y:=240;


  while a<=b do begin

  w:=sqr(a);
  a:=a+1;
  putpixel(x+a,y-w,5);

  end;

  line(240-a,240,440+a,240);
  line(341,140-w,341,340+w);

 readln;

end.

Вот готовая задача
В ВУЗе
SWAT92Shtorm вне форума Ответить с цитированием
Старый 15.06.2009, 12:30   #7
SWAT92Shtorm
Готов помочь
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 27
По умолчанию

а подскажите с этой программой =)
Изображения
Тип файла: jpg ззз.jpg (14.1 Кб, 144 просмотров)
В ВУЗе
SWAT92Shtorm вне форума Ответить с цитированием
Старый 15.06.2009, 23:30   #8
SWAT92Shtorm
Готов помочь
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 27
По умолчанию

Код:
uses crt;
var
a:array[0..10,0..10] of integer; i,j,n,k:integer;
begin
clrscr;
n:=3;
for i:=0 to n-1 do
  for j:=0 to n-1 do
    read(a[i,j]);

writeln;


for i:=0 to 2*n-1 do
begin
 k:=i;
 for j:=0 to i+1  do
  begin
  if (j < n) and (k-j>=0) and (j>=0) and (k-j<n)  then
  if ((i mod 2) = 0) then
    write(a[k-j][j]) else write(a[j][k-j]);

  end;
 end;



readln;
readln;
end.
пля от вас не дождешься =)
В ВУЗе
SWAT92Shtorm вне форума Ответить с цитированием
Старый 16.06.2009, 12:56   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

SWAT92Shtorm, если это Вы сами написали, то снимаю шляпу в почтении!

но, в любом случаем, + за то, что выложили код.
Приятно будет разобрать алгоритм...

p.s. а вот два readln в конце - перебор, имхо... один смело можно убрать
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.06.2009, 19:19   #10
SWAT92Shtorm
Готов помочь
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 27
По умолчанию

Тут была не точность в 1 задаче =) но я справил =) Люди только с масштабированием сами что хотите то и придумывайте =) да и параболу я не стал строить =) думаю сами додумаетесь как а в целом все есть =)
В ВУЗе
SWAT92Shtorm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поясните задачу HECTOR.A. Паскаль, Turbo Pascal, PascalABC.NET 1 05.06.2009 23:33
Дайте советы начинающему! RomT24 Общие вопросы C/C++ 7 24.05.2009 13:43
Поясните задачку(Delphi) Ddr Помощь студентам 1 16.04.2009 21:45
Поясните ООП sodd Общие вопросы Delphi 1 23.02.2009 14:14