Найти тему

Решаем уравнение с помощью Pascal

Почему бы не порешать немного уравнений?
Почему бы не порешать немного уравнений?

Итак, день добрый, товарищи! Во первых хочу сразу предупредить что я не этот ваш математик, поэтому я буду называть данное математическое выражение уравнением. Удобнее мне так.

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

Если вдруг вы искали решения квадратных уравнений и дискриминантов - ссылка на статью будет внизу этой публикации!

Начнем же писать

Переменные, которые нам понадобятся
Переменные, которые нам понадобятся

Для начала определимся с переменными. Данное выше уравнение можно отобразить таким образом:

X^2 + Y^2 / √X * Y

Соответственно первые две наших переменных это Х и У. Переменные chs и znm являются соответственно числителем и знаменателем данного примера, ну а переменная answ, как, думаю, понятно из названия это answer, ответ.

Тип данных для этих переменных мы выберем real, число с плавающей точкой. Потому что очень сомневаюсь что ответ мы получим в виде целого числа при делении одного рандомного числа на другое. Подробнее об основных типах данных я писал в предыдущей публикации, вот на всякий случай ссылка:

Усложняем HelloWorld на Pascal. Введение в переменные

// - так делаются комментарии
// - так делаются комментарии

После объявления переменных стартует программа (c begin конечно) и здесь мы видим нечто новое: зеленую надпись - комментарий. Комментарии необходимы для записей важной (или любой другой) информации для разработчика, и никак на работу программы не влияют. Видит их только тот кто читает или пишет код. В Pascal комментарии начинаются с двух слешей //.

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

Найдем числитель и знаменатель
Найдем числитель и знаменатель

Команда sqr() это всего - навсего возведение в квадрат, того же самого можно добиться так: x * x.

Команда sqrt() это почти то же самое, только квадратный корень, а команда round() - округление до указанного количества знаков после запятой. В данном случае я выбрал три.

А теперь еще раз: chs присваивается числитель дроби, тоесть x в степени 2 плюс y в степени 2

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

Добрались до ответа
Добрались до ответа

Вот и ответ. Снова используем функцию round() для отсечения всякого лишнего - ненужного и выводим получившиеся значения.

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

Не забываем end. в конце. Посмотрим на то что получилось на выходе:

1)

Если использовать функцию round( )
Если использовать функцию round( )

2)

Если функцию round( ) не использовать
Если функцию round( ) не использовать

Итак, мы нашли решение уравнения, 5 нам по математике. В целом вместо этого уравнения можно решить таким же способом множество других внеся изменения лишь в пару строчек. На сегодня на этом все!

Вот, как обещал, ссылка на статью с решением квадратных уравнений на Паскале:

Квадратные уравнения на Pascal. Находим дискриминант.

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

По возможности я попросил бы подписаться. Сейчас это критически важно для развития канала. Так то!

Доброго вам всем здоровьица в эти трудные времена!