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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2010, 20:24   #1
Torlad
 
Регистрация: 01.04.2010
Сообщений: 7
По умолчанию Задержка на экране

Привет, у меня вопрос: как задержать что-то на экране на определенное время?
Задание звучит так:

"Напишите процедуру-заставку к программе вычисления математических функций в виде (тут табличка). Заставка выводится на очищенный экран, удерживается на экране 3 секунды, затем экран очищается."

Прогу на вывод таблички через procedure я сделал, а вот как задержать точно 3 сек и снова clrscr я что-то не в курсе... Это школьный курс, если что, так что не мудрите особо =)

Заранее спасибо.
Torlad вне форума Ответить с цитированием
Старый 01.04.2010, 21:00   #2
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

В Паскале есть функция delay(x:longint), где х - милисекунды.
D61C76h вне форума Ответить с цитированием
Старый 01.04.2010, 21:04   #3
Torlad
 
Регистрация: 01.04.2010
Сообщений: 7
По умолчанию

тоесть это будет выглядеть так:

begin (тело проги); delay(30:longint); readln; end.

?
Torlad вне форума Ответить с цитированием
Старый 01.04.2010, 21:22   #4
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

Будет выглядеть так:
begin
(тело проги);
delay(3000); // задержка в 3 сек.
(тело прого или что там...);
end;

Так же нужно в начале кода подключить модуль crt: uses crt;
D61C76h вне форума Ответить с цитированием
Старый 01.04.2010, 22:15   #5
Torlad
 
Регистрация: 01.04.2010
Сообщений: 7
По умолчанию

Спасибо, работает=)

Друзья, я уже видел темы, где люди просили написать прогу и видел отказы, так как вопросы - пожалуйста, а прогу пиши сам. Это правильно, но у меня как бы такая ситуация: дали 3 задания, которые я сделал, написал три проги, и дали сложное необязательное задание, за которое или поставят 5 или ничего. Но мы его не проходили, поэтому "делай как хочешь". Если поможете - будет супер.

"Даны координаты вершин треугольника и точки внутри него. Найти расстояние от данной точки до ближайшей стороны треугольника."

Спасибо =)
Torlad вне форума Ответить с цитированием
Старый 01.04.2010, 23:42   #6
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

Программа простая. Вот держи код:
Код:
var x0,y0,x1,y1,x2,y2,x,y,d0,d1,d2:Real;
begin
  Writeln('Vvedite koordinati 1 vershini: ');
  Readln(x0,y0);
  Writeln('Vvedite koordinati 2 vershini: ');
  Readln(x1,y1);
  Writeln('Vvedite koordinati 3 vershini: ');
  Readln(x2,y2);
  Writeln('Vvedite koordinati tochki: ');
  Readln(x,y);
  d0:=((y0-y1)*x+(x1-x0)*y+(x0*y1-x1*y0))/sqrt(Sqr(x1-x0)+sqr(y1-y0));
  d1:=((y1-y2)*x+(x2-x1)*y+(x1*y2-x2*y1))/sqrt(Sqr(x2-x1)+sqr(y2-y1));
  d2:=((y2-y0)*x+(x0-x2)*y+(x2*y0-x0*y2))/sqrt(Sqr(x0-x2)+sqr(y0-y2));
  if d0 < d1
   then if d0 < d2 then Writeln('Pryamaya iz tochek 1,2:  ', d0)
           else Writeln('Pryamaya iz tochek 2,3:  ', d2)
    else if d1 < d2 then Writeln('Pryamaya iz tochek 2,3:  ', d1)
           else Writeln('Pryamaya iz tochek 1,3:  ', d2);
  Readln;
end.
D61C76h вне форума Ответить с цитированием
Старый 01.04.2010, 23:45   #7
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

Программа выводит номера вершин, из которых состоит ближайшая сторона треугольника и расстояние до нее.
D61C76h вне форума Ответить с цитированием
Старый 01.04.2010, 23:48   #8
Torlad
 
Регистрация: 01.04.2010
Сообщений: 7
По умолчанию

Спасибо большое
Torlad вне форума Ответить с цитированием
Старый 02.04.2010, 00:05   #9
Torlad
 
Регистрация: 01.04.2010
Сообщений: 7
По умолчанию

А формулы у расстояний, это специальные формулы перпендикуляров, наподобие установленной формулы окружности "R*R=x*x+y*y" ? Или Вы их сами как-то вывели?)
Torlad вне форума Ответить с цитированием
Старый 07.04.2010, 22:26   #10
Torlad
 
Регистрация: 01.04.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от D61C76h Посмотреть сообщение
Программа простая. Вот держи код:
Код:
var x0,y0,x1,y1,x2,y2,x,y,d0,d1,d2:Real;
begin
  Writeln('Vvedite koordinati 1 vershini: ');
  Readln(x0,y0);
  Writeln('Vvedite koordinati 2 vershini: ');
  Readln(x1,y1);
  Writeln('Vvedite koordinati 3 vershini: ');
  Readln(x2,y2);
  Writeln('Vvedite koordinati tochki: ');
  Readln(x,y);
  d0:=((y0-y1)*x+(x1-x0)*y+(x0*y1-x1*y0))/sqrt(Sqr(x1-x0)+sqr(y1-y0));
  d1:=((y1-y2)*x+(x2-x1)*y+(x1*y2-x2*y1))/sqrt(Sqr(x2-x1)+sqr(y2-y1));
  d2:=((y2-y0)*x+(x0-x2)*y+(x2*y0-x0*y2))/sqrt(Sqr(x0-x2)+sqr(y0-y2));
  if d0 < d1
   then if d0 < d2 then Writeln('Pryamaya iz tochek 1,2:  ', d0)
           else Writeln('Pryamaya iz tochek 2,3:  ', d2)
    else if d1 < d2 then Writeln('Pryamaya iz tochek 2,3:  ', d1)
           else Writeln('Pryamaya iz tochek 1,3:  ', d2);
  Readln;
end.
Друг, не работает, как надо! Выдает иногда отрицательное число вообще, даже если внутри треугольнику точка взята. Да дело даже не в этом - учитель сказал, что она лично делала через формулу полупериметров, как-то выражала. Ну это уже чистая геометрия пошла=)
Torlad вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Временная задержка zleyshiy Общие вопросы Delphi 4 14.08.2009 08:15
Задержка экрана Paul_AG Паскаль, Turbo Pascal, PascalABC.NET 3 19.07.2009 04:44
Задержка JRcoker Общие вопросы Delphi 11 08.08.2008 00:38
Задержка Syred Общие вопросы Delphi 2 07.06.2008 08:16
Задержка MaTBeu Общие вопросы C/C++ 3 24.12.2007 10:29