Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 20.02.2011, 16:10   #1 (permalink)
PacMan
Member
 
Регистрация: 07.02.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy Помогите с написанием программы

Помогите на паскале программу написать......Определить функцию, которая возвращает обьём шара, вычисляемый по заданному радиусу. Используя данную функцию найти величину Z=(v1+v2+v3)/3, где v1, v2, v3-обьемы шаров с радиусами r1=5.2, r2=4, r3=4.8.
PacMan вне форума   Ответить с цитированием

Старый 20.02.2011, 16:10
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Обратите внимание на похожие проблемы, возможно, что там имеется нужная информация

Проблемы с написанием классов на языке С++
Помогите в написании программы в Pascal
Проблемы с написанием программы на языке Турбо Паскаль

Старый 20.02.2011, 16:29   #2 (permalink)
shrek=)
Студент БГПУ
 
Аватар для shrek=)
 
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
По умолчанию

Пожалуйста:
Код:
const
r1=5.2;
r2=4;
r3=4.8;
var
r:real;
function v(r:real):real;
var
v1,v2,v3,v,z:real;
begin
v:=(4/3)*(pi*(sqr(r)*r));
writeln ('v=',v);
 v1:=(4/3)*(pi*(sqr(r1)*r));
v2:=(4/3)*(pi*(sqr(r2)*r));
v3:=(4/3)*(pi*(sqr(r3)*r));
z:=(v1+v2+v3)/3;
writeln ('z=',z);
end;
begin
write('r=');
readln(r);
v(r);
readln
end.
shrek=) вне форума   Ответить с цитированием
Старый 20.02.2011, 17:28   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Можно, конечно, и так - но мне кажется несколько странным и излишним засовывание вычисления объемов шариков в тело функции. Я бы немножко подправил:
Код:
const
 r1=5.2;
 r2=4.0;
 r3=4.8;

var
 z:real;

function v(r:real):real;
 begin
  v:=(4/3)*(pi*(sqr(r)*r));
 end;

begin
 z:=(v(r1)+v(r2)+v(r3))/3;
 writeln ('z= ',z:7:3);
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 21.02.2011, 14:01   #4 (permalink)
Хелен
Sparkling
 
Аватар для Хелен
 
Регистрация: 29.09.2010
Сообщений: 98
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 93
По умолчанию

Точно! чем короче, тем быстрее работает. =)
Хелен вне форума   Ответить с цитированием
Старый 21.02.2011, 18:19   #5 (permalink)
PacMan
Member
 
Регистрация: 07.02.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо)
PacMan вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 07:31.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.