Оглавление:
Задача — Вычисление площадей и периметров фигур
— программирование на Pascal, Си, Кумир, Basic-256, Python
Вычислить площадь и периметр
- треугольника по данным трем сторонам,
- прямоугольника по данным ширине и высоте,
- круга по заданному радиусу.
Длины сторон и радиус вводятся пользователем.
Площади и периметры фигур можно найти по следующим формулам.
Периметр треугольника: P = a + b + c
Площадь треугольника: S = √(p(p-a)(p-b)(p-c)), где p = P/2
Периметр прямоугольника: P = 2(a + b)
Площадь прямоугольника: S = ab
Периметр круга: P = 2πr
Площадь круга: S = πr2
Pascal
var
a,b,c: word;
w,h: word;
r: word;
P,S: real;
begin
readln(a,b,c);
P := (a + b + c) / 2;
S := sqrt(P * (P — a) * (P — b) * (P — c));
writeln(‘P=’,a+b+c,’; S=’,S:5:2);
readln(w,h);
writeln(‘P=’,(w+h)*2,’; S=’,w*h);
readln(r);
P := 2 * pi * r;
S := pi * r * r;
writeln(‘P=’,P:5:2,’; S=’,S:5:2);
end. 5 3 5
P=13; S= 7.15
3 9
P=24; S=27
5
P=31.42; S=78.54
Язык Си
#include <stdio.h>
#include <math.h>
#define PI 3.14159
main() {
int a,b,c;
float p,S;
printf(«Длины сторон треугольника: «);
scanf(«%d%d%d», &a,&b,&c);
p = (a+b+c)/2;
S = sqrt(p*(p-a)*(p-b)*(p-c));
printf(«P = %d; S = %.2fnn», (a+b+c), S);
printf(«Ширина и высота прямоугольника: «);
scanf(«%d%d», &a,&b);
printf(«P = %d; S = %dnn», (a+b)*2, a*b);
printf(«Радиус круга: «);
scanf(«%d», &a);
printf(«P = %.2f; S = %.2fn», 2*PI*a, PI*pow(a,2));
} Длины сторон треугольника: 4 4 6
P = 14; S = 7.94
Ширина и высота прямоугольника: 2 5
P = 14; S = 10
Радиус круга: 3
P = 18.85; S = 28.27
В библиотеке math.h нет константы числа π.
При компиляции с помощью gcc необходимо в конце команды указать ключ -lm (из-за math.h).
Python
import math
print(«Введите длины сторон треугольника: «)
a = int(input(«a=»))
b = int(input(«b=»))
c = int(input(«c=»))
p = (a+b+c)/2
s = math.sqrt(p*(p-a)*(p-b)*(p-c))
print(«P=%d; S=%.2f» % (a+b+c, s))
print(«Введите длины сторон прямоугольника: «)
a = int(input(«a=»))
b = int(input(«b=»))
print(«P=%d; S=%d» % ((a+b)*2, a*b))
print(«Введите радиус круга: «)
r = int(input(«r=»))
print(«P=%.2f; S=%.2f» % (2*math.pi*r, math.pi*r**2)) Введите длины сторон треугольника:
a=2
b=4
c=3
P=9; S=2.90
Введите длины сторон прямоугольника:
a=6
b=7
P=26; S=42
Введите радиус круга:
r=3
P=18.85; S=28.27
КуМир
алг фигуры
нач
цел a,b,c
ввод a, b, c
вещ p, S
p := (a+b+c)/2
S := sqrt(p*(p-a)*(p-b)*(p-c))
вывод «P=», p*2, «; S=», S, нс
цел w, h
ввод w, h
вывод «P=», (w+h)*2, «; S=», w*h, нс
цел r
ввод r
p := 2 * 3.14 * r
S := 3.14 * r**2
вывод «P=», p, «; S=», S, нс
кон 5 7 9
P=21; S=17.41228
4 9
P=26; S=36
5
P=31.4; S=78.5
Не нашлось константы для числа π
Basic-256
# найти площади и периметры геометрических фигур
decimal 2
# треугольник
print «ТРЕУГОЛЬНИК»
input » первая сторона: «, a
input » вторая сторона: «, b
input » третья сторона: «, c
p = a + b + c
print «Периметр: » + p
p = p / 2
s = sqr(p*(p-a)*(p-b)*(p-c))
print «Площадь: » + s
print
# прямоугольник
print «ПРЯМОУГОЛЬНИК»
input » ширина: «, a
input » высота: «, b
print «Периметр: » + ((a + b) * 2)
print «Площадь: » + (a * b)
print
# круг
print «КРУГ»
input » радиус: «, r
print «Периметр: » + (2 * pi * r)
print «Площадь: » + (pi * r^2) ТРЕУГОЛЬНИК
первая сторона: 5
вторая сторона: 5
третья сторона: 5
Периметр: 15
Площадь: 10.83
ПРЯМОУГОЛЬНИК
ширина: 5
высота: 5
Периметр: 20
Площадь: 25
КРУГ
радиус: 5
Периметр: 31.42
Площадь: 78.54