Если у прямой А и В = 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
{ - - - - - - - - - - - - - }
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.