Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические работы для ИС-271.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
3 Мб
Скачать
☆

Лабораторная работа № 6. Вычисление заданного выражения при произвольных значениях переменных с использованием нескольких окон на одном экране. Работа с цветом в текстовом режиме.

Цель работы:

  • научиться использовать различные окна на одном экране

  • изучить на практике графические возможности Turbo Pascal 7.0 в текстовом режиме

  • закрепить практические навыки в отладке программы и контрольном просчете

Оборудование:

  • програмная часть – интегрированная среда Turbo Pascal 7.0

  • аппаратная часть - ПЭВМ IBM PC/XT

  • задание на выполнение работы в электронном варианте

Теоретическая часть

Дисплей компьютера может работать в двух режимах: текстовом и графическом. Изображения на экране ы обоих режимах формируетс из светящихся точек (пикселей). В графическом режиме компьютер с помощью программы должен управлять каждым пикселом. В текстовом режиме экран состоит из 25 строк, нумеруемых сверху вниз от 1 до 25. Каждая строка содержит 80 знакомест, т.е. в строке можно выводит до 80 символов. Нумерация знакомест – слева направо. Управление экраном в текстовом режиме осуществляется с помощью специальных процедур и функций.

Все описанные ниже процедуры и фкнкции входят в стандартный модуль CRT библиотечного файла TURBO.TPL и становятся доступными только песле использования в начале программы предложения: USES CRT.

Процедура TEXTBACKGROUND (<цвет>) позволяет устанавливать цвет фона экрана. TEXTCOLOR(<цвет>) – процедура, с помощью которой устанавливается цвет выводимых на экран символов. В модуле CRT определены следующие константы цветов для процедур TEXTBACKGROUND и TEXTCOLOR:

CONST

BLACK = 0 ;{черный}

BLUE = 1 ;{синий}

GREEN = 2 ;{зеленый}

CYAN = 3 ;{голубой}

RED = 4 ;{красный}

MAGENTA = 5 ;{фиолетовый}

BROWN = 6;{коричневый}

LIGHTGRAY = 7;{светло-серый}

DARKGRAY = 8;{темно-серый}

LIGHTBLUE = 9;{ярко-синий}

LIGHTGREEN = 10;{ярко-зелёный}

LIGHTCYAN = 11;{ярко-голубой}

LIGHTRED = 12;{розовый}

LIGHTMAGENTA = 13;{малиновый}

YELLOW = 14;{желтый}

WHITE = 15;{белый}

BLINK = 128;{мерцание символа}

Для опасания фона используются первые семь цветов, а если аргумент процедуры больше 7, цвет определяется остатком от деления аргумента на 8.

WINDOW (X1,Y1,X2,Y2) – процедура установки границ активного окна (X1,Y1 – координаты левого верхнео угла окна, X2,Y2 – координаты правого нижнего угла окна). Координаты определяются относительно леаого верхнего угла экрана, который имеет координаты 1,1.

GOTOXY(X,Y) – процедура перевода курсора в заданную координатами X и Y точку экрана или окна. X – горизонтальная координата, Y – вертикальная координата.

CLRSCR – процедура очистки всего экрана дисплея или активного окна.

Практическая часть

Пример:

1. Вычислить площадь треугольника по двум сторонам и углу между ними. Угол вводится в градусах и переводится в радианы.

uses crt;

var

a,b: real; { длины сторон }

angle: real; ( величина угла в градусах }

area: real; { площадь треугольника }

begin

textbackground(blue); { цвет фона }

textcolor(green); ( цвет символов }

clrscr; ( очистка экрана }

writeln('Вычисление площади треугольника');

write('Введите длины двух сторон треугольника в одной строке (см.):');

readln(a,b);

write('Введите угол между сторонами в градусах: ');

readln(angle);

{ переводим угол в радианы }

angle:=angle*pi/180;

{ area=a*h/2, где h (высота треугольника) может быть }

{ вычислена по формуле: h=b*sin(angle) }

area:=a*b*sin(angle)/2;

writeln('Площадь треугольника:', area:7:3,' кв.см.');

readln;

end.

Задания для самостоятельного выполнения

Составьте программу «Вычисление заданного выражения при произвольных значениях переменных», ввод и вывод данных которого организован следующим образом:

  1. в указанном месте экрана открывается окно № 1 с заданными цветами фона и символов, в котором выводится выражения для вычисления Y и вводятся значения переменных A и B.

  2. в указанном месте экрана открывается окно № 2 с заданными цветами фона и символов, в котором выводиться результат вычесления выражения Y.

Индивидуальные задания:

Вариант

Параметры задания

Расположение окна №1

Расположение окна №2

Цвет фона/символа экрана

Цвет фона/символа окна №1

Цвет фона/символа окна №2

Выражение Y

1

Слева вверху

Слева внизу

1/9

1/14

2/10

Y=(A+3*B)/(B-A)

2

Слева внизу

Справа вверху

1/13

2/12

3/9

Y=(A-3*B)/(B+A)

3

Спрва вверху

Слева вверху

2/11

3/10

4/8

Y=(A*4-3*B)/(2*B-A)

4

Справа внизу

Слева вверху

3/9

4/8

5/7

Y=(A/2+3*B)/(B*A)

5

Слева вверху

Справа вверху

4/7

5/15

6/11

Y=(A+3/B)/(B-11*A)

6

Слева внизу

Справа внизу

5/14

6/13

0/12

Y=(A*6-3*B*B)/(B-A)

7

Справа вверху

Слева внизу

6/12

0/11

1/13

Y=(A/3+3*B)/(B/2-A)

8

Справа внизу

Слева внизу

0/10

3/9

4/14

Y=(A+B/3)*(B-A)/2

9

Слева вверху

Справа внизу

1/8

5/7

6/15

Y=(A*12-3*B)/(B-3*A)

10

Слева внизу

Слева вверху

2/15

0/14

1/6

Y=(A+3*B)*(B-A)/2

11

Справа вверху

Справа внизу

3/13

2/12

4/5

Y=(A-5*B)/(B+9*A)

12

Справа внизу

Справа вверху

4/11

5/10

6/0

Y=(A-3*B/2)/(3*B-A)

13

Слева внизу

Справа внизу

5/9

0/8

5/15

Y=(A*A+B*B)/(B-A)

14

Справа вверху

Слева внизу

6/7

2/15

1/9

Y=(A+3*B)/(B-4*A)

15

Справа внизу

Слева внизу

0/14

4/13

5/3

Y=(A+B/5)/(B-A/2)

16

Слева вверху

Справа внизу

1/6

6/11

0/11

Y=(2*A-B/2)/(2*B-B)

17

Слева внизу

Справа вверху

2/4

5/9

1/9

Y=(2A+3*B/5)/(4*B-A)

18

Слева вверху

Справа внизу

3/11

4/12

2/10

Y=(A-B*B/2)/(3*B-A)

19

Слева внизу

Справа вверху

4/5

3/5

3/8

Y=(A/3-3*B*B)/(7*B-A)

20

Слева внизу

справа внизу

5/12

2/7

4/11

Y=(2/A-B*B/2)/(4*B-A)

21

Слева вверху

Справа внизу

6/8

1/11

5/14

Y=(B*A-3/2*B)/(2*B-A)

22

Слева вверху

Справа внизу

5/7

6/12

6/9

Y=(B-A-3*B*A/2)/(5-B)

23

Справа вверху

справа внизу

4/2

0/15

0/13

Y=(A*3-7*B/2)/(3*B-A)

24

Слева вверху

Справа вверху

3/13

4/7

2/14

Y=(A-3*B/2)/(3*B-A/6)

25

Справа внизу

Справа вверху

2/14

2/5

4/6

Y=(2*A-3*B/2)/(3*A-B)

Контрольные вопросы

  1. В каких режимах может работать экран дисплея?

  2. Что общего и в чем разница между двумя режимами?

  3. Как осуществляется управление экраном в текстовом режиме?

  4. Какая процедура устанавливает цвет фона экрана?

  5. С помощью какой процедуры можно устанавливать цвет выводимых на экран символов?

  6. Как задается палитра цветов?

  7. Если аргумент процедур задания цвета больше 7, то как в этом случае опеделяется цвет?

  8. Как установить границы активного окна?

  9. Какую процедуру использовать для перевода курсора в заданную позицию?

  10. Как очистить экран от предыдущих результатов?