Există două butoaie, este necesar să se determine care dintre ele are mai mult volum

Există două butoaie, este necesar să se determine care dintre ele are mai mult volum

Mi-au dat un astfel de exercițiu.

Există două butoaie, este necesar să se determine care are mai mult volum.

Un butoi este un cilindru. Are dimensiuni: h - înălțime, d - diametru.







Utilizatorul introduce parametrii a două butoaie (în metri), apasă butonul
și primește răspunsul: care va conține mai multă apă.

În primul rând, scriem o funcție care determină volumul cilindrului (în metri
cub):

V (h, d: Real): Real # xA0 (litera V este de obicei volumul, dar poate fi numit
funcția și Obyom și orice :-))

Apoi, făcând clic pe buton, găsim ce tip de butoi este mai mare și îl vom da
mesaj despre acest lucru.

(volumul cilindrului este: V = h * pi * r * r
unde r este raza (r = d / 2)

Trebuie să scriu o funcție care determină volumul cilindrului (în metri
cub).

Deci scriu o funcție. Dar nu prea înțeleg cum.

Iată ce am scris:


funcția v (h, d: reală): reală; // unde v - volumul, h - înălțimea, d - diametrul.
const
# xA0; pi = 3,1415926;

Te rog, nu scrie codul, dar da-mi un indiciu ca sa pot adauga functia. și, bineînțeles, voi lua observații cu privire la funcția deja scrisă. Mulțumesc.

dar îmi pare rău, am pus, dar ce e bine, care este întrebarea?







> Iată ce am scris:
În opinia mea, scris corect.

Așa că am scris că acest lucru este un exercițiu în cazul și ramificarea.

Așa am înțeles în procedura ButtonClick?

Dacă veți avea și sucursale atunci când veți compara volumele

Deci nu am înțeles. În câmpurile edit1 și edit2 trebuie să introduceți numai înălțimea butoiului?
Deoarece funcția nu cunoaște valoarea variabilei h (înălțime).

Și cum apoi d (diametrul)? La urma urmei, este scris că trebuie să găsim volumul în metri cubi.

Și totuși. Este nevoie să creați o condiție într-o funcție?

Sau o condiție pentru a crea deja în procedură # xA0; ButtonClick?

Este o astfel de variantă a condiției adecvată?


var
# xA0; d1, d2, h1, h2, res. reale;

dacă d1 și h1> d2 și h2 atunci
.
altfel

Sau sugerați despre corectitudine și condiție.

a) în Delphi există o funcție încorporată Pi;
b) pentru împărțire, există o funcție Sqr;
c) formula poate fi rescrisă ca h * Pi * Sqr (d) / 4.

Mulțumesc foarte mult. Asta nu poate găsi cum să scrieți funcția Pi.

Aceasta este ceea ce mi-a fost recomandat pentru ridicarea la putere.

Puteți apela operația de exponentiere (Power from the Math module)
Dar această operație nu este direct suportată de CPU în codul mașinii
nici un grad de operare. Este în bloc matematic. calcule cu fuziune. virgulă (acest bloc este integrat în CPU). Deci durează mai mult decât doar # xA0; înmulțirea z * z. Deoarece înmulțirea va fi un dispozitiv de calcul mai simplu și operația va avea un număr mai mic de cicluri.

Sau despre Sqr, nu înțeleg?

Sqrt extrage rădăcina și patratele.

> Aceasta nu poate găsi cum să scrieți funcția Pi.
Deci este scris - Pi.

> Puteți apela operația de exponentiere (alimentarea din modul
> Matematică)
Poți. Dar, în cazul cazuinței, puterea va funcționa mai încet.

Nu, funcția de extragere a rădăcinilor este Sqrt.







Articole similare

Trimiteți-le prietenilor: