Написать программу на языке программирования паскаль для нахождения площади прямоугольника
В зависимости от выбора пользователя вычислить площадь круга, прямоугольника или треугольника. Для вычисления площади каждой фигуры должна быть написана отдельная функция.
Пусть программа может вычислять площади трех фигур: круга, прямоугольника и треугольника. Для вычисления каждой из них необходима отдельная функция. Пусть каждая из этих функций возвращает полученную площадь, а принимает параметры, необходимые для ее вычисления.
В основной ветке программы должен происходить выбор, площадь какой фигуры необходимо вычислить. В зависимости от выбора будут запрашиваться необходимые данные (радиус или длины сторон) и передаваться в соответствующую функцию. Возвращаемое из функции значение будет выводиться на экран.
Pascal
паскаль площадь фигуры
В Паскале существует встроенная константа π (pi).
Язык Си
Компилировать с ключом -lm.
Python
КуМир
Basic-256
В функции ничего не передается и ничего из них не возвращается.
паскаль площадь фигуры
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("Площадь круга %.2f\n", circle(a));
break;
case 'r':
printf("Длина и ширина: ");
scanf("%f%f", &a, &b);
printf("Площадь прямоугольника: %.2f\n", rectangle(a,b));
break;
case 't':
printf("Стороны: ");
scanf("%f%f%f", &a, &b, &c);
printf("Площадь треугольника: %.2f\n", 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
Итак, с сегодняшнего дня мы начинаем вести новую рубрику: «Решение задач», в которой будем рассматривать задачи, взятые из сборника М.Э.Абрамяна «1000 ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ».
Begin1. Дана сторона квадрата a. Найти его периметр P = 4·a.
Прежде всего напомню, что для ввода и вывода информации, в Паскале используют следующие операторы:
Таким образом, решение задачи становится очевидным.
Begin2. Дана сторона квадрата a. Найти его площадь S = a 2 .
При решении данной задачи воспользуемся функцией sqr . Можно, конечно, вычислять квадрат, умножая число само на себя (S=a*a), но при вводе действительно больших чисел наша программа будет выполняться гораздо дольше, нежели при использовании sqr .
Begin3°. Даны стороны прямоугольника a и b. Найти его площадь S = a·b и периметр P = 2·(a + b).
Да, задача по сути своей проста и подобна предыдущим, поэтому поскорее составим к ней решение и перейдем к следующей.
Begin4. Дан диаметр окружности d. Найти ее длину L = π·d. В качестве значения π использовать 3.14.
У вас, наверняка, возникает вопрос π — это константа или переменая? Так как π не изменяется в течение программы, π — константа. Вообще в Паскале уже встроена такая константа, но ее значение:
А так как в условии задачи указано, что в качестве значения π нужно использовать 3.14, то следует объявить π в разделе описания констант.
Begin5. Дана длина ребра куба a. Найти объем куба V = a 3 и площадь его поверхности S = 6·a 2 .
Для решения задачи используем функцию power(x, a), где a — степень, x — число возводимое в степень (разумеется, использовать ее мы будем только для возведения числа в третью степень, квадрат числа по-прежнему находим с помощью sqr(x) ).
Begin6. Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем V = a·b·c и площадь поверхности S = 2·(a·b + b·c + a·c).
Begin7°. Найти длину окружности L и площадь круга S заданного радиуса R:
L = 2·π·R, S = π·R 2 .
В качестве значения π использовать 3.14.
Begin8. Даны два числа a и b. Найти их среднее арифметическое: (a + b)/2.
Begin9. Даны два неотрицательных числа a и b. Найти их среднее геометрическое, то есть квадратный корень из их произведения: √(a*b).
Напомню, что для нахождения квадратного корня мы используем функцию sqrt .
Begin10. Даны два ненулевых числа. Найти сумму, разность, произведение и частное их квадратов.
Ну вот и все. Следующая публикация с решением задач выйдет в ближайшие дни.
Читайте также: