Составьте программу которая определяет вид треугольника по длинам его сторон

Углы треугольника можно найти через площадь, поскольку .

Чтобы воспользоваться этой формулой для нахождения угла, нужно найти длины сторон треугольника.

/* Это определение необходимо включать перед подключением математической библиотеки для использования математических констант */

using namespace std;

//функция Len, которая будет находить длину отрезка между двумя точками,
// используя формулу :

double Len (double x1, double y1, double x2, double y2)

return sqrt(pow(x1-x2,2) + pow(y1-y2,2));

/* Следующая функция будет находить угол между двумя сторонами в градусах. В качестве аргументов функция должна получать дли­ны двух сторон и площадь треугольника */

double Angle(double a, double b, double s)

double x = 2*s / (a*b); //x – это

// находим угол и переводим его в градусы

return asin(x) * 180 / M_PI;

Источник: mydocx.ru

Вычисление площади треугольника через основание и высоту в программе на языке Паскаль

алгоритм определения существования треугольника с заданными длинами сторон в паскале

Определить возможность существования треугольника по сторонам

Задача

Треугольник существует только тогда, когда сумма любых двух его сторон больше третьей.

Требуется сравнить длину каждого отрезка-стороны с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует.

Решение

Ниже приведены решения задачи на языке программирования Паскаль двумя способами. В первом случае все стороны проверяются в одном операторе if; во втором случае каждое условие проверяется отдельно, а программа содержит вложенные операторы if-else.

Программа 1 (предпочтительный способ решения):

В данном случае существование треугольника проверяется по-этапно. Если первое условие возвращает ложь, то программа переходит к последнему else. Если же первое условие соблюдено, то поток выполнения программы оказывается у вложенного if. Здесь проверяется уже второе условие. Если оно возвращает ложь, то программа переходит к предпоследнему else.

Если и второе логическое выражение возвращает истину (true), то программа идет к третьему условию. При его соблюдении выполняется тело самого вложенного оператора if. При его несоблюдении сработает самое вложенное else.

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

Возможность существования треугольника

Написать программу, которая для заданных координат трех точек
определяет возможность существования этого треугольника с вершинами в этих точках.
Треугольник существует тогда, когда сумма двух его любых сторон больше третей стороны.

Вычисление площади и периметра прямоугольника в Паскаль


Для нахождения длины стороны треугольника используйте формулу (См. картинку).
Если треугольник существует – нарисуйте его на экране.

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

где x1, y1 – координаты первой вершины стороны
x2, y2 – координаты второй вершины стороны.

Помогите! Не знаю как решить!

Проверка существования треугольника
program function trg(x,y,z:real):boolean; begin trg:=(x+y>z)and(x+z>y)and(y+z>x) end;.

tick

Функция проверки существования треугольника
Помогите пожалуйста написать функцию проверки существования треугольника

Решение

Вообще условие не очень корректное. Зачем определять длины сторон, если три точки всегда образуют треугольник, только вырожденный когда его площадь=0(лежат на 1 прямой).
Удвоенная площадь треугольника по координатам вершин
S:=abs((x1-x3)*(y2-y3)-(x2-x3)*(y1-y3));
Если она=0 это не треугольник, иначе по этим точкам рисуем треугольник.

Добавлено через 30 минут
Но раз нужен бред, то так.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Определить возможность существования треугольника по заданным длинам сторон
Даны 3 положительных числа. Составьте программу для определения возможности построения треугольника.

Даны два треугольника. Определить площадь какого треугольника больше. Процедурой
Даны два треугольника. Определить площадь какого треугольника больше. Решить с помощью процедуры :).

Определение типа треугольника по длинам сторон

По длинам сторон треугольника определить периметр, площадь, углы, медианы, высоты.
По данным значениями длин сторон треугольника a, b, c вычислить его а) периметр; б) площадь; в).

Найти третью сторону, периметр и площадь треугольника по длинам двух сторон и углу между ними
1)математическая модель. 2)алгоритм решения. 3)программа решения. Треугольник задан длинами.

По длинам двух сторон и углу между ними найти длину третьей стороны и площадь треугольника
Добрый день! Помогите, пожалуйста, решить задачу. Составить программу для вычисления по.

Читайте также:
Программа игл секьюрити отзывы

тут даны 3 стороны

определите, является ли три числа(длины сторон) прямоугольным, тупоугольным и остроугольным треугольником

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Найти по длинам сторон треугольника его углы
Pleaaase,помогите решить задачку в Паскале: Треугольник задан длинами сторон.Найти углы.

tick

По длинам сторон треугольника опредедить, является ли он прямоугольным
Здравствуйте. Помогите составить программы на Pascal. Заранее спасибо. 1) Написать программу.

Определить возможность существования треугольника по заданным длинам сторон
Даны 3 положительных числа. Составьте программу для определения возможности построения треугольника.

tick

Вычислить периметр существующего треугольника по длинам трех сторон
Вычислить периметр существующего треугольника по длинам трех сторон(информатика)

Задача «Треугольник»

Заданы длины трех отрезков a, b, c. Необходимо определить, можно ли из них составить треугольник. В случае утвердительного ответа определить его тип: остроугольный, прямоугольный или тупоугольный.

Вход. Три целых числа a, b, c – длины трех отрезков.

Выход. Строка, содержащая информацию о треугольнике: “ACUTE”, если он остроугольный, “RIGHT” если прямоугольный и “OBTUSE” если тупоугольный. Если из трех отрезков составить треугольник нельзя, то вывести “NONE”.

Из трех отрезков a, b, c можно составить треугольник, если выполняется неравенство треугольника: сумма длин двух любых сторон треугольника строго больше длины третьей.

Из теоремы Пифагора следует, что треугольник со сторонами a, b, c является прямоугольным, если выполняется одно из следующих равенств:

a 2 = b 2 + c 2 или b 2 = a 2 + c 2 или c 2 = a 2 + b 2

Треугольник будет остроугольным, если квадрат каждой стороны строго меньше суммы квадратов двух других сторон. То есть одновременно выполняется три неравенства:

Треугольник является тупоугольным, если существует такая сторона, квадрат которой строго больше суммы квадратов двух других сторон. То есть выполняется одно из трех неравенств:

a 2 > b 2 + c 2 или b 2 > a 2 + c 2 или c 2 > a 2 + b 2

if ((a >= b + c) or (b >= a + c) or (c >= a + b))

then res := ‘NONE’ else

if ((a*a = b*b + c*c) or (b*b = a*a + c*c) or (c*c = a*a + b*b))

then res := ‘RIGHT’ else

then res := ‘ACUTE’ else

Задача решена, но имеет один недостаток. При проверке типа треугольника приходится каждый раз проверять три условия: в каждом из условных операторов if стоит три выражения. Можно сделать так, что в каждом условном операторе будет стоять лишь одно условие. Подумайте, как это сделать?

Например, в языке Си, отсортировать три числа можно так:

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

Если мы сможем эффективно отсортировать числа a, b, c, то программа примет вид:

if c >= a + b then res := ‘NONE’ else

if c*c = a*a + b*b then res := ‘RIGHT’ else

Заданы три числа a,b,c. Определить могут ли они быть сторонами треугольника

tick

Заданы три числа a,b,c. Определить могут ли они быть сторонами треугольника
Определить,имеет ли отрезки a,b и с являться сторонами треугольника и если могут, то какого.

Определить, могут ли числа быть сторонами треугольника
Решите задачу, составив алгоритм и написав программу на Паскале: Заданы 3 числа: a, b и c.

tick

Введите три числа. Если они могут быть длинами сторон прямоугольного треугольника, выведите их в порядке возрастания
Введите три числа. Если они могут быть длинами сторон прямоугольного треугольника, выведите их в.

Задание: Заданы три числа a,b,c. Определить могут ли они быть сторонами треугольника, если да, то определить его тип : равносторонний, равнобедренный, произвольный.

Вот програмный код, только он почему то не работает, что в нем не так?

Добавлено через 2 минуты
Может ты вводишь неправильно. В Турбо Паскале, если написано

И как быть в данной ситуации?

Добавлено через 31 минуту
Если вы говорите что у Вас программа запускается, не могли бы Вы запустить ее и сделать несколько скриншотов. Только что б разные треугольники были. За ранее благодарен.

но на всякий случай,вот ехе-шник

task.rar (4.5 Кб, 10 просмотров)
Программа.rar (33.4 Кб, 16 просмотров)

Помощь в написании контрольных, курсовых и дипломных работ здесь.

tick

Пусть даны три числа. Если они могут быть длинами сторон треугольника, определите его вид
Пусть даны три числа.Если они могут быть длинами сторон треугольника, определите его.

tick

Если три заданных числа могут быть сторонами остроугольного треугольника, то вычислите его площадь
Даны три положительных числа. Если они могут быть длинами остроугольного треугольника, то вычислите.

Заданы три числа: а, b, c. Определить, могут ли они быть сторонами треугольника
Заданы три числа: а, b, c. Определить, могут ли они быть сторонами треугольника, и если да, то.

Читайте также:
Как создать папку для программ

tick

Даны три числа. Могут ли они быть сторонами треугольника?
Написать программу: Даны произвольные числа a, b и с. Если нельзя построить треугольник с такими.

Источник: folkmap.ru

Определение вида треугольника по трем сторонам

Напишем сценарий, который определяет, можно ли построить треугольник с заданными длинами сторон. Если треугольник построить можно, то дополнительно требуется определить его вид: остроугольный, прямоугольный или тупоугольный. Информация о длинах сторон вводится с помощью текстовых полей как показано на рис. 2.1.

Рис. 2.1. Определение вида треугольника

Для того чтобы можно было построить треугольник с длинами сторон a, b, с должно быть выполнено условие, что длина каждой из сторон меньше суммы двух других. В сценарии поступим следующим образом: упорядочим по убыванию длины предполагаемых сторон, а затем проверим неравенство a < b+c, предполагая, что a – наибольшая длина. HTML- код документа приведен в листинге 2.4.

Листинг 2.4. Определение вида треугольника по трем заданным сторонам

Вид треугольника по трем заданным сторонам

function tr (obj)
< var a = Number(obj.num1.value);
var b = Number(obj.num2.value);
var c = Number(obj.num3.value);
var l
var r
var t= «треугольник »
if (a < b)

if (a < c)

// a — наибольшее из a, b, c
if (a < b+c)
< r = a*a — b*b — c*c
if (r < 0)
t +=»остроугольный»
else
if (r == 0)
t +=»прямоугольный»
else
t +=»тупоугольный»
>
else
t +=»построить нельзя»
obj.res.value=t
>
//—>

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

Длина стороны 1:
Длина стороны 2:
Длина стороны 3:

Переменная l используется при сортировке трех значений для обмена значениями двух переменных. Строковая переменная m запоминает вид треугольника. Значение переменной m помещается в поле для результата.

Награждение участников конкурса

Каждый участник конкурса представляет семь работ. Каждая из работ оценивается 3, 5, 7, 10 баллами. Участники конкурса награждаются дипломами разной степени в зависимости от результатов оценки работ. Участникам, все работы которых оценены высшей оценкой, награждаются дипломами первой степени.

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

Создадим анкету участника. В анкете указываются оценки за представленные работы. При обработке анкеты указывается, награждается участник дипломом или нет.

При решении задачи поступим следующим образом. Сначала определим наибольший балл, который был получен участником, затем найден наименьший балл за представленные работы. Дипломом первой степени награждается участник, у которого минимальная из полученных оценок равна 10. Если минимальная оценка равна 7, а максимальная 10, то такому участнику присуждается диплом второй степени.

Если значения минимальной и максимальной оценок совпадают и равны 7, то это означает, что все работы участника оценены баллом 7. Такой участник получает диплом третьей степени. HTML- код со сценарием решения задачи представлен в листинге 2.2.

В сценарии переменная t хранит максимальную из оценок, переменна l- минимальную из оценок. Объект Math содержит метод max, который позволяет определить максимальное значение из двух заданных. Метод Math.min определяет минимальное значение из двух заданных. В сценарии, приведенном в листинге 2.5, для вычисления максимального и минимального значения из семи заданных использовались методы объекта Math.

Листинг 2.5. Использование методов объекта Math

function st (obj)
< var a = Number(obj.num1.value);
var b = Number(obj.num2.value);
var c = Number(obj.num3.value);
var d = Number(obj.num4.value);
var e = Number(obj.num5.value);
var f = Number(obj.num6.value);
var g = Number(obj.num7.value);
var l // минимальная оценка
var t // максимальная оценка
var m = 0
t=Math.max(Math.max(Math.max(a,b),Math.max(c,d)),
Math.max(Math.max(e,f),Math.max(f,g)))
l=Math.min(Math.min(Math.min(a,b),Math.min(c,d)),
Math.min(Math.min(e,f),Math.min(f,g)))
if (l == 10)
else
if ((t == 10) (l == 7))
else
if ((t == 7) (l == 7))
if (m==0)
obj.stip.value=»К сожалению, Вам диплом не присужден»
else
obj.stip.value=»Вам присужден диплом «+m+» степени»
>

Оператор switch и его свойства

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

где B — выражение, L1, L2,…,Ln — литералы, S1, S2,…,Sn, S — операторы.

Выполнение переключателя происходит так: вычисляется значение выражения B. Если значение B равно L1, то выполняются операторы S1, а затем все остальные операторы либо до первого оператора break, либо до конца оператора switch. Если значение B равно L2, то выполняются операторы S2, а затем все остальные операторы либо до первого оператора break, либо до конца оператора switch и т.д. Если же значение B не равно ни одному из значений L1,L2,…,Ln, то выполняются операторы S. Часть default: S может отсутствовать, тогда переключатель имеет вид

Читайте также:
Программа репост не работает

В этом случае если значение выражения B не равно ни одному из значений L1,L2,…,Ln, то оператор switch завершает свою работу, он эквивалентен пустому оператору. На самом деле переключатель удобно записывать в виде

Оператор break обеспечивает завершение работы переключателя после выполнения очередного варианта.

Путешествуя по сети Интернет, можно сделать много полезных вещей, например, подписаться на электронное издание. Предположим, что с помощью анкеты, размещенной на Web- странице, пользователь хочет оформить подписку. Стоимость редакционной подписки зависит от срока подписного периода. Если выбирается один месяц, то стоимость 60 рублей, если подписка оформляется на 3 месяца, то стоимость 168 рублей, если 6 месяцев, то 312 рублей, и подписка на 12 месяцев стоит 540 рублей.

Вычисление стоимости подписки

Создадим документ, в котором пользователь вводит срок подписного периода (1,3,6,12) месяцев, и в зависимости от этого определяется стоимость подписки.

Решить эту задачу можно, используя как в предыдущем случае, условный оператор. Однако в данном случае сценарий будет нагляднее и короче, если мы воспользуется оператором switch.

HTML- код документа представлен в листинге 2.6.

Листинг 2.6. Вычисление стоимости подписки

Стоимость подписки

function def (obj)
< var n =Number(obj.num.value)
d= document
var s=»»
switch (n)
< case 1: s=60; break;
case 3: s=168; break;
case 6: s= 312; break;
case 12: s=540; break;
default: s=»неверен срок подписного периода»
>
obj.res.value=s
>
//—>

Вычисление стоимости подписки

Введите срок подписного периода:

Стоимость подписки:

Определение по номеру дня его названия

Напишем программу, которая по номеру дня определяет его название. Задачу можно решить с использованием условных операторов, в этом случае программа будет ненаглядной. При решении такого рода задач удобно использовать переключатель. Переменной s в зависимости от номера дня недели будет присвоено его название. Приведем HTML- код документа, содержащего требуемый сценарий, в листинге 2.7.

Листинг 2.7. Определение по номеру дня его названия

Идея единства данных и подпрограмм занимает одно из основных мест в объектно-ориентированном программировании. В языке JavaScript идея процедурных типов данных реализована с помощью функции eval. Функция eval получает в качестве параметра строку. Если строка представляет собой выражение языка JavaScript, то вычисляется ее значение и возвращается как результат функции eval. В предыдущей главе приводился сценарий, в котором пользователь мог задать функцию и точку, в которой требовалось вычислить значение функции.

Функция может быть такова, что ее нельзя описать с помощью лишь одного выражения, например, следующий фрагмент сценария определяет функцию f3:

Метод eval может быть использован для выполнения операторов языка JavaScript, включенных в строку параметра. Таким образом, при задании функции можно вводить не только формулу, как мы поступали ранее, но и операторы. Используя метод eval, мы получили возможность задавать в качестве исходных данных функцию, и тем самым решать целый класс однотипных задач.

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

Оператор цикла while

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

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

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

Оператор цикла арифметического типа

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

Выражение A служит для инициализации параметра цикла. Вычисляется один раз в начале выполнения цикла. Выражение B (условие продолжения) управляет работой цикла. Если значение выражения ложно, то выполнение цикла завершается, если истинно, то выполняется оператор S, составляющий тело цикла. Выражение I служит для изменения значения параметра цикла.

После выполнения тела цикла S вычисляется значение выражения I, затем опять вычисляется значение выражения B и т.д. Цикл может прекратить свою работу в результате выполнения оператора break в теле цикла.

Анализ свойств объектов. Оператор for. in

Оператор for. in используется для анализа свойств объекта. Синтаксис оператора for (i in t) , где i — переменная цикла, t — объект, S — последовательность операторов. В результате выполнения оператора цикла производится перебор свойств объекта. Переменная цикла при каждом повторении содержит значение свойства объекта. Количество повторений тела цикла S равно числу свойств, определенных для объекта t.

В следующих главах при создании сценариев мы часто будем использовать операторы цикла.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru