Рисование параболы

Рассмотрим следующую задачу: изобразить с помощью Чертежника график функции (параболу) у = х2. Условие этой задачи нуждается в уточнении. Во-первых, нарисовать весь график нельзя — ведь он бесконечен. Поэтому будем рисовать только его часть, например от х = 0 до х = 2. Во-вторых, Чертежник не умеет рисовать ничего, кроме отрезков, а график функции у = х2 — это кривая. Поэтому параболу придется заменить ломаной. Если вершины ломаной лежат на параболе и звенья ломаной очень короткие, то ломаная на вид почти не отличается от параболы. На рисунке 59, а ломаная имеет 4 звена, на рисунке 59, б — 10 звеньев, на рисунке 75, в — 100 звеньев.

Рис. 59

В общем случае с помощью Рисование параболы Чертежника можно изобразить параболу на некотором участке (от а до b) в виде ломаной из какого-то числа звеньев (п).

Будем рисовать ломаную слева направо, начиная от точки (а,а**2) и кончая точкой (b,b**2). От вершины к вершине будем перемещаться с помощью команды Чертежника сместиться в точку.

Используем вещественную величину х для запоминания x-координаты очередной вершины ломаной.

Разобьем отрезок от а до b на п равных частей длины d = (b -а)/п (рис. 60).

При рисовании очередного звена ломаной величину х надо просто увеличивать на d— это можно сделать с помощью команды присваивания

х := х + d:

А54


алгпарабола (арг веща, b Рисование параболы, арг целn)

даноn > 0 | перо Чертежника поднято

надо| нарисован график функции у = х**2 на участке от а до b

| в виде ломаной из n звеньев; перо в точке (b, b**2) и поднято

нач вещх, d

х := а; d := (b - а)/n

сместиться в точку (а, а**2)

опустить перо

нц n раз

х := х + d

сместиться в точку(х, х**2)

кц

поднять перо

кон

При выполнении вызова "парабола (0, 2, 10)" компьютер выдаст Чертежнику последовательно 13 команд:

сместиться в точку (0, 0)

опустить перо

сместиться в точку (0.2, 0.04)

сместиться в точку (0.4, 0.16)

сместиться в точку (0.6, 0.36)

сместиться в точку (0.8, 0.64)

сместиться в точку (1.0, 1.00)

сместиться в точку (1.2, 1.44)

сместиться в точку (1.4, 1.96)

сместиться в точку (1.6, 2.56)

сместиться в точку (1.8, 3.24)

сместиться в точку (2.0, 4.00)

поднять перо

и Чертежник нарисует Рисование параболы параболу на участке от 0 до 2 в виде ломаной из 10 звеньев.

Рис.60.

ЗАДАЧИ И УПРАЖНЕНИЯ

1. Значение величины х равно 3. Чему оно будет равно после выполнения команды:

а) х := 5; б) х := х + 5; в) у := х?

2... После выполнения команды

а) х := х+5; б) х :=-х; в) у := х

или серии команд

г) у := 1; х := х + у; д) у := х; х := у

значение величины х стало равно 3. Чему было равно значение величины х до выполнения в каждом из этих случаев?

3. После выполнения команды присваивания х := х + у значение величины х равно 3, а значение у равно 5. Чему были равны значения величин х и у до выполнения команды Рисование параболы?

4. Значение величины х равно а, значение у равно b. После выполнения каких из указанных ниже последовательностей команд значения величин х и у поменяются, т. е. х станет равно b, а у станет равно а?

а) х := у б) t:=х в) х := х + у г) t:= х

y := х х := у у := х - у у := t

у := t х := х - у х := у

5. Опишите, что произойдет при выполнении алгоритма "вниз сквозь стену" для начальных положений Робота, указанных на рисунке 61.

Рис. 61

6. Дан алгоритм:



А55
алгграфик (арг вещb, арг целn)

даноn > 0 I перо Чертежника поднято

надо| нарисован график некоторой функции на участке от 0

| до b в Рисование параболы виде ломаной из n звеньев; перо в конце графика и поднято

нач вещх,d, v

х := 0; b := b/n

сместиться в точку (0, 0)

опустить перо

нц n раз

v := 2*х*d + d*d; х := х + d

сместиться на вектор (d, v)

кц

поднять перо

кон

а) Как будет выглядеть память ЭВМ при выполнении вызова "график(2, 10)"?

б) Что нарисует Чертежник при выполнении этого вызова?

7. Робот находится перед входом в тупик, идущий вправо. Составьте алгоритм, при выполнении которого с помощью Чертежника будет нарисован график радиоактивности в тупике (считая, что единица масштаба по оси Ох равна размеру клетки на поле Робота).

8. Составьте алгоритмы со следующими заголовками:

а) алгвниз до стены закрасить и Рисование параболы вернуться

дано| где-то ниже Робота есть стена

надо| Робот дошел до этой стены, закрасил клетку

| и вернулся в исходное положение

б) алгзакрасить клетку в правом нижнем углу

дано|Робот где-то внутри прямоугольника, огороженного стенами, других стен нет

надо|Робот закрасил клетку в правом нижнем углу

|прямоугольника и вернулся в исходное положение

в) алготойти вдвое дальше от левой стены

дано|где-то левее Робота есть стена, других стен нет

надо| Робот отошел вправо на расстояние от стены вдвое большее, чем исходное

г) алгсимметрия

дано|где-то ниже Робота есть горизонтальная стена длиной в одну клетку, других стен нет

надо|Робот оказался в положении, симметричном исходному относительно стены

д) алгсимметрия

дано|где Рисование параболы-то ниже Робота есть горизонтальная стена,

|которая и вправо и влево кончается, других стен нет

надо|Робот оказался в положении, симметричном исходному относительно стены

е) алгобойти прямоугольное препятствие

дано| Робот над прямоугольником, огороженным стенами, других стен нет

надо| Робот под прямоугольником на той же вертикали

ж) алгвниз сквозь бесконечную стену

дано|Робот над горизонтальной стеной, в одну сторону

|уходящей в бесконечность, других стен нет

надо|Робот под стеной на клетку ниже исходного положения

9. Робот находится в левом верхнем углу прямоугольника, огороженного стенами. Составьте алгоритм, после выполнения которого, Робот будет стоять в клетке с минимальным уровнем радиации.


documentbdkwpuf.html
documentbdkwxen.html
documentbdkxeov.html
documentbdkxlzd.html
documentbdkxtjl.html
Документ Рисование параболы