Теперь в этой проблеме вы должны использовать код C в качестве ссылки для создания кода схемы.Площадь и объем сферы в схеме
#include <stdio.h>
const double PI = 3.14159265;
double areac(double d) {
double a;
a = PI*(d/2)*(d/2);
return a;
}
double volumec(double d, double h) {
double a, v;
a = areac(d); // call areac() here
v = a*h;
return v;
}
double TotalVolume() {
double v1, v2, v3, v4, v5;
v1 = volumec(1, 1);
v2 = volumec(2, 2);
v3 = volumec(3, 3);
v4 = volumec(4, 4);
v5 = volumec(5, 5);
return v1+v2+v3+v4+v5;
}
void main() {
double v;
v = TotalVolume();
printf("%f\n",v);
}
Теперь я написал код на схеме, и выглядит следующим образом:
(define PI 3.14159265)
(define areac
(lambda(d)
(* PI (expt (/ d 2) 2))))
(write"Areac: ")
(areac 5)
(newLine)
(define volumec
(lambda (d h)
(* (* (expt (/ d 2) 2) h) PI)))
(write"Volumec: ")
(volumec 5 5)
(newLine)
(define TotalVolume
(lambda()
(+ (volumec 1 1) (volumec 2 2) (volumec 3 3) (volumec 4 4) (volumec 5 5))))
(define main
(lambda()
(* (TotalVolume) 1)))
(write"Total Volume: ")
(main)
(newLine)
Теперь вместо того, чтобы писать формулы в volumec
я должен ссылаться areac
в volumec
, а затем запустить его.
Вы можете изучить Коммутативное свойство умножения (http://bit.ly/14ky8Zh) – GoZoner