Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.11.2018
Сообщений: 17
1

Програмирование с использованием подпрограмм

05.12.2018, 09:42. Показов 1189. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вычислить z=(u1+i2+u3)/3, где u1,i2,u3 - объемы шаров с радиусами r1,r2,r3 соответственно. вычисление Ui организовать в подпрограмме.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2018, 09:42
Ответы с готовыми решениями:

Вычисления с использованием подпрограмм.
Помогите пожалуста решить лабораторную работу на тему РАБОТА С ПРОЦЕДУРАМИ И ФУНКЦИЯМИ Вычислить ...

Оргинизация циклов с использованием подпрограмм
всем здравствуйте!!! Имеется задание Я его сделал как смог, но преподаватель говорит, что есть...

Матричная арифметика (с использованием подпрограмм)
Помогите решить,please!!! Даны матрицы А и В размером (10х10) и вектор Z (10). Вычислить С по...

Вычисления по формуле с использованием подпрограмм.
скоро экзамен,а еще 3 лабы надо сделать,может кто-нибудь поможет мне,вот 1 из лаб Тема...

4
21 / 15 / 8
Регистрация: 23.10.2017
Сообщений: 102
05.12.2018, 10:48 2
Примерно так.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program threeballs(output);
var r1, r2, r3, u1, u2, u3, z: double;
 
function volume(r: double): double; {Вот подпрограмма, точнее, функция}
const pi = 3.1415926535;
begin
  volume := (4 / 3) * pi * exp(ln(r) * 3);
end;
 
begin
  {Ввод входных параметров, на самом деле, на совести топикстартера}
  {Возможно, их через readln нужно ввести, в условии задачи не сказано}
  r1 := 2.0;
  r2 := 3.0;
  r3 := 4.0;
  u1 := volume(r1);
  u2 := volume(r2);
  u3 := volume(r3);
  z := (u1 + u2 + u3) / 3;
  writeln(z);
end.
0
Модератор
10031 / 5378 / 3348
Регистрация: 17.08.2012
Сообщений: 16,396
07.12.2018, 00:20 3
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Строку 5 следует удалить: константа π встроена в любой современный паскаль. К тому же, указанное в строке 5 значение для double значащих цифр маловато содержит.

В строке 7 возведение в степень путём логарифмирования и потенцирования - это из пушки по воробьям. Возводить в малую целую степень лучше путём умножения. И скобки лишние.

Объявлять глобальные переменные до подпрограмм следует только тогда, когда это действительно необходимо, поскольку такое объявление порождает трудно локализуемые ошибки из-за перекрытия пространств имён локальных и глобальных переменных.

Применять строку program уже давно не обязательно, вместе с указанием стандартных устройств ввода и вывода.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function v(r: double): double;
begin
  volume := 4 / 3 * pi * r * r * r
end;
 
var
  r1, r2, r3: double;
 
begin
  r1 := 2.0;
  r2 := 3.0;
  r3 := 4.0;
  writeln((v(r1) + v(r2) + v(r3)) / 3)
end.
1
21 / 15 / 8
Регистрация: 23.10.2017
Сообщений: 102
07.12.2018, 09:45 4
Спасибо за конструктивные замечания!
В пи поставил столько знаков, сколько мог вспомнить на тот момент. Строку с program автоматически добавила онлайн-среда разработки.
А в остальном согласен, недочёты и ошибки с моей стороны есть.
0
Cyborg Drone
07.12.2018, 18:58     Програмирование с использованием подпрограмм
  #5

Не по теме:

aaamibor, свои замечания (традиционно и оправдано для данного форума) я сделал не только для Вас, а, скорее, в первую очередь, для тех, кто найдёт эту тему в поиске. На данном форуме, если есть уточнения, замечания, исправления и тому подобное - это стоит опубликовать, для того, чтобы ответ на вопрос стал максимально полным.

Вообще, к Вам - можно сказать, никаких замечаний, если рассуждать в канонах классического паскаля (за исключением общепринятого и навязшего в зубах возведения в степень) - Ваша программа практически безупречна. Опять же, за исключением объявления глобальных переменных до подпрограмм, подлость которых была выяснена, так скажем, несколько позже того момента, когда Никлаус Вирт описал паскаль. Иногда такое объявление оправдано, если это избавляет описание подпрограмм от множественного описания формальных параметров для массивов и файлов, к которым данная подпрограмма обращается. Обычно я "переношу" часть формальных параметров подпрограмм в глобальные переменные в окончательном релизе программы, но только в том случае, когда основная программа выполняет работу над каким-то единственным набором данных.

0
07.12.2018, 18:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2018, 18:58
Помогаю со студенческими работами здесь

Обработка различных массивов с использованием подпрограмм
Подсчитать число точек, находящихся внутри круга радиусом R = 2 и с центром в начале координат,...

Обработка различных массивов с использованием подпрограмм
В каждой из матриц X,Y и Z найти суммы элементов, лежащих ниже главной диагонали. Вычислить...

Вычисления суммы ряда с использованием подпрограмм
В данной работе необходимо выполнить задачу вычисления суммы ряда с использованием подпрограмм. В...

Программирование с использованием подпрограмм - функций,ошибку не найду
24. Заданы три массива: W={w1, w2, w3}, Y={y1, y2, y3,y4}, Z={z1, z2, z3, z4, z5}. Решить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru