Составление программы для выбора прямых из множества прямых, заданных коэффициентами уравнения, страница 2

                  Если у прямой А и В = 0 , то эта прямая не подвергается нашему рассмотрению т.к. не является прямой .

Пункт 3 : В основу определения углов меньше заданного , лежит циклический процесс сравнения углов м/у прямыми ( из взаимно перпендикулярных ) и Ось ОХ с заданным углом . Цикл с за – ранее неизвестным числом повторений . Т.к. угол – это величина периодическая , а угол м/у прямыми ( 0 ≤ α ≤ 90 ) , то надо изначально заданный угол загнать в подходящие рамки . При определении перпендикулярных прямых , не имеющих коэф.   А и В = 0 , записывать массив , в кот. вписывать углы м/у соответственной перпендикулярной прямой и Осью ОХ ( т.ч. угол k-ой прямой был k-ым членом нового массива , угол определять по формуле :                                              α = ABS(arctg(-А/В)/3.141592654*180) ) . Затем сравнивать получившиеся углы с заданным и параллельно выписываем подходящие прямые на экран или в файл , в зависимости от выбора метода вывода . Затем найти все прямые параллельные Оси ОХ из взаимно перпендикулярных прямых и выписать их ( если α <> 0 ) , т.к. угол м/у ними и Осью ОХ минимален .

Доп. Задание : В основу подсчета числа слов ‘ Writeln ’ , лежит последовательное рас – смотрение всех строчек получившейся программы . Заменяя k-ую строчку переменной str ищем в ней слов ‘ Writeln ’ , при нахождении включаем счетчик ( i := i+1 ) , удаляем найденное слово и рассматриваем эту строчку до тех пор пока в ней не кончатся ‘Writeln’.

Получившееся ‘i’  выписываем на экран или в файл , в зависимости от выбора метода вывода .

Конкретизация представленных данных

n         à   Целого типа ( число прямых )

A,B,C à   Вещественного типа ( коэффициенты прямой )

kof      à   Вещественного типа ( коэффициент ‘k’ прямой (Ax+By+C=0 à у = kx+b ))

ugol    à   Вещественного типа ( заданный угол )

f,r       à    Структурированный тип ( файловые перемен. с исх. данными и результатами )

g         à    Структурированный тип ( файл с составленной нами программой )

str       à    Символьный тип ( перемен. Для последовательного считывание строк из составленной)                 

                                                 ( программы )

i1,i2,d à   Целого типа ( Счетчики наличия прямых по Пунктам 1,2,3 )

i          à   Целого типа ( Счетчик кол-ва ‘ Writeln ’ )

Макеты ВВОДА - ВЫВОДА


1     Введите число прямых

2      < Значение n >

3     Введите коэффициенты A,B и С прямых

4     < Значение A >_< Значение B >_< Значение C>

…     …

…     …

…     …

8     Введите угол относительно Оси ОХ , с которым надо сравнивать

9     < Значение ugol >

10                                          RESULT

11   Пункт 1 : параллельность Оси ОХ

12    …

13    …

14   Пункт 2 : пары взаимно перпендикулярных прямых

15    …

16    …

17   Пункт 3 : Сравнение углов :

18    …

19    …

20   Доп.       : … - число повторений Writeln

21  

22  

23                                   G A M E  O V E R

24  

25  

26  

ПРИМЕР

В файле C:\in.log 

{ C:\in.log  }

7                             { Введите число прямых }

3 6 3                       { 'Введите коэффициенты A,B и С прямых }

-6 3 0

0 2 5

-4 2 -9

3 9 9

0 3 15

2 0 2

45                            { Введите угол относительно Оси ОХ , с которым надо сравнивать }

{ - - - - - - - -  }

RESULT В файле C:\out.rtf

{ C:\out.rtf } 

  | Задание # 1 : Перечень заданных прямых , || Оси OX :|

   - - - - - - - - - - - - - - - - - - - - - - - - - - - 

прямая #3 : 2.00y = 5.00

прямая #6 : 3.00y = -15.00

  | Задание # 2 : Перечень взаимено _|_ прямых :|

   - - - - - - - - - - - - - - - - - - - - - - - 

1-ая прямая _|_ 2-ой

1-ая прямая _|_ 4-ой

3-ая прямая _|_ 7-ой

6-ая прямая _|_ 7-ой

  | Задание # 3 : Перечень прямых (из взаимно  _|_ прямых)      |

  |              составляющих с осью  OX угол меньше заданного :|

   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Угол м/у 1-ой прямой и осью OX < заданного

Угол м/у 3-ой прямой и осью OX < заданного  (т.к. || Оси OX)

Угол м/у 6-ой прямой и осью OX < заданного  (т.к. || Оси OX)

 47 - число повторений Writeln

{ - - - - - - - - - - - - -  }