Вычисление площади фигур
Немного усложнив предыдущую задачу, мы можем рассчитывать самые разные площади.
Будем создавать программу для вычисления площади тругольника, прямоугольника (квадрата) и круга.
При вводе слова «треугольник», вычисляется площадь тругольника и т.д.
Для того, чтобы ввод данных использовал строковый тип применяется функция str() , которая переводит любое вводимое значение в строку.
Каждый случай определяется срабатыванием определенного условия, список которых можно увеличить до любого размера. Вполне логично создать свою пользовательскую функцию, использующую специальные переменные, а не писать постоянно условие. О том как создавать свои пользовательские функции рассказано и продемонстрировано здесь.
Строка import math загружает необходимую библиотеку дополнительных математических функций.
Квадратный корень, например, вычисляется по формуле math.sqrt()
Известно, что для вычисления площади круга используется значение числа Пи. В Питоне оно вычисляется методом math.pi
Код готовой программы
При вводе слова «треугольник»:
При вводе слова «прямоугольник»:
При вводе слова «круг»:
Вы можете легко вычислять и другие площади фигур, если продолжите вписывать условия и функции. Успехов в программировании!
Найти площадь прямоугольника, треугольника или круга
В зависимости от того, что выберет пользователь, вычислить площадь либо прямоугольника, либо треугольника, либо круга. Если выбраны прямоугольник или треугольник, то надо запросить длины сторон, если круг, то его радиус.
Площадь треугольника вычисляется по формуле Герона:
, где p — это полупериметр, a , b , c — длины сторон. Полупериметр равен половине периметра, то есть половине суммы сторон.
Площадь прямоугольника равна произведению его сторон. Площадь круга вычисляется по формуле S = πr 2 .
Найти площади разных фигур
В зависимости от выбора пользователя вычислить площадь круга, прямоугольника или треугольника. Для вычисления площади каждой фигуры должна быть написана отдельная функция.
Пусть программа может вычислять площади трех фигур: круга, прямоугольника и треугольника. Для вычисления каждой из них необходима отдельная функция. Пусть каждая из этих функций возвращает полученную площадь, а принимает параметры, необходимые для ее вычисления.
Для вычисления площади круга необходим радиус, для прямоугольника — длины двух сторон, для треугольника (если площадь вычисляется по формуле Герона) — длины трех сторон. Следовательно, функции будут различаться по количеству параметров.
Площадь круга вычисляется по формуле πr 2 .
Площадь прямоугольника является произведением двух его сторон.
Площадь треугольника по формуле Герона рассчитывается через полупериметр (p=(a+b+c)/2, где a , b и c — длины сторон треугольника) по формуле sqrt(p * (p-a) * (p-b) * (p-c)), где sqrt — квадратный корень.
В основной ветке программы должен происходить выбор, площадь какой фигуры необходимо вычислить. В зависимости от выбора будут запрашиваться необходимые данные (радиус или длины сторон) и передаваться в соответствующую функцию. Возвращаемое из функции значение будет выводиться на экран.
Pascal
паскаль площадь фигуры
В Паскале существует встроенная константа π (pi).
Язык Си
Компилировать с ключом -lm.
Python
КуМир
Basic-256
В функции ничего не передается и ничего из них не возвращается.
- Total 5
- 0
- 0
- 0
- 5
паскаль площадь фигуры
var
choice: char;
a, x, y, z: real;
function circle(r: real): real;
begin
circle := pi * sqr(r);
end;
function rectangle(a, b: real): real;
begin
rectangle := a * b
end;
function triangle(a, b, c: real): real;
var x: real;
begin
x := (a + b + c) / 2;
triangle := sqrt(x * (x — a) * (x — b) * (x — c))
end;
begin
write(‘Круг(c), прямоугольник(r) или треугольник(t): ‘);
readln(choice);
case choice of
‘c’: begin
write(‘Радиус: ‘);
readln(x);
a := circle(x)
end;
‘r’: begin
write(‘Длина и ширина: ‘);
readln(x, y);
a := rectangle(x, y)
end;
‘t’: begin
write(‘Стороны: ‘);
readln(x, y, z);
a := triangle(x, y, z)
end
end;
writeln(‘Площадь: ‘, a:4:2);
end.
Круг(c), прямоугольник(r) или треугольник(t): c
Радиус: 2
Площадь: 12.57
Круг(c), прямоугольник(r) или треугольник(t): r
Длина и ширина: 3.85 12.55
Площадь: 48.32
Круг(c), прямоугольник(r) или треугольник(t): t
Стороны: 3 4 6.5
Площадь: 4.17
В Паскале существует встроенная константа π (pi).
float circle(float);
float rectangle(float, float);
float triangle(float, float, float);
main() <
char ch;
float a,b,c;
printf(«Круг(c), прямоугольник(r) или треугольник(t): «);
scanf(«%c», &ch);
switch (ch) <
case ‘c’:
printf(«Радиус: «);
scanf(«%f», &a);
printf(«Площадь круга %.2fn», circle(a));
break;
case ‘r’:
printf(«Длина и ширина: «);
scanf(«%f%f», &a, &b);
printf(«Площадь прямоугольника: %.2fn», rectangle(a,b));
break;
case ‘t’:
printf(«Стороны: «);
scanf(«%f%f%f», &a, &b, &c);
printf(«Площадь треугольника: %.2fn», triangle(a,b,c));
break;
>
>
float circle(float r) <
return 3.14159 * r * r;
>
float rectangle(float x, float y) <
return x * y;
>
float triangle(float x, float y, float z) <
float p;
p = (x+y+z) / 2;
return sqrt(p * (p-x) * (p-y) * (p-z));
>
Компилировать с ключом -lm.
def circle(r):
return math.pi * r**2
def rectangle(a, b):
return a*b
def triangle(a, b, c):
p = (a+b+c)/2
return math.sqrt(p * (p-a) * (p-b) * (p-c))
choice = input(«Круг(к), прямоугольник(п) или треугольник(т): «)
if choice == ‘к’:
rad = float(input(«Радиус: «))
print(«Площадь круга: %.2f» % circle(rad))
elif choice == ‘п’:
l = float(input(«Длина: «))
w = float(input(«Ширина: «))
print(«Площадь прямоугольника: %.2f» % rectangle(l,w))
elif choice == ‘т’:
AB = float(input(«Первая сторона: «))
BC = float(input(«Вторая сторона: «))
CA = float(input(«Третья сторона: «))
print(«Площадь треугольника: %.2f» % triangle(AB,BC,CA))
алг площадь фигуры
нач
вещ а, б, в
сим фигура
вывод «Круг(к), прямоугольник(п), треугольник(т): »
ввод фигура
если фигура = «к» то
вывод «Радиус: »
ввод а
вывод «Площадь круга: «, круг(а)
иначе
если фигура = «п» то
вывод «Длина: »
ввод а
вывод «Ширина: »
ввод б
вывод «Площадь прямоугольника: «, прямоугольник(а,б)
иначе
если фигура = «т» то
вывод «Сторона 1: »
ввод а
вывод «Сторона 2: »
ввод б
вывод «Сторона 3: »
ввод в
вывод «Площадь треугольника: «, треугольник(а,б,в)
все
все
все
кон
алг вещ круг (вещ р)
нач
знач := 3.14 * р**2
кон
алг вещ прямоугольник (вещ д, вещ ш)
нач
знач := д * ш
кон
алг вещ треугольник (вещ ст1, вещ ст2, вещ ст3)
нач
вещ п
п := (ст1 + ст2 + ст3) / 2
знач := sqrt(п * (п — ст1) * (п — ст2) * (п — ст3))
кон
input «Круг (к), прямоугольник (п) или треугольник (т): «, ch$
if ch$ = «к» then
gosub circ
else
if ch$ = «п» then
gosub rectangle
else
if ch$ = «т» then
gosub triangle
endif
endif
endif
end
circ:
input «Радиус: «, r
print «Площадь круга: » + (pi * r^2)
return
rectangle:
input «Длина: «, a
input «Ширина: «, b
print «Площадь прямоугольника: » + (a*b)
return
triangle:
input «Первая сторона: «, a
input «Вторая сторона: «, b
input «Третья сторона: «, c
p = (a+b+c) / 2
s = sqrt(p * (p-a) * (p-b) * (p-c))
print «Площадь треугольника: » + s
return
В функции ничего не передается и ничего из них не возвращается.
