Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Paskal_1.doc
Скачиваний:
23
Добавлен:
10.04.2015
Размер:
1.21 Mб
Скачать

ЛабораторнаЯ работа № 6 Двойные и кратные циклы

Целью работы является освоение программирования алгоритмов с двумя вложенными циклами.

Примером такой задачи является вычисление двойной суммы, для которой укрупненная блок-схема алгоритма представлена на рисунке 6.1.

Пример:вычислить с точностью до 0.001.

Здесь внешней суммой является сумма по i, а внутренней¾сумма поj. Можно рассматривать вычисление этих сумм отдельно, учитывая что вычисление внутренней суммы является частью вычисления внешней суммы, то есть телом внешнего цикла.

Рис.6.1. Укрупненная блок-схема алгоритма вычисления двойной суммы.

Варианты заданий

Номер вари­анта

Вычислить

Точность вычислений e

1

2

3

4

5

6

7

8

9

10

Номер вари­анта

Вычислить

Точность вычислений e

11

12

13

14

15

16

17

18

19

20

Номер вари­анта

Вычислить

Точность вычислений e

21

22

23

24

25

26

27

28

29

30

ЛабораторнаЯ работа № 7 Построение графиков в текстовом режиме

Целью работы является ознакомление с использованием простейших функций текстового режима работы монитора на примере построения графиков. В этом режиме из-за невозможности проведения как сплошных линий, так и по точкам (пикселам), графики функций выводятся символами, аналогично варианту, приведенному на рис.7.1.

Ширина графика может задаваться произвольно, но необходимо учитывать, что стандартный размер экрана 25 строк по 80 символов. Таким образом, разрешающая способность устройства отображения ограничена отведенным количеством позиций. Кроме этого, разрешение зависит и от выбранного масштаба: если масштаб выбран неправильно, то часть точек функции может выйти за пределы отведенного поля и не вывестись, или может занимать узкий промежуток в несколько позиций и даже превратиться в прямую линию. Поэтому по максимальному размаху функции и определяется масштаб, чаще всего автоматически.

Для определения размаха функции предварительно необходимо для всех точек выводимого графика определить минимальное и максимальное значение функции. Они должны быть выведены в крайней левой и в крайней правой позициях графика соответственно, то есть определяются координаты первой и последней позиций поля графика.

Если функция приблизительно симметрична относительно нулевой оси Х, то эту ось можно провести по центру графика, а максимальное значение функции определяется по модулю. При этом минимальное значение принимается равным максимальному.

Если функция принимает только положительные значения, тогда Fmin = 0, если только отрицательные, ¾находится значение Fmin, а Fmax = 0.

Интервал DР, приходящийся на одну позицию, вычисляется как частное от деления Fmax-Fmin на общее количество позиций, отведенных для поля графика.

Наиболее наглядным получается график, если интервал задается числом с минимальным количеством значащих цифр. Например, лучше воспринимается шаг 0,5, чем 0,4589654. Поэтому можно вывести минимальное и максимальное значение функции, затем вручную откорректировать их и ввести новые значения.

Пример. Полученные значения Откорректированные значения

Fmin Fmax Fmin Fmax

0,253477 2,879947 0 3

-1,74589 1,8745 -2 2

-0,79666 5,698451 -1 6

Рис.7.1. График функции (a) и ее изображение на экране дисплея (б) по позициям, причем n - номер строки.

Для упрощения составления программы можно воспользоваться функциями поддержки текстового режима монитора, находящимися в модуле Crt. Подключение этого модуля к программе осуществляется указанием его имени в спецификации списка подключаемых модулей, стоящем сразу же за заголовком программы:

Uses Crt;

После этого подпрограммами модуля можно пользоваться как стандартными. В данной работе можно использовать следующие процедуры:

ClrScr¾очистка экрана и установка курсора в левый верхний угол экрана с координатами 1,1.

GoToXY(X,Y:byte)¾процедура перемещает курсор в позицию, заданную коор­динатами X (столбец) и Y(строка). Для стандартного режима диапазон Х=1..80 при увеличении слева направо и Y=1..25 при увеличении сверху вниз. Аргументы процедуры должны быть обязательно типа байт (byte).

Прежде чем выводить поле графика, необходимо вывести его заголовок, анало­гично выводу заголовка таблицы. В заголовке указывается выводимая функция, шаг изменения функции DP, минимальное и максимальное значения, которое принимает функция.

При выводе графика можно использовать любые символы, например 0 для обозначения нулевой оси Х, а символ звездочка для обозначения точек функции. Данным способом можно выводить на одном поле графики нескольких функций. В этом случае каждая функция обозначена своим символом, которые указываются в заголовке. Вычисление Fmin и Fmaх производится одно для всех функций.

Кроме печати строки графика здесь же слева выводится и соответствующая координата по оси Х. То есть поле графика будет меньше максимально возможного.

Таким образом, начало вывода графика функции может быть таким, как представлено на рис.7.2.

График функций Sin(X) - символ * и Cos(X) - символ Х

-1 Шаг=0.04 1

------------------------------------------------- 0 ------------------------------------------>

0.0 * X

0.2 0 * X

Рис.7.2. Пример начала вывода графика функции.

Если в цикле не увеличивать, а уменьшать значение Y в процедуре GoToXY, то направление графика можно сделать вверх.

Для каждой строки графика:

а) выводится значение Х (получается в столбик);

б) выводится ось X (возможно в некоторых строках она перекроется символами функций);

в) анализируется позиция, в которой будет находиться символ, обозначающий первую функцию, из условия (Начальное значениеjберется с учетом отступа для столбца Х), символ выводится процедуройGoToXY;

г) такие же действия выполняются для второй функции.

В итоге получаем укрупненную блок-схему алгоритма вычисления и вывода графика на экран, которая приведена на рис.7.3.

Рис.7.4. Общая блок-схема алгоритма вывода графиков функций.

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