Постановка задания

Задание для всех вариантов звучит так (или, возможно, немного изменено, так как могут быть разные издания учебного пособия):

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

Варианты заданий

№ вар.Функция
1.Найти действительные корни биквадратного уравнения. Предусмотреть выдачу нужных сообщений.
2.Координаты заданных четырех точек на плоскости соединяются последовательно в порядке перечисления. Найти площадь получившейся фигуры.
3.Корабль может двигаться четырьмя курсами: на север, на юг, на запад и на восток. Капитан может дать команду на изменение курса: влево, вправо, вперед, назад. Определить новый курс корабля.
4.Решить систему двух линейных уравнений с двумя неизвестными . Предусмотреть выдачу сообщений: «нет решения», «бесконечное множество решений», «одно решение», «прямые параллельны или перпендикулярны».
5.Найти координаты точки пересечения прямой $y = kx + b$ и окружности заданного радиуса $r$ с центром в начале координат. В каких координатных четвертях находятся точки пересечения? Если точки пересечения нет или прямая только касается окружности, выдать соответствующее сообщение.
6.Поле шахматной доски задается парой натуральных чисел, первое из которых задает номер вертикали, а второе — номер горизонтали. Конь расположен на позиции $(a, b)$, а ладья — на $(c, d)$. Определить, угрожает ли конь ладье? Определить также, угрожает ли ладья коню?
7.Задают координаты трех точек на плоскости, которые последовательно соединяются между собой. Определить тип получаемого треугольника: прямоугольный, остроугольный, тупоугольный. Если треугольник построить нельзя, то сообщить, что точки лежат на одной прямой.
8.Задаются четыре различных числа: $a, b, c, d$. Выбрать из них три таких числа, которые составляют стороны треугольника наибольшей площади.
9.Координаты заданных четырех точек на плоскости соединяются последовательно в порядке перечисления. Определить вид получаемой геометрической фигуры: квадрат, прямоугольник, параллелограмм, трапеция, ромб, четырехугольник.
10.Координаты заданных четырех точек на плоскости соединяются последовательно в порядке перечисления. Является ли полученная фигура выпуклой?
11.Можно ли из прямоугольного металлического листа размером $a • b$ вырезать две прямоугольные заготовки размерами $c • d$ и $k • p$? Заготовки можно вырезать только параллельно сторонам листа.
12.С клавиатуры вводится номер года. Напечатать римскими цифрами век, к которому относится данный год.
13.Координаты заданных трех точек на плоскости соединяются последовательно в порядке перечисления. Определить площадь получаемого треугольника. Вычислить высоты и вывести их на экран в порядке возрастания.
14.Два прямоугольника, расположенные в первом квадранте, задаются координатами левого верхнего и правого нижнего углов. Вычислить площадь пересечения этих прямоугольников.
15.Образуют ли прогрессию цифры заданного четырехзначного числа? Определить вид и тип прогрессии.
16.Два отрезка на плоскости заданы координатами своих концов. Определить, имеют ли эти отрезки общие точки. Отрезки могут располагаться на одной прямой, на параллельных или пересекащихся прямых.
17.Заданы координаты вершин треугольника на плоскости. Вывести их значения в порядке обхода по часовой стрелке, начиная отсчет угла с оси $OY$.
18.Четырехугольник задается координатами своих вершин на плоскости. Определить, является ли он выпуклым.
19.Определить, лежат ли на одной прямой точки с координатами: $(x1; y1)$, $(x2; y2)$, $(x3; y3)$. Если точки лежат на одной прямой, то указать координаты точки, попавшей внутрь отрезка.
20.Заданы координаты трех вершин треугольника. Вводятся координаты четвертой точки. Определить, внутри или вне треугольника находится эта точка.
21.Заданы координаты вершин треугольника. Вывести расстояния от начала координат до вершин в порядке обхода против часовой стрелки, ведя отсчет от оси ординат.
22.Для двух окружностей одинакового радиуса задаются координаты их центров. Определить, пересекаются ли они? Если пересекаются, то вычислить площадь четырехугольника, образуемого центрами окружностей и точками их пересечения.
23.Координаты двух точек на плоскости задают прямую, которая делит плоскость на две полуплоскости. Вводятся координаты еще двух точек. Определить, принадлежат ли эти точки разным полуплоскостям или они лежат на той же самой прямой?
24.Поле шахматной доски задается парой натуральных чисел, первое из которых задает номер вертикали, а второе — номер горизонтали. Ферзь расположен на позиции $(a, b)$. Можно ли за один ход попасть на позицию $(c, d)$. Если нет, то как это сделать за два хода?
25.Определить, является ли палиндромом дробная часть действительного числа, имеющего до четырех значащих цифр?

Лабораторная работа $№1$ предполагает написание программы на языке Си. При заказе работы своего варианта вы получите качественно написанную и хорошо прокомментированную программу.

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

Образец выполнения (вариант №7)

Условие задания

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

Алгоритм решения задачи

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

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

 Прямоугольный треугольникОстроугольный треугольникТупоугольный треугольник
Внешний видЛабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Прямоугольный треугольник.Лабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Остроугольный треугольник.Лабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Тупоугольный треугольник.
Определ.

Прямоугольный треугольник — треугольник, в котором один угол прямой (то есть $90$ градусов)

$\angle C = 90º$

Остроугольным называют треугольник, у которого все углы острые (то есть меньше $90$ градусов)

$\angle A \lt 90º$, $\angle B \lt 90º$, $\angle C \lt 90º$

Тупоугольным называют треугольник, у которого один из углов тупой (то есть больше $90$ градусов)

$\angle C \gt 90º$

СвойствоСумма квадратов двух сторон равна квадрату его наибольшей третьей стороны (т. Пифагора): $AC^2 + BC^2 = AB^2$.Сумма квадратов двух сторон больше квадрата его наибольшей третьей стороны: $AC^2 + BC^2 > AB^2$.Сумма квадратов двух сторон меньше квадрата его наибольшей третьей стороны: $AC^2 + BC^2 < AB^2$.

💡 То есть, зная длины сторон треугольника, можно однозначно определить его тип!

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

Если даны две точки $A(x_{1}; y_{1})$ и $B(x_{2}; y_{2})$, то формула имеет вид:

$L = \sqrt{(x_{2} — x_{1})^2 + (y_{2} — y_{1})^2}$.

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

Обратите внимание, что во всех этих условиях:

$AC^2 + BC^2 = AB^2$;

$AC^2 + BC^2 > AB^2$;

$AC^2 + BC^2 < AB^2$

нужно знать наибольшую сторону треугольника ($AB$). Понятно, что отыскать ее не составляет никакой сложности, написав соответвующую функцию на языке Си, но при этом придется запомнить оставшиеся $2$ стороны, как ненаибольшие. Проблема в плане кодирования в том, что, используя три переменных для сторон треугольника, неизвестно, какая из них будет выражать наибольшую сторону!

Поэтому применяем следующий прием — к обоим частям выражений добавляем квадрат длины наибольшей стороны:

    • $AC^2 + BC^2 + AB^2 = 2·AB^2$ — прямоугольный треугольник;
    • $AC^2 + BC^2 + AB^2 > 2·AB^2$ — остроугольный треугольник;
    • $AC^2 + BC^2 + AB^2 < 2·AB^2$ — тупоугольный треугольник.

Обратите внимание, что в левой части происходит суммирование всех длин сторон треугольника, а в правой фигурирует лишь наидлинейшая сторона (конкретно в этом примере это сторона $AB$). Алгоритмически это означает, что в процессе кодирования, нам придется отыскать лишь самую длинную сторону и этого будет достаточно.

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

➡ Условие существования треугольника применительно к нашему случаю: длина наибольшей стороны треугольника должна быть строго меньше суммы двух других сторон треугольника ($AB < AC + BC$).

Необходимые программные функции для кодирования

А теперь давайте выделим функции, которые нам пригодятся в процессе кодирования:


Назначение функции
1Считывание координат вершины треугольника. Это можно вынести в отдельную функцию, т к у треугольника $3$ вершины, следовательно, данная операция потребуется трижды.
2Нахождение длины стороны треугольника. У треугольника целых $3$ стороны, поэтому данная операция нам потребуется трижды.
3Нахождение максимального значения из двух заданных значений. Это функция нам потребуется, когда придется определять самую длинную сторону треугольника.
4И последняя функция — функция main(). Данная функция является точкой входой в программы на языке Си, следовательно, она присутствует вообще в любой Си-программе.

Реализация задачи на языке Си

Результаты работы программы


Тип треугольникаРезультат
1Лабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Тест прямоугольного треугольникаЛабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Тест прямоугольного треугольника в консоли
2Лабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Тест остроугольного треугольникаЛабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Тест остроугольного треугольника в консоли
3Лабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Тест тупоугольного треугольникаЛабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Тест тупоугольного треугольника в консоли
4Лабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Тест треугольника не существуетЛабораторная работа №1. Степанов. Си. Программирование. МГТУ им.Баумана. Тест треугольника не существует в консоли

Стоимость заказа работы

💡 Стоимость одной программы из любого варианта составляет $200$ рублей.
💡 Стоимость алгоритма (в виде отчета в формате *.doc из любого варианта составляет $200$ рублей (заказывается опционально на ваше усмотрение, чтобы детально разобраться с решением лабораторной работы, например, не прибегая к консультации репетитора).

Для оформления заказа пишите на почту: proglabs@mail.ru.
Время нашего ответа обычно составляет не более 10 минут.