Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
3 / 3 / 1
Регистрация: 20.10.2013
Сообщений: 94

Рисование диагоналей.Модуль Graph

20.10.2013, 15:53. Показов 2528. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Нужна помощь,но буду рад и подсказке.

Дана такая задача.
Написать программу, которая при нажатии на кнопку F1 начинает рисовать в соответствии с заданием, приводимым ниже, а при нажатии на кнопку F2 - рисует график указанной функции, при нажатии правой кнопки мыши - графическое окно очищается.
Нарисуйте диагонали графического окна (процедура Line).

Функция - cos(x)

Так вот,программа ругается на END пишет "Ожидалось ." Я везде проверил всё на месте и begin-ы и end-ы.

Ну я не с пустыми руками пришел:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
program gpaphic_var2;
 
Uses GraphABC;
 
const
X1=1;
X2=10;
 
var mx,my,x,dx:real;
    x0,y0,i,n:integer;
    s:string;
 
begin
x0:=windowwidth div 2;//начало координат по оси Х
y0:=windowheight div 2;
mx:=(x0-30)/x2;//масштаб по Х
my:=(y0-50)/F(0);//масштаб по Y
end;
 
function Cos(x:real):real;
var
R:real;
begin
R:=cos(x);
end;
 
procedure Line(x1,y1,x2,y2: integer);
begin
SetColor( LightBlack );
Line( 0, 0, 639, 479 );
end;
 
procedure KeyDown(Key: integer);
begin
case key of
VK_F1: Line;
VK_F2: function Cos;
end;
end;
 
OnMouseDown: procedure (x,y,mousebutton: integer);
begin
if Mouse.RightClick then
Clear;
end;
 
procedure main;
begin
KeyDown;
On MouseDown;
OnKeyDown:=KeyDown;
end;
 
begin
main;
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.10.2013, 15:53
Ответы с готовыми решениями:

Как подключить модуль graph
program UseGraphical; Uses Graph; Var GraphDriver, GraphMode: Integer; Begin GraphDriver := 0; InitGraph(GraphDriver,...

Сколько положительных элементов содержит матрица?(Модуль Graph ABC)
конечно я может уже и надоел своими темами,но такова жизнь начинающих программистов и студентов во время сессии) Вначале напишу что...

Не найден модуль Graph при переводе кода с Pascal на PascalABC.NET
Доброго времени суток всем, помогите пожалуйста перевести код с паскаля на паскальАВС, или что делать он выдает ошибку, модуль граф не...

4
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.10.2013, 16:07
Написан набор строк,представляющих из себя сплошную глупость.

Добавлено через 2 минуты
Цитата Сообщение от Otar4ik Посмотреть сообщение
Так вот,программа ругается на END пишет "Ожидалось ." Я везде проверил всё на месте и begin-ы и end-ы.
Так end в строке 18 нужно выкинуть,а описание функций(которые здесь не нужны) и процедур перенести в начало, перед разделом var
0
3 / 3 / 1
Регистрация: 20.10.2013
Сообщений: 94
20.10.2013, 16:09  [ТС]
Спасибо,а насчет набора глупости так это наброски,при компиляции поэтапно исправлять буду.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.10.2013, 16:59
Для примера..
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Uses GraphABC;
procedure Grafik;
var xn,xk,x,mx,dx:real;
    x0,y0,my,i:integer;
    s:string;
begin
x0:=windowwidth div 2;{центр экрана}
y0:=windowheight div 2;
xn:=-2*pi;xk:=2*pi;{интервал по Х}
mx:=(x0-30)/xk;{масштаб по Х}
my:=y0-40;{по У}
{график}
x:=xn;
dx:=0.001;
while x<=xk do
 begin
  x:=x+dx; {наращиваем х}
  setpixel(x0+round(x*mx),y0-round(cos(x)*my),clBlue);
 end;
line(0,y0,windowwidth,y0);{оси}
line(x0,0,x0,windowheight);
textout(x0+5,y0+10,'0');
line(x0+round(pi*mx),y0-3,x0+round(pi*mx),y0+3);
textout(x0+round(pi*mx),y0+15,'pi');
line(x0+round(2*pi*mx),y0-3,x0+round(2*pi*mx),y0+3);
textout(x0+round(2*pi*mx),y0+15,'2pi');
line(x0-round(pi*mx),y0-3,x0-round(pi*mx),y0+3);
textout(x0-round(pi*mx),y0+15,'-pi');
line(x0-round(2*pi*mx),y0-3,x0-round(2*pi*mx),y0+3);
textout(x0-round(2*pi*mx),y0+15,'-2pi');
line(x0-3,y0-round(my),x0+3,y0-round(my));
textout(x0-10,y0-round(my)-15,'1');
line(x0-3,y0+round(my),x0+3,y0+round(my));
textout(x0-15,y0+round(my),'-1');
{центр}
textout(x0+5,y0+10,'0');
{подписи концов осей}
textout(windowwidth-10,y0-10,'X');
textout(x0-10,10, 'Y');
{подписи концов осей}
textout(windowwidth-10,y0-20,'X');
textout(x0+10,0, 'Y');
setfontsize(12);
textout(x0-120,30,'F(x)=cos(x)');
end;
procedure KeyDown(key:integer);
begin
case key of
VK_F1: begin
       line(0,0,windowwidth,windowheight);
       line(0,windowheight,windowwidth,0);
      end;
VK_F2: Grafik
end;
end; 
procedure MouseDown(x,y,mb: integer);
begin
  if mb=2 then clearwindow
end;
 
begin
OnMouseDown := MouseDown;
OnKeyDown := KeyDown;
end.
1
3 / 3 / 1
Регистрация: 20.10.2013
Сообщений: 94
20.10.2013, 21:00  [ТС]
Большое Спасибо,посмотрю на других интервалах как будет функция себя вести.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.10.2013, 21:00
Помогаю со студенческими работами здесь

Модуль graph.
Помогите составить процедуру постепенного построения трехмерного изображения одноэтажного дома с треугольной крышей. вот что есть а...

Модуль GRAPH
Здравствуйте, есть нежен пример программы с помощью модуля GRAPH, т.е. чтобы пункты выделялись прямоугольником. Спасибо Добавлено...

Модуль Graph
немогу никак нарисовать график для exp(x)

модуль Graph
Построить график функций с обозначением осей координат. Y=a*cosx2

модуль Graph
помогите, пожалуйста, решить! построить график функции у=1/(x^2-x+1), где х принадлежит предварительно выбрав расположение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru