HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail


 
В этот день много лет назад...
26 ноября. В 1580 году (444 года назад) - Гражданская война во Франции завершается признанием права гугенотов на вероисповедание.
 
 

Turbo Pascal Examples. Качание маятника в плоскости перпендикулярной плоскости монитора.

Графика:
Построение графика функции
Прыгающий по экрану мячик.
Качание маятника.
Вложенные цветные круги.
Броуновское движение. Использование объектов.
Матрицы и массивы:
Сортировка элементов массива.
Удаление одинаковых элементов.
Простой пример на поворот матрицы.
Сортировка методом Шелла. +функции измерения временных интервалов.
Проверка выпуклости многоугольника.
Перемоножение матриц
Вычисление определителя матрицы. Рекурсия.
Нахождение обратной матрицы.
Задача об автостоянке.
Рекурсия. Подземелье сокровищ.
Численные методы:
Задачка на определение угла между стрелками часов.
Проверка на принадлежность точки многоугольнику.
Нахождение точки пересечения двух отрезков на плоскости.
Сортировка методом Шелла. +функции измерения временных интервалов.
Сортировка методом "пузырька". Пример на динамические структуры данных. Связанные списки.
Нахождение корня функции методом половинного деления.
Вычисление арккосинуса
Нахождение суммы цифр натурального числа.
Работа с фалами:
Рекурсивное сканирование директорий.
Работа со строками:
Работа со словами в предложении с разделителями.
Простейший синтаксический анализатор для распознавания и вычисления многчлена.
Синтаксический анализатор для распознавания и вычисления многчлена.
Работа со строками: смена кодировки, удаление тегов из HTML текста, обработка
Переименование файлов из кириллицы в латиницу.
Выдача контекстной подсказки.
Частотный словарь символов.
Подсчет повторяющихся символов в строке.
Ссылочные переменные:
Моделирование стека.
Пасьянс "Косынка".
Игры:
Пасьянс "Косынка".
Игра "Питон"
Игра "Анацефал". Пример использования объектов.
Игра "Минное поле"
Большие проекты:
Электронная картотека (без исходника)


 
Качание маятника в плоскости перпендикулярной плоскости монитора


{ Качание маятника в плоскости перпендикулярной плоскости монитора }
Uses Graph,Crt;
const al = Pi/6;
var bgColor,i:byte;
    x,y,dx,dy,dr,h,ErrCode:integer;
    r:word;
    a,da:real;
function initializeGraph:integer;
var grDriver : Integer;
      grMode : Integer;
  begin
  grDriver:=Detect;
  InitGraph(grDriver, grMode, '');
  initializeGraph:=GraphResult;
  end;

function getH(a:real):integer;
  begin
  getH := round (400 * cos(a));
  end;
begin
ErrCode:=initializeGraph;
if ErrCode <> grOk then
   WriteLn('Ошибка инициализации графики:', GraphErrorMsg(ErrCode))
else
  begin
  bgColor:=0;
  rectangle(1,1,GetMaxX-1,GetMaxY-1);


  { обсчитываем движение пока не нажата какая-либо клавиша }
  x:=(GetMaxX-1) div 2; y:=300; r:=80; dr:=-1; da:=-al/30;
  a := al; { al - угол в радианах, амплитуда качания маятника }
  repeat
    setColor(15);
    circle(x, getH(a), r); { нарисовали }
    { временная задержка - установите свое значение для вашего компьютера }
    Delay(400);
    if ((a<-al) or (a>al)) then { если угол за пределами амплитуды }
      begin
      Delay(3*400);
      da := -da; dr:=-dr;       { меняем направление движения }
      end;
    setColor(bgColor); { цвет фона }
    circle(x, getH(a), r); { стерли }
    inc(r,dr);
    a:=a+da;
  until keyPressed;
  CloseGraph;
  end
end.


 

 

 

 

 

 

 


HOME