pastebin - collaborative debugging

pastebin is a collaborative debugging tool allowing you to share and modify code snippets while chatting on IRC, IM or a message board.

This site is developed to XHTML and CSS2 W3C standards. If you see this paragraph, your browser does not support those standards and you need to upgrade. Visit WaSP for a variety of options.

 >  > Запись оставлена nik 18.04.2026 в 05:56 Получить справку

Запись оставлена nik 18.04.2026 в 05:56
запустить | скачать | новая запись

  1. uses Graph;
  2.  
  3. const
  4.   DAYS = 31;
  5.  
  6. var
  7.   T: array[1..DAYS] of Integer;
  8.   gd, gm, i: Integer;
  9.   x, y, xNext, yNext, zeroY: Integer;
  10.   xCross: Integer;
  11.  
  12. begin
  13.   { 1. Генерация случайных температур для марта (-10..+15) }
  14.   Randomize;
  15.   for i := 1 to DAYS do T[i] := Random(26) - 10;
  16.  
  17.   { 2. Инициализация графики }
  18.   gd := Detect;
  19.   InitGraph(gd, gm, '');
  20.  
  21.   zeroY := GetMaxY div 2; { Линия нуля посередине экрана }
  22.  
  23.   { 3. Рисуем ось и подписи }
  24.   SetColor(White);
  25.   Line(0, zeroY, GetMaxX, zeroY);
  26.   OutTextXY(10, zeroY - 15, '0 C');
  27.  
  28.   { 4. Построение графика }
  29.   for i := 1 to DAYS - 1 do
  30.   begin
  31.     x := i * 20;
  32.     xNext := (i + 1) * 20;
  33.     y := zeroY - T[i] * 10;      { Масштаб 1 градус = 10 пикселей }
  34.     yNext := zeroY - T[i+1] * 10;
  35.  
  36.     { Проверка: пересекает ли отрезок ноль? }
  37.     if ((T[i] >= 0) and (T[i+1] < 0)) or ((T[i] < 0) and (T[i+1] >= 0)) then
  38.     begin
  39.       { Вычисляем точку пересечения с осью (подобие треугольников) }
  40.       xCross := x + Round((xNext - x) * Abs(T[i]) / (Abs(T[i]) + Abs(T[i+1])));
  41.      
  42.       { Рисуем первую часть отрезка }
  43.       if T[i] >= 0 then SetColor(LightRed) else SetColor(LightBlue);
  44.       Line(x, y, xCross, zeroY);
  45.      
  46.       { Рисуем вторую часть отрезка }
  47.       if T[i+1] >= 0 then SetColor(LightRed) else SetColor(LightBlue);
  48.       Line(xCross, zeroY, xNext, yNext);
  49.     end
  50.     else
  51.     begin
  52.       { Если пересечения нет, просто рисуем весь отрезок одним цветом }
  53.       if T[i] >= 0 then SetColor(LightRed) else SetColor(LightBlue);
  54.       Line(x, y, xNext, yNext);
  55.     end;
  56.    
  57.     { Ставим точку на графике }
  58.     PutPixel(x, y, White);
  59.   end;
  60.  
  61.   ReadLn;
  62.   CloseGraph;
  63. end.

Отправка исправлений и поправок. (cоздать новую запись)
После отправки поправок вы сможете посмотреть различия между старой и новой записью.

Использовать подсветку синтаксиса
В текущей реализации JS-DOS Read/ReadLn работают только при подключенном модуле Crt! Для подсветки отдельных строк используйте для них префикс @@


картинка


Запомнить мои настройки