Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт. Сысоева А.А. 13504.5.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
138 Кб
Скачать
☆

Содержание

Оглавление

1. Задание 6

2. Инструкция программиста 6

3. Инструкция оператора 6

4. Текст программы 6

5. Скриншоты программы. 10

  1. Задание

Велосипед. Дано d1,d2,d3 (диаметры колеса, ведущей и ведомой шестерен) и число спиц N. Имитировать движение велосипеда с переменной скоростью, вплоть до остановки. Управление скоростью проводить по нажатию двух клавишей.

  1. Инструкция программиста

Программа работает в среде Turbo Pascal 7.0 .

Хранится с названием «QU_EX11»

Для корректной работы требуются модули:

Graph - обеспечивает управление графическим режимом в Turbo Pascal 7.0

Crt – позволяет работать с окном программы

  1. Инструкция оператора

После запуска программы, на экране появится «красный» велосипед, который будет находиться в состоянии покоя. А так же мини-инструкция для пользователя.

С помощью этой мини-инструкции можно осуществлять движения данного велосипеда, при нажатии клавиш ‘a’, ‘d’. При этом, клавиша ‘d’ – осуществляет начало движения, а так же регулирует увеличение скорости. А клавиша ‘a’ – предназначена для уменьшения скорости велосипеда и его остановки.

Для выхода из программы нужно нажать клавишу - ‘e’.

  1. Текст программы

program qu_zv11;

uses

crt, graph;

type

VeloT = object

r2,r3: integer; { радиус шестерёны }

procedure Draw(rad2, rad3, x1, y1,c1: integer; angp: real);

end;

WheelT = object

r1,n: integer; { радиус колеса и кол-во спиц }

procedure DrawW(rad1, spic, x2, y2,c2: integer; ang: real);

end;

procedure VeloT.Draw(rad2, rad3, x1, y1,c1: integer; angp: real);

begin

setcolor(c1); { цвет }

setlinestyle(4,4,4); { стиль линии }

{ КОРПУС }

line(x1 + 50, y1, x1 + 35, y1 - 50);

line(x1 + 35, y1 - 50, x1 + 25, y1 - 50);

line(x1 + 38, y1 - 40, x1, y1);

line(x1, y1, x1 - 45, y1);

line(x1, y1, x1 - 30, y1 - 50);

line(x1 - 25, y1 - 40, x1 - 45, y1);

line(x1 - 25, y1 - 40, x1 + 35, y1 - 40);

line(x1 - 15, y1 - 50, x1 - 35, y1 - 50);

circle(x1, y1, rad2);

circle(x1-45, y1, rad3);

{ ПЕДАЛЬ }

setlinestyle(4,4,4); { стиль }

line(x1-round((rad2+5)*cos(angp)),

y1+round((rad2+5)*sin(angp)),

x1+round((rad2+5)*cos(angp)),

y1-round((rad2+5)*sin(angp)));

end;

procedure WheelT.DrawW(rad1,spic,x2,y2,c2: integer; ang: real);

var

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]